## org.eclipse.wst.server.core.model
Class PublisherDelegate

    java.lang.Object
      org.eclipse.wst.server.core.model.PublisherDelegate

    public abstract class PublisherDelegate

extends java.lang.Object

An operation that will be executed during publishing.

Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.

Constructor Summary
`PublisherDelegate()` Create a new operation.

Method Summary
`abstract IStatus` `execute(int kind, IProgressMonitor monitor, IAdaptable info)` Execute (perform) the operation.
`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`

Constructor Detail

### PublisherDelegate

    public PublisherDelegate()

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

Method Detail

### getTaskModel

    public TaskModel getTaskModel()

  Return the task model.

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

  Returns:
    the task model
  See Also:
    `setTaskModel(TaskModel)`

### 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 retrieve data. Its usage allows multiple tasks to be chained together and share data from the output of one task to the input of another.

  Parameters:
    `taskModel` - the task model
  See Also:
    `getTaskModel()`

### execute

    public abstract IStatus execute(int kind,
                                    IProgressMonitor monitor,
                                    IAdaptable info)
                             throws CoreException

  Execute (perform) the operation.

  Parameters:
    `kind` - the kind of publish being requested. Valid values are:
    - `PUBLISH_FULL`- indicates a full publish.
    - `PUBLISH_INCREMENTAL`- indicates a incremental publish.
    - `PUBLISH_CLEAN`- indicates a clean request. Clean throws out all state and cleans up the module on the server before doing a full publish.
    `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 Shell class.
  Returns:
    status indicating what (if anything) went wrong
  Throws:
    `CoreException` - if there was an error while executing the task