Class CanonicalizerBase

java.lang.Object
org.apache.xml.security.c14n.CanonicalizerSpi
org.apache.xml.security.c14n.implementations.CanonicalizerBase
Direct Known Subclasses:
Canonicalizer20010315, Canonicalizer20010315Excl, CanonicalizerPhysical

public abstract class CanonicalizerBase extends CanonicalizerSpi
Abstract base class for canonicalization algorithms. Please note that these implementations are NOT thread safe - please see the following JIRA for more information: https://issues.apache.org/jira/browse/SANTUARIO-463
  • Field Details

  • Constructor Details

    • CanonicalizerBase

      public CanonicalizerBase(boolean includeComments)
      Constructor CanonicalizerBase
      Parameters:
      includeComments -
  • Method Details

    • engineCanonicalizeSubTree

      public byte[] engineCanonicalizeSubTree(Node rootNode) throws CanonicalizationException
      Method engineCanonicalizeSubTree C14n a node tree.
      Specified by:
      engineCanonicalizeSubTree in class CanonicalizerSpi
      Parameters:
      rootNode -
      Returns:
      the c14n bytes
      Throws:
      CanonicalizationException
    • engineCanonicalizeXPathNodeSet

      public byte[] engineCanonicalizeXPathNodeSet(Set<Node> xpathNodeSet) throws CanonicalizationException
      Method engineCanonicalizeXPathNodeSet C14n a nodeset
      Specified by:
      engineCanonicalizeXPathNodeSet in class CanonicalizerSpi
      Parameters:
      xpathNodeSet -
      Returns:
      the c14n bytes
      Throws:
      CanonicalizationException
    • engineCanonicalize

      public byte[] engineCanonicalize(XMLSignatureInput input) throws CanonicalizationException
      Canonicalizes a Subtree node.
      Parameters:
      input - the root of the subtree to canicalize
      Returns:
      The canonicalize stream.
      Throws:
      CanonicalizationException
    • setWriter

      public void setWriter(OutputStream writer)
      Description copied from class: CanonicalizerSpi
      Sets the writer where the canonicalization ends. ByteArrayOutputStream if none is set.
      Specified by:
      setWriter in class CanonicalizerSpi
      Parameters:
      writer - The writer to set.
    • getWriter

      protected OutputStream getWriter()
    • engineCanonicalizeSubTree

      protected byte[] engineCanonicalizeSubTree(Node rootNode, Node excludeNode) throws CanonicalizationException
      Canonicalizes a Subtree node.
      Parameters:
      rootNode - the root of the subtree to canonicalize
      excludeNode - a node to be excluded from the canonicalize operation
      Returns:
      The canonicalize stream.
      Throws:
      CanonicalizationException
    • canonicalizeSubTree

      protected final void canonicalizeSubTree(Node currentNode, NameSpaceSymbTable ns, Node endnode, int documentLevel) throws CanonicalizationException, IOException
      Method canonicalizeSubTree, this function is a recursive one.
      Parameters:
      currentNode -
      ns -
      endnode -
      Throws:
      CanonicalizationException
      IOException
    • canonicalizeXPathNodeSet

      protected final void canonicalizeXPathNodeSet(Node currentNode, Node endnode) throws CanonicalizationException, IOException
      Canonicalizes all the nodes included in the currentNode and contained in the xpathNodeSet field.
      Parameters:
      currentNode -
      endnode -
      Throws:
      CanonicalizationException
      IOException
    • isVisibleDO

      protected int isVisibleDO(Node currentNode, int level)
    • isVisibleInt

      protected int isVisibleInt(Node currentNode)
    • isVisible

      protected boolean isVisible(Node currentNode)
    • handleParent

      protected void handleParent(Element e, NameSpaceSymbTable ns)
    • getParentNameSpaces

      protected final void getParentNameSpaces(Element el, NameSpaceSymbTable ns)
      Adds to ns the definitions from the parent elements of el
      Parameters:
      el -
      ns -
    • outputAttrToWriter

      protected static final void outputAttrToWriter(String name, String value, OutputStream writer, Map<String,byte[]> cache) throws IOException
      Outputs an Attribute to the internal Writer. The string value of the node is modified by replacing
      • all ampersands with &amp;
      • all open angle brackets with &lt;
      • all quotation mark characters with &quot;
      • and the whitespace characters #x9, #xA, and #xD, with character references. The character references are written in uppercase hexadecimal with no leading zeroes (for example, #xD is represented by the character reference &#xD;)
      Parameters:
      name -
      value -
      writer -
      Throws:
      IOException
    • outputPItoWriter

      protected void outputPItoWriter(ProcessingInstruction currentPI, OutputStream writer, int position) throws IOException
      Outputs a PI to the internal Writer.
      Parameters:
      currentPI -
      writer - where to write the things
      Throws:
      IOException
    • outputCommentToWriter

      protected void outputCommentToWriter(Comment currentComment, OutputStream writer, int position) throws IOException
      Method outputCommentToWriter
      Parameters:
      currentComment -
      writer - writer where to write the things
      Throws:
      IOException
    • outputTextToWriter

      protected static final void outputTextToWriter(String text, OutputStream writer) throws IOException
      Outputs a Text of CDATA section to the internal Writer.
      Parameters:
      text -
      writer - writer where to write the things
      Throws:
      IOException
    • getNullNode

      protected Attr getNullNode(Document ownerDocument)