Java源码示例:com.sun.xml.internal.fastinfoset.QualifiedName

示例1
protected final void encodeElement(String namespaceURI, String qName, String localName) throws IOException {
    LocalNameQualifiedNamesMap.Entry entry = _v.elementName.obtainEntry(qName);
    if (entry._valueIndex > 0) {
        final QualifiedName[] names = entry._value;
        for (int i = 0; i < entry._valueIndex; i++) {
            if ((namespaceURI == names[i].namespaceName || namespaceURI.equals(names[i].namespaceName))) {
                encodeNonZeroIntegerOnThirdBit(names[i].index);
                return;
            }
        }
    }

    // Was DOM node created using an NS-aware call?
    if (localName != null) {
        encodeLiteralElementQualifiedNameOnThirdBit(namespaceURI, getPrefixFromQualifiedName(qName),
                localName, entry);
    } else {
        encodeLiteralElementQualifiedNameOnThirdBit(namespaceURI, "", qName, entry);
    }
}
 
示例2
public final int getIndex(String qName) {
    int i = qName.indexOf(':');
    String prefix = "";
    String localName = qName;
    if (i >= 0) {
        prefix = qName.substring(0, i);
        localName = qName.substring(i + 1);
    }

    for (i = 0; i < _attributeCount; i++) {
        QualifiedName name = _names[i];
        if (localName.equals(name.localName) &&
            prefix.equals(name.prefix)) {
            return i;
        }
    }
    return -1;
}
 
示例3
protected void encodeElement(String namespaceURI, String qName, String localName) throws IOException {
    LocalNameQualifiedNamesMap.Entry entry = _v.elementName.obtainEntry(qName);
    if (entry._valueIndex > 0) {
        QualifiedName[] names = entry._value;
        for (int i = 0; i < entry._valueIndex; i++) {
            final QualifiedName n = names[i];
            if ((namespaceURI == n.namespaceName || namespaceURI.equals(n.namespaceName))) {
                encodeNonZeroIntegerOnThirdBit(names[i].index);
                return;
            }
        }
    }

    encodeLiteralElementQualifiedNameOnThirdBit(namespaceURI, getPrefixFromQualifiedName(qName),
            localName, entry);
}
 
示例4
protected final void encodeAttribute(String namespaceURI, String qName, String localName) throws IOException {
    LocalNameQualifiedNamesMap.Entry entry = _v.attributeName.obtainEntry(qName);
    if (entry._valueIndex > 0) {
        final QualifiedName[] names = entry._value;
        for (int i = 0; i < entry._valueIndex; i++) {
            if ((namespaceURI == names[i].namespaceName || namespaceURI.equals(names[i].namespaceName))) {
                encodeNonZeroIntegerOnSecondBitFirstBitZero(names[i].index);
                return;
            }
        }
    }

    // Was DOM node created using an NS-aware call?
    if (localName != null) {
        encodeLiteralAttributeQualifiedNameOnSecondBit(namespaceURI, getPrefixFromQualifiedName(qName),
                localName, entry);
    } else {
        encodeLiteralAttributeQualifiedNameOnSecondBit(namespaceURI, "", qName, entry);
    }
}
 
示例5
public final int getIndex(String qName) {
    int i = qName.indexOf(':');
    String prefix = "";
    String localName = qName;
    if (i >= 0) {
        prefix = qName.substring(0, i);
        localName = qName.substring(i + 1);
    }

    for (i = 0; i < _attributeCount; i++) {
        QualifiedName name = _names[i];
        if (localName.equals(name.localName) &&
            prefix.equals(name.prefix)) {
            return i;
        }
    }
    return -1;
}
 
