Package org.jibx.schema.codegen.custom
Class GlobalExtension
- java.lang.Object
-
- org.jibx.schema.codegen.custom.BaseExtension
-
- org.jibx.schema.codegen.custom.ComponentExtension
-
- org.jibx.schema.codegen.custom.GlobalExtension
-
public class GlobalExtension extends ComponentExtension
Extension information for a schema global definition component. This adds reference tracking to the basic extension information, along with a map for child components of the definition.- Author:
- Dennis M. Sosnoski
-
-
Field Summary
Fields Modifier and Type Field Description private DefinitionItemm_definitionDefinition item for this global definition.private java.util.ArrayListm_dependenciesList of global definitions used by this definition (one entry per reference, may contain duplicates).private booleanm_includedComponent to be specifically included in code generation (requiring a separate class).private intm_referenceCountNumber of references to this definition.private java.util.ArrayListm_referencesList of extensions for components referencing this definition.private SchemaExtensionm_schemaExtensionContaining schema extension.(package private) static Loggers_loggerLogger for class.-
Fields inherited from class org.jibx.schema.codegen.custom.BaseExtension
ARITY_OPTIONAL_COLLECTION, ARITY_OPTIONAL_SINGLETON, ARITY_REQUIRED_COLLECTION, ARITY_REQUIRED_SINGLETON
-
-
Constructor Summary
Constructors Constructor Description GlobalExtension(SchemaExtension schemext, OpenAttrBase comp)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddDependency(ComponentExtension anno)Add dependency extension.voidaddReference(ComponentExtension anno)Add reference extension.voidcheckRemovable()Check if the global definition can be removed from the schema.ClassDecorator[]getClassDecorators()Get code generation decorators used for this component.DefinitionItemgetDefinition()Get definition item.GlobalExtensiongetDependency(int index)Get dependency extension by index position.intgetDependencyCount()Get the number of dependencies for this component.NameConvertergetNameConverter()Get name converter used for this component.PackageHoldergetPackage()Get package for class generation.ComponentExtensiongetReference(int index)Get referencing extension by index position.java.util.MapgetSchemaTypes()Get map from schema type local name to type information.booleanisIncluded()Check if component specifically included in code generation (requiring a separate class).booleanisPreferInline()Check if inlining of definition preferred.booleanisPushInline()Check if inlining of definition is pushed (even when multiple values are involved).booleanisUseInnerClasses()Check if inner classes should be used for substructures.voidnormalize()Normalize the schema definition component.voidresetDependencies()Reset the dependencies and references of this component.voidsetDefinition(DefinitionItem item)Set definition item.voidsetIncluded(boolean included)Set flag for component specifically included in code generation (requiring a separate class).-
Methods inherited from class org.jibx.schema.codegen.custom.ComponentExtension
applyAndCountUsage, getAnyType, getBaseName, getChoiceType, getClassName, getCustom, getGlobal, getOverrideType, getUnionType, getUseCount, incrementUseCount, isChoiceExposed, isIgnored, isInlined, isOptional, isRemoved, isRepeated, isSeparateClass, isUnionExposed, normalize, setCustom, setOptional, setOverrideType, setRemoved, setRepeated
-
Methods inherited from class org.jibx.schema.codegen.custom.BaseExtension
getComponent, getReplacementType, setTypeReplacer
-
-
-
-
Field Detail
-
s_logger
static final Logger s_logger
Logger for class.
-
m_schemaExtension
private final SchemaExtension m_schemaExtension
Containing schema extension.
-
m_included
private boolean m_included
Component to be specifically included in code generation (requiring a separate class).
-
m_referenceCount
private int m_referenceCount
Number of references to this definition.
-
m_references
private java.util.ArrayList m_references
List of extensions for components referencing this definition.
-
m_dependencies
private java.util.ArrayList m_dependencies
List of global definitions used by this definition (one entry per reference, may contain duplicates).
-
m_definition
private DefinitionItem m_definition
Definition item for this global definition.
-
-
Constructor Detail
-
GlobalExtension
public GlobalExtension(SchemaExtension schemext, OpenAttrBase comp)
Constructor.- Parameters:
schemext- extension for containing schemacomp- actual component
-
-
Method Detail
-
getSchemaTypes
public java.util.Map getSchemaTypes()
Get map from schema type local name to type information.- Returns:
- map
-
getNameConverter
public NameConverter getNameConverter()
Get name converter used for this component.- Returns:
- converter
-
getClassDecorators
public ClassDecorator[] getClassDecorators()
Get code generation decorators used for this component.- Returns:
- converter
-
getPackage
public PackageHolder getPackage()
Get package for class generation.- Returns:
- package
-
isPushInline
public boolean isPushInline()
Check if inlining of definition is pushed (even when multiple values are involved).- Returns:
- inline
-
isPreferInline
public boolean isPreferInline()
Check if inlining of definition preferred. Inlining of xs:attributeGroup and xs:group definitions is always preferred.- Returns:
- inline
-
isUseInnerClasses
public boolean isUseInnerClasses()
Check if inner classes should be used for substructures.- Returns:
- inner
-
isIncluded
public boolean isIncluded()
Check if component specifically included in code generation (requiring a separate class).- Returns:
- included
-
setIncluded
public void setIncluded(boolean included)
Set flag for component specifically included in code generation (requiring a separate class).- Parameters:
included-
-
addReference
public void addReference(ComponentExtension anno)
Add reference extension.- Parameters:
anno-
-
getReference
public ComponentExtension getReference(int index)
Get referencing extension by index position.- Parameters:
index-- Returns:
- reference
-
addDependency
public void addDependency(ComponentExtension anno)
Add dependency extension.- Parameters:
anno-
-
getDependencyCount
public int getDependencyCount()
Get the number of dependencies for this component.- Returns:
- count
-
getDependency
public GlobalExtension getDependency(int index)
Get dependency extension by index position.- Parameters:
index-- Returns:
- reference
-
resetDependencies
public void resetDependencies()
Reset the dependencies and references of this component. This must be called before beginning a reference tracking pass, to clear any information from prior passes.
-
checkRemovable
public void checkRemovable()
Check if the global definition can be removed from the schema. If it can, this adjusts the usage counts for all dependencies of the definition, forcing a check of each dependency as the counts are adjusted.
-
getDefinition
public DefinitionItem getDefinition()
Get definition item.- Returns:
- item
-
setDefinition
public void setDefinition(DefinitionItem item)
Set definition item.- Parameters:
item-
-
normalize
public void normalize()
Normalize the schema definition component. This recursively traverses the schema model tree rooted in the global component, normalizing each child component.
-
-