Interface ICStorageElement

    • Method Detail

      • getAttribute

        String getAttribute​(String name)
        Return the String of attribute value for name. If attribute is not found (hasAttribute(name) is false) this method returns null
        Parameters:
        name -
        Returns:
        String value or null if hasAttribute is false
      • hasAttribute

        boolean hasAttribute​(String name)
        Return whether this ICStorageElement contains an attribute value for name
        Parameters:
        name -
        Returns:
        boolean indicating existence of attribute with name name
        Since:
        5.1
      • getAttributeNames

        String[] getAttributeNames()
        Returns a string array of attribute names
      • getParent

        ICStorageElement getParent()
        Return the parent IStorageElement or null if this ICStorageElement doesn't have a parent
        Returns:
        ICStorageElement parent or null
      • setAttribute

        void setAttribute​(String name,
                          String value)
        Set an attribute on this ICStorageElement
        Parameters:
        name -
        value -
      • removeAttribute

        void removeAttribute​(String name)
        Remove an attribute from this ICStorageElement
        Parameters:
        name -
      • createChild

        ICStorageElement createChild​(String name)
        Create a child ICStorageElement with the given name.
        Parameters:
        name -
        Returns:
        new ICStorageElement representing the child
      • getChildren

        ICStorageElement[] getChildren()
        Returns an array of the ICStorageElement children of this ICStorageElement or an empty array if no children were found
        Returns:
        ICStorageElement[] of children or empty array
      • getChildrenByName

        ICStorageElement[] getChildrenByName​(String name)
        Returns the children ICStorageElements with name name
        Parameters:
        name - String name of children to be returned
        Returns:
        ICStorageElement[] of children may be the empty list if no children with name found
        Since:
        5.1
      • hasChildren

        boolean hasChildren()
        Returns true if this storage element has child ICStorageElements
        Returns:
        boolean indicating whether this ICStorageElement has children
        Since:
        5.1
      • clear

        void clear()
        Erases all children, attributes and any value set on this ICStorageElement
      • getName

        String getName()
        Returns the name of this ICStorageElement
      • removeChild

        void removeChild​(ICStorageElement el)
        Removes the ICStorageElement from the set of child ICSotrageElements
        Parameters:
        el -
      • getValue

        String getValue()
        Returns the String value of this element or null if there is no String value set. NB a pure whitespace value is considered to be null
        Returns:
        String or null
      • setValue

        void setValue​(String value)
        Sets a String value on the ICStorageElement
        Parameters:
        value -
      • createCopy

        ICStorageElement createCopy()
                             throws UnsupportedOperationException,
                                    org.eclipse.core.runtime.CoreException
        Create a deep copy of the current ICStorageElement such that name, children, attributes and value are the same.
        However this is implemented it should appear to the user that a deep copy of the elements within has occurred. [ Though the implementation may be copy-on-write if the underlying data structure is suitable. ]

        getParent() of the clone should be equal to the original element.getParent(). However the clone() doesn't appear in the parent's getChildren() array.
        Returns:
        ICStorageElement deep copy of this ICStorageElement
        Throws:
        UnsupportedOperationException
        org.eclipse.core.runtime.CoreException
        Since:
        5.1
      • equals

        boolean equals​(ICStorageElement other)
        Tests whether this storage element is exactly equal to other To be equal all name, children attributes and value must be equal between the two ICStorageElements
        Parameters:
        other -
        Returns:
        boolean indicating equality
        Since:
        5.1