Package org.apache.xml.security.utils
Class ElementProxy
- java.lang.Object
-
- org.apache.xml.security.utils.ElementProxy
-
- Direct Known Subclasses:
EncryptionElementProxy,InclusiveNamespaces,Signature11ElementProxy,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.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringbaseURIField baseURIprotected static org.slf4j.LoggerLOGprivate static java.util.Map<java.lang.String,java.lang.String>prefixMappingsField prefixMappingsprivate org.w3c.dom.DocumentwrappedDocField docprivate org.w3c.dom.ElementwrappedElementWhat XML element does this ElementProxy instance wrap?
-
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 addBigIntegerElementprotected voidaddReturnToSelf()voidaddText(java.lang.String text)Method addTextvoidaddTextElement(java.lang.String text, java.lang.String localname)Method addTextElementprotected voidappendOther(org.w3c.dom.Element parent, org.w3c.dom.Node toAppend)protected voidappendSelf(ElementProxy toAppend)protected voidappendSelf(org.w3c.dom.Node toAppend)static 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.protected org.w3c.dom.ElementcreateElementForFamilyLocal(java.lang.String namespace, java.lang.String localName)protected org.w3c.dom.TextcreateText(java.lang.String text)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[]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.protected org.w3c.dom.NodegetFirstChild()protected java.lang.StringgetLocalAttribute(java.lang.String attrName)java.lang.StringgetTextFromChildElement(java.lang.String localname, java.lang.String namespace)Method getTextFromChildElementjava.lang.StringgetTextFromTextChild()Method getTextFromTextChild(package private) voidguaranteeThatElementInCorrectSpace()Method guaranteeThatElementInCorrectSpaceintlength(java.lang.String namespace, java.lang.String localname)Method lengthstatic voidregisterDefaultPrefixes()This method registers the default prefixes.static voidsetDefaultPrefix(java.lang.String namespace, java.lang.String prefix)Method setDefaultPrefixprotected voidsetDocument(org.w3c.dom.Document doc)Set a new value for the wrapped document that this object is a proxy for.protected voidsetElement(org.w3c.dom.Element elem)New value for the wrapped XML element that this object is a proxy for.voidsetElement(org.w3c.dom.Element element, java.lang.String baseURI)Method setElementprotected voidsetLocalAttribute(java.lang.String attrName, java.lang.String value)protected voidsetLocalIdAttribute(java.lang.String attrName, java.lang.String value)private static voidsetNamespacePrefix(java.lang.String namespace, java.lang.String prefix)voidsetXPathNamespaceContext(java.lang.String prefix, java.lang.String uri)Adds an xmlns: definition to the Element.
-
-
-
Field Detail
-
LOG
protected static final org.slf4j.Logger LOG
-
wrappedElement
private org.w3c.dom.Element wrappedElement
What XML element does this ElementProxy instance wrap?
-
baseURI
protected java.lang.String baseURI
Field baseURI
-
wrappedDoc
private org.w3c.dom.Document wrappedDoc
Field doc
-
prefixMappings
private static java.util.Map<java.lang.String,java.lang.String> prefixMappings
Field prefixMappings
-
-
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.
-
createElementForFamilyLocal
protected org.w3c.dom.Element createElementForFamilyLocal(java.lang.String namespace, java.lang.String localName)
-
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.
-
createText
protected org.w3c.dom.Text createText(java.lang.String text)
-
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
void guaranteeThatElementInCorrectSpace() throws XMLSecurityExceptionMethod guaranteeThatElementInCorrectSpace- Throws:
XMLSecurityException
-
addBigIntegerElement
public void addBigIntegerElement(java.math.BigInteger bi, java.lang.String localname)Method addBigIntegerElement- Parameters:
bi-localname-
-
addReturnToSelf
protected void addReturnToSelf()
-
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-
-
appendSelf
protected void appendSelf(ElementProxy toAppend)
-
appendSelf
protected void appendSelf(org.w3c.dom.Node toAppend)
-
appendOther
protected void appendOther(org.w3c.dom.Element parent, org.w3c.dom.Node toAppend)
-
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)Method getVal- Parameters:
localname-namespace-- Returns:
- The biginteger contained in the given element
-
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 text children of this element
- Throws:
XMLSecurityException
-
getTextFromTextChild
public java.lang.String getTextFromTextChild()
Method getTextFromTextChild- Returns:
- the Text obtained by concatenating all 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:
XMLSecurityExceptionjava.lang.SecurityException- if a security manager is installed and the caller does not have permission to set the default prefix
-
setNamespacePrefix
private static void setNamespacePrefix(java.lang.String namespace, java.lang.String prefix) throws XMLSecurityException- Throws:
XMLSecurityException
-
registerDefaultPrefixes
public static void registerDefaultPrefixes() throws XMLSecurityExceptionThis method registers the default prefixes.- 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.
-
setElement
protected void setElement(org.w3c.dom.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(org.w3c.dom.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()
-
getLocalAttribute
protected java.lang.String getLocalAttribute(java.lang.String attrName)
-
setLocalAttribute
protected void setLocalAttribute(java.lang.String attrName, java.lang.String value)
-
setLocalIdAttribute
protected void setLocalIdAttribute(java.lang.String attrName, java.lang.String value)
-
getFirstChild
protected org.w3c.dom.Node getFirstChild()
-
-