Class DefaultEntity

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, Entity, Node
    Direct Known Subclasses:
    DOMEntityReference

    public class DefaultEntity
    extends FlyweightEntity

    DefaultEntity is the default Entity implementation. It is a doubly linked node which supports the parent relationship and can be modified in place.

    See Also:
    Serialized Form
    • Constructor Detail

      • DefaultEntity

        public DefaultEntity​(java.lang.String name)
        Creates the Entity with the specified name
        Parameters:
        name - is the name of the entity
      • DefaultEntity

        public DefaultEntity​(java.lang.String name,
                             java.lang.String text)
        Creates the Entity with the specified name and text.
        Parameters:
        name - is the name of the entity
        text - is the text of the entity
      • DefaultEntity

        public DefaultEntity​(Element parent,
                             java.lang.String name,
                             java.lang.String text)
        Creates the Entity with the specified name and text.
        Parameters:
        parent - is the parent element
        name - is the name of the entity
        text - is the text of the entity
    • Method Detail

      • setName

        public void setName​(java.lang.String name)
        Description copied from interface: Node

        Sets the text data of this node or this method will throw an UnsupportedOperationException if it is read-only.

        Specified by:
        setName in interface Node
        Overrides:
        setName in class AbstractNode
        Parameters:
        name - is the new name of this node
      • setText

        public void setText​(java.lang.String text)
        Description copied from class: FlyweightEntity
        sets the value of the entity if it is not defined yet otherwise an UnsupportedOperationException is thrown as this class is read only.
        Specified by:
        setText in interface Node
        Overrides:
        setText in class FlyweightEntity
        Parameters:
        text - DOCUMENT ME!
      • getParent

        public Element getParent()
        Description copied from interface: Node

        getParent returns the parent Element if this node supports the parent relationship or null if it is the root element or does not support the parent relationship.

        This method is an optional feature and may not be supported for all Node implementations.

        Specified by:
        getParent in interface Node
        Overrides:
        getParent in class AbstractNode
        Returns:
        the parent of this node or null if it is the root of the tree or the parent relationship is not supported.
      • setParent

        public void setParent​(Element parent)
        Description copied from interface: Node

        setParent sets the parent relationship of this node if the parent relationship is supported or does nothing if the parent relationship is not supported.

        This method should only be called from inside an Element implementation method and is not intended for general use.

        Specified by:
        setParent in interface Node
        Overrides:
        setParent in class AbstractNode
        Parameters:
        parent - is the new parent of this node.
      • supportsParent

        public boolean supportsParent()
        Description copied from interface: Node

        supportsParent returns true if this node supports the parent relationship.

        Some XML tree implementations are singly linked and only support downward navigation through children relationships. The default case is that both parent and children relationships are supported though for memory and performance reasons the parent relationship may not be supported.

        Specified by:
        supportsParent in interface Node
        Overrides:
        supportsParent in class AbstractNode
        Returns:
        true if this node supports the parent relationship or false it is not supported
      • isReadOnly

        public boolean isReadOnly()
        Description copied from interface: Node

        isReadOnly returns true if this node is read only and cannot be modified. Any attempt to modify a read-only Node will result in an UnsupportedOperationException being thrown.

        Specified by:
        isReadOnly in interface Node
        Overrides:
        isReadOnly in class AbstractNode
        Returns:
        true if this Node is read only and cannot be modified otherwise false.