|
||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||
java.lang.Objectorg.jibx.schema.codegen.TypeData
org.jibx.schema.codegen.ClassHolder
org.jibx.schema.codegen.StructureClassHolder
public class StructureClassHolder
Information for a data class to be included in code generated from schema.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.jibx.schema.codegen.ClassHolder |
|---|
ClassHolder.DataNode, ClassHolder.LeafNode, ClassHolder.ParentNode |
| Field Summary | |
|---|---|
private static java.lang.String |
LIST_DESERIALIZE_PREFIX
|
private static java.lang.String |
LIST_SERIALIZE_PREFIX
|
private ContainerElementBase |
m_bindingElement
Binding definition element for this class. |
private boolean |
m_collectionPresent
Flag for collection present in class. |
private ClassHolder.ParentNode |
m_dataRoot
Root node for data structure of class. |
protected UniqueNameSet |
m_selectSet
Selection property names used in class (lazy create, null if none). |
private static java.util.Map |
s_formatMap
Default format definitions map. |
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 | |
|---|---|
|
StructureClassHolder(java.lang.String name,
java.lang.String base,
PackageHolder pack,
BindingHolder holder,
NameConverter nconv,
ClassDecorator[] decorators,
boolean inner)
Constructor. |
private |
StructureClassHolder(java.lang.String name,
StructureClassHolder context)
Constructor for creating a child inner class definition. |
| Method Summary | |
|---|---|
private void |
addFixedNames(ClassHolder.ParentNode wrapper)
Add all fixed names in a group to the set of names defined for this class. |
private void |
addFlagProperty(java.lang.String basename,
ClassHolder.DataNode node,
ClassBuilder builder)
Add a flag property to the class. |
private void |
addInnerFormats(MappingElementBase mapping)
Recursively add all inner enumeration classes as formats to a <mapping> definition. |
private StructureElement |
addReferenceStructure(ClassHolder.LeafNode leaf,
DefinitionItem def,
boolean single,
BindingHolder holder,
ContainerElementBase bindcomp)
Build the binding structure element for a reference to a class. |
private void |
addRepeatedProperty(java.lang.String basename,
ClassHolder.DataNode node,
ClassBuilder builder)
Add a multiple-valued property to the class. |
private void |
addSimpleProperty(java.lang.String basename,
ClassHolder.DataNode node,
ClassBuilder builder)
Add a simple property to the class. |
private void |
addToBinding(ClassHolder.ParentNode parent,
QName wrapname,
boolean wrapopt,
boolean single,
ContainerElementBase bindcomp,
BindingHolder holder)
Generate the binding for a parent node of the data structure tree. |
private void |
addToClass(ClassHolder.ParentNode parent)
Generate the fields and methods for a wrapper around one or more properties. |
private void |
addToTree(GroupItem struct,
java.lang.String supertext,
ClassHolder.ParentNode parent,
BindingHolder bindhold)
Populate a class data representation tree based on a supplied item tree. |
void |
buildDataStructure(GroupItem group,
BindingHolder bindhold)
Convert an item structure to a class representation. |
private ValueElement |
buildValueBinding(ClassHolder.DataNode node,
QName wrapname,
java.lang.String gname,
java.lang.String sname,
BindingHolder holder)
Build a <value> binding component for a field. |
private void |
checkIfMethod(ClassHolder.DataNode node,
java.lang.String seldesc,
java.lang.String valdesc,
ClassBuilder builder)
Generate a test method for a value, if it's part of a group with a selector. |
private java.lang.String |
findDocumentation(boolean top,
ClassHolder.DataNode node)
Find the schema documentation associated with a data node. |
private void |
fixFlexibleNames(ClassHolder.ParentNode parent,
boolean innamed)
Handle value name assignments for a group within this class. |
void |
generate(boolean verbose,
SourceBuilder builder)
Generate this class. |
private void |
generateSelectorCheck(ClassHolder.DataNode value,
BlockBuilder block,
ClassBuilder builder)
Generate the code to check the selection on any containing selector group. |
private void |
generateSelectorSet(ClassHolder.DataNode value,
BlockBuilder block,
ClassBuilder builder)
Generate the code to check and set the selection on any containing selector group. |
private CollectionElement |
newCollection(QName wrapname,
boolean wrapopt,
BindingHolder holder,
ClassHolder.DataNode node)
Create a new collection element for the binding. |
void |
setBinding(ContainerElementBase container)
Set the binding component linked to this class. |
private void |
setCollectionName(java.lang.String base,
Item item)
Convert base name to collection name. |
private void |
setMemberNames(java.lang.String basename,
ClassHolder.DataNode node)
Set the field and get/set access method names for a property. |
private static void |
setName(QName qname,
BindingHolder holder,
StructureElementBase struct)
Set the name and namespace URI for a <structure> or <collection> binding component. |
private static void |
setName(QName qname,
BindingHolder holder,
ValueElement value)
Set the name and namespace URI for a <value> binding component. |
private void |
setStructureOptional(ClassHolder.DataNode value,
boolean force,
StructureElementBase struct)
Set the optional state of a structure or collection element in the binding. |
private void |
setValueHandlingOptions(Item item,
ValueElement value,
BindingHolder holder)
Set serializer/deserializer options for a <value> component of the binding. |
| 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 |
|---|
private static final java.lang.String LIST_DESERIALIZE_PREFIX
private static final java.lang.String LIST_SERIALIZE_PREFIX
private static final Logger s_logger
private static final java.util.Map s_formatMap
private boolean m_collectionPresent
private ClassHolder.ParentNode m_dataRoot
private ContainerElementBase m_bindingElement
protected UniqueNameSet m_selectSet
null if none).
| Constructor Detail |
|---|
public StructureClassHolder(java.lang.String name,
java.lang.String base,
PackageHolder pack,
BindingHolder holder,
NameConverter nconv,
ClassDecorator[] decorators,
boolean inner)
name - class namebase - base class namepack - package informationholder - binding holdernconv - name converterdecorators - class decoratorsinner - use inner classes for substructures
private StructureClassHolder(java.lang.String name,
StructureClassHolder context)
name - class namecontext - parent class| Method Detail |
|---|
private void addToTree(GroupItem struct,
java.lang.String supertext,
ClassHolder.ParentNode parent,
BindingHolder bindhold)
struct - root item in treesupertext - schema documentation passed in for item treeparent - containing data nodebindhold - associated binding definition holder
public void buildDataStructure(GroupItem group,
BindingHolder bindhold)
buildDataStructure in class ClassHoldergroup - item groupbindhold - associated binding definition holderpublic void setBinding(ContainerElementBase container)
container - binding definition element (<mapping> or <structure>)private void addInnerFormats(MappingElementBase mapping)
mapping - private void addFixedNames(ClassHolder.ParentNode wrapper)
wrapper -
private void setCollectionName(java.lang.String base,
Item item)
java.util.List representation the name is converted
to singular form and "List" is appended; if using an array representation the name is converted to plural form.
base - item -
private void fixFlexibleNames(ClassHolder.ParentNode parent,
boolean innamed)
parent - innamed - flag for parent group name already fixed
private void generateSelectorSet(ClassHolder.DataNode value,
BlockBuilder block,
ClassBuilder builder)
value - block - builder -
private void generateSelectorCheck(ClassHolder.DataNode value,
BlockBuilder block,
ClassBuilder builder)
value - block - builder -
private void checkIfMethod(ClassHolder.DataNode node,
java.lang.String seldesc,
java.lang.String valdesc,
ClassBuilder builder)
node - seldesc - containing group descriptionvaldesc - description of this value within groupbuilder -
private void setStructureOptional(ClassHolder.DataNode value,
boolean force,
StructureElementBase struct)
value - nodeforce - optional state forced flagstruct - binding structure
private static void setName(QName qname,
BindingHolder holder,
ValueElement value)
qname - qualified name to be set (null if none)holder - binding containing the value definitionvalue - binding component
private static void setName(QName qname,
BindingHolder holder,
StructureElementBase struct)
qname - qualified name to be set (null if none)holder - binding containing the structure or collection definitionstruct - binding component
private ValueElement buildValueBinding(ClassHolder.DataNode node,
QName wrapname,
java.lang.String gname,
java.lang.String sname,
BindingHolder holder)
node - wrapname - gname - sname - holder -
private void setMemberNames(java.lang.String basename,
ClassHolder.DataNode node)
basename - node -
private void addSimpleProperty(java.lang.String basename,
ClassHolder.DataNode node,
ClassBuilder builder)
basename - node - builder -
private void addRepeatedProperty(java.lang.String basename,
ClassHolder.DataNode node,
ClassBuilder builder)
basename - node - builder -
private void addFlagProperty(java.lang.String basename,
ClassHolder.DataNode node,
ClassBuilder builder)
basename - node - builder -
private java.lang.String findDocumentation(boolean top,
ClassHolder.DataNode node)
top - use topmost documentation found flagnode - starting node
private void addToClass(ClassHolder.ParentNode parent)
parent -
private StructureElement addReferenceStructure(ClassHolder.LeafNode leaf,
DefinitionItem def,
boolean single,
BindingHolder holder,
ContainerElementBase bindcomp)
leaf - reference nodedef - target definitionsingle - flag for single childholder - holder for binding definitionbindcomp - containing binding element
private CollectionElement newCollection(QName wrapname,
boolean wrapopt,
BindingHolder holder,
ClassHolder.DataNode node)
wrapname - name to be used for wrapper collection or structure, null if nonewrapopt - wrapper element optional flag (should be false if wrapname is null)holder - binding definition tracking informationnode - data node associated with collection
private void setValueHandlingOptions(Item item,
ValueElement value,
BindingHolder holder)
item - value - holder -
private void addToBinding(ClassHolder.ParentNode parent,
QName wrapname,
boolean wrapopt,
boolean single,
ContainerElementBase bindcomp,
BindingHolder holder)
parent - node to be added to bindingwrapname - name to be used for wrapper collection or structure, null if nonewrapopt - wrapper element optional flag (should be false if wrapname is null)single - parent node binding component can be modified by child flag (single path from parent)bindcomp - binding definition component corresponding to the parent nodeholder - binding definition tracking information
public void generate(boolean verbose,
SourceBuilder builder)
generate in class ClassHolderverbose - builder - class source file builder
|
||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||