当前位置: 首页>>代码示例>>Java>>正文


Java DTMDefaultBase.getDTMIDs方法代码示例

本文整理汇总了Java中com.sun.org.apache.xml.internal.dtm.ref.DTMDefaultBase.getDTMIDs方法的典型用法代码示例。如果您正苦于以下问题:Java DTMDefaultBase.getDTMIDs方法的具体用法?Java DTMDefaultBase.getDTMIDs怎么用?Java DTMDefaultBase.getDTMIDs使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.sun.org.apache.xml.internal.dtm.ref.DTMDefaultBase的用法示例。


在下文中一共展示了DTMDefaultBase.getDTMIDs方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: addDOMAdapter

import com.sun.org.apache.xml.internal.dtm.ref.DTMDefaultBase; //导入方法依赖的package包/类
private int addDOMAdapter(DOMAdapter adapter, boolean indexByURI) {
    // Add the DOM adapter to the array of DOMs
    DOM dom = adapter.getDOMImpl();

    int domNo = 1;
    int dtmSize = 1;
    SuballocatedIntVector dtmIds = null;
    if (dom instanceof DTMDefaultBase) {
        DTMDefaultBase dtmdb = (DTMDefaultBase)dom;
        dtmIds = dtmdb.getDTMIDs();
        dtmSize = dtmIds.size();
        domNo = dtmIds.elementAt(dtmSize-1) >>> DTMManager.IDENT_DTM_NODE_BITS;
    }
    else if (dom instanceof SimpleResultTreeImpl) {
        SimpleResultTreeImpl simpleRTF = (SimpleResultTreeImpl)dom;
        domNo = simpleRTF.getDocument() >>> DTMManager.IDENT_DTM_NODE_BITS;
    }

    if (domNo >= _size) {
        int oldSize = _size;
        do {
            _size *= 2;
        } while (_size <= domNo);

        final DOMAdapter[] newArray = new DOMAdapter[_size];
        System.arraycopy(_adapters, 0, newArray, 0, oldSize);
        _adapters = newArray;
    }

    _free = domNo + 1;

    if (dtmSize == 1) {
        _adapters[domNo] = adapter;
    }
    else if (dtmIds != null) {
        int domPos = 0;
        for (int i = dtmSize - 1; i >= 0; i--) {
            domPos = dtmIds.elementAt(i) >>> DTMManager.IDENT_DTM_NODE_BITS;
            _adapters[domPos] = adapter;
        }
        domNo = domPos;
    }

    // Store reference to document (URI) in hashtable
    if (indexByURI) {
        String uri = adapter.getDocumentURI(0);
        _documents.put(uri, new Integer(domNo));
    }

    // If the dom is an AdaptiveResultTreeImpl, we need to create a
    // DOMAdapter around its nested dom object (if it is non-null) and
    // add the DOMAdapter to the list.
    if (dom instanceof AdaptiveResultTreeImpl) {
        AdaptiveResultTreeImpl adaptiveRTF = (AdaptiveResultTreeImpl)dom;
        DOM nestedDom = adaptiveRTF.getNestedDOM();
        if (nestedDom != null) {
            DOMAdapter newAdapter = new DOMAdapter(nestedDom,
                                                   adapter.getNamesArray(),
                                                   adapter.getUrisArray(),
                                                   adapter.getTypesArray(),
                                                   adapter.getNamespaceArray());
            addDOMAdapter(newAdapter);
        }
    }

    return domNo;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:68,代码来源:MultiDOM.java

示例2: addDOMAdapter

import com.sun.org.apache.xml.internal.dtm.ref.DTMDefaultBase; //导入方法依赖的package包/类
private int addDOMAdapter(DOMAdapter adapter, boolean indexByURI) {
    // Add the DOM adapter to the array of DOMs
    DOM dom = adapter.getDOMImpl();

    int domNo = 1;
    int dtmSize = 1;
    SuballocatedIntVector dtmIds = null;
    if (dom instanceof DTMDefaultBase) {
        DTMDefaultBase dtmdb = (DTMDefaultBase)dom;
        dtmIds = dtmdb.getDTMIDs();
        dtmSize = dtmIds.size();
        domNo = dtmIds.elementAt(dtmSize-1) >>> DTMManager.IDENT_DTM_NODE_BITS;
    }
    else if (dom instanceof SimpleResultTreeImpl) {
        SimpleResultTreeImpl simpleRTF = (SimpleResultTreeImpl)dom;
        domNo = simpleRTF.getDocument() >>> DTMManager.IDENT_DTM_NODE_BITS;
    }

    if (domNo >= _size) {
        int oldSize = _size;
        do {
            _size *= 2;
        } while (_size <= domNo);

        final DOMAdapter[] newArray = new DOMAdapter[_size];
        System.arraycopy(_adapters, 0, newArray, 0, oldSize);
        _adapters = newArray;
    }

    _free = domNo + 1;

    if (dtmSize == 1) {
        _adapters[domNo] = adapter;
    }
    else if (dtmIds != null) {
        int domPos = 0;
        for (int i = dtmSize - 1; i >= 0; i--) {
            domPos = dtmIds.elementAt(i) >>> DTMManager.IDENT_DTM_NODE_BITS;
            _adapters[domPos] = adapter;
        }
        domNo = domPos;
    }

    // Store reference to document (URI) in the Map
    if (indexByURI) {
        String uri = adapter.getDocumentURI(0);
        _documents.put(uri, domNo);
    }

    // If the dom is an AdaptiveResultTreeImpl, we need to create a
    // DOMAdapter around its nested dom object (if it is non-null) and
    // add the DOMAdapter to the list.
    if (dom instanceof AdaptiveResultTreeImpl) {
        AdaptiveResultTreeImpl adaptiveRTF = (AdaptiveResultTreeImpl)dom;
        DOM nestedDom = adaptiveRTF.getNestedDOM();
        if (nestedDom != null) {
            DOMAdapter newAdapter = new DOMAdapter(nestedDom,
                                                   adapter.getNamesArray(),
                                                   adapter.getUrisArray(),
                                                   adapter.getTypesArray(),
                                                   adapter.getNamespaceArray());
            addDOMAdapter(newAdapter);
        }
    }

    return domNo;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:68,代码来源:MultiDOM.java


注:本文中的com.sun.org.apache.xml.internal.dtm.ref.DTMDefaultBase.getDTMIDs方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。