/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.cms.core.content.contenttype;
import java.util.List;
import com.enonic.cms.core.content.contenttype.dataentryconfig.DataEntryConfig;
public class ContentTypeConfig
implements CtySet
{
private ContentHandlerName contentHandlerName;
private String name;
private CtyFormConfig form;
private List<CtyImportConfig> imports;
public ContentTypeConfig( ContentHandlerName contentHandlerName, String name )
{
this.contentHandlerName = contentHandlerName;
this.name = name;
}
public String getRelativeXPath()
{
return null;
}
public CtyFormConfig getForm()
{
return form;
}
public void setForm( CtyFormConfig form )
{
this.form = form;
}
public CtyImportConfig getImport( final String importName )
{
if ( imports == null )
{
return null;
}
for ( CtyImportConfig importConfig : imports )
{
if ( importConfig.getName().equals( importName ) )
{
return importConfig;
}
}
return null;
}
public void setImports( final List<CtyImportConfig> imports )
{
this.imports = imports;
}
public String getName()
{
return name;
}
public DataEntryConfig getInputConfig( String name )
{
return form.getInputConfig( name );
}
public DataEntryConfig getInputConfigByRelativeXPath( String path )
{
return form.getInputConfigByRelativeXPath( path );
}
public List<DataEntryConfig> getInputConfigs()
{
return form.getInputConfigs();
}
public List<CtySetConfig> getSetConfig()
{
return form.getSetConfig();
}
public CtySetConfig getSetConfig( String name )
{
return form.getSetConfig( name );
}
public CtySetConfig getSetConfigByRelativeXPath( String path )
{
return form.getSetConfigByRelativeXPath( path );
}
public ContentHandlerName getContentHandlerName()
{
return contentHandlerName;
}
public void validate()
throws InvalidImportConfigException
{
for ( CtyImportConfig importConfig : imports )
{
importConfig.validateContentTypeImportConfig( this );
}
}
public String toString()
{
return "name = " + name + ", contentHandlerName = " + contentHandlerName;
}
}