示例6
protected final void encodeElement(String namespaceURI, String qName, String localName) throws IOException {
    LocalNameQualifiedNamesMap.Entry entry = _v.elementName.obtainEntry(qName);
    if (entry._valueIndex > 0) {
        final QualifiedName[] names = entry._value;
        for (int i = 0; i < entry._valueIndex; i++) {
            if ((namespaceURI == names[i].namespaceName || namespaceURI.equals(names[i].namespaceName))) {
                encodeNonZeroIntegerOnThirdBit(names[i].index);
                return;
            }
        }
    }

    // Was DOM node created using an NS-aware call?
    if (localName != null) {
        encodeLiteralElementQualifiedNameOnThirdBit(namespaceURI, getPrefixFromQualifiedName(qName),
                localName, entry);
    } else {
        encodeLiteralElementQualifiedNameOnThirdBit(namespaceURI, "", qName, entry);
    }
}
 
示例7
public final int getIndex(String qName) {
    int i = qName.indexOf(':');
    String prefix = "";
    String localName = qName;
    if (i >= 0) {
        prefix = qName.substring(0, i);
        localName = qName.substring(i + 1);
    }

    for (i = 0; i < _attributeCount; i++) {
        QualifiedName name = _names[i];
        if (localName.equals(name.localName) &&
            prefix.equals(name.prefix)) {
            return i;
        }
    }
    return -1;
}
 
示例8
protected final void encodeElement(String namespaceURI, String qName, String localName) throws IOException {
    LocalNameQualifiedNamesMap.Entry entry = _v.elementName.obtainEntry(qName);
    if (entry._valueIndex > 0) {
        final QualifiedName[] names = entry._value;
        for (int i = 0; i < entry._valueIndex; i++) {
            if ((namespaceURI == names[i].namespaceName || namespaceURI.equals(names[i].namespaceName))) {
                encodeNonZeroIntegerOnThirdBit(names[i].index);
                return;
            }
        }
    }

    // Was DOM node created using an NS-aware call?
    if (localName != null) {
        encodeLiteralElementQualifiedNameOnThirdBit(namespaceURI, getPrefixFromQualifiedName(qName),
                localName, entry);
    } else {
        encodeLiteralElementQualifiedNameOnThirdBit(namespaceURI, "", qName, entry);
    }
}
 
示例9
private final void resize() {
    final int newLength = _attributeCount * 3 / 2 + 1;

    QualifiedName[] names = new QualifiedName[newLength];
    String[] values = new String[newLength];

    String[] algorithmURIs = new String[newLength];
    int[] algorithmIds = new int[newLength];
    Object[] algorithmData = new Object[newLength];

    System.arraycopy(_names, 0, names, 0, _attributeCount);
    System.arraycopy(_values, 0, values, 0, _attributeCount);

    System.arraycopy(_algorithmURIs, 0, algorithmURIs, 0, _attributeCount);
    System.arraycopy(_algorithmIds, 0, algorithmIds, 0, _attributeCount);
    System.arraycopy(_algorithmData, 0, algorithmData, 0, _attributeCount);

    _names = names;
    _values = values;

    _algorithmURIs = algorithmURIs;
    _algorithmIds = algorithmIds;
    _algorithmData = algorithmData;
}
 
示例10
protected void encodeElement(String namespaceURI, String qName, String localName) throws IOException {
    LocalNameQualifiedNamesMap.Entry entry = _v.elementName.obtainEntry(qName);
    if (entry._valueIndex > 0) {
        QualifiedName[] names = entry._value;
        for (int i = 0; i < entry._valueIndex; i++) {
            final QualifiedName n = names[i];
            if ((namespaceURI == n.namespaceName || namespaceURI.equals(n.namespaceName))) {
                encodeNonZeroIntegerOnThirdBit(names[i].index);
                return;
            }
        }
    }

    encodeLiteralElementQualifiedNameOnThirdBit(namespaceURI, getPrefixFromQualifiedName(qName),
            localName, entry);
}
 
