org.apache.xml.dtm.ref
Class ExpandedNameTable
java.lang.Object
org.apache.xml.dtm.ref.ExpandedNameTable
public class ExpandedNameTable
extends java.lang.Object
This is a default implementation of a table that manages mappings from
expanded names to expandedNameIDs.
%OPT% The performance of the getExpandedTypeID() method is very important
to DTM building. To get the best performance out of this class, we implement
a simple hash algorithm directly into this class, instead of using the
inefficient java.util.Hashtable. The code for the get and put operations
are combined in getExpandedTypeID() method to share the same hash calculation
code. We only need to implement the rehash() interface which is used to
expand the hash table.
int | getExpandedTypeID(String namespace, String localName, int type) - Given an expanded name represented by namespace, local name and node type,
return an ID.
|
int | getExpandedTypeID(String namespace, String localName, int type, boolean searchOnly) - Given an expanded name represented by namespace, local name and node type,
return an ID.
|
int | getExpandedTypeID(int type) - Given a type, return an expanded name ID.Any additional nodes that are
created that have this expanded name will use this ID.
|
ExtendedType[] | getExtendedTypes() - Return the array of extended types
|
String | getLocalName(int ExpandedNameID) - Given an expanded-name ID, return the local name part.
|
int | getLocalNameID(int ExpandedNameID) - Given an expanded-name ID, return the local name ID.
|
String | getNamespace(int ExpandedNameID) - Given an expanded-name ID, return the namespace URI part.
|
int | getNamespaceID(int ExpandedNameID) - Given an expanded-name ID, return the namespace URI ID.
|
int | getSize() - Return the size of the ExpandedNameTable
|
short | getType(int ExpandedNameID) - Given an expanded-name ID, return the local name ID.
|
ATTRIBUTE
public static final int ATTRIBUTE
- 2
CDATA_SECTION
public static final int CDATA_SECTION
- 4
COMMENT
public static final int COMMENT
- 8
DOCUMENT
public static final int DOCUMENT
- 9
DOCUMENT_FRAGMENT
public static final int DOCUMENT_FRAGMENT
- 11
DOCUMENT_TYPE
public static final int DOCUMENT_TYPE
- 10
ELEMENT
public static final int ELEMENT
- 1
ENTITY
public static final int ENTITY
- 6
ENTITY_REFERENCE
public static final int ENTITY_REFERENCE
- 5
NAMESPACE
public static final int NAMESPACE
- 13
NOTATION
public static final int NOTATION
- 12
PROCESSING_INSTRUCTION
public static final int PROCESSING_INSTRUCTION
- 7
TEXT
public static final int TEXT
- 3
ExpandedNameTable
public ExpandedNameTable()
Create an expanded name table.
getExpandedTypeID
public int getExpandedTypeID(String namespace,
String localName,
int type)
Given an expanded name represented by namespace, local name and node type,
return an ID. If the expanded-name does not exist in the internal tables,
the entry will be created, and the ID will be returned. Any additional
nodes that are created that have this expanded name will use this ID.
namespace
- The namespacelocalName
- The local nametype
- The node type
- the expanded-name id of the node.
getExpandedTypeID
public int getExpandedTypeID(String namespace,
String localName,
int type,
boolean searchOnly)
Given an expanded name represented by namespace, local name and node type,
return an ID. If the expanded-name does not exist in the internal tables,
the entry will be created, and the ID will be returned. Any additional
nodes that are created that have this expanded name will use this ID.
If searchOnly is true, we will return -1 if the name is not found in the
table, otherwise the name is added to the table and the expanded name id
of the new entry is returned.
namespace
- The namespacelocalName
- The local nametype
- The node typesearchOnly
- If it is true, we will only search for the expanded name.
-1 is return is the name is not found.
- the expanded-name id of the node.
getExpandedTypeID
public int getExpandedTypeID(int type)
Given a type, return an expanded name ID.Any additional nodes that are
created that have this expanded name will use this ID.
- the expanded-name id of the node.
getExtendedTypes
public ExtendedType[] getExtendedTypes()
Return the array of extended types
- The array of extended types
getLocalName
public String getLocalName(int ExpandedNameID)
Given an expanded-name ID, return the local name part.
ExpandedNameID
- an ID that represents an expanded-name.
- String Local name of this node, or null if the node has no name.
getLocalNameID
public final int getLocalNameID(int ExpandedNameID)
Given an expanded-name ID, return the local name ID.
ExpandedNameID
- an ID that represents an expanded-name.
- The id of this local name.
getNamespace
public String getNamespace(int ExpandedNameID)
Given an expanded-name ID, return the namespace URI part.
ExpandedNameID
- an ID that represents an expanded-name.
- String URI value of this node's namespace, or null if no
namespace was resolved.
getNamespaceID
public final int getNamespaceID(int ExpandedNameID)
Given an expanded-name ID, return the namespace URI ID.
ExpandedNameID
- an ID that represents an expanded-name.
- The id of this namespace.
getSize
public int getSize()
Return the size of the ExpandedNameTable
- The size of the ExpandedNameTable
getType
public final short getType(int ExpandedNameID)
Given an expanded-name ID, return the local name ID.
ExpandedNameID
- an ID that represents an expanded-name.
- The id of this local name.
Copyright B) 2004 Apache XML Project. All Rights Reserved.