Package org.jibx.schema
Class TreeWalker
- java.lang.Object
-
- org.jibx.schema.TreeWalker
-
public class TreeWalker extends java.lang.Object
Handles walking the tree structure of schema model. This traverses the structure defined by the nesting of elements and schema references in the XML representation.- Author:
- Dennis M. Sosnoski
-
-
Field Summary
Fields Modifier and Type Field Description private ISchemaListener
m_schemaListener
Listener for entering and exiting referenced schemas.private ISkipElements
m_skipSet
Selector for elements to be skipped when walking tree (null
if unused).private static Logger
s_logger
Logger for class.
-
Constructor Summary
Constructors Constructor Description TreeWalker(ISkipElements skip, ISchemaListener listen)
Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static Level
setLogging(Level level)
Control the logging level for this class.void
walkChildren(SchemaBase root, SchemaVisitor visitor)
Walk the descendants of a root element.void
walkElement(SchemaBase root, SchemaVisitor visitor)
Walk schema model element tree.void
walkSchema(SchemaElement schema, SchemaVisitor visitor)
Walk entire schema model.
-
-
-
Field Detail
-
s_logger
private static final Logger s_logger
Logger for class.
-
m_skipSet
private final ISkipElements m_skipSet
Selector for elements to be skipped when walking tree (null
if unused).
-
m_schemaListener
private final ISchemaListener m_schemaListener
Listener for entering and exiting referenced schemas. (null
if unused).
-
-
Constructor Detail
-
TreeWalker
public TreeWalker(ISkipElements skip, ISchemaListener listen)
Constructor.- Parameters:
skip
- selector for elements to be skipped (null
if none skipped)listen
- schema reference listener (null
if none)
-
-
Method Detail
-
setLogging
public static Level setLogging(Level level)
Control the logging level for this class. Since the generated logs at debug level can become huge, this gives a way for external code to provide granular control over the logging.- Parameters:
level
-- Returns:
- prior level
-
walkSchema
public void walkSchema(SchemaElement schema, SchemaVisitor visitor)
Walk entire schema model.- Parameters:
schema
- root element of schema to be traversedvisitor
- target visitor for element notifications
-
walkElement
public void walkElement(SchemaBase root, SchemaVisitor visitor)
Walk schema model element tree. This recursively traverses the schema model tree rooted in the supplied element, including the element itself, notifying the visitor of each element visited during the traversal.- Parameters:
root
- node of tree to be touredvisitor
- target visitor for element notifications
-
walkChildren
public void walkChildren(SchemaBase root, SchemaVisitor visitor)
Walk the descendants of a root element. This recursively traverses the schema model tree rooted in the supplied element, excluding the element itself, notifying the visitor of each element visited during the traversal.- Parameters:
root
- node of tree to be touredvisitor
- target visitor for element notifications
-
-