示例11
protected final void encodeElement(String namespaceURI, String qName, String localName) throws IOException {
    LocalNameQualifiedNamesMap.Entry entry = _v.elementName.obtainEntry(qName);
    if (entry._valueIndex > 0) {
        final QualifiedName[] names = entry._value;
        for (int i = 0; i < entry._valueIndex; i++) {
            if ((namespaceURI == names[i].namespaceName || namespaceURI.equals(names[i].namespaceName))) {
                encodeNonZeroIntegerOnThirdBit(names[i].index);
                return;
            }
        }
    }

    // Was DOM node created using an NS-aware call?
    if (localName != null) {
        encodeLiteralElementQualifiedNameOnThirdBit(namespaceURI, getPrefixFromQualifiedName(qName),
                localName, entry);
    } else {
        encodeLiteralElementQualifiedNameOnThirdBit(namespaceURI, "", qName, entry);
    }
}
 
示例12
public void startElement(String namespaceURI, String localName,
    String qName, Attributes atts) throws SAXException
{
    try {
        int k = qName.indexOf(':');
        String prefix = (k > 0) ? qName.substring(0, k) : "";
        _writer.writeStartElement(prefix, localName, namespaceURI);

        int length = _namespaces.size();
        for (int i = 0; i < length; i++) {
            QualifiedName nsh = (QualifiedName) _namespaces.get(i);
            _writer.writeNamespace(nsh.prefix, nsh.namespaceName);
        }
        _namespaces.clear();

        length = atts.getLength();
        for (int i = 0; i < length; i++) {
            _writer.writeAttribute(atts.getURI(i),
                                   atts.getLocalName(i),
                                   atts.getValue(i));
        }
    }
    catch (XMLStreamException e) {
        throw new SAXException(e);
    }
}
 
示例13
private final void resize() {
    final int newLength = _attributeCount * 3 / 2 + 1;

    QualifiedName[] names = new QualifiedName[newLength];
    String[] values = new String[newLength];

    String[] algorithmURIs = new String[newLength];
    int[] algorithmIds = new int[newLength];
    Object[] algorithmData = new Object[newLength];

    System.arraycopy(_names, 0, names, 0, _attributeCount);
    System.arraycopy(_values, 0, values, 0, _attributeCount);

    System.arraycopy(_algorithmURIs, 0, algorithmURIs, 0, _attributeCount);
    System.arraycopy(_algorithmIds, 0, algorithmIds, 0, _attributeCount);
    System.arraycopy(_algorithmData, 0, algorithmData, 0, _attributeCount);

    _names = names;
    _values = values;

    _algorithmURIs = algorithmURIs;
    _algorithmIds = algorithmIds;
    _algorithmData = algorithmData;
}
 
示例14
protected final void encodeAttribute(String namespaceURI, String qName, String localName) throws IOException {
    LocalNameQualifiedNamesMap.Entry entry = _v.attributeName.obtainEntry(qName);
    if (entry._valueIndex > 0) {
        final QualifiedName[] names = entry._value;
        for (int i = 0; i < entry._valueIndex; i++) {
            if ((namespaceURI == names[i].namespaceName || namespaceURI.equals(names[i].namespaceName))) {
                encodeNonZeroIntegerOnSecondBitFirstBitZero(names[i].index);
                return;
            }
        }
    }

    // Was DOM node created using an NS-aware call?
    if (localName != null) {
        encodeLiteralAttributeQualifiedNameOnSecondBit(namespaceURI, getPrefixFromQualifiedName(qName),
                localName, entry);
    } else {
        encodeLiteralAttributeQualifiedNameOnSecondBit(namespaceURI, "", qName, entry);
    }
}
 
示例15
protected void encodeElement(String namespaceURI, String qName, String localName) throws IOException {
    LocalNameQualifiedNamesMap.Entry entry = _v.elementName.obtainEntry(qName);
    if (entry._valueIndex > 0) {
        QualifiedName[] names = entry._value;
        for (int i = 0; i < entry._valueIndex; i++) {
            final QualifiedName n = names[i];
            if ((namespaceURI == n.namespaceName || namespaceURI.equals(n.namespaceName))) {
                encodeNonZeroIntegerOnThirdBit(names[i].index);
                return;
            }
        }
    }

    encodeLiteralElementQualifiedNameOnThirdBit(namespaceURI, getPrefixFromQualifiedName(qName),
            localName, entry);
}
 
