|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.graphiti.features.impl.AbstractFeature
org.eclipse.graphiti.features.custom.AbstractCustomFeature
org.eclipse.graphiti.features.custom.AbstractAsynchronousCustomFeature
public abstract class AbstractAsynchronousCustomFeature
This class should be used if for some reason a CustomFeature can be long to
execute. It runs execute(ICustomContext, IProgressMonitor)
in a
Command on top of current TransactionalEditingDomain. This command itself is
run in a Job, and can use the associated IProgressMonitor
This is useful to indicate to users that the job is running, but eclipse has not crashed.
Constructor Summary | |
---|---|
AbstractAsynchronousCustomFeature(IFeatureProvider fp)
|
Method Summary | |
---|---|
protected void |
afterJobExecution()
Callback executed immediately after job execution in the background job execution thread. |
protected void |
beforeJobExecution()
Callback executed just before job scheduling; called in the feature execution thread. |
protected void |
configureJob(Job job)
Initialize parameters of the given Job |
void |
execute(IContext context)
Must not be overridden in order to guarantee correct delegation to the background job, see execute(ICustomContext) . |
void |
execute(ICustomContext context)
The implementation of this method will during the execution of the feature trigger the creation of a background job, configure it and execute it. Clients should implement their feature functionality in execute(ICustomContext, IProgressMonitor) , potentially also in
the beforeJobExecution() and afterJobExecution() hooks. |
protected abstract void |
execute(ICustomContext context,
IProgressMonitor monitor)
Concrete code to execute. |
boolean |
hasDoneChanges()
The default implementation returns false in any case. |
protected Job |
initializeJob(ICustomContext context)
Initialize the Job. |
Methods inherited from class org.eclipse.graphiti.features.custom.AbstractCustomFeature |
---|
canExecute, canExecute, getDescription, getImageId, isAvailable |
Methods inherited from class org.eclipse.graphiti.features.impl.AbstractFeature |
---|
addGraphicalRepresentation, canUndo, getAllBusinessObjectsForPictogramElement, getBusinessObjectForPictogramElement, getDiagram, getDiagramBehavior, getFeatureProvider, getName, getProgressCallback, getUserDecision, layoutPictogramElement, link, link, manageColor, manageColor, manageDefaultFont, manageFont, manageFont, setProgressCallback, toString, updatePictogramElement |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.eclipse.graphiti.features.IFeature |
---|
canUndo |
Methods inherited from interface org.eclipse.graphiti.IName |
---|
getName |
Methods inherited from interface org.eclipse.graphiti.features.IFeatureProviderHolder |
---|
getFeatureProvider |
Constructor Detail |
---|
public AbstractAsynchronousCustomFeature(IFeatureProvider fp)
Method Detail |
---|
protected abstract void execute(ICustomContext context, IProgressMonitor monitor)
context
- The CustomFeature contextmonitor
- The monitor used to manage progress bar and Job cancellationprotected void beforeJobExecution()
protected void afterJobExecution()
protected Job initializeJob(ICustomContext context)
context
- The CustomContext that will be given to
execute(ICustomContext, IProgressMonitor)
.
protected void configureJob(Job job)
job
- The Job instance to configurepublic final void execute(IContext context)
execute(ICustomContext)
.
execute
in interface IFeature
execute
in class AbstractCustomFeature
context
- this is the general input for this methodIContext
public final void execute(ICustomContext context)
execute(ICustomContext, IProgressMonitor)
, potentially also in
the beforeJobExecution()
and afterJobExecution()
hooks.
The background job and its behavior can be changed in the methods
initializeJob(ICustomContext)
and configureJob(Job)
.
context
- The CustomFeature contextpublic final boolean hasDoneChanges()
false
in any case. This
is usually the desired return value, because this method will be queried
already before the asynchronous feature will be executed (
execute(ICustomContext, IProgressMonitor)
is called). Returning
true
here would mean that users could already undo the
feature while it is still being executed; this would mean also canceling
the a running job. Because of potentially strange effects and complexity
this is not possible.
hasDoneChanges
in interface IFeature
hasDoneChanges
in class AbstractFeature
false
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |