org.eclipse.wst.server.core.model
Class PublishOperation

java.lang.Object
  extended byorg.eclipse.wst.server.core.model.PublishOperation

public abstract class PublishOperation
extends java.lang.Object

An publish operation that will be executed during publishing. [issue: EY It is not clear to me that when this task will be run. Will the place where the task is being run depend on the server, e.g. the TDC tasks for the v6 server should be run after the server is started the modules are added to the server; however, the EJB deploy task makes more sense to be run before adding the project to the server.]

Since:
1.0

Field Summary
static int OPTIONAL
          Operation kind constant (value 0) indicating that the operation does not need be executed.
static int PREFERRED
          Operation kind constant (value 1) indicating that the operation should be executed.
static int REQUIRED
          Operation kind constant (value 2) indicating that the operation must be executed.
 
Constructor Summary
PublishOperation()
          Create a new operation.
PublishOperation(java.lang.String label, java.lang.String description)
          Create a new operation with the given label and description.
 
Method Summary
abstract  void execute(IProgressMonitor monitor, IAdaptable info)
          Execute (perform) the operation.
 java.lang.String getDescription()
          Returns the displayable description for this operation.
 int getKind()
          Returns the kind of this operation.
 java.lang.String getLabel()
          Returns the displayable label for this operation.
abstract  int getOrder()
          Returns the order (index/priority) of the task that will be run.
 TaskModel getTaskModel()
          Return the task model.
 void setTaskModel(TaskModel taskModel)
          Set the task model.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

OPTIONAL

public static final int OPTIONAL
Operation kind constant (value 0) indicating that the operation does not need be executed.

See Also:
getKind(), Constant Field Values

PREFERRED

public static final int PREFERRED
Operation kind constant (value 1) indicating that the operation should be executed.

See Also:
getKind(), Constant Field Values

REQUIRED

public static final int REQUIRED
Operation kind constant (value 2) indicating that the operation must be executed.

See Also:
getKind(), Constant Field Values
Constructor Detail

PublishOperation

public PublishOperation()
Create a new operation. The label and description must be supplied by overriding the getLabel() and getDescription() methods.


PublishOperation

public PublishOperation(java.lang.String label,
                        java.lang.String description)
Create a new operation with the given label and description.

Parameters:
label - a translated label for the operation
description - the operation description
Method Detail

getKind

public int getKind()
Returns the kind of this operation. Operations can either be OPTIONAL (do not have to be executed), PREFERRED (should be executed), or REQUIRED (must be executed).

Returns:
one of the kind constants (e.g. REQUIRED) declared on PublishOperation

getOrder

public abstract int getOrder()
Returns the order (index/priority) of the task that will be run. The task with a smaller order value will be run before the task with a bigger order value. For tasks that have the same order value, the order of running those task are not guaranteed.

Returns:
the order (index/priority) of the task that will be run.

getLabel

public java.lang.String getLabel()
Returns the displayable label for this operation.

Note that this label is appropriate for the current locale.

Returns:
a displayable label for this operation

getDescription

public java.lang.String getDescription()
Returns the displayable description for this operation.

Note that this description is appropriate for the current locale.

Returns:
a displayable description for this operation

getTaskModel

public TaskModel getTaskModel()
Return the task model.

A task model contains information about the overall task flow and allows tasks to store and retreive data. Its usage allows mutliple tasks to be chained together and share data from the output of one task to the input of another.

Returns:
the task model

setTaskModel

public void setTaskModel(TaskModel taskModel)
Set the task model.

A task model contains information about the overall task flow and allows tasks to store and retreive data. Its usage allows mutliple tasks to be chained together and share data from the output of one task to the input of another.

Parameters:
taskModel - the task model

execute

public abstract void execute(IProgressMonitor monitor,
                             IAdaptable info)
                      throws CoreException
Execute (perform) the operation.

Parameters:
monitor - a progress monitor, or null if progress reporting and cancellation are not desired
info - the IAdaptable (or null) provided by the caller in order to supply UI information for prompting the user if necessary. When this parameter is not null, it should minimally contain an adapter for the org.eclipse.swt.widgets.Shell.class.
Throws:
CoreException - if there was an error while executing the task