src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/Serializer.java
branchhttp-client-branch
changeset 56783 7add69e2fb68
parent 56781 4a32a40ce131
parent 50643 f2d94a0619a2
child 56785 62937a37a291
equal deleted inserted replaced
56781:4a32a40ce131 56783:7add69e2fb68
     1 /*
       
     2  * reserved comment block
       
     3  * DO NOT REMOVE OR ALTER!
       
     4  */
       
     5 /**
       
     6  * Licensed to the Apache Software Foundation (ASF) under one
       
     7  * or more contributor license agreements. See the NOTICE file
       
     8  * distributed with this work for additional information
       
     9  * regarding copyright ownership. The ASF licenses this file
       
    10  * to you under the Apache License, Version 2.0 (the
       
    11  * "License"); you may not use this file except in compliance
       
    12  * with the License. You may obtain a copy of the License at
       
    13  *
       
    14  * http://www.apache.org/licenses/LICENSE-2.0
       
    15  *
       
    16  * Unless required by applicable law or agreed to in writing,
       
    17  * software distributed under the License is distributed on an
       
    18  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
       
    19  * KIND, either express or implied. See the License for the
       
    20  * specific language governing permissions and limitations
       
    21  * under the License.
       
    22  */
       
    23 package com.sun.org.apache.xml.internal.security.encryption;
       
    24 
       
    25 import com.sun.org.apache.xml.internal.security.c14n.Canonicalizer;
       
    26 import org.w3c.dom.Element;
       
    27 import org.w3c.dom.Node;
       
    28 import org.w3c.dom.NodeList;
       
    29 
       
    30 /**
       
    31  * Converts <code>String</code>s into <code>Node</code>s and visa versa.
       
    32  */
       
    33 public interface Serializer {
       
    34 
       
    35     /**
       
    36      * Set the Canonicalizer object to use.
       
    37      */
       
    38     void setCanonicalizer(Canonicalizer canon);
       
    39 
       
    40     /**
       
    41      * Returns a <code>byte[]</code> representation of the specified
       
    42      * <code>Element</code>.
       
    43      *
       
    44      * @param element the <code>Element</code> to serialize.
       
    45      * @return the <code>byte[]</code> representation of the serilaized
       
    46      *   <code>Element</code>.
       
    47      * @throws Exception
       
    48      */
       
    49     byte[] serializeToByteArray(Element element) throws Exception;
       
    50 
       
    51     /**
       
    52      * Returns a <code>byte[]</code> representation of the specified
       
    53      * <code>NodeList</code>.
       
    54      *
       
    55      * @param content the <code>NodeList</code> to serialize.
       
    56      * @return the <code>byte[]</code> representation of the serialized
       
    57      *   <code>NodeList</code>.
       
    58      * @throws Exception
       
    59      */
       
    60     byte[] serializeToByteArray(NodeList content) throws Exception;
       
    61 
       
    62     /**
       
    63      * Use the Canonicalizer to serialize the node
       
    64      * @param node
       
    65      * @return the (byte[]) canonicalization of the node
       
    66      * @throws Exception
       
    67      */
       
    68     byte[] canonSerializeToByteArray(Node node) throws Exception;
       
    69 
       
    70     /**
       
    71      * @param source
       
    72      * @param ctx
       
    73      * @return the Node resulting from the parse of the source
       
    74      * @throws XMLEncryptionException
       
    75      */
       
    76     Node deserialize(byte[] source, Node ctx) throws XMLEncryptionException;
       
    77 }