com.fatdog.xmlEngine
Class NodeTree

java.lang.Object
  extended bycom.fatdog.xmlEngine.NodeTree
Direct Known Subclasses:
ConstructedNodes, QueryDocumentTree

public class NodeTree
extends java.lang.Object

A dynamic array structure for storing a collection of nodes from a single indexed document.

Version:
0.66
Author:
Howard Katz, howardk@fatdog.com

Field Summary
static int ALL_NODES
           
static int ATEXT_IX_TYPE
           
static int ATTR
           
static int DOC_NODE
           
static int E_TEXT_FROM_CHAR
           
static int E_TEXT_TO_CHAR
           
static int ELEM
           
static int INTS_PER_ENTRY
           
static int LOCAL_KEY
           
static int NS_MASK
           
static int NS_SHIFT
           
static int PARENT
           
static int PREFIX_KEY
           
static int TEXT
           
static int TYPE
           
static int VOIDED_NODE
           
 
Constructor Summary
NodeTree(IndexManager indexManager, int numInitialEntries, int allocationPolicy)
           
 
Method Summary
 void addAttributeNode(int namespaceIx, int[] key, java.lang.String text, int parent)
           
 void addElementNode(int namespaceIx, int[] key, int parent, int priorSibling)
           
 int addElementTextNode(char[] buff, int start, int numChars, int parent, int priorSibling)
           
 java.lang.StringBuffer asString(int node)
           
 java.lang.StringBuffer asString(int node, boolean addInterTextSpaces)
           
 java.lang.String attributeText(int base)
           
 int[] countNodeTypes()
           
 boolean elementHasContent(int elementNodeIx)
           
 void emitXml(int node, java.io.PrintWriter w, boolean prettyPrint)
           
 DocItems evalAncestor(DocItems descDoc, DocItems ancestorDoc, IntList newDescList)
           
 DocItems evalAncestor(DocItems descDoc, DocItems ancestorDoc, IntList newDescList, boolean allowSelfMatches)
           
 DocItems evalParent_(DocItems childDoc, DocItems parentDoc, boolean isPredicate)
           
 DocItems evalParent(DocItems childDoc, DocItems parentDoc, boolean isPredicate)
           
 java.lang.String getAttributeName(int nodeID)
           
 java.lang.String getAttributeText(int attrNode)
           
 java.lang.StringBuffer getAttrTextBuffer()
           
 java.lang.String getElementName(int nodeID)
           
 java.lang.String getElementText(int node)
           
 java.lang.StringBuffer getElemTextBuffer()
           
 int getId()
           
 IndexManager getIndexManager()
           
 int[] getKeys(int node)
           
 int getLastAddedNode()
           
 int getLocalKey(int node)
           
 int[] getNameKeys_base(int base)
           
 int[] getNameKeys(int node)
           
 int getNamespaceIndex(int node)
           
 int getNodeCount()
           
 int getParent_BASE(int base)
           
 int getParent(int i)
           
 short getPrefixKey(int node)
           
 int[] getRawTree()
           
 int getType(int i)
           
 boolean isFirstSibling_BASE(int base)
           
 boolean isLastSibling(int node)
           
 int namedAncestor(int[] ancestKey, int nodeType, IntList descendList)
           
 DocItems namedChildOfParent(int[] key, int childType, DocItems parents, boolean isPredicate)
           
 DocItems newLeafNodeList(int nodeType, int[] key)
           
 DocItems newNamedNodesAtRoot(int[] keys)
           
 DocItems newNamedParentOfNamedChild(int[] parentKeys, int[] childKeys, int nodeType, boolean isPredicate)
           
 DocItems newParentOf(int type, int[] key)
           
 DocItems newSiblingList(int siblingType, int[] keys)
           
 int numAttributesOnElement(int elementNodeIx)
           
 void printNode(int level, int base, int type, java.lang.StringBuffer sb)
           
 void printNode(int base, int type, java.lang.StringBuffer sb)
           
 long serialize(java.io.DataOutputStream out)
           
 void setElemTextBuffer(java.lang.StringBuffer textBuffer)
           
 void setId(int id)
           
 void singleNewline(int node, boolean atStart)
           
 int sizeTextBuffer(int bufferType)
           
 java.lang.String string(int[] valueType)
           
 java.lang.String string(int[] valueType, boolean addInterTextSpaces)
           
 DocItems subscript(int subscript)
           
 java.lang.String toString()
           
 void trim()
           
 int type(int i)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

NS_SHIFT

public static int NS_SHIFT

NS_MASK

public static int NS_MASK

DOC_NODE

public static final int DOC_NODE
See Also:
Constant Field Values

ELEM

public static final int ELEM
See Also:
Constant Field Values

ATTR

public static final int ATTR
See Also:
Constant Field Values

TEXT

public static final int TEXT
See Also:
Constant Field Values

ALL_NODES

public static final int ALL_NODES
See Also:
Constant Field Values

ATEXT_IX_TYPE

public static final int ATEXT_IX_TYPE
See Also:
Constant Field Values

TYPE

public static final int TYPE
See Also:
Constant Field Values

PREFIX_KEY

public static final int PREFIX_KEY
See Also:
Constant Field Values

