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 ArrayListAdded references list (nullif unused).private final SetSet of definitions referenced as non-required or repeating items.private final SchemaContextTrackerTracker for schema context information.private final ReferenceCountMapUsage counts found for each global definition. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidaddNonSingleton(Object obj) Convenience method for recording a non-singleton reference.voidAdd usage counts for the reference closure of a definition.private voidConvenience method for incrementing a use count.voidexit(AttributeElement node) Exit attribute element.voidexit(AttributeGroupRefElement node) Exit attributeGroup element for reference.voidexit(ComplexExtensionElement node) Exit extension element used for complex type.voidExit restriction element used for complex type.voidexit(ElementElement node) Exit element element.voidexit(GroupRefElement node) Exit group element for reference.voidexit(ListElement node) Exit list element.voidexit(SimpleExtensionElement node) Exit extension element for simple type.voidexit(SimpleRestrictionElement node) Exit restriction element for simple type.voidexit(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.voidreset()Clear all state information.voidSet 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 (nullif 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 (nullif none, ignored if a schema type)
-
addNonSingleton
Convenience method for recording a non-singleton reference.- Parameters:
obj- referenced object (nullif 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:SchemaVisitorExit attribute element.- Overrides:
exitin classSchemaVisitor- Parameters:
node- element being exited
-
exit
Description copied from class:SchemaVisitorExit attributeGroup element for reference.- Overrides:
exitin classSchemaVisitor- Parameters:
node- element being exited
-
exit
Description copied from class:SchemaVisitorExit extension element used for complex type.- Overrides:
exitin classSchemaVisitor- Parameters:
node- element being exited
-
exit
Description copied from class:SchemaVisitorExit restriction element used for complex type.- Overrides:
exitin classSchemaVisitor- Parameters:
node- element being exited
-
exit
Description copied from class:SchemaVisitorExit element element.- Overrides:
exitin classSchemaVisitor- Parameters:
node- element being exited
-
exit
Description copied from class:SchemaVisitorExit group element for reference.- Overrides:
exitin classSchemaVisitor- Parameters:
node- element being exited
-
exit
Description copied from class:SchemaVisitorExit list element.- Overrides:
exitin classSchemaVisitor- Parameters:
node- element being exited
-
exit
Description copied from class:SchemaVisitorExit extension element for simple type.- Overrides:
exitin classSchemaVisitor- Parameters:
node- element being exited
-
exit
Description copied from class:SchemaVisitorExit restriction element for simple type.- Overrides:
exitin classSchemaVisitor- Parameters:
node- element being exited
-
exit
Description copied from class:SchemaVisitorExit union element.- Overrides:
exitin classSchemaVisitor- Parameters:
node- element being exited
-