# com.bea.ide.sourcecontrol
SCMAction Class

public abstract class SCMAction
extends `DefaultAction`

An SCM-specific action that can be installed in the UI and executed on command.

Hierarchy
  `Object`
  `DefaultAction`
  `SCMAction`

All Implemented Interfaces
  `ActionListener`, `EventListener`, `IAction`, `PropertyChangeListener`

## Nested Class Summary

`public static interface` | `SCMAction.ISCMActionCallback` SourceControlSvc.performAction will call this interface when the action is completed.
`protected static class` | `SCMAction.SCMState`

## Field Summary

`protected `URI`` | `_uris` URI
`protected static final `URI`` | `NO_URIS` URI
`protected static final `SCMAction.SCMState`` | `STATE_EDIT` SCMAction.SCMState
`protected static final `SCMAction.SCMState`` | `STATE_REVERT` SCMAction.SCMState

Fields from com.bea.ide.actions`.`DefaultAction``
``_proxy``

## Constructor Summary

SCMAction()

## Method Summary

`public final void` | `actionPerformed`(`ActionEvent` event) Invoked when an action occurs.
`public abstract void` | `executeAction`(`ActionEvent` e) Perform whatever action this implementation represents.
`public abstract `URI`[]` | `getAffectedFiles`() Called after executeAction to get a list of files affected by the action.
`public `SCMAction.SCMState`` | `getState`() Called to get the state object that should be used with file change events.
`public `URI`[]` | `getURIs`() Returns the URIs that this action acts on.
`public abstract `String`` | `getVerb`() human-readable String describing what action is occurring: "edit", "submit"
`protected void` | `saveOpenDocuments`() convenience method for actions that want to save before continuing.
`public void` | `setURIs`(`URI`[] uris) Tells the action what URIs should be acted on.

Methods from `com.bea.ide.actions.`DefaultAction``
``getProxy`, `propertyChange``

Methods from class `java.lang.`Object``
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods from interface `java.awt.event.`ActionListener``
`actionPerformed`

Methods from interface `com.bea.ide.actions.`IAction``
``actionPerformed`, `propertyChange``

Methods from interface `java.beans.`PropertyChangeListener``
`propertyChange`

## Field Detail

### _uris

    protected URI _uris

### NO_URIS

    protected static final URI NO_URIS

### STATE_EDIT

    protected static final SCMAction.SCMState STATE_EDIT

### STATE_REVERT

    protected static final SCMAction.SCMState STATE_REVERT

## Constructor Detail

### SCMAction

    public SCMAction()

## Method Detail

### actionPerformed(ActionEvent) Method

    public final void actionPerformed(ActionEvent event)

Description copied from `IAction.actionPerformed(ActionEvent)`
Invoked when an action occurs.

#### Parameters

event
  AWT action event associated with this invocation.

### executeAction(ActionEvent) Method

    public abstract void executeAction(ActionEvent e)

Perform whatever action this implementation represents. This call may or may not be on the AWT Event thread.

#### Parameters

e
  an action event. May be null.

### getAffectedFiles() Method

    public abstract URI[] getAffectedFiles()

Called after executeAction to get a list of files affected by the action.

### getState() Method

    public SCMAction.SCMState getState()

Called to get the state object that should be used with file change events. Generally the state object is either _stateEdit, _stateRevert or null. Null causes filesystem listeners to treat a change as external while edit and revert will indicate whether listeners should honor or discard existing changes

### getURIs() Method

    public URI[] getURIs()

Returns the URIs that this action acts on.

### getVerb() Method

    public abstract String getVerb()

human-readable String describing what action is occurring: "edit", "submit"

### saveOpenDocuments() Method

    protected void saveOpenDocuments()

convenience method for actions that want to save before continuing.

### setURIs(URI[]) Method

    public void setURIs(URI[] uris)

Tells the action what URIs should be acted on.