示例16
protected void encodeElement(String namespaceURI, String qName, String localName) throws IOException {
    LocalNameQualifiedNamesMap.Entry entry = _v.elementName.obtainEntry(qName);
    if (entry._valueIndex > 0) {
        QualifiedName[] names = entry._value;
        for (int i = 0; i < entry._valueIndex; i++) {
            final QualifiedName n = names[i];
            if ((namespaceURI == n.namespaceName || namespaceURI.equals(n.namespaceName))) {
                encodeNonZeroIntegerOnThirdBit(names[i].index);
                return;
            }
        }
    }

    encodeLiteralElementQualifiedNameOnThirdBit(namespaceURI, getPrefixFromQualifiedName(qName),
            localName, entry);
}
 
示例17
protected void encodeElement(String namespaceURI, String qName, String localName) throws IOException {
    LocalNameQualifiedNamesMap.Entry entry = _v.elementName.obtainEntry(qName);
    if (entry._valueIndex > 0) {
        QualifiedName[] names = entry._value;
        for (int i = 0; i < entry._valueIndex; i++) {
            final QualifiedName n = names[i];
            if ((namespaceURI == n.namespaceName || namespaceURI.equals(n.namespaceName))) {
                encodeNonZeroIntegerOnThirdBit(names[i].index);
                return;
            }
        }
    }

    encodeLiteralElementQualifiedNameOnThirdBit(namespaceURI, getPrefixFromQualifiedName(qName),
            localName, entry);
}
 
示例18
protected final void encodeAttribute(String namespaceURI, String qName, String localName) throws IOException {
    LocalNameQualifiedNamesMap.Entry entry = _v.attributeName.obtainEntry(qName);
    if (entry._valueIndex > 0) {
        final QualifiedName[] names = entry._value;
        for (int i = 0; i < entry._valueIndex; i++) {
            if ((namespaceURI == names[i].namespaceName || namespaceURI.equals(names[i].namespaceName))) {
                encodeNonZeroIntegerOnSecondBitFirstBitZero(names[i].index);
                return;
            }
        }
    }

    // Was DOM node created using an NS-aware call?
    if (localName != null) {
        encodeLiteralAttributeQualifiedNameOnSecondBit(namespaceURI, getPrefixFromQualifiedName(qName),
                localName, entry);
    } else {
        encodeLiteralAttributeQualifiedNameOnSecondBit(namespaceURI, "", qName, entry);
    }
}
 
示例19
private final void resize() {
    final int newLength = _attributeCount * 3 / 2 + 1;

    QualifiedName[] names = new QualifiedName[newLength];
    String[] values = new String[newLength];

    String[] algorithmURIs = new String[newLength];
    int[] algorithmIds = new int[newLength];
    Object[] algorithmData = new Object[newLength];

    System.arraycopy(_names, 0, names, 0, _attributeCount);
    System.arraycopy(_values, 0, values, 0, _attributeCount);

    System.arraycopy(_algorithmURIs, 0, algorithmURIs, 0, _attributeCount);
    System.arraycopy(_algorithmIds, 0, algorithmIds, 0, _attributeCount);
    System.arraycopy(_algorithmData, 0, algorithmData, 0, _attributeCount);

    _names = names;
    _values = values;

    _algorithmURIs = algorithmURIs;
    _algorithmIds = algorithmIds;
    _algorithmData = algorithmData;
}
 
