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 }