LOCAL_KEY

public static final int LOCAL_KEY
See Also:
Constant Field Values

E_TEXT_FROM_CHAR

public static final int E_TEXT_FROM_CHAR
See Also:
Constant Field Values

E_TEXT_TO_CHAR

public static final int E_TEXT_TO_CHAR
See Also:
Constant Field Values

PARENT

public static final int PARENT
See Also:
Constant Field Values

VOIDED_NODE

public static final int VOIDED_NODE
See Also:
Constant Field Values

INTS_PER_ENTRY

public static final int INTS_PER_ENTRY
See Also:
Constant Field Values
Constructor Detail

NodeTree

public NodeTree(IndexManager indexManager,
                int numInitialEntries,
                int allocationPolicy)
Method Detail

getIndexManager

public IndexManager getIndexManager()

setId

public void setId(int id)

getId

public int getId()

getType

public int getType(int i)

type

public int type(int i)

getKeys

public int[] getKeys(int node)

getNameKeys_base

public int[] getNameKeys_base(int base)

getNameKeys

public int[] getNameKeys(int node)

getNamespaceIndex

public int getNamespaceIndex(int node)

getPrefixKey

public short getPrefixKey(int node)

getLocalKey

public int getLocalKey(int node)

getParent

public int getParent(int i)

getParent_BASE

public int getParent_BASE(int base)

isFirstSibling_BASE

public boolean isFirstSibling_BASE(int base)

isLastSibling

public boolean isLastSibling(int node)

getAttributeName

public java.lang.String getAttributeName(int nodeID)

getElementName

public java.lang.String getElementName(int nodeID)

getRawTree

public int[] getRawTree()

addElementNode

public void addElementNode(int namespaceIx,
                           int[] key,
                           int parent,
                           int priorSibling)

addAttributeNode

public void addAttributeNode(int namespaceIx,
                             int[] key,
                             java.lang.String text,
                             int parent)

addElementTextNode

public int addElementTextNode(char[] buff,
                              int start,
                              int numChars,
                              int parent,
                              int priorSibling)

singleNewline

public void singleNewline(int node,
                          boolean atStart)

getLastAddedNode

public int getLastAddedNode()

getNodeCount

public int getNodeCount()

countNodeTypes

public int[] countNodeTypes()

getElemTextBuffer

public java.lang.StringBuffer getElemTextBuffer()

getAttrTextBuffer

public java.lang.StringBuffer getAttrTextBuffer()

setElemTextBuffer

public void setElemTextBuffer(java.lang.StringBuffer textBuffer)

sizeTextBuffer

public int sizeTextBuffer(int bufferType)

printNode

public void printNode(int level,
                      int base,
                      int type,
                      java.lang.StringBuffer sb)

printNode

public void printNode(int base,
                      int type,
                      java.lang.StringBuffer sb)

trim

public void trim()

attributeText

public java.lang.String attributeText(int base)

getAttributeText

public java.lang.String getAttributeText(int attrNode)

numAttributesOnElement

public int numAttributesOnElement(int elementNodeIx)

elementHasContent

public boolean elementHasContent(int elementNodeIx)

getElementText

public java.lang.String getElementText(int node)

namedAncestor

public int namedAncestor(int[] ancestKey,
                         int nodeType,
                         IntList descendList)

namedChildOfParent

public DocItems namedChildOfParent(int[] key,
                                   int childType,
                                   DocItems parents,
                                   boolean isPredicate)

newNamedParentOfNamedChild

public DocItems newNamedParentOfNamedChild(int[] parentKeys,
                                           int[] childKeys,
                                           int nodeType,
                                           boolean isPredicate)

newNamedNodesAtRoot

public DocItems newNamedNodesAtRoot(int[] keys)

newLeafNodeList

public DocItems newLeafNodeList(int nodeType,
                                int[] key)

newSiblingList

public DocItems newSiblingList(int siblingType,
                               int[] keys)

newParentOf

public DocItems newParentOf(int type,
                            int[] key)

toString

public java.lang.String toString()

evalAncestor

public DocItems evalAncestor(DocItems descDoc,
                             DocItems ancestorDoc,
                             IntList newDescList)

evalAncestor

public DocItems evalAncestor(DocItems descDoc,
                             DocItems ancestorDoc,
                             IntList newDescList,
                             boolean allowSelfMatches)

evalParent

public DocItems evalParent(DocItems childDoc,
                           DocItems parentDoc,
                           boolean isPredicate)

evalParent_

public DocItems evalParent_(DocItems childDoc,
                            DocItems parentDoc,
                            boolean isPredicate)

emitXml

public void emitXml(int node,
                    java.io.PrintWriter w,
                    boolean prettyPrint)

subscript

public DocItems subscript(int subscript)

asString

public java.lang.StringBuffer asString(int node)

asString

public java.lang.StringBuffer asString(int node,
                                       boolean addInterTextSpaces)

string

public java.lang.String string(int[] valueType)

string

public java.lang.String string(int[] valueType,
                               boolean addInterTextSpaces)

serialize

public long serialize(java.io.DataOutputStream out)
               throws java.io.IOException
Throws:
java.io.IOException