示例20
protected void encodeElement(String namespaceURI, String qName, String localName) throws IOException {
    LocalNameQualifiedNamesMap.Entry entry = _v.elementName.obtainEntry(qName);
    if (entry._valueIndex > 0) {
        QualifiedName[] names = entry._value;
        for (int i = 0; i < entry._valueIndex; i++) {
            final QualifiedName n = names[i];
            if ((namespaceURI == n.namespaceName || namespaceURI.equals(n.namespaceName))) {
                encodeNonZeroIntegerOnThirdBit(names[i].index);
                return;
            }
        }
    }

    encodeLiteralElementQualifiedNameOnThirdBit(namespaceURI, getPrefixFromQualifiedName(qName),
            localName, entry);
}
 
示例21
protected void encodeElement(String namespaceURI, String qName, String localName) throws IOException {
    LocalNameQualifiedNamesMap.Entry entry = _v.elementName.obtainEntry(qName);
    if (entry._valueIndex > 0) {
        QualifiedName[] names = entry._value;
        for (int i = 0; i < entry._valueIndex; i++) {
            final QualifiedName n = names[i];
            if ((namespaceURI == n.namespaceName || namespaceURI.equals(n.namespaceName))) {
                encodeNonZeroIntegerOnThirdBit(names[i].index);
                return;
            }
        }
    }

    encodeLiteralElementQualifiedNameOnThirdBit(namespaceURI, getPrefixFromQualifiedName(qName),
            localName, entry);
}
 
示例22
public final int getIndex(String qName) {
    int i = qName.indexOf(':');
    String prefix = "";
    String localName = qName;
    if (i >= 0) {
        prefix = qName.substring(0, i);
        localName = qName.substring(i + 1);
    }

    for (i = 0; i < _attributeCount; i++) {
        QualifiedName name = _names[i];
        if (localName.equals(name.localName) &&
            prefix.equals(name.prefix)) {
            return i;
        }
    }
    return -1;
}
 
示例23
private void addToNameTable(QName n, LocalNameQualifiedNamesMap m) {
    int namespaceURIIndex = -1;
    int prefixIndex = -1;
    if (n.getNamespaceURI().length() > 0) {
        namespaceURIIndex = namespaceName.obtainIndex(n.getNamespaceURI());
        if (namespaceURIIndex == KeyIntMap.NOT_PRESENT) {
            namespaceURIIndex = namespaceName.get(n.getNamespaceURI());
        }

        if (n.getPrefix().length() > 0) {
            prefixIndex = prefix.obtainIndex(n.getPrefix());
            if (prefixIndex == KeyIntMap.NOT_PRESENT) {
                prefixIndex = prefix.get(n.getPrefix());
            }
        }
    }

    int localNameIndex = localName.obtainIndex(n.getLocalPart());
    if (localNameIndex == KeyIntMap.NOT_PRESENT) {
        localNameIndex = localName.get(n.getLocalPart());
    }

    QualifiedName name = new QualifiedName(n.getPrefix(), n.getNamespaceURI(), n.getLocalPart(),
            m.getNextIndex(),
            prefixIndex, namespaceURIIndex, localNameIndex);

    LocalNameQualifiedNamesMap.Entry entry = null;
    if (_useLocalNameAsKey) {
        entry = m.obtainEntry(n.getLocalPart());
    } else {
        String qName = (prefixIndex == -1)
            ? n.getLocalPart()
            : n.getPrefix() + ":" + n.getLocalPart();
        entry = m.obtainEntry(qName);
    }

    entry.addQualifiedName(name);
}
 
示例24
protected final QualifiedName processEIIIndexLarge(int b) throws FastInfosetException, IOException {
    int i;
    if ((b & EncodingConstants.INTEGER_3RD_BIT_LARGE_LARGE_FLAG) == 0x20) {
        // EII large index
        i = (((b & EncodingConstants.INTEGER_3RD_BIT_LARGE_MASK) << 16) | (read() << 8) | read())
        + EncodingConstants.INTEGER_3RD_BIT_MEDIUM_LIMIT;
    } else {
        // EII large large index
        i = (((read() & EncodingConstants.INTEGER_3RD_BIT_LARGE_LARGE_MASK) << 16) | (read() << 8) | read())
        + EncodingConstants.INTEGER_3RD_BIT_LARGE_LIMIT;
    }
    return _elementNameTable._array[i];
}
 
