Class AbstractSerializer

  • All Implemented Interfaces:
    Serializer
    Direct Known Subclasses:
    DocumentSerializer, TransformSerializer

    public abstract class AbstractSerializer
    extends java.lang.Object
    implements Serializer
    Converts Strings into Nodes and visa versa. An abstract class for common Serializer functionality
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String canonSerialize​(org.w3c.dom.Node node)
      Use the Canonicalizer to serialize the node
      byte[] canonSerializeToByteArray​(org.w3c.dom.Node node)
      Use the Canonicalizer to serialize the node
      protected static byte[] createContext​(byte[] source, org.w3c.dom.Node ctx)  
      protected static java.lang.String createContext​(java.lang.String source, org.w3c.dom.Node ctx)  
      abstract org.w3c.dom.Node deserialize​(byte[] source, org.w3c.dom.Node ctx)  
      abstract org.w3c.dom.Node deserialize​(java.lang.String source, org.w3c.dom.Node ctx)  
      boolean isSecureValidation()  
      java.lang.String serialize​(org.w3c.dom.Element element)
      Returns a String representation of the specified Element.
      java.lang.String serialize​(org.w3c.dom.NodeList content)
      Returns a String representation of the specified NodeList.
      byte[] serializeToByteArray​(org.w3c.dom.Element element)
      Returns a byte[] representation of the specified Element.
      byte[] serializeToByteArray​(org.w3c.dom.NodeList content)
      Returns a byte[] representation of the specified NodeList.
      void setCanonicalizer​(Canonicalizer canon)
      Set the Canonicalizer object to use.
      void setSecureValidation​(boolean secureValidation)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • secureValidation

        protected boolean secureValidation
    • Constructor Detail

      • AbstractSerializer

        public AbstractSerializer()
    • Method Detail

      • serialize

        public java.lang.String serialize​(org.w3c.dom.Element element)
                                   throws java.lang.Exception
        Returns a String representation of the specified Element.

        Refer also to comments about setup of format.
        Parameters:
        element - the Element to serialize.
        Returns:
        the String representation of the serilaized Element.
        Throws:
        java.lang.Exception
      • serializeToByteArray

        public byte[] serializeToByteArray​(org.w3c.dom.Element element)
                                    throws java.lang.Exception
        Returns a byte[] representation of the specified Element.
        Specified by:
        serializeToByteArray in interface Serializer
        Parameters:
        element - the Element to serialize.
        Returns:
        the byte[] representation of the serilaized Element.
        Throws:
        java.lang.Exception
      • serialize

        public java.lang.String serialize​(org.w3c.dom.NodeList content)
                                   throws java.lang.Exception
        Returns a String representation of the specified NodeList.

        This is a special case because the NodeList may represent a DocumentFragment. A document fragment may be a non-valid XML document (refer to appropriate description of W3C) because it my start with a non-element node, e.g. a text node.

        The methods first converts the node list into a document fragment. Special care is taken to not destroy the current document, thus the method clones the nodes (deep cloning) before it appends them to the document fragment.

        Refer also to comments about setup of format.
        Parameters:
        content - the NodeList to serialize.
        Returns:
        the String representation of the serialized NodeList.
        Throws:
        java.lang.Exception
      • serializeToByteArray

        public byte[] serializeToByteArray​(org.w3c.dom.NodeList content)
                                    throws java.lang.Exception
        Returns a byte[] representation of the specified NodeList.
        Specified by:
        serializeToByteArray in interface Serializer
        Parameters:
        content - the NodeList to serialize.
        Returns:
        the byte[] representation of the serialized NodeList.
        Throws:
        java.lang.Exception
      • canonSerialize

        public java.lang.String canonSerialize​(org.w3c.dom.Node node)
                                        throws java.lang.Exception
        Use the Canonicalizer to serialize the node
        Parameters:
        node -
        Returns:
        the canonicalization of the node
        Throws:
        java.lang.Exception
      • canonSerializeToByteArray

        public byte[] canonSerializeToByteArray​(org.w3c.dom.Node node)
                                         throws java.lang.Exception
        Use the Canonicalizer to serialize the node
        Specified by:
        canonSerializeToByteArray in interface Serializer
        Parameters:
        node -
        Returns:
        the (byte[]) canonicalization of the node
        Throws:
        java.lang.Exception
      • deserialize

        public abstract org.w3c.dom.Node deserialize​(java.lang.String source,
                                                     org.w3c.dom.Node ctx)
                                              throws XMLEncryptionException
        Parameters:
        source -
        ctx -
        Returns:
        the Node resulting from the parse of the source
        Throws:
        XMLEncryptionException
      • deserialize

        public abstract org.w3c.dom.Node deserialize​(byte[] source,
                                                     org.w3c.dom.Node ctx)
                                              throws XMLEncryptionException,
                                                     java.io.IOException
        Specified by:
        deserialize in interface Serializer
        Parameters:
        source -
        ctx -
        Returns:
        the Node resulting from the parse of the source
        Throws:
        XMLEncryptionException
        java.io.IOException
      • createContext

        protected static java.lang.String createContext​(java.lang.String source,
                                                        org.w3c.dom.Node ctx)
      • isSecureValidation

        public boolean isSecureValidation()
      • setSecureValidation

        public void setSecureValidation​(boolean secureValidation)