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


Java Node.setUserData方法代码示例

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


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

示例1: setOutputUserData

import org.w3c.dom.Node; //导入方法依赖的package包/类
private static Node setOutputUserData(Node node, Object value, boolean recurse) {
	if (node != null) {
		// set output mode as userdata (element or attribute)
		node.setUserData(Step.NODE_USERDATA_OUTPUT, value, null);
		
		// recurse on element child nodes only
		if (node.getNodeType() == Node.ELEMENT_NODE) {
			if (recurse && node.hasChildNodes()) {
				NodeList list = node.getChildNodes();
				for (int i=0; i<list.getLength(); i++) {
					setOutputUserData(list.item(i), value, recurse);
				}
			}
		}
	}
	return node;
}
 
开发者ID:convertigo,项目名称:convertigo-engine,代码行数:18,代码来源:Sequence.java

示例2: findLineNumbers

import org.w3c.dom.Node; //导入方法依赖的package包/类
/**
 * This is a CRUDE INEXACT HACK to decorate the DOM with some kind of line number
 * information for elements. It's inexact because by the time we get the DOM we
 * already have lost all the information about whitespace between attributes.
 * <p/>
 * Also we don't even try to deal with \n vs \r vs \r\n insanity. This only counts
 * the \n occurring in text nodes to determine line advances, which is clearly flawed.
 * <p/>
 * However it's good enough for testing, and we'll replace it by a PositionXmlParser
 * once it's moved into com.android.util.
 */
private static int findLineNumbers(Node node, int line) {
    for (; node != null; node = node.getNextSibling()) {
        node.setUserData(DATA_LINE_NUMBER, Integer.valueOf(line), null /*handler*/);

        if (node.getNodeType() == Node.TEXT_NODE) {
            String text = node.getNodeValue();
            if (text.length() > 0) {
                for (int pos = 0; (pos = text.indexOf('\n', pos)) != -1; pos++) {
                    ++line;
                }
            }
        }

        Node child = node.getFirstChild();
        if (child != null) {
            line = findLineNumbers(child, line);
        }
    }
    return line;
}
 
开发者ID:tranleduy2000,项目名称:javaide,代码行数:32,代码来源:MergerXmlUtils.java

示例3: importNode

import org.w3c.dom.Node; //导入方法依赖的package包/类
@Override
public org.w3c.dom.Node importNode(Node importedNode, boolean deep)
    throws DOMException {
    Node domNode = getDomNode(importedNode);
    final Node newNode = document.importNode(domNode, deep);

    if (importedNode instanceof javax.xml.soap.Node) {
        Node newSoapNode = createSoapNode(importedNode.getClass(), newNode);
        newNode.setUserData(SAAJ_NODE, newSoapNode, null);
        if (deep && importedNode.hasChildNodes()) {
            NodeList childNodes = importedNode.getChildNodes();
            for (int i = 0; i < childNodes.getLength(); i++) {
                registerChildNodes(childNodes.item(i), deep);
            }
        }
        return newSoapNode;
    }

    registerChildNodes(newNode, deep);
    return findIfPresent(newNode);
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:22,代码来源:SOAPDocumentImpl.java

示例4: cloneNodeWithUserData

import org.w3c.dom.Node; //导入方法依赖的package包/类
private static Node cloneNodeWithUserData(Node node, boolean recurse) {
	if (node != null) {
		Object node_output = node.getUserData(Step.NODE_USERDATA_OUTPUT);

		Node clonedNode = node.cloneNode(false);
		clonedNode.setUserData(Step.NODE_USERDATA_OUTPUT, node_output, null);
		
		if (node.getNodeType() == Node.ELEMENT_NODE) {
			// attributes
			NamedNodeMap attributeMap = clonedNode.getAttributes();
			for (int i=0; i< attributeMap.getLength(); i++) {
				Node clonedAttribute = attributeMap.item(i);
				String attr_name = clonedAttribute.getNodeName();
				Object attr_output = ((Element)node).getAttributeNode(attr_name).getUserData(Step.NODE_USERDATA_OUTPUT);
				clonedAttribute.setUserData(Step.NODE_USERDATA_OUTPUT, attr_output, null);
			}
			
			// recurse on element child nodes only
			if (recurse && node.hasChildNodes()) {
				NodeList list = node.getChildNodes();
				for (int i=0; i<list.getLength(); i++) {
					Node clonedChild = cloneNodeWithUserData(list.item(i), recurse);
					if (clonedChild != null) {
						clonedNode.appendChild(clonedChild);
					}
				}
			}
		}
		
		return clonedNode;
	}
	return null;
}
 
开发者ID:convertigo,项目名称:convertigo-engine,代码行数:34,代码来源:Sequence.java

示例5: setSource

import org.w3c.dom.Node; //导入方法依赖的package包/类
public static void setSource(@NonNull Node node, @NonNull File source) {
    //noinspection ConstantConditions
    for (; node != null; node = node.getNextSibling()) {
        short nodeType = node.getNodeType();
        if (nodeType == Node.ELEMENT_NODE
                || nodeType == Node.COMMENT_NODE
                || nodeType == Node.DOCUMENT_NODE
                || nodeType == Node.CDATA_SECTION_NODE) {
            node.setUserData(DATA_ORIGIN_FILE, source, null);
        }
        Node child = node.getFirstChild();
        setSource(child, source);
    }
}
 
开发者ID:tranleduy2000,项目名称:javaide,代码行数:15,代码来源:MergerXmlUtils.java

示例6: setUserData

import org.w3c.dom.Node; //导入方法依赖的package包/类
private static void setUserData(Node node, XmlNode wrap) {
    if (DOM_LEVEL_3) {
        node.setUserData(USER_DATA_XMLNODE_KEY, wrap, wrap.events);
    }
}
 
开发者ID:MikaGuraN,项目名称:HL4A,代码行数:6,代码来源:XmlNode.java

示例7: setFileFor

import org.w3c.dom.Node; //导入方法依赖的package包/类
/**
 * Sets the file associated with the given node, if any
 */
public static void setFileFor(Node node, File file) {
    node.setUserData(MergerXmlUtils.DATA_ORIGIN_FILE, file, null);
}
 
开发者ID:tranleduy2000,项目名称:javaide,代码行数:7,代码来源:MergerXmlUtils.java

示例8: put

import org.w3c.dom.Node; //导入方法依赖的package包/类
public void put(@NotNull final Node node, final T value) {
    node.setUserData(this.myName, value, null);
}
 
开发者ID:AlexanderBartash,项目名称:hybris-integration-intellij-idea-plugin,代码行数:4,代码来源:ValidateContextImpl.java

示例9: register

import org.w3c.dom.Node; //导入方法依赖的package包/类
/**
 * Insert a mapping information for {@link org.w3c.dom.Node} - {@link javax.xml.soap.Node}.
 *
 * In SAAJ, elements in DOM are expected to be interfaces of SAAJ, on the other hand in JDKs Xerces,
 * they are casted to internal impl classes. After removal of SAAJ dependency
 * to JDKs internal classes elements in DOM can never be both of them.
 *
 * @param node SAAJ wrapper node for w3c DOM node
 */
public void register(javax.xml.soap.Node node) {
    final Node domElement = getDomNode(node);
    if (domElement.getUserData(SAAJ_NODE) != null) {
        throw new IllegalStateException("Element " + domElement.getNodeName()
                + " is already registered");
    }
    domElement.setUserData(SAAJ_NODE, node, null);
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:18,代码来源:SOAPDocumentImpl.java


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