Package org.jibx.schema.codegen
Class EnumerationClassHolder
- java.lang.Object
-
- org.jibx.schema.codegen.TypeData
-
- org.jibx.schema.codegen.ClassHolder
-
- org.jibx.schema.codegen.EnumerationClassHolder
-
- All Implemented Interfaces:
IClassHolder
public class EnumerationClassHolder extends ClassHolder
Information for an enumeration class to be included in code generated from schema.- Author:
- Dennis M. Sosnoski
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.jibx.schema.codegen.ClassHolder
ClassHolder.DataNode, ClassHolder.LeafNode, ClassHolder.ParentNode
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringCONVERTFORCE_METHODStatic conversion method name, with exception if value not matched.static java.lang.StringCONVERTIF_METHODStatic conversion method name, with null return if value not matched.static java.lang.StringINSTANCEVALUE_FIELDInstance field to hold text value.private FormatElementm_bindingFormatBinding definition element for this class.private ClassHolder.ParentNodem_classGroupEnumeration group defining the class.private static Loggers_loggerLogger for class.-
Fields inherited from class org.jibx.schema.codegen.ClassHolder
COLLECTION_VARIABLE_NAME, COLLECTION_VARIABLE_TYPE, m_baseName, m_decorators, m_holder, m_importsTracker, m_inners, m_listImplClass, m_nameConverter, m_nameSet, m_outerClass, m_package, m_useInnerClasses
-
-
Constructor Summary
Constructors Modifier Constructor Description EnumerationClassHolder(java.lang.String name, java.lang.String base, PackageHolder pack, BindingHolder holder, NameConverter nconv, ClassDecorator[] decorators, boolean inner)Constructor.protectedEnumerationClassHolder(java.lang.String name, ClassHolder context)Constructor for creating a child inner class definition.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbuildDataStructure(GroupItem group, BindingHolder bindhold)Convert an item structure to a class representation.private voidbuildJava5Enumeration(java.lang.String name, java.lang.String fullname, FilteredSegmentList facets, ClassBuilder clasbuilder)Build Java 5 enumeration class.private voidbuildSimpleEnumeration(java.lang.String name, java.lang.String fullname, FilteredSegmentList facets, ClassBuilder clasbuilder)Build simple type-safe enumeration class.voidgenerate(boolean verbose, SourceBuilder builder)Generate this class.voidsetBinding(FormatElement format)Set the binding component linked to this class.-
Methods inherited from class org.jibx.schema.codegen.ClassHolder
addField, addImport, addInterface, addMethod, addType, describe, extractDocumentation, finishClass, generateInner, getBuilder, getFields, getImports, getInterfaces, getMethods, getName, getOuterClass, getPackage, getSchemaCustom, getSortedFields, getSuperClass, getSuperClassName, getTypeName, importValueType, initClass, isGenerated, isSuperClassForced, setListImplementation, setSuperClass, setSuperClassName
-
Methods inherited from class org.jibx.schema.codegen.TypeData
getBindingName, getFullName, isPregenerated, isSimpleValue
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.jibx.schema.codegen.IClassHolder
getFullName
-
-
-
-
Field Detail
-
INSTANCEVALUE_FIELD
public static final java.lang.String INSTANCEVALUE_FIELD
Instance field to hold text value.- See Also:
- Constant Field Values
-
CONVERTFORCE_METHOD
public static final java.lang.String CONVERTFORCE_METHOD
Static conversion method name, with exception if value not matched.- See Also:
- Constant Field Values
-
CONVERTIF_METHOD
public static final java.lang.String CONVERTIF_METHOD
Static conversion method name, with null return if value not matched.- See Also:
- Constant Field Values
-
s_logger
private static final Logger s_logger
Logger for class.
-
m_classGroup
private ClassHolder.ParentNode m_classGroup
Enumeration group defining the class.
-
m_bindingFormat
private FormatElement m_bindingFormat
Binding definition element for this class.
-
-
Constructor Detail
-
EnumerationClassHolder
public EnumerationClassHolder(java.lang.String name, java.lang.String base, PackageHolder pack, BindingHolder holder, NameConverter nconv, ClassDecorator[] decorators, boolean inner)Constructor.- Parameters:
name- class namebase- base class namepack- package informationholder- binding holdernconv- name converterdecorators- class decoratorsinner- use inner classes for substructures
-
EnumerationClassHolder
protected EnumerationClassHolder(java.lang.String name, ClassHolder context)Constructor for creating a child inner class definition.- Parameters:
name- class namecontext- parent class
-
-
Method Detail
-
setBinding
public void setBinding(FormatElement format)
Set the binding component linked to this class.- Parameters:
format- binding definition element
-
buildDataStructure
public void buildDataStructure(GroupItem group, BindingHolder bindhold)
Convert an item structure to a class representation. This may include creating child classes, where necessary.- Overrides:
buildDataStructurein classClassHolder- Parameters:
group- item groupbindhold- associated binding definition holder
-
generate
public void generate(boolean verbose, SourceBuilder builder)Generate this class.- Specified by:
generatein classClassHolder- Parameters:
verbose-builder- class source file builder
-
buildSimpleEnumeration
private void buildSimpleEnumeration(java.lang.String name, java.lang.String fullname, FilteredSegmentList facets, ClassBuilder clasbuilder)Build simple type-safe enumeration class.- Parameters:
name- simple class namefullname- fully-qualified class namefacets- list of facets (may not all be xs:enumeration facets)clasbuilder-
-
buildJava5Enumeration
private void buildJava5Enumeration(java.lang.String name, java.lang.String fullname, FilteredSegmentList facets, ClassBuilder clasbuilder)Build Java 5 enumeration class.- Parameters:
name- simple class namefullname- fully-qualified class namefacets- list of facets (may not all be xs:enumeration facets)clasbuilder-
-
-