XSNamedMap4Typespublic class XSNamedMap4Types extends XSNamedMapImpl Containts the map between qnames and XSObject's. |
Constructors Summary |
---|
public XSNamedMap4Types(String namespace, SymbolHash map, short type)Construct an XSNamedMap implmentation for one namespace
super(namespace, map);
fType = type;
| public XSNamedMap4Types(String[] namespaces, SymbolHash[] maps, int num, short type)Construct an XSNamedMap implmentation for a list of namespaces
super(namespaces, maps, num);
fType = type;
|
Methods Summary |
---|
public synchronized int | getLength()The number of XSObjects in the XSObjectList . The
range of valid child node indices is 0 to length-1
inclusive.
if (fLength == -1) {
// first get the number of components for all types
int length = 0;
for (int i = 0; i < fNSNum; i++)
length += fMaps[i].getLength();
// then copy all types to an temporary array
int pos = 0;
XSObject[] array = new XSObject[length];
for (int i = 0; i < fNSNum; i++) {
pos += fMaps[i].getValues(array, pos);
}
// then copy either simple or complex types to fArray,
// depending on which kind is required
fLength = 0;
fArray = new XSObject[length];
XSTypeDefinition type;
for (int i = 0; i < length; i++) {
type = (XSTypeDefinition)array[i];
if (type.getTypeCategory() == fType) {
fArray[fLength++] = type;
}
}
}
return fLength;
| public synchronized com.sun.org.apache.xerces.internal.xs.XSObject | item(int index)Returns the index th item in the map. The index starts at
0. If index is greater than or equal to the number of
nodes in the list, this returns null .
if (fArray == null) {
getLength();
}
if (index < 0 || index >= fLength)
return null;
return fArray[index];
| public com.sun.org.apache.xerces.internal.xs.XSObject | itemByName(java.lang.String namespace, java.lang.String localName)Retrieves an XSObject specified by local name and namespace
URI.
if (namespace != null)
namespace = namespace.intern();
for (int i = 0; i < fNSNum; i++) {
if (namespace == fNamespaces[i]) {
XSTypeDefinition type = (XSTypeDefinition)fMaps[i].get(localName);
// only return it if it mataches the required type
if (type.getTypeCategory() == fType)
return type;
return null;
}
}
return null;
|
|