org.apache.xalan.stree
Class LevelIndexer

java.lang.Object
  |
  +--org.apache.xalan.stree.LevelIndexer

public class LevelIndexer
extends java.lang.Object

The XPath class represents the semantic parse tree of the XPath pattern. It is the representation of the grammar which filters out the choice for replacement order of the production rules. In order to conserve memory and reduce object creation, the tree is represented as an array of integers: [op code][length][...] where strings are represented within the array as indexes into the token tree.


Constructor Summary
LevelIndexer()
          Create a LevelIndexer object.
 
Method Summary
 int addToTable(Child child)
          **For internal use only** Add a node to the types table.
 java.lang.Object[] allocateNewList(java.lang.Object[] nodesList)
          **For internal use only** Get a list of nodes in the level array by level and by type.
 int getIndexForType(Node child, int type, java.lang.Object[] nodesList)
          **For internal use only** Get index pointing to nodes of a certain type in the nodeslist.
 java.lang.Object[] getNodesList(int level)
          **For internal use only** Get a list of nodes in the level array by level and by type.
 short getType(Node node)
          **For internal use only** Get type.
 short getType(java.lang.String name, java.lang.String namespace, java.lang.String prepend)
          **For internal use only** Get type.
 void insertNode(Child child)
          **For internal use only** Insert a node in the nodesList by level, by parent and by type.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LevelIndexer

public LevelIndexer()
Create a LevelIndexer object.
Method Detail

insertNode

public void insertNode(Child child)
**For internal use only** Insert a node in the nodesList by level, by parent and by type.

getNodesList

public java.lang.Object[] getNodesList(int level)
**For internal use only** Get a list of nodes in the level array by level and by type.

allocateNewList

public java.lang.Object[] allocateNewList(java.lang.Object[] nodesList)
**For internal use only** Get a list of nodes in the level array by level and by type.

getIndexForType

public int getIndexForType(Node child,
                           int type,
                           java.lang.Object[] nodesList)
**For internal use only** Get index pointing to nodes of a certain type in the nodeslist.

addToTable

public int addToTable(Child child)
**For internal use only** Add a node to the types table. Each entry is a (node, type) pair. The type is an assigned integer value. Attribute nodes will have "@::" prepended to the element name. The name is a combination of the URI and the actual element name seperated by a double colon "::" Note that m_subtype is a global variable that gets incremented for the next time it is used.
Returns:
return the element subtype

getType

public short getType(java.lang.String name,
                     java.lang.String namespace,
                     java.lang.String prepend)
**For internal use only** Get type.

getType

public short getType(Node node)
**For internal use only** Get type.


Copyright © 2000 Apache XML Project. All Rights Reserved.