Class CanonicalizerBase
java.lang.Object
org.apache.xml.security.c14n.CanonicalizerSpi
org.apache.xml.security.c14n.implementations.CanonicalizerBase
- Direct Known Subclasses:
Canonicalizer20010315
,Canonicalizer20010315Excl
,CanonicalizerPhysical
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 Summary
FieldsModifier and TypeFieldDescriptionprotected static final AttrCompare
protected static final int
protected static final int
protected static final int
static final String
static final String
static final String
static final String
Fields inherited from class org.apache.xml.security.c14n.CanonicalizerSpi
reset, secureValidation
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected final void
canonicalizeSubTree
(Node currentNode, NameSpaceSymbTable ns, Node endnode, int documentLevel) Method canonicalizeSubTree, this function is a recursive one.protected final void
canonicalizeXPathNodeSet
(Node currentNode, Node endnode) Canonicalizes all the nodes included in the currentNode and contained in the xpathNodeSet field.byte[]
Canonicalizes a Subtree node.byte[]
engineCanonicalizeSubTree
(Node rootNode) Method engineCanonicalizeSubTree C14n a node tree.protected byte[]
engineCanonicalizeSubTree
(Node rootNode, Node excludeNode) Canonicalizes a Subtree node.byte[]
engineCanonicalizeXPathNodeSet
(Set<Node> xpathNodeSet) Method engineCanonicalizeXPathNodeSet C14n a nodesetprotected Attr
getNullNode
(Document ownerDocument) protected final void
Adds to ns the definitions from the parent elements of elprotected OutputStream
protected void
protected boolean
protected int
isVisibleDO
(Node currentNode, int level) protected int
isVisibleInt
(Node currentNode) protected static final void
outputAttrToWriter
(String name, String value, OutputStream writer, Map<String, byte[]> cache) Outputs an Attribute to the internal Writer.protected void
outputCommentToWriter
(Comment currentComment, OutputStream writer, int position) Method outputCommentToWriterprotected void
outputPItoWriter
(ProcessingInstruction currentPI, OutputStream writer, int position) Outputs a PI to the internal Writer.protected static final void
outputTextToWriter
(String text, OutputStream writer) Outputs a Text of CDATA section to the internal Writer.void
setWriter
(OutputStream writer) Sets the writer where the canonicalization ends.Methods inherited from class org.apache.xml.security.c14n.CanonicalizerSpi
engineCanonicalize, engineCanonicalizeSubTree, engineCanonicalizeSubTree, engineCanonicalizeXPathNodeSet, engineCanonicalizeXPathNodeSet, engineCanonicalizeXPathNodeSet, engineGetIncludeComments, engineGetURI, isSecureValidation, setSecureValidation
-
Field Details
-
XML
- See Also:
-
XMLNS
- See Also:
-
XMLNS_URI
- See Also:
-
XML_LANG_URI
- See Also:
-
COMPARE
-
NODE_BEFORE_DOCUMENT_ELEMENT
protected static final int NODE_BEFORE_DOCUMENT_ELEMENT- See Also:
-
NODE_NOT_BEFORE_OR_AFTER_DOCUMENT_ELEMENT
protected static final int NODE_NOT_BEFORE_OR_AFTER_DOCUMENT_ELEMENT- See Also:
-
NODE_AFTER_DOCUMENT_ELEMENT
protected static final int NODE_AFTER_DOCUMENT_ELEMENT- See Also:
-
-
Constructor Details
-
CanonicalizerBase
public CanonicalizerBase(boolean includeComments) Constructor CanonicalizerBase- Parameters:
includeComments
-
-
-
Method Details
-
engineCanonicalizeSubTree
Method engineCanonicalizeSubTree C14n a node tree.- Specified by:
engineCanonicalizeSubTree
in classCanonicalizerSpi
- 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 classCanonicalizerSpi
- Parameters:
xpathNodeSet
-- Returns:
- the c14n bytes
- Throws:
CanonicalizationException
-
engineCanonicalize
Canonicalizes a Subtree node.- Parameters:
input
- the root of the subtree to canicalize- Returns:
- The canonicalize stream.
- Throws:
CanonicalizationException
-
setWriter
Description copied from class:CanonicalizerSpi
Sets the writer where the canonicalization ends. ByteArrayOutputStream if none is set.- Specified by:
setWriter
in classCanonicalizerSpi
- Parameters:
writer
- The writer to set.
-
getWriter
-
engineCanonicalizeSubTree
protected byte[] engineCanonicalizeSubTree(Node rootNode, Node excludeNode) throws CanonicalizationException Canonicalizes a Subtree node.- Parameters:
rootNode
- the root of the subtree to canonicalizeexcludeNode
- 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
-
isVisibleInt
-
isVisible
-
handleParent
-
getParentNameSpaces
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 IOExceptionOutputs an Attribute to the internal Writer. The string value of the node is modified by replacing- all ampersands with
&
- all open angle brackets with
<
- all quotation mark characters with
"
- 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
)
- Parameters:
name
-value
-writer
-- Throws:
IOException
- all ampersands with
-
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
Outputs a Text of CDATA section to the internal Writer.- Parameters:
text
-writer
- writer where to write the things- Throws:
IOException
-
getNullNode
-