Class AnakiaElement

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, org.jdom.Parent

    public class AnakiaElement
    extends org.jdom.Element
    A JDOM Element that is tailored for Anakia needs. It has selectNodes(String) method as well as a toString() that outputs the XML serialized form of the element. This way it acts in much the same way as a single-element NodeList would.
    Version:
    $Id: AnakiaElement.java 463298 2006-10-12 16:10:32Z henning $
    Author:
    Attila Szegedi
    See Also:
    Serialized Form
    • Field Summary

      • Fields inherited from class org.jdom.Element

        additionalNamespaces, name, namespace
      • Fields inherited from class org.jdom.Content

        parent
    • Constructor Summary

      Constructors 
      Constructor Description
      AnakiaElement​(java.lang.String name)
      This will create an AnakiaElement in no Namespace.
      AnakiaElement​(java.lang.String name, java.lang.String uri)
      This will create a new AnakiaElement with the supplied (local) name, and specifies the URI of the Namespace the Element should be in, resulting it being unprefixed (in the default namespace).
      AnakiaElement​(java.lang.String name, java.lang.String prefix, java.lang.String uri)
      This will create a new AnakiaElement with the supplied (local) name, and specifies the prefix and URI of the Namespace the Element should be in.
      AnakiaElement​(java.lang.String name, org.jdom.Namespace namespace)
      This will create a new AnakiaElement with the supplied (local) name, and define the Namespace to be used.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.List getAttributes()
      This returns the complete set of attributes for this element, as a NodeList of Attribute objects in no particular order, or an empty list if there are none.
      java.util.List getChildren()
      This returns a NodeList of all the child elements nested directly (one level deep) within this element, as Element objects.
      java.util.List getChildren​(java.lang.String name)
      This returns a NodeList of all the child elements nested directly (one level deep) within this element with the given local name and belonging to no namespace, returned as Element objects.
      java.util.List getChildren​(java.lang.String name, org.jdom.Namespace ns)
      This returns a NodeList of all the child elements nested directly (one level deep) within this element with the given local name and belonging to the given Namespace, returned as Element objects.
      java.util.List getContent()
      This returns the full content of the element as a NodeList which may contain objects of type String, Element, Comment, ProcessingInstruction, CDATA, and EntityRef.
      NodeList selectNodes​(java.lang.String xpathExpression)
      Applies an XPath expression to this element and returns the resulting node list.
      java.lang.String toString()
      Returns the XML serialized form of this element, as produced by the default XMLOutputter.
      • Methods inherited from class org.jdom.Element

        addContent, addContent, addContent, addContent, addContent, addNamespaceDeclaration, clone, cloneContent, getAdditionalNamespaces, getAttribute, getAttribute, getAttributeValue, getAttributeValue, getAttributeValue, getAttributeValue, getChild, getChild, getChildText, getChildText, getChildTextNormalize, getChildTextNormalize, getChildTextTrim, getChildTextTrim, getContent, getContent, getContentSize, getDescendants, getDescendants, getName, getNamespace, getNamespace, getNamespacePrefix, getNamespaceURI, getQualifiedName, getText, getTextNormalize, getTextTrim, getValue, indexOf, isAncestor, isRootElement, removeAttribute, removeAttribute, removeAttribute, removeChild, removeChild, removeChildren, removeChildren, removeContent, removeContent, removeContent, removeContent, removeNamespaceDeclaration, setAttribute, setAttribute, setAttribute, setAttributes, setAttributes, setContent, setContent, setContent, setContent, setName, setNamespace, setText
      • Methods inherited from class org.jdom.Content

        detach, equals, getDocument, getParent, getParentElement, hashCode, setParent
      • Methods inherited from class java.lang.Object

        finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface org.jdom.Parent

        getDocument, getParent
    • Constructor Detail

      • AnakiaElement

        public AnakiaElement​(java.lang.String name,
                             org.jdom.Namespace namespace)

        This will create a new AnakiaElement with the supplied (local) name, and define the Namespace to be used. If the provided namespace is null, the element will have no namespace.

        Parameters:
        name - String name of element.
        namespace - Namespace to put element in.
      • AnakiaElement

        public AnakiaElement​(java.lang.String name)

        This will create an AnakiaElement in no Namespace.

        Parameters:
        name - String name of element.
      • AnakiaElement

        public AnakiaElement​(java.lang.String name,
                             java.lang.String uri)

        This will create a new AnakiaElement with the supplied (local) name, and specifies the URI of the Namespace the Element should be in, resulting it being unprefixed (in the default namespace).

        Parameters:
        name - String name of element.
        uri - String URI for Namespace element should be in.
      • AnakiaElement

        public AnakiaElement​(java.lang.String name,
                             java.lang.String prefix,
                             java.lang.String uri)

        This will create a new AnakiaElement with the supplied (local) name, and specifies the prefix and URI of the Namespace the Element should be in.

        Parameters:
        name - String name of element.
        prefix - The prefix of the element.
        uri - String URI for Namespace element should be in.
    • Method Detail

      • selectNodes

        public NodeList selectNodes​(java.lang.String xpathExpression)
        Applies an XPath expression to this element and returns the resulting node list. In order for this method to work, your application must have access to werken.xpath library classes. The implementation does cache the parsed format of XPath expressions in a weak hash map, keyed by the string representation of the XPath expression. As the string object passed as the argument is usually kept in the parsed template, this ensures that each XPath expression is parsed only once during the lifetime of the template that first invoked it.
        Parameters:
        xpathExpression - the XPath expression you wish to apply
        Returns:
        a NodeList representing the nodes that are the result of application of the XPath to the current element. It can be empty.
      • toString

        public java.lang.String toString()
        Returns the XML serialized form of this element, as produced by the default XMLOutputter.
        Overrides:
        toString in class org.jdom.Element
        Returns:
        The XML serialized form of this element, as produced by the default XMLOutputter.
      • getContent

        public java.util.List getContent()

        This returns the full content of the element as a NodeList which may contain objects of type String, Element, Comment, ProcessingInstruction, CDATA, and EntityRef. The List returned is "live" in document order and modifications to it affect the element's actual contents. Whitespace content is returned in its entirety.

        Specified by:
        getContent in interface org.jdom.Parent
        Overrides:
        getContent in class org.jdom.Element
        Returns:
        a List containing the mixed content of the element: may contain String, Element, Comment, ProcessingInstruction, CDATA, and EntityRef objects.
      • getChildren

        public java.util.List getChildren()

        This returns a NodeList of all the child elements nested directly (one level deep) within this element, as Element objects. If this target element has no nested elements, an empty List is returned. The returned list is "live" in document order and changes to it affect the element's actual contents.

        This performs no recursion, so elements nested two levels deep would have to be obtained with:

         
           Iterator itr = currentElement.getChildren().iterator();
           while (itr.hasNext()) {
             Element oneLevelDeep = (Element)nestedElements.next();
             List twoLevelsDeep = oneLevelDeep.getChildren();
             // Do something with these children
           }
         
         

        Overrides:
        getChildren in class org.jdom.Element
        Returns:
        list of child Element objects for this element
      • getChildren

        public java.util.List getChildren​(java.lang.String name)

        This returns a NodeList of all the child elements nested directly (one level deep) within this element with the given local name and belonging to no namespace, returned as Element objects. If this target element has no nested elements with the given name outside a namespace, an empty List is returned. The returned list is "live" in document order and changes to it affect the element's actual contents.

        Please see the notes for getChildren() for a code example.

        Overrides:
        getChildren in class org.jdom.Element
        Parameters:
        name - local name for the children to match
        Returns:
        all matching child elements
      • getChildren

        public java.util.List getChildren​(java.lang.String name,
                                          org.jdom.Namespace ns)

        This returns a NodeList of all the child elements nested directly (one level deep) within this element with the given local name and belonging to the given Namespace, returned as Element objects. If this target element has no nested elements with the given name in the given Namespace, an empty List is returned. The returned list is "live" in document order and changes to it affect the element's actual contents.

        Please see the notes for getChildren() for a code example.

        Overrides:
        getChildren in class org.jdom.Element
        Parameters:
        name - local name for the children to match
        ns - Namespace to search within
        Returns:
        all matching child elements
      • getAttributes

        public java.util.List getAttributes()

        This returns the complete set of attributes for this element, as a NodeList of Attribute objects in no particular order, or an empty list if there are none. The returned list is "live" and changes to it affect the element's actual attributes.

        Overrides:
        getAttributes in class org.jdom.Element
        Returns:
        attributes for the element