/*
 * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Oracle designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Oracle in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */
/*
 * $Id: DOMStructure.java,v 1.6 2005/05/09 18:33:26 mullan Exp $
 */
package javax.xml.crypto.dom;

import org.w3c.dom.Node;
import javax.xml.crypto.XMLStructure;
import javax.xml.crypto.dsig.XMLSignature;

A DOM-specific XMLStructure. The purpose of this class is to allow a DOM node to be used to represent extensible content (any elements or mixed content) in XML Signature structures.

If a sequence of nodes is needed, the node contained in the DOMStructure is the first node of the sequence and successive nodes can be accessed by invoking Node.getNextSibling.

If the owner document of the DOMStructure is different than the target document of an XMLSignature, the XMLSignature.sign(XMLSignContext) method imports the node into the target document before generating the signature.

Author:Sean Mullan, JSR 105 Expert Group
Since:1.6
/** * A DOM-specific {@link XMLStructure}. The purpose of this class is to * allow a DOM node to be used to represent extensible content (any elements * or mixed content) in XML Signature structures. * * <p>If a sequence of nodes is needed, the node contained in the * <code>DOMStructure</code> is the first node of the sequence and successive * nodes can be accessed by invoking {@link Node#getNextSibling}. * * <p>If the owner document of the <code>DOMStructure</code> is different than * the target document of an <code>XMLSignature</code>, the * {@link XMLSignature#sign(XMLSignContext)} method imports the node into the * target document before generating the signature. * * @author Sean Mullan * @author JSR 105 Expert Group * @since 1.6 */
public class DOMStructure implements XMLStructure { private final Node node;
Creates a DOMStructure containing the specified node.
Params:
  • node – the node
Throws:
/** * Creates a <code>DOMStructure</code> containing the specified node. * * @param node the node * @throws NullPointerException if <code>node</code> is <code>null</code> */
public DOMStructure(Node node) { if (node == null) { throw new NullPointerException("node cannot be null"); } this.node = node; }
Returns the node contained in this DOMStructure.
Returns:the node
/** * Returns the node contained in this <code>DOMStructure</code>. * * @return the node */
public Node getNode() { return node; }
Throws:
  • NullPointerException – {@inheritDoc}
/** * @throws NullPointerException {@inheritDoc} */
public boolean isFeatureSupported(String feature) { if (feature == null) { throw new NullPointerException(); } else { return false; } } }