src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyName.java
changeset 53998 d870bb08194a
parent 50614 3810c9a2efa1
child 54731 81de17a33575
equal deleted inserted replaced
53997:4ae746de6b86 53998:d870bb08194a
    26 /*
    26 /*
    27  * $Id: DOMKeyName.java 1788465 2017-03-24 15:10:51Z coheigea $
    27  * $Id: DOMKeyName.java 1788465 2017-03-24 15:10:51Z coheigea $
    28  */
    28  */
    29 package org.jcp.xml.dsig.internal.dom;
    29 package org.jcp.xml.dsig.internal.dom;
    30 
    30 
       
    31 import javax.xml.crypto.MarshalException;
       
    32 import javax.xml.crypto.dom.DOMCryptoContext;
       
    33 import javax.xml.crypto.dsig.XMLSignature;
    31 import javax.xml.crypto.dsig.keyinfo.KeyName;
    34 import javax.xml.crypto.dsig.keyinfo.KeyName;
    32 
    35 
       
    36 import org.w3c.dom.Document;
    33 import org.w3c.dom.Element;
    37 import org.w3c.dom.Element;
       
    38 import org.w3c.dom.Node;
    34 
    39 
    35 /**
    40 /**
    36  * DOM-based implementation of KeyName.
    41  * DOM-based implementation of KeyName.
    37  *
    42  *
    38  */
    43  */
    39 public final class DOMKeyName extends BaseStructure implements KeyName {
    44 public final class DOMKeyName extends DOMStructure implements KeyName {
    40 
    45 
    41     private final String name;
    46     private final String name;
    42 
    47 
    43     /**
    48     /**
    44      * Creates a {@code DOMKeyName}.
    49      * Creates a {@code DOMKeyName}.
    57      * Creates a {@code DOMKeyName} from a KeyName element.
    62      * Creates a {@code DOMKeyName} from a KeyName element.
    58      *
    63      *
    59      * @param knElem a KeyName element
    64      * @param knElem a KeyName element
    60      */
    65      */
    61     public DOMKeyName(Element knElem) {
    66     public DOMKeyName(Element knElem) {
    62         name = textOfNode(knElem);
    67         name = knElem.getFirstChild().getNodeValue();
       
    68     }
       
    69 
       
    70     public String getName() {
       
    71         return name;
    63     }
    72     }
    64 
    73 
    65     @Override
    74     @Override
    66     public String getName() {
    75     public void marshal(Node parent, String dsPrefix, DOMCryptoContext context)
    67         return name;
    76         throws MarshalException
       
    77     {
       
    78         Document ownerDoc = DOMUtils.getOwnerDocument(parent);
       
    79         // prepend namespace prefix, if necessary
       
    80         Element knElem = DOMUtils.createElement(ownerDoc, "KeyName",
       
    81                                                 XMLSignature.XMLNS, dsPrefix);
       
    82         knElem.appendChild(ownerDoc.createTextNode(name));
       
    83         parent.appendChild(knElem);
    68     }
    84     }
    69 
    85 
    70     @Override
    86     @Override
    71     public boolean equals(Object obj) {
    87     public boolean equals(Object obj) {
    72         if (this == obj) {
    88         if (this == obj) {