示例25
protected boolean encodeAttributeMapEntry(LocalNameQualifiedNamesMap.Entry entry, String namespaceURI) throws IOException {
    QualifiedName[] names = entry._value;
    for (int i = 0; i < entry._valueIndex; i++) {
        if ((namespaceURI == names[i].namespaceName || namespaceURI.equals(names[i].namespaceName))) {
            encodeNonZeroIntegerOnSecondBitFirstBitZero(names[i].index);
            return true;
        }
    }
    return false;
}
 
示例26
protected final void processEII(QualifiedName name, boolean hasAttributes) throws FastInfosetException, IOException {
    if (_prefixTable._currentInScope[name.prefixIndex] != name.namespaceNameIndex) {
        throw new FastInfosetException(CommonResourceBundle.getInstance().getString("message.qnameOfEIINotInScope"));
    }

    _eventType = START_ELEMENT;
    _qualifiedName = name;

    if (_clearAttributes) {
        _attributes.clear();
        _clearAttributes = false;
    }

    if (hasAttributes) {
        processAIIs();
    }

    // Push element holder onto the stack
    _stackCount++;
    if (_stackCount == _qNameStack.length) {
        QualifiedName[] qNameStack = new QualifiedName[_qNameStack.length * 2];
        System.arraycopy(_qNameStack, 0, qNameStack, 0, _qNameStack.length);
        _qNameStack = qNameStack;

        int[] namespaceAIIsStartStack = new int[_namespaceAIIsStartStack.length * 2];
        System.arraycopy(_namespaceAIIsStartStack, 0, namespaceAIIsStartStack, 0, _namespaceAIIsStartStack.length);
        _namespaceAIIsStartStack = namespaceAIIsStartStack;

        int[] namespaceAIIsEndStack = new int[_namespaceAIIsEndStack.length * 2];
        System.arraycopy(_namespaceAIIsEndStack, 0, namespaceAIIsEndStack, 0, _namespaceAIIsEndStack.length);
        _namespaceAIIsEndStack = namespaceAIIsEndStack;
    }
    _qNameStack[_stackCount] = _qualifiedName;
    _namespaceAIIsStartStack[_stackCount] = _currentNamespaceAIIsStart;
    _namespaceAIIsEndStack[_stackCount] = _currentNamespaceAIIsEnd;
}
 
示例27
public final void addAttributeWithAlgorithmData(QualifiedName name, String URI, int id, Object data) {
    if (_attributeCount == _names.length) {
        resize();
    }
    _names[_attributeCount] = name;
    _values[_attributeCount] = null;

    _algorithmURIs[_attributeCount] = URI;
    _algorithmIds[_attributeCount] = id;
    _algorithmData[_attributeCount++] = data;
}
 
示例28
public final int getIndex(String uri, String localName) {
    for (int i = 0; i < _attributeCount; i++) {
        QualifiedName name = _names[i];
        if (localName.equals(name.localName) &&
            uri.equals(name.namespaceName)) {
            return i;
        }
    }
    return -1;
}
 
示例29
/**
 * Returns cloned version of internal QualifiedName[].
 * @return cloned version of internal QualifiedName[].
 */
public final QualifiedName[] getArray() {
    if (_array == null) return null;

    final QualifiedName[] clonedArray = new QualifiedName[_array.length];
    System.arraycopy(_array, 0, clonedArray, 0, _array.length);
    return clonedArray;
}
 
示例30
/**
 * Returns cloned version of internal QualifiedName[].
 * @return cloned version of internal QualifiedName[].
 */
public final QualifiedName[] getArray() {
    if (_array == null) return null;

    final QualifiedName[] clonedArray = new QualifiedName[_array.length];
    System.arraycopy(_array, 0, clonedArray, 0, _array.length);
    return clonedArray;
}