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.String
CONVERTFORCE_METHOD
Static conversion method name, with exception if value not matched.static java.lang.String
CONVERTIF_METHOD
Static conversion method name, with null return if value not matched.static java.lang.String
INSTANCEVALUE_FIELD
Instance field to hold text value.private FormatElement
m_bindingFormat
Binding definition element for this class.private ClassHolder.ParentNode
m_classGroup
Enumeration group defining the class.private static Logger
s_logger
Logger 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.protected
EnumerationClassHolder(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 void
buildDataStructure(GroupItem group, BindingHolder bindhold)
Convert an item structure to a class representation.private void
buildJava5Enumeration(java.lang.String name, java.lang.String fullname, FilteredSegmentList facets, ClassBuilder clasbuilder)
Build Java 5 enumeration class.private void
buildSimpleEnumeration(java.lang.String name, java.lang.String fullname, FilteredSegmentList facets, ClassBuilder clasbuilder)
Build simple type-safe enumeration class.void
generate(boolean verbose, SourceBuilder builder)
Generate this class.void
setBinding(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:
buildDataStructure
in classClassHolder
- Parameters:
group
- item groupbindhold
- associated binding definition holder
-
generate
public void generate(boolean verbose, SourceBuilder builder)
Generate this class.- Specified by:
generate
in 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
-
-
-