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.ObjectThis 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_baseURIField _baseURIprotected org.w3c.dom.Element_constructionElementField _constructionElementprotected org.w3c.dom.Document_docField _docprotected int_statestatic intMODE_CREATEThe element has been created by the codestatic intMODE_DECRYPTThe element is going to be decryptedstatic intMODE_ENCRYPTThe element is going to be encryptedstatic intMODE_PROCESSThe element has been readed from a DOM tree by the codestatic intMODE_SIGNThe element is going to be signedstatic intMODE_UNKNOWNThe element isn't known if it is readen or createdstatic intMODE_VERIFYThe 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 voidaddBase64Element(byte[] bytes, java.lang.String localname)Method addBase64ElementvoidaddBase64Text(byte[] bytes)Method addBase64TextvoidaddBigIntegerElement(java.math.BigInteger bi, java.lang.String localname)Method setValvoidaddText(java.lang.String text)Method addTextvoidaddTextElement(java.lang.String text, java.lang.String localname)Method addTextElementstatic org.w3c.dom.ElementcreateElementForFamily(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.StringgetBaseLocalName()Returns the localname of the Elements of the sub-class.abstract java.lang.StringgetBaseNamespace()Returns the namespace of the Elements of the sub-class.java.lang.StringgetBaseURI()Method getBaseURIjava.math.BigIntegergetBigIntegerFromChildElement(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.StringgetDefaultPrefix(java.lang.String namespace)Method getDefaultPrefixorg.w3c.dom.DocumentgetDocument()Method getDocumentorg.w3c.dom.ElementgetElement()Returns the Element which was constructed by the Object.org.w3c.dom.NodeListgetElementPlusReturns()Returns the Element plus a leading and a trailing CarriageReturn Text node.java.lang.StringgetTextFromChildElement(java.lang.String localname, java.lang.String namespace)Method getTextFromChildElementjava.lang.StringgetTextFromTextChild()Method getTextFromTextChildvoidguaranteeThatElementInCorrectSpace()Method guaranteeThatElementInCorrectSpaceintlength(java.lang.String namespace, java.lang.String localname)Method lengthstatic voidsetDefaultPrefix(java.lang.String namespace, java.lang.String prefix)Method setDefaultPrefixvoidsetElement(org.w3c.dom.Element element, java.lang.String BaseURI)Method setElementvoidsetXPathNamespaceContext(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 XMLSecurityExceptionConstructor 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 XMLSecurityExceptionMethod 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 XMLSecurityExceptionMethod 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 Base64DecodingExceptionMethod 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 XMLSecurityExceptionMethod 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 XMLSecurityExceptionMethod 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 XMLSecurityExceptionAdds 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 XMLSecurityExceptionMethod 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.
-
-