- java.lang.Object
-
- org.apache.xml.security.utils.ElementProxy
-
- Direct Known Subclasses:
InclusiveNamespaces,Signature11ElementProxy,SignatureElementProxy,XPath2FilterContainer
public abstract class ElementProxy extends Object
This is the base class to all Objects which have a direct 1:1 mapping to an Element in a particular namespace.
-
-
Field Summary
Fields Modifier and Type Field Description protected StringbaseURIField baseURIprotected static System.LoggerLOG
-
Constructor Summary
Constructors Constructor Description ElementProxy()Constructor ElementProxyElementProxy(Document doc)Constructor ElementProxyElementProxy(Element element, String baseURI)Constructor ElementProxy
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddBase64Element(byte[] bytes, String localname)Method addBase64ElementvoidaddBase64Text(byte[] bytes)Method addBase64TextvoidaddBigIntegerElement(BigInteger bi, String localname)Method addBigIntegerElementprotected voidaddReturnToSelf()voidaddText(String text)Method addTextvoidaddTextElement(String text, String localname)Method addTextElementprotected voidappendOther(Element parent, Node toAppend)protected voidappendSelf(ElementProxy toAppend)protected voidappendSelf(Node toAppend)static ElementcreateElementForFamily(Document doc, String namespace, String localName)This method creates an Element in a given namespace with a given localname.protected ElementcreateElementForFamilyLocal(String namespace, String localName)protected TextcreateText(String text)abstract StringgetBaseLocalName()Returns the localname of the Elements of the sub-class.abstract StringgetBaseNamespace()Returns the namespace of the Elements of the sub-class.StringgetBaseURI()Method getBaseURIBigIntegergetBigIntegerFromChildElement(String localname, String namespace)Method getValbyte[]getBytesFromTextChild()Method getBytesFromTextChildstatic StringgetDefaultPrefix(String namespace)Method getDefaultPrefixDocumentgetDocument()Method getDocumentElementgetElement()Returns the Element which was constructed by the Object.NodeListgetElementPlusReturns()Returns the Element plus a leading and a trailing CarriageReturn Text node.protected NodegetFirstChild()protected StringgetLocalAttribute(String attrName)StringgetTextFromChildElement(String localname, String namespace)Method getTextFromChildElementStringgetTextFromTextChild()Method getTextFromTextChildintlength(String namespace, String localname)Method lengthstatic voidregisterDefaultPrefixes()This method registers the default prefixes.static voidsetDefaultPrefix(String namespace, String prefix)Method setDefaultPrefixprotected voidsetDocument(Document doc)Set a new value for the wrapped document that this object is a proxy for.protected voidsetElement(Element elem)New value for the wrapped XML element that this object is a proxy for.voidsetElement(Element element, String baseURI)Method setElementprotected voidsetLocalAttribute(String attrName, String value)protected voidsetLocalIdAttribute(String attrName, String value)voidsetXPathNamespaceContext(String prefix, String uri)Adds an xmlns: definition to the Element.
-
-
-
Field Detail
-
LOG
protected static final System.Logger LOG
-
baseURI
protected String baseURI
Field baseURI
-
-
Constructor Detail
-
ElementProxy
public ElementProxy()
Constructor ElementProxy
-
ElementProxy
public ElementProxy(Document doc)
Constructor ElementProxy- Parameters:
doc-
-
ElementProxy
public ElementProxy(Element element, String baseURI) throws XMLSecurityException
Constructor ElementProxy- Parameters:
element-baseURI-- Throws:
XMLSecurityException
-
-
Method Detail
-
getBaseNamespace
public abstract 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 String getBaseLocalName()
Returns the localname of the Elements of the sub-class.- Returns:
- the localname of the Elements of the sub-class.
-
createElementForFamilyLocal
protected Element createElementForFamilyLocal(String namespace, String localName)
-
createElementForFamily
public static Element createElementForFamily(Document doc, String namespace, 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(Element element, String baseURI) throws XMLSecurityException
Method setElement- Parameters:
element-baseURI-- Throws:
XMLSecurityException
-
getElement
public final Element getElement()
Returns the Element which was constructed by the Object.- Returns:
- the Element which was constructed by the Object.
-
getElementPlusReturns
public final 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 Document getDocument()
Method getDocument- Returns:
- the Document where this element is contained.
-
getBaseURI
public String getBaseURI()
Method getBaseURI- Returns:
- the base uri of the namespace of this element
-
addBigIntegerElement
public void addBigIntegerElement(BigInteger bi, String localname)
Method addBigIntegerElement- Parameters:
bi-localname-
-
addReturnToSelf
protected void addReturnToSelf()
-
addBase64Element
public void addBase64Element(byte[] bytes, String localname)Method addBase64Element- Parameters:
bytes-localname-
-
addTextElement
public void addTextElement(String text, String localname)
Method addTextElement- Parameters:
text-localname-
-
addBase64Text
public void addBase64Text(byte[] bytes)
Method addBase64Text- Parameters:
bytes-
-
appendSelf
protected void appendSelf(ElementProxy toAppend)
-
appendSelf
protected void appendSelf(Node toAppend)
-
addText
public void addText(String text)
Method addText- Parameters:
text-
-
getBigIntegerFromChildElement
public BigInteger getBigIntegerFromChildElement(String localname, String namespace)
Method getVal- Parameters:
localname-namespace-- Returns:
- The biginteger contained in the given element
-
getTextFromChildElement
public String getTextFromChildElement(String localname, 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 text children of this element
- Throws:
XMLSecurityException
-
getTextFromTextChild
public String getTextFromTextChild()
Method getTextFromTextChild- Returns:
- the Text obtained by concatenating all the text nodes of this element
-
length
public int length(String namespace, String localname)
Method length- Parameters:
namespace-localname-- Returns:
- the number of elements {namespace}:localname under this element
-
setXPathNamespaceContext
public void setXPathNamespaceContext(String prefix, 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(String namespace, String prefix) throws XMLSecurityException
Method setDefaultPrefix- Parameters:
namespace-prefix-- Throws:
XMLSecurityExceptionSecurityException- if a security manager is installed and the caller does not have permission to set the default prefix
-
registerDefaultPrefixes
public static void registerDefaultPrefixes() throws XMLSecurityExceptionThis method registers the default prefixes.- Throws:
XMLSecurityException
-
getDefaultPrefix
public static String getDefaultPrefix(String namespace)
Method getDefaultPrefix- Parameters:
namespace-- Returns:
- the default prefix bind to this element.
-
setElement
protected void setElement(Element elem)
New value for the wrapped XML element that this object is a proxy for.- Parameters:
elem- New element- See Also:
getElement()
-
setDocument
protected void setDocument(Document doc)
Set a new value for the wrapped document that this object is a proxy for.- Parameters:
doc- New document object being wrapped.- See Also:
getDocument()
-
getFirstChild
protected Node getFirstChild()
-
-