org.jibx.schema
Class TreeWalker

java.lang.Object
  extended by 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
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 org.apache.log4j.Logger s_logger
          Logger for class.
 
Constructor Summary
TreeWalker(ISkipElements skip, ISchemaListener listen)
          Constructor.
 
Method Summary
static org.apache.log4j.Level setLogging(org.apache.log4j.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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

s_logger

private static final org.apache.log4j.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 org.apache.log4j.Level setLogging(org.apache.log4j.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 traversed
visitor - 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 toured
visitor - 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 toured
visitor - target visitor for element notifications


Project Web Site