public class DeferredTreeContentManager extends Object
IDeferredWorkbenchAdapter
Constructor and Description |
---|
DeferredTreeContentManager(ITreeContentProvider provider,
AbstractTreeViewer viewer)
Create a new instance of the receiver using the supplied content
provider and viewer.
|
DeferredTreeContentManager(ITreeContentProvider provider,
AbstractTreeViewer viewer,
IWorkbenchPartSite site)
Create a new instance of the receiver using the supplied content
provider and viewer.
|
Modifier and Type | Method and Description |
---|---|
protected void |
addChildren(Object parent,
Object[] children,
IProgressMonitor monitor)
Create a UIJob to add the children to the parent in the tree viewer.
|
void |
cancel(Object parent)
Cancel all jobs that are fetching content for the given parent or any of
its children.
|
protected IElementCollector |
createElementCollector(Object parent,
PendingUpdateAdapter placeholder)
Create the element collector for the receiver.
|
protected PendingUpdateAdapter |
createPendingUpdateAdapter()
Factory method for creating the pending update adapter representing the
placeholder node.
|
protected IDeferredWorkbenchAdapter |
getAdapter(Object element)
Return the IDeferredWorkbenchAdapter for element or the element if it is
an instance of IDeferredWorkbenchAdapter.
|
Object[] |
getChildren(Object parent)
Returns the child elements of the given element, or in the case of a
deferred element, returns a placeholder.
|
protected String |
getFetchJobName(Object parent,
IDeferredWorkbenchAdapter adapter)
Returns a name to use for the job that fetches children of the given parent.
|
boolean |
isDeferredAdapter(Object element)
Return whether or not the element is or adapts to an
IDeferredWorkbenchAdapter.
|
boolean |
mayHaveChildren(Object element)
Provides an optimized lookup for determining if an element has children.
|
protected void |
runClearPlaceholderJob(PendingUpdateAdapter placeholder)
Run a job to clear the placeholder.
|
protected void |
startFetchingDeferredChildren(Object parent,
IDeferredWorkbenchAdapter adapter,
PendingUpdateAdapter placeholder)
Starts a job and creates a collector for fetching the children of this
deferred adapter.
|
public DeferredTreeContentManager(ITreeContentProvider provider, AbstractTreeViewer viewer, IWorkbenchPartSite site)
provider
- viewer
- site
- public DeferredTreeContentManager(ITreeContentProvider provider, AbstractTreeViewer viewer)
provider
- The content provider that will be updatedviewer
- The tree viewer that the results are added topublic boolean mayHaveChildren(Object element)
getChildren
just to determine the potential for
children. Throw an AssertionFailedException if element is null.element
- The Object being tested. This should not be
null
.true
if there are potentially children.RuntimeException
- if the element is null.public Object[] getChildren(Object parent)
parent
- The parent object.null
if parent is not an instance of
IDeferredWorkbenchAdapter.protected PendingUpdateAdapter createPendingUpdateAdapter()
protected IDeferredWorkbenchAdapter getAdapter(Object element)
element
- null
protected void startFetchingDeferredChildren(Object parent, IDeferredWorkbenchAdapter adapter, PendingUpdateAdapter placeholder)
parent
- The parent object being filled in,adapter
- The adapter being used to fetch the children.placeholder
- The adapter that will be used to indicate that results are
pending.protected String getFetchJobName(Object parent, IDeferredWorkbenchAdapter adapter)
parent
- parent that children are to be fetched foradapter
- parent's deferred adapterprotected void addChildren(Object parent, Object[] children, IProgressMonitor monitor)
parent
- children
- monitor
- public boolean isDeferredAdapter(Object element)
element
- true
if the element is an
IDeferredWorkbenchAdapterprotected void runClearPlaceholderJob(PendingUpdateAdapter placeholder)
placeholder
- public void cancel(Object parent)
parent
- protected IElementCollector createElementCollector(Object parent, PendingUpdateAdapter placeholder)
parent
- The parent object being filled in,placeholder
- The adapter that will be used to indicate that results are
pending.Guidelines for using Eclipse APIs. Copyright (c) IBM Corp. and others 2000, 2006. All rights reserved.