Package tigase.xml

Class Element

  • All Implemented Interfaces:
    java.lang.Cloneable, java.lang.Comparable<Element>, XMLNodeIfc<Element>
    Direct Known Subclasses:
    DBElement

    @TODO(note="Make it a bit lighter.")
    public class Element
    extends java.lang.Object
    implements XMLNodeIfc<Element>
    Element - basic document tree node implementation. Supports Java 5.0 generic feature to make it easier to extend this class and still preserve some useful functionality. Sufficient for simple cases but probably in the most more advanced cases should be extended with additional features. Look in API documentation for more details and information about existing extensions. The most important features apart from abvious tree implementation are:
    • toString() implementation so it can generate valid XML content from this element and all children.
    • addChild(...), getChild(childName) supporting generic types.
    • findChild(childPath) finding child in subtree by given path to element.
    • getChildCData(childPath), getAttribute(childPath, attName) returning element CData from child in subtree by given path to element.

    Created: Mon Oct 4 17:55:16 2004

    Version:
    $Rev$
    Author:
    Artur Hefczyc
    • Field Detail

      • children

        protected java.util.LinkedList<XMLNodeIfc> children
      • defxmlns

        protected java.lang.String defxmlns
      • name

        protected java.lang.String name
      • xmlns

        protected java.lang.String xmlns
    • Constructor Detail

      • Element

        public Element​(Element element)
      • Element

        public Element​(java.lang.String argName)
      • Element

        public Element​(java.lang.String argName,
                       java.lang.String argCData)
      • Element

        public Element​(java.lang.String argName,
                       java.lang.String[] att_names,
                       java.lang.String[] att_values)
      • Element

        public Element​(java.lang.String argName,
                       Element[] children,
                       java.lang.String[] att_names,
                       java.lang.String[] att_values)
      • Element

        public Element​(java.lang.String argName,
                       java.lang.String argCData,
                       java.lang.String[] att_names,
                       java.lang.String[] att_values)
      • Element

        public Element​(java.lang.String argName,
                       java.lang.String argCData,
                       java.lang.StringBuilder[] att_names,
                       java.lang.StringBuilder[] att_values)
    • Method Detail

      • main

        public static void main​(java.lang.String[] args)
                         throws java.lang.Exception
        Throws:
        java.lang.Exception
      • addAttribute

        public void addAttribute​(java.lang.String attName,
                                 java.lang.String attValue)
      • addAttributes

        public void addAttributes​(java.util.Map<java.lang.String,​java.lang.String> attrs)
      • addCData

        public void addCData​(java.lang.String argCData)
      • addChild

        public void addChild​(XMLNodeIfc child)
      • addChildren

        public void addChildren​(java.util.List<Element> children)
      • childrenToString

        public java.lang.String childrenToString()
      • childrenToString

        public void childrenToString​(java.lang.StringBuilder result)
      • childrenToStringPretty

        public java.lang.String childrenToStringPretty()
      • childrenToStringSecure

        public java.lang.String childrenToStringSecure()
      • childrenToStringSecure

        public void childrenToStringSecure​(java.lang.StringBuilder result)
      • compareTo

        public int compareTo​(Element elem)
        Specified by:
        compareTo in interface java.lang.Comparable<Element>
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • findChildStaticStr

        public Element findChildStaticStr​(java.lang.String[] elementPath)
      • findChild

        public Element findChild​(java.lang.String[] elemPath)
      • flatMapChildren

        public <R> java.util.List<R> flatMapChildren​(java.util.function.Function<Element,​java.util.Collection<? extends R>> mapper)
      • forEachChild

        public void forEachChild​(java.util.function.Consumer<Element> consumer)
      • getChildAttributeStaticStr

        public java.lang.String getChildAttributeStaticStr​(java.lang.String childName,
                                                           java.lang.String attName)
      • getAttributeStaticStr

        public java.lang.String getAttributeStaticStr​(java.lang.String attName)
      • getAttributeStaticStr

        public java.lang.String getAttributeStaticStr​(java.lang.String[] elementPath,
                                                      java.lang.String att_name)
      • getAttributes

        public java.util.Map<java.lang.String,​java.lang.String> getAttributes()
      • setAttributes

        public void setAttributes​(java.util.Map<java.lang.String,​java.lang.String> newAttributes)
      • getCData

        @Deprecated
        public java.lang.String getCData​(java.lang.String elementPath)
        Deprecated.
      • getCData

        public java.lang.String getCData​(java.lang.String[] elementPath)
      • getCDataStaticStr

        public java.lang.String getCDataStaticStr​(java.lang.String[] elementPath)
      • getCData

        public java.lang.String getCData()
      • setCData

        public void setCData​(java.lang.String argCData)
      • getChild

        public Element getChild​(java.lang.String name)
      • getChildStaticStr

        public Element getChildStaticStr​(java.lang.String name)
      • getChild

        public Element getChild​(java.lang.String name,
                                java.lang.String child_xmlns)
      • getChildStaticStr

        public Element getChildStaticStr​(java.lang.String name,
                                         java.lang.String child_xmlns)
      • getChildCData

        @Deprecated
        public java.lang.String getChildCData​(java.lang.String elementPath)
        Deprecated.
      • getChildCData

        public java.lang.String getChildCData​(java.lang.String[] elementPath)
      • getChildCDataStaticStr

        public java.lang.String getChildCDataStaticStr​(java.lang.String[] elementPath)
      • getChildren

        public java.util.List<Element> getChildren()
      • setChildren

        public void setChildren​(java.util.List<XMLNodeIfc> children)
      • getChildren

        public java.util.List<Element> getChildren​(java.lang.String[] elementPath)
      • getChildrenStaticStr

        public java.util.List<Element> getChildrenStaticStr​(java.lang.String[] elementPath)
      • getName

        public java.lang.String getName()
      • setName

        public void setName​(java.lang.String argName)
      • getXMLNS

        public java.lang.String getXMLNS()
      • setXMLNS

        public void setXMLNS​(java.lang.String ns)
      • getXMLNS

        @Deprecated
        public java.lang.String getXMLNS​(java.lang.String elementPath)
        Deprecated.
      • getXMLNS

        public java.lang.String getXMLNS​(java.lang.String[] elementPath)
      • getXMLNSStaticStr

        public java.lang.String getXMLNSStaticStr​(java.lang.String[] elementPath)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • map

        public <R> R map​(java.util.function.Function<Element,​? extends R> mapper)
      • mapChildren

        public <R> java.util.List<R> mapChildren​(java.util.function.Function<Element,​? extends R> mapper)
      • mapChildren

        public <R> java.util.List<R> mapChildren​(Element.Matcher<Element> matcher,
                                                 java.util.function.Function<Element,​? extends R> mapper)
      • removeAttribute

        public void removeAttribute​(java.lang.String key)
      • removeChild

        public boolean removeChild​(Element child)
      • setAttributeStaticStr

        public void setAttributeStaticStr​(java.lang.String[] elementPath,
                                          java.lang.String att_name,
                                          java.lang.String att_value)
      • setAttribute

        public void setAttribute​(java.lang.String key,
                                 java.lang.String value)
      • setAttributes

        public void setAttributes​(java.lang.StringBuilder[] names,
                                  java.lang.StringBuilder[] values)
      • setAttributes

        public void setAttributes​(java.lang.String[] names,
                                  java.lang.String[] values)
      • setDefXMLNS

        public void setDefXMLNS​(java.lang.String ns)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • toString

        public void toString​(java.lang.StringBuilder result)
      • toStringNoChildren

        public java.lang.String toStringNoChildren()
      • toStringSecure

        public void toStringSecure​(java.lang.StringBuilder result)
      • withAttribute

        public Element withAttribute​(java.lang.String attName,
                                     java.lang.String attValue)
      • withElement

        public Element withElement​(java.lang.String name,
                                   java.util.function.Consumer<Element> consumer)
      • withElement

        public Element withElement​(java.lang.String name,
                                   java.lang.String xmlns,
                                   java.lang.String cdata)
      • withElement

        public Element withElement​(java.lang.String name,
                                   java.lang.String xmlns,
                                   java.util.function.Consumer<Element> consumer)
      • cdataToString

        protected java.lang.String cdataToString()