/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.vertical.adminweb.handlers.fieldtypes;
import org.w3c.dom.Element;
public class FieldFactory
{
public static Field getField( Element inputElem )
{
String fieldType = inputElem.getAttribute( "type" );
if ( "text".equals( fieldType ) )
{
return new Text( inputElem );
}
else if ( "textarea".equals( fieldType ) )
{
return new TextArea( inputElem );
}
else if ( "htmlarea".equals( fieldType ) )
{
return new HtmlArea( inputElem );
}
else if ( "simplehtmlarea".equals( fieldType ) )
{
return new HtmlArea( inputElem ); // no special treatment
}
else if ( "url".equals( fieldType ) )
{
return new Url( inputElem );
}
else if ( "date".equals( fieldType ) )
{
return new Date( inputElem );
}
else if ( "checkbox".equals( fieldType ) )
{
return new CheckBox( inputElem );
}
else if ( "radiobutton".equals( fieldType ) )
{
return new RadioButton( inputElem );
}
else if ( "dropdown".equals( fieldType ) )
{
return new DropDown( inputElem );
}
else if ( "relatedcontent".equals( fieldType ) )
{
return new RelatedContent( inputElem );
}
else if ( "file".equals( fieldType ) )
{
return new File( inputElem );
}
else if ( "files".equals( fieldType ) )
{
return new Files( inputElem );
}
else if ( "uploadfile".equals( fieldType ) )
{
return new UploadFile( inputElem );
}
else if ( "image".equals( fieldType ) )
{
return new Image( inputElem );
}
else if ( "images".equals( fieldType ) )
{
return new Images( inputElem );
}
else if ( "multiplechoice".equals( fieldType ) )
{
return new MultipleChoice( inputElem );
}
else if ( "xml".equals( fieldType ) )
{
return new XML( inputElem );
}
else
{
return null;
}
}
}