## org.eclipse.jet.taglib.workspace
Interface IWorkspaceAction2

All Superinterfaces:
  IWorkspaceAction

All Known Implementing Classes:
  AbstractWorkspaceAction2

    public interface IWorkspaceAction2

extends IWorkspaceAction

Enhanced workspace action protocol based on `IWorkspaceAction` that provides feedback on whether an action IO action was performed.

Clients that perform expensive actions that can be avoided should implement `IWorkspaceAction2` in preference to `IWorkspaceAction` and should derive their implementations for `AbstractWorkspaceAction2` instead of `AbstractWorkspaceAction`.

Since 0.9, the following extension interfaces may be implemented:

- `IWorkspaceActionExtension` to enable avoidance of unnecessary file writes on `JET2Writer` based actions

Method Summary
`boolean` `performActionIfRequired(org.eclipse.core.runtime.IProgressMonitor monitor)` Perform the workspace action if required.

Methods inherited from interface org.eclipse.jet.taglib.workspace.IWorkspaceAction
`getResource, getTagInfo, getTemplatePath, performAction, requiresValidateEdit`

Method Detail

### performActionIfRequired

    boolean performActionIfRequired(org.eclipse.core.runtime.IProgressMonitor monitor)
                                    throws JET2TagException

  Perform the workspace action if required. The method returns `true` if the action was performed and `false` otherwise. Note that implementations should throw a `JET2TagException` in the case of an error rather than returning `false`. The framework will call this method instead of `IWorkspaceAction.performAction(IProgressMonitor)`.

  Parameters:
    `monitor` - the progress monitor to which progress information will be written.
  Returns:
    `true` if files/folders were actually created/updated and `false` otherwise
  Throws:
    `JET2TagException` - if the action cannot be successfully performed.

Copyright 2006 IBM Corporation and others. All Rights Reserved.