Eclipse Platform
Release 3.1

org.eclipse.debug.ui
Class DeferredDebugElementWorkbenchAdapter

java.lang.Object
  extended byorg.eclipse.debug.ui.DebugElementWorkbenchAdapter
      extended byorg.eclipse.debug.ui.DeferredDebugElementWorkbenchAdapter
All Implemented Interfaces:
IDeferredWorkbenchAdapter, IWorkbenchAdapter, IWorkbenchAdapter2

public abstract class DeferredDebugElementWorkbenchAdapter
extends DebugElementWorkbenchAdapter
implements IDeferredWorkbenchAdapter

Common function for a deferred workbench adapter for a debug element.

Clients may subclass this class to provide custom adapters for elements in a debug model. The debug platform provides IDeferredWorkbenchAdapters for the standard debug elements. Clients may override the default content in the debug view by providing an IWorkbenchAdapter or IDeferredWorkbenchAdapter for a debug element.

Since:
3.1

Field Summary
protected static Object[] EMPTY
          An empty collection of children
 
Constructor Summary
DeferredDebugElementWorkbenchAdapter()
           
 
Method Summary
 void fetchDeferredChildren(Object object, IElementCollector collector, IProgressMonitor monitor)
          Called by a job run in a separate thread to fetch the children of this adapter.
 ISchedulingRule getRule(Object object)
          Returns the rule used to schedule the deferred fetching of children for this adapter.
 boolean isContainer()
          Returns whether this adapter may have children.
 
Methods inherited from class org.eclipse.debug.ui.DebugElementWorkbenchAdapter
getBackground, getFont, getForeground, getImageDescriptor, getLabel
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.ui.model.IWorkbenchAdapter
getChildren, getImageDescriptor, getLabel, getParent
 

Field Detail

EMPTY

protected static final Object[] EMPTY
An empty collection of children

Constructor Detail

DeferredDebugElementWorkbenchAdapter

public DeferredDebugElementWorkbenchAdapter()
Method Detail

isContainer

public boolean isContainer()
Description copied from interface: IDeferredWorkbenchAdapter
Returns whether this adapter may have children. This is an optimized method used by content providers to allow showing the [+] expand icon without having yet fetched the children for the element.

If false is returned, then the content provider may assume that this adapter has no children. If true is returned, then the job manager may assume that this adapter may have children.

Specified by:
isContainer in interface IDeferredWorkbenchAdapter
Returns:
trueif the adapter may have childen, and false otherwise.

getRule

public ISchedulingRule getRule(Object object)
Description copied from interface: IDeferredWorkbenchAdapter
Returns the rule used to schedule the deferred fetching of children for this adapter.

Specified by:
getRule in interface IDeferredWorkbenchAdapter
Parameters:
object - the object whose children are being fetched
Returns:
the scheduling rule. May be null.
See Also:
Job.setRule(ISchedulingRule)

fetchDeferredChildren

public void fetchDeferredChildren(Object object,
                                  IElementCollector collector,
                                  IProgressMonitor monitor)
Description copied from interface: IDeferredWorkbenchAdapter
Called by a job run in a separate thread to fetch the children of this adapter. The adapter should in return notify of new children via the collector. This is generally used when a content provider is getting elements.

It is good practice to check the passed in monitor for cancellation. This will provide good responsiveness for cancellation requests made by the user.

Specified by:
fetchDeferredChildren in interface IDeferredWorkbenchAdapter
Parameters:
object - the object to fetch the children for
collector - the collector to notify about new children. Should not be null.
monitor - a progress monitor that will never be null to support reporting and cancellation.

Eclipse Platform
Release 3.1

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2005. All rights reserved.