Package org.apache.xml.security.utils
Class ElementProxy
- java.lang.Object
-
- org.apache.xml.security.utils.ElementProxy
-
- Direct Known Subclasses:
Algorithm
,EncryptionElementProxy
,InclusiveNamespaces
,SignatureElementProxy
,XPath2FilterContainer
,XPath2FilterContainer04
,XPathFilterCHGPContainer
public abstract class ElementProxy extends java.lang.Object
This is the base class to all Objects which have a direct 1:1 mapping to an Element in a particular namespace.- Author:
- $Author$
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String
_baseURI
Field _baseURIprotected org.w3c.dom.Element
_constructionElement
Field _constructionElementprotected org.w3c.dom.Document
_doc
Field _docprotected int
_state
static int
MODE_CREATE
The element has been created by the codestatic int
MODE_DECRYPT
The element is going to be decryptedstatic int
MODE_ENCRYPT
The element is going to be encryptedstatic int
MODE_PROCESS
The element has been readed from a DOM tree by the codestatic int
MODE_SIGN
The element is going to be signedstatic int
MODE_UNKNOWN
The element isn't known if it is readen or createdstatic int
MODE_VERIFY
The element is going to be verified
-
Constructor Summary
Constructors Constructor Description ElementProxy()
Constructor ElementProxyElementProxy(org.w3c.dom.Document doc)
Constructor ElementProxyElementProxy(org.w3c.dom.Element element, java.lang.String BaseURI)
Constructor ElementProxy
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addBase64Element(byte[] bytes, java.lang.String localname)
Method addBase64Elementvoid
addBase64Text(byte[] bytes)
Method addBase64Textvoid
addBigIntegerElement(java.math.BigInteger bi, java.lang.String localname)
Method setValvoid
addText(java.lang.String text)
Method addTextvoid
addTextElement(java.lang.String text, java.lang.String localname)
Method addTextElementstatic org.w3c.dom.Element
createElementForFamily(org.w3c.dom.Document doc, java.lang.String namespace, java.lang.String localName)
This method creates an Element in a given namespace with a given localname.abstract java.lang.String
getBaseLocalName()
Returns the localname of the Elements of the sub-class.abstract java.lang.String
getBaseNamespace()
Returns the namespace of the Elements of the sub-class.java.lang.String
getBaseURI()
Method getBaseURIjava.math.BigInteger
getBigIntegerFromChildElement(java.lang.String localname, java.lang.String namespace)
Method getValbyte[]
getBytesFromChildElement(java.lang.String localname, java.lang.String namespace)
Method getBytesFromChildElementbyte[]
getBytesFromTextChild()
Method getBytesFromTextChildstatic java.lang.String
getDefaultPrefix(java.lang.String namespace)
Method getDefaultPrefixorg.w3c.dom.Document
getDocument()
Method getDocumentorg.w3c.dom.Element
getElement()
Returns the Element which was constructed by the Object.org.w3c.dom.NodeList
getElementPlusReturns()
Returns the Element plus a leading and a trailing CarriageReturn Text node.java.lang.String
getTextFromChildElement(java.lang.String localname, java.lang.String namespace)
Method getTextFromChildElementjava.lang.String
getTextFromTextChild()
Method getTextFromTextChildvoid
guaranteeThatElementInCorrectSpace()
Method guaranteeThatElementInCorrectSpaceint
length(java.lang.String namespace, java.lang.String localname)
Method lengthstatic void
setDefaultPrefix(java.lang.String namespace, java.lang.String prefix)
Method setDefaultPrefixvoid
setElement(org.w3c.dom.Element element, java.lang.String BaseURI)
Method setElementvoid
setXPathNamespaceContext(java.lang.String prefix, java.lang.String uri)
Adds an xmlns: definition to the Element.
-
-
-
Field Detail
-
MODE_CREATE
public static final int MODE_CREATE
The element has been created by the code- See Also:
- Constant Field Values
-
MODE_PROCESS
public static final int MODE_PROCESS
The element has been readed from a DOM tree by the code- See Also:
- Constant Field Values
-
MODE_UNKNOWN
public static final int MODE_UNKNOWN
The element isn't known if it is readen or created- See Also:
- Constant Field Values
-
MODE_SIGN
public static final int MODE_SIGN
The element is going to be signed- See Also:
- Constant Field Values
-
MODE_VERIFY
public static final int MODE_VERIFY
The element is going to be verified- See Also:
- Constant Field Values
-
MODE_ENCRYPT
public static final int MODE_ENCRYPT
The element is going to be encrypted- See Also:
- Constant Field Values
-
MODE_DECRYPT
public static final int MODE_DECRYPT
The element is going to be decrypted- See Also:
- Constant Field Values
-
_state
protected int _state
-
_constructionElement
protected org.w3c.dom.Element _constructionElement
Field _constructionElement
-
_baseURI
protected java.lang.String _baseURI
Field _baseURI
-
_doc
protected org.w3c.dom.Document _doc
Field _doc
-
-
Constructor Detail
-
ElementProxy
public ElementProxy()
Constructor ElementProxy
-
ElementProxy
public ElementProxy(org.w3c.dom.Document doc)
Constructor ElementProxy- Parameters:
doc
-
-
ElementProxy
public ElementProxy(org.w3c.dom.Element element, java.lang.String BaseURI) throws XMLSecurityException
Constructor ElementProxy- Parameters:
element
-BaseURI
-- Throws:
XMLSecurityException
-
-
Method Detail
-
getBaseNamespace
public abstract java.lang.String getBaseNamespace()
Returns the namespace of the Elements of the sub-class.- Returns:
- the namespace of the Elements of the sub-class.
-
getBaseLocalName
public abstract java.lang.String getBaseLocalName()
Returns the localname of the Elements of the sub-class.- Returns:
- the localname of the Elements of the sub-class.
-
createElementForFamily
public static org.w3c.dom.Element createElementForFamily(org.w3c.dom.Document doc, java.lang.String namespace, java.lang.String localName)
This method creates an Element in a given namespace with a given localname. It uses thegetDefaultPrefix(java.lang.String)
method to decide whether a particular prefix is bound to that namespace.
This method was refactored out of the constructor.- Parameters:
doc
-namespace
-localName
-- Returns:
- The element created.
-
setElement
public void setElement(org.w3c.dom.Element element, java.lang.String BaseURI) throws XMLSecurityException
Method setElement- Parameters:
element
-BaseURI
-- Throws:
XMLSecurityException
-
getElement
public final org.w3c.dom.Element getElement()
Returns the Element which was constructed by the Object.- Returns:
- the Element which was constructed by the Object.
-
getElementPlusReturns
public final org.w3c.dom.NodeList getElementPlusReturns()
Returns the Element plus a leading and a trailing CarriageReturn Text node.- Returns:
- the Element which was constructed by the Object.
-
getDocument
public org.w3c.dom.Document getDocument()
Method getDocument- Returns:
- the Document where this element is contained.
-
getBaseURI
public java.lang.String getBaseURI()
Method getBaseURI- Returns:
- the base uri of the namespace of this element
-
guaranteeThatElementInCorrectSpace
public void guaranteeThatElementInCorrectSpace() throws XMLSecurityException
Method guaranteeThatElementInCorrectSpace- Throws:
XMLSecurityException
-
addBigIntegerElement
public void addBigIntegerElement(java.math.BigInteger bi, java.lang.String localname)
Method setVal- Parameters:
bi
-localname
-
-
addBase64Element
public void addBase64Element(byte[] bytes, java.lang.String localname)
Method addBase64Element- Parameters:
bytes
-localname
-
-
addTextElement
public void addTextElement(java.lang.String text, java.lang.String localname)
Method addTextElement- Parameters:
text
-localname
-
-
addBase64Text
public void addBase64Text(byte[] bytes)
Method addBase64Text- Parameters:
bytes
-
-
addText
public void addText(java.lang.String text)
Method addText- Parameters:
text
-
-
getBigIntegerFromChildElement
public java.math.BigInteger getBigIntegerFromChildElement(java.lang.String localname, java.lang.String namespace) throws Base64DecodingException
Method getVal- Parameters:
localname
-namespace
-- Returns:
- The biginter contained in the given element
- Throws:
Base64DecodingException
-
getBytesFromChildElement
public byte[] getBytesFromChildElement(java.lang.String localname, java.lang.String namespace) throws XMLSecurityException
Method getBytesFromChildElement- Parameters:
localname
-namespace
-- Returns:
- the bytes
- Throws:
XMLSecurityException
-
getTextFromChildElement
public java.lang.String getTextFromChildElement(java.lang.String localname, java.lang.String namespace)
Method getTextFromChildElement- Parameters:
localname
-namespace
-- Returns:
- the Text of the textNode
-
getBytesFromTextChild
public byte[] getBytesFromTextChild() throws XMLSecurityException
Method getBytesFromTextChild- Returns:
- The base64 bytes from the first text child of this element
- Throws:
XMLSecurityException
-
getTextFromTextChild
public java.lang.String getTextFromTextChild()
Method getTextFromTextChild- Returns:
- the Text obtained concatening all the the text nodes of this element
-
length
public int length(java.lang.String namespace, java.lang.String localname)
Method length- Parameters:
namespace
-localname
-- Returns:
- the number of elements {namespace}:localname under this element
-
setXPathNamespaceContext
public void setXPathNamespaceContext(java.lang.String prefix, java.lang.String uri) throws XMLSecurityException
Adds an xmlns: definition to the Element. This can be called as follows:// set namespace with ds prefix xpathContainer.setXPathNamespaceContext("ds", "http://www.w3.org/2000/09/xmldsig#"); xpathContainer.setXPathNamespaceContext("xmlns:ds", "http://www.w3.org/2000/09/xmldsig#");
- Parameters:
prefix
-uri
-- Throws:
XMLSecurityException
-
setDefaultPrefix
public static void setDefaultPrefix(java.lang.String namespace, java.lang.String prefix) throws XMLSecurityException
Method setDefaultPrefix- Parameters:
namespace
-prefix
-- Throws:
XMLSecurityException
-
getDefaultPrefix
public static java.lang.String getDefaultPrefix(java.lang.String namespace)
Method getDefaultPrefix- Parameters:
namespace
-- Returns:
- the default prefix bind to this element.
-
-