Class TreeNodeContentProvider

  • All Implemented Interfaces:
    IContentProvider, IStructuredContentProvider, ITreeContentProvider

    public class TreeNodeContentProvider
    extends java.lang.Object
    implements ITreeContentProvider

    A content provider that expects every element to be a TreeNode. Most methods delegate to TreeNode. dispose() and inputChanged(Viewer, Object, Object) do nothing by default.

    This class and all of its methods may be overridden or extended.

    Since:
    3.2
    See Also:
    TreeNode
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object[] getChildren​(java.lang.Object parentElement)
      Returns the child elements of the given parent element.
      java.lang.Object[] getElements​(java.lang.Object inputElement)
      Returns the elements to display in the viewer when its input is set to the given element.
      java.lang.Object getParent​(java.lang.Object element)
      Returns the parent for the given element, or null indicating that the parent can't be computed.
      boolean hasChildren​(java.lang.Object element)
      Returns whether the given element has children.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • TreeNodeContentProvider

        public TreeNodeContentProvider()
    • Method Detail

      • getChildren

        public java.lang.Object[] getChildren​(java.lang.Object parentElement)
        Description copied from interface: ITreeContentProvider
        Returns the child elements of the given parent element.

        The difference between this method and IStructuredContentProvider.getElements is that getElements is called to obtain the tree viewer's root elements, whereas getChildren is used to obtain the children of a given parent element in the tree (including a root).

        The result is not modified by the viewer.
        Specified by:
        getChildren in interface ITreeContentProvider
        Parameters:
        parentElement - the parent element
        Returns:
        an array of child elements
      • getElements

        public java.lang.Object[] getElements​(java.lang.Object inputElement)
        Description copied from interface: ITreeContentProvider
        Returns the elements to display in the viewer when its input is set to the given element. These elements can be presented as rows in a table, items in a list, etc. The result is not modified by the viewer.

        NOTE: The returned array must not contain the given inputElement, since this leads to recursion issues in AbstractTreeViewer (see bug 9262).

        Specified by:
        getElements in interface IStructuredContentProvider
        Specified by:
        getElements in interface ITreeContentProvider
        Parameters:
        inputElement - the input element
        Returns:
        the array of elements to display in the viewer
      • getParent

        public java.lang.Object getParent​(java.lang.Object element)
        Description copied from interface: ITreeContentProvider
        Returns the parent for the given element, or null indicating that the parent can't be computed. In this case the tree-structured viewer can't expand a given node correctly if requested.
        Specified by:
        getParent in interface ITreeContentProvider
        Parameters:
        element - the element
        Returns:
        the parent element, or null if it has none or if the parent cannot be computed
      • hasChildren

        public boolean hasChildren​(java.lang.Object element)
        Description copied from interface: ITreeContentProvider
        Returns whether the given element has children.

        Intended as an optimization for when the viewer does not need the actual children. Clients may be able to implement this more efficiently than getChildren.

        Specified by:
        hasChildren in interface ITreeContentProvider
        Parameters:
        element - the element
        Returns:
        true if the given element has children, and false if it has no children