Package org.apache.wiki.tasks.pages

# Class PreSaveWikiPageTask

java.lang.Object
org.apache.wiki.workflow.AbstractStep
org.apache.wiki.workflow.Task
org.apache.wiki.tasks.pages.PreSaveWikiPageTask

All Implemented Interfaces:
  `Serializable`, `Step`

public class PreSaveWikiPageTask extends Task
Handles the page pre-save actions. If the proposed page text is the same as the current version, the `execute(Context)` method returns `Outcome.STEP_ABORT`. Any WikiExceptions thrown by page filters will be re-thrown, and the workflow will abort.

See Also:
  - Serialized Form

## Field Summary

### Fields inherited from interface org.apache.wiki.workflow.Step

`TIME_NOT_SET`

## Constructor Summary

Constructors
Constructor
Description
`PreSaveWikiPageTask(String proposedText)`
Creates the task.

## Method Summary

Modifier and Type
Method
Description
`Outcome`
`execute(org.apache.wiki.api.core.Context context)`
Executes the processing for this Step and returns an Outcome indicating if it succeeded (`Outcome.STEP_COMPLETE` or `Outcome.STEP_ABORT`).

### Methods inherited from class org.apache.wiki.workflow.Task

`getActor, getSuccessor, setSuccessor`

### Methods inherited from class org.apache.wiki.workflow.AbstractStep

`addError, addSuccessor, getAvailableOutcomes, getEndTime, getErrors, getMessageKey, getOutcome, getStartTime, getSuccessor, getWorkflowContext, getWorkflowId, isCompleted, isStarted, setOutcome, setWorkflow, start`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### PreSaveWikiPageTask

public PreSaveWikiPageTask(String proposedText)
Creates the task.

Parameters:
  `proposedText` - The text that was just saved.

## Method Details

### execute

public Outcome execute(org.apache.wiki.api.core.Context context) throws org.apache.wiki.api.exceptions.WikiException

Executes the processing for this Step and returns an Outcome indicating if it succeeded (`Outcome.STEP_COMPLETE` or `Outcome.STEP_ABORT`). Processing instructions can do just about anything, such as executing custom business logic or changing the Step's final outcome via `Step.setOutcome(Outcome)`. A return value of `STEP_COMPLETE` indicates that the instructions executed completely, without errors; `STEP_ABORT` indicates that the Step and its parent Workflow should be aborted (that is, fail silently without error). If the execution step encounters any errors, it should throw a WikiException or a subclass.

Note that successful execution of this methods does not necessarily mean that the Step is considered "complete"; rather, it just means that it has executed. Therefore, it is possible that `execute` could run multiple times.

Specified by:
  `execute` in interface `Step`
Specified by:
  `execute` in class `AbstractStep`
Parameters:
  `context` - executing wiki context.
Returns:
  the result of the Step, expressed as an Outcome
Throws:
  `org.apache.wiki.api.exceptions.WikiException` - if the step encounters errors while executing