public class ExpandedNameTable extends Object
%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.
| Modifier and Type | Field and Description |
|---|---|
static int |
ATTRIBUTE |
static int |
ELEMENT |
static int |
NAMESPACE |
| Constructor and Description |
|---|
ExpandedNameTable()
Create an expanded name table.
|
| Modifier and Type | Method and Description |
|---|---|
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.
|
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 |
getLocalNameID(int ExpandedNameID)
Given an expanded-name ID, return the local name ID.
|
int |
getNamespaceID(int ExpandedNameID)
Given an expanded-name ID, return the namespace URI ID.
|
short |
getType(int ExpandedNameID)
Given an expanded-name ID, return the local name ID.
|
public static final int ELEMENT
public static final int ATTRIBUTE
public static final int NAMESPACE
public int getExpandedTypeID(String namespace, String localName, int type)
namespace - The namespacelocalName - The local nametype - The node typepublic int getExpandedTypeID(String namespace, String localName, int type, boolean searchOnly)
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.public int getExpandedTypeID(int type)
type - the given typepublic final int getLocalNameID(int ExpandedNameID)
ExpandedNameID - an ID that represents an expanded-name.public final int getNamespaceID(int ExpandedNameID)
ExpandedNameID - an ID that represents an expanded-name.public final short getType(int ExpandedNameID)
ExpandedNameID - an ID that represents an expanded-name.Copyright © 2022. All rights reserved.