Class ElementProxy

java.lang.Object
org.docx4j.org.apache.xml.security.utils.ElementProxy
Direct Known Subclasses:
EncryptionElementProxy, InclusiveNamespaces, Signature11ElementProxy, SignatureElementProxy

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.
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected java.lang.String baseURI
    Field baseURI
    protected static org.slf4j.Logger log  
  • Constructor Summary

    Constructors 
    Constructor Description
    ElementProxy()
    Constructor ElementProxy
    ElementProxy​(org.w3c.dom.Document doc)
    Constructor ElementProxy
    ElementProxy​(org.w3c.dom.Element element, java.lang.String baseURI)
    Constructor ElementProxy
  • Method Summary

    Modifier and Type Method Description
    void addBase64Element​(byte[] bytes, java.lang.String localname)
    Method addBase64Element
    void addBase64Text​(byte[] bytes)
    Method addBase64Text
    void addBigIntegerElement​(java.math.BigInteger bi, java.lang.String localname)
    Method addBigIntegerElement
    protected void addReturnToSelf()  
    void addText​(java.lang.String text)
    Method addText
    void addTextElement​(java.lang.String text, java.lang.String localname)
    Method addTextElement
    protected void appendOther​(org.w3c.dom.Element parent, org.w3c.dom.Node toAppend)  
    protected void appendSelf​(ElementProxy toAppend)  
    protected void appendSelf​(org.w3c.dom.Node toAppend)  
    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.
    protected org.w3c.dom.Element createElementForFamilyLocal​(java.lang.String namespace, java.lang.String localName)  
    protected org.w3c.dom.Text createText​(java.lang.String text)  
    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 getBaseURI
    java.math.BigInteger getBigIntegerFromChildElement​(java.lang.String localname, java.lang.String namespace)
    Method getVal
    byte[] getBytesFromTextChild()
    Method getBytesFromTextChild
    static java.lang.String getDefaultPrefix​(java.lang.String namespace)
    Method getDefaultPrefix
    org.w3c.dom.Document getDocument()
    Method getDocument
    org.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.
    protected org.w3c.dom.Node getFirstChild()  
    protected java.lang.String getLocalAttribute​(java.lang.String attrName)  
    java.lang.String getTextFromChildElement​(java.lang.String localname, java.lang.String namespace)
    Method getTextFromChildElement
    java.lang.String getTextFromTextChild()
    Method getTextFromTextChild
    int length​(java.lang.String namespace, java.lang.String localname)
    Method length
    static void registerDefaultPrefixes()
    This method registers the default prefixes.
    static void setDefaultPrefix​(java.lang.String namespace, java.lang.String prefix)
    Method setDefaultPrefix
    protected void setDocument​(org.w3c.dom.Document doc)
    Set a new value for the wrapped document that this object is a proxy for.
    protected void setElement​(org.w3c.dom.Element elem)
    New value for the wrapped XML element that this object is a proxy for.
    void setElement​(org.w3c.dom.Element element, java.lang.String baseURI)
    Method setElement
    protected void setLocalAttribute​(java.lang.String attrName, java.lang.String value)  
    protected void setLocalIdAttribute​(java.lang.String attrName, java.lang.String value)  
    void setXPathNamespaceContext​(java.lang.String prefix, java.lang.String uri)
    Adds an xmlns: definition to the Element.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • log

      protected static final org.slf4j.Logger log
    • baseURI

      protected java.lang.String baseURI
      Field baseURI
  • Constructor Details

  • Method Details

    • 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 the getDefaultPrefix(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.
    • 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
    • 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) throws Base64DecodingException
      Method getVal
      Parameters:
      localname -
      namespace -
      Returns:
      The biginteger contained in the given element
      Throws:
      Base64DecodingException
    • 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 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 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
      java.lang.SecurityException - if a security manager is installed and the caller does not have permission to set the default prefix
    • registerDefaultPrefixes

      public static void registerDefaultPrefixes() throws XMLSecurityException
      This 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()