/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.content.contentdata.custom; import com.enonic.cms.core.content.contentdata.custom.contentkeybased.FileDataEntry; import com.enonic.cms.core.content.contentdata.custom.contentkeybased.ImageDataEntry; import com.enonic.cms.core.content.contentdata.custom.contentkeybased.RelatedContentDataEntry; import com.enonic.cms.core.content.contentdata.custom.relationdataentrylistbased.FilesDataEntry; import com.enonic.cms.core.content.contentdata.custom.relationdataentrylistbased.ImagesDataEntry; import com.enonic.cms.core.content.contentdata.custom.relationdataentrylistbased.RelatedContentsDataEntry; import com.enonic.cms.core.content.contentdata.custom.stringbased.HtmlAreaDataEntry; import com.enonic.cms.core.content.contentdata.custom.stringbased.SelectorDataEntry; import com.enonic.cms.core.content.contentdata.custom.stringbased.TextAreaDataEntry; import com.enonic.cms.core.content.contentdata.custom.stringbased.TextDataEntry; import com.enonic.cms.core.content.contentdata.custom.stringbased.UrlDataEntry; import com.enonic.cms.core.content.contentdata.custom.xmlbased.XmlDataEntry; public enum DataEntryType { BINARY( BinaryDataEntry.class ), BOOLEAN( BooleanDataEntry.class ), DATE( DateDataEntry.class ), FILE( FileDataEntry.class ), FILES( FilesDataEntry.class ), GROUP( GroupDataEntry.class ), HTML_AREA( HtmlAreaDataEntry.class ), IMAGE( ImageDataEntry.class ), IMAGES( ImagesDataEntry.class ), KEYWORDS( KeywordsDataEntry.class ), MULTIPLE_CHOICE( MultipleChoiceDataEntry.class ), RELATED_CONTENT( RelatedContentDataEntry.class ), RELATED_CONTENTS( RelatedContentsDataEntry.class ), SELECTOR( SelectorDataEntry.class ), TEXT_AREA( TextAreaDataEntry.class ), TEXT( TextDataEntry.class ), URL( UrlDataEntry.class ), XML( XmlDataEntry.class ); private Class dataEntryClass; DataEntryType( Class dataEntryClass ) { this.dataEntryClass = dataEntryClass; } public void verifyClass( DataEntry entry ) { if ( !entry.getClass().isAssignableFrom( dataEntryClass ) ) { throw new IllegalArgumentException( "Input '" + entry.getName() + "' was not of expected class " + dataEntryClass.getName() + ", was " + entry.getClass().getName() ); } } }