org.jibx.schema.codegen
Class EnumerationClassHolder

java.lang.Object
  extended by org.jibx.schema.codegen.TypeData
      extended by org.jibx.schema.codegen.ClassHolder
          extended by 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
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
protected EnumerationClassHolder(java.lang.String name, ClassHolder context)
          Constructor for creating a child inner class definition.
  EnumerationClassHolder(java.lang.String name, java.lang.String base, PackageHolder pack, BindingHolder holder, NameConverter nconv, ClassDecorator[] decorators, boolean inner)
          Constructor.
 
Method Summary
 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 name
base - base class name
pack - package information
holder - binding holder
nconv - name converter
decorators - class decorators
inner - 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 name
context - 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 class ClassHolder
Parameters:
group - item group
bindhold - associated binding definition holder

generate

public void generate(boolean verbose,
                     SourceBuilder builder)
Generate this class.

Specified by:
generate in class ClassHolder
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 name
fullname - fully-qualified class name
facets - 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 name
fullname - fully-qualified class name
facets - list of facets (may not all be xs:enumeration facets)
clasbuilder -


Project Web Site