Package org.jibx.schema
Class UsageFinder.UsageVisitor
java.lang.Object
org.jibx.schema.SchemaVisitor
org.jibx.schema.UsageFinder.UsageVisitor
- Enclosing class:
UsageFinder
Visitor to accumulate usage of definitions.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate ArrayList
Added references list (null
if unused).private final Set
Set of definitions referenced as non-required or repeating items.private final SchemaContextTracker
Tracker for schema context information.private final ReferenceCountMap
Usage counts found for each global definition. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
addNonSingleton
(Object obj) Convenience method for recording a non-singleton reference.void
Add usage counts for the reference closure of a definition.private void
Convenience method for incrementing a use count.void
exit
(AttributeElement node) Exit attribute element.void
exit
(AttributeGroupRefElement node) Exit attributeGroup element for reference.void
exit
(ComplexExtensionElement node) Exit extension element used for complex type.void
Exit restriction element used for complex type.void
exit
(ElementElement node) Exit element element.void
exit
(GroupRefElement node) Exit group element for reference.void
exit
(ListElement node) Exit list element.void
exit
(SimpleExtensionElement node) Exit extension element for simple type.void
exit
(SimpleRestrictionElement node) Exit restriction element for simple type.void
exit
(UnionElement node) Exit union element.Get the schema change listener for this visitor.Get the set of definitions referenced as optional or repeating.Get map of reference counts per component.void
reset()
Clear all state information.void
Set the register to be used for resolving name references.Methods inherited from class org.jibx.schema.SchemaVisitor
exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, exit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
-
Field Details
-
m_tracker
Tracker for schema context information. -
m_usageMap
Usage counts found for each global definition. -
m_nonSingletonSet
Set of definitions referenced as non-required or repeating items. -
m_newReferences
Added references list (null
if unused).
-
-
Constructor Details
-
UsageVisitor
public UsageVisitor()Constructor.
-
-
Method Details
-
getListener
Get the schema change listener for this visitor.- Returns:
- listener
-
countUse
Convenience method for incrementing a use count. If tracking of added references is enabled this also adds the referenced object to the list if it's a first-time reference.- Parameters:
obj
- referenced object (null
if none, ignored if a schema type)
-
addNonSingleton
Convenience method for recording a non-singleton reference.- Parameters:
obj
- referenced object (null
if none)
-
addReferenceClosure
Add usage counts for the reference closure of a definition. This counts all references from the definition, then all references from the definitions referenced by the original definition, and so on until no new references are found. This method may be called repeatedly, with the final results representing the closure of the union of the specified definitions (or the union of the closure, since these are the same).- Parameters:
comp
- definition to be processed
-
setNameRegister
Set the register to be used for resolving name references.- Parameters:
reg
-
-
getUsageMap
Get map of reference counts per component.- Returns:
- count map
-
getNonSingletonSet
Get the set of definitions referenced as optional or repeating.- Returns:
- set
-
reset
public void reset()Clear all state information. This allows an instance to be reused. -
exit
Description copied from class:SchemaVisitor
Exit attribute element.- Overrides:
exit
in classSchemaVisitor
- Parameters:
node
- element being exited
-
exit
Description copied from class:SchemaVisitor
Exit attributeGroup element for reference.- Overrides:
exit
in classSchemaVisitor
- Parameters:
node
- element being exited
-
exit
Description copied from class:SchemaVisitor
Exit extension element used for complex type.- Overrides:
exit
in classSchemaVisitor
- Parameters:
node
- element being exited
-
exit
Description copied from class:SchemaVisitor
Exit restriction element used for complex type.- Overrides:
exit
in classSchemaVisitor
- Parameters:
node
- element being exited
-
exit
Description copied from class:SchemaVisitor
Exit element element.- Overrides:
exit
in classSchemaVisitor
- Parameters:
node
- element being exited
-
exit
Description copied from class:SchemaVisitor
Exit group element for reference.- Overrides:
exit
in classSchemaVisitor
- Parameters:
node
- element being exited
-
exit
Description copied from class:SchemaVisitor
Exit list element.- Overrides:
exit
in classSchemaVisitor
- Parameters:
node
- element being exited
-
exit
Description copied from class:SchemaVisitor
Exit extension element for simple type.- Overrides:
exit
in classSchemaVisitor
- Parameters:
node
- element being exited
-
exit
Description copied from class:SchemaVisitor
Exit restriction element for simple type.- Overrides:
exit
in classSchemaVisitor
- Parameters:
node
- element being exited
-
exit
Description copied from class:SchemaVisitor
Exit union element.- Overrides:
exit
in classSchemaVisitor
- Parameters:
node
- element being exited
-