Interface IPipelinedTreeContentProvider2

All Superinterfaces:
ICommonContentProvider, IContentProvider, IMementoAware, IPipelinedTreeContentProvider, IStructuredContentProvider, ITreeContentProvider

public interface IPipelinedTreeContentProvider2 extends IPipelinedTreeContentProvider
A pipelined content provider allows an extension to reshape the contributions of an upstream content extension. An "upstream" extension is either:
  • the extension overridden by this extension using the org.eclipse.ui.navigatorContent/navigatorContent/override element, or
  • another extension that overrides the same extension this extension overrides, but with higher priority than this extension.
Overridden extensions form a tree where the nodes of the tree represent the content extensions, children represent overriding extensions, and the children are sorted by priority. Pipeline contributions traverse the tree, allowing children to override the contributions of their parent, giving precedence to the children of highest priority. ITreeContentProvider is respected by the Common Navigator. Note: this should be used instead of IPipelinedTreeContentProvider so that the hasChildren indication reflects the actual pipelined children that will be presented.
Since:
3.5
See Also:
  • Method Details

    • hasPipelinedChildren

      boolean hasPipelinedChildren(Object anInput, boolean currentHasChildren)
      Intercept the fact of having children and optionally modify this. This calculation should match whether children will be actually provided.
      Parameters:
      anInput - An input from the viewer
      currentHasChildren - The current proposed setting of hasChildren thus far from the upstream content providers.
      Returns:
      The new value for hasChildren