org.eclipse.gef.mvc.fx.ui.properties

## Class SetPropertyValueOperation

- java.lang.Object
- - org.eclipse.core.commands.operations.AbstractOperation
  - - org.eclipse.gef.mvc.fx.ui.properties.SetPropertyValueOperation

All Implemented Interfaces:
  IUndoableOperation, ITransactionalOperation

    public class SetPropertyValueOperation
    extends AbstractOperation
    implements ITransactionalOperation

An `ITransactionalOperation` used to set or reset the value of a property.

### Field Summary

Fields
`protected static java.lang.Object` `DEFAULT_VALUE` Value constant to indicate that the property is to be reset to its default value during execute/redo and undo.

### Constructor Summary

Constructors
Constructor and Description
`SetPropertyValueOperation(java.lang.String propertyLabel, IPropertySource propertySource, java.lang.Object propertyId, java.lang.Object newValue)` Constructs a new `SetPropertyValueOperation`.

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `canExecute()`
`IStatus` `execute(IProgressMonitor monitor, IAdaptable info)`
`java.lang.Object` `getNewValue()` Returns the new value to be set for the property when executing or redoing.
`java.lang.Object` `getOldValue()` After the command has been executed or redone, returns the old value of the property or `DEFAULT_VALUE` if the property did not have a value before.
`java.lang.Object` `getPropertyId()` Returns the id by which to identify the property whose value is to be set.
`IPropertySource` `getPropertySource()` Returns the `IPropertySource` which provides the property, whose value is to be set.
`boolean` `isContentRelevant()` Returns `true` if this `ITransactionalOperation` is actually changing model data (instead of only affecting the visualization).
`boolean` `isNoOp()` Returns `true` if this `ITransactionalOperation` has no effect (in comparison to its initial state).
`IStatus` `redo(IProgressMonitor monitor, IAdaptable info)`
`void` `setContentRelevant(boolean isContentRelevant)` Sets the content-relevancy of this operation to the given value.
`IStatus` `undo(IProgressMonitor monitor, IAdaptable info)`

### Methods inherited from class org.eclipse.core.commands.operations.AbstractOperation

`addContext, canRedo, canUndo, dispose, getContexts, getLabel, hasContext, removeContext, setLabel, toString`

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

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

### Methods inherited from interface org.eclipse.core.commands.operations.IUndoableOperation

`addContext, canRedo, canUndo, dispose, getContexts, getLabel, hasContext, removeContext`

### Field Detail

#### DEFAULT_VALUE

    protected static final java.lang.Object DEFAULT_VALUE

Value constant to indicate that the property is to be reset to its default value during execute/redo and undo.

### Constructor Detail

#### SetPropertyValueOperation

    public SetPropertyValueOperation(java.lang.String propertyLabel,
                                     IPropertySource propertySource,
                                     java.lang.Object propertyId,
                                     java.lang.Object newValue)

Constructs a new `SetPropertyValueOperation`.

Parameters:
  `propertyLabel` - A label to identify the property whose value is set by this command.
  `propertySource` - The property source which provides the property, whose value is to be set.
  `propertyId` - The id of the property whose value is to be set.
  `newValue` - The new value to set for the property or `DEFAULT_VALUE` to indicate that the property should be reset.

### Method Detail

#### canExecute

    public boolean canExecute()

Specified by:
  `canExecute` in interface `IUndoableOperation`
Overrides:
  `canExecute` in class `AbstractOperation`

#### execute

    public IStatus execute(IProgressMonitor monitor,
                           IAdaptable info)
                    throws ExecutionException

Specified by:
  `execute` in interface `IUndoableOperation`
Specified by:
  `execute` in class `AbstractOperation`
Throws:
  `ExecutionException`

#### getNewValue

    public java.lang.Object getNewValue()

Returns the new value to be set for the property when executing or redoing.

Returns:
  the new value or `DEFAULT_VALUE` to indicate that the default value should be set as the new value.

#### getOldValue

    public java.lang.Object getOldValue()

After the command has been executed or redone, returns the old value of the property or `DEFAULT_VALUE` if the property did not have a value before.

Returns:
  the old value of the property or `DEFAULT_VALUE`.

#### getPropertyId

    public java.lang.Object getPropertyId()

Returns the id by which to identify the property whose value is to be set.

Returns:
  the id of the property whose value is to be set.

#### getPropertySource

    public IPropertySource getPropertySource()

Returns the `IPropertySource` which provides the property, whose value is to be set.

Returns:
  the `IPropertySource` which provides the property.

#### isContentRelevant

    public boolean isContentRelevant()

Description copied from interface: `ITransactionalOperation`
Returns `true` if this `ITransactionalOperation` is actually changing model data (instead of only affecting the visualization). Otherwise returns `false`. The content relevance of an `ITransactionalOperation` can be checked to determine if the execution of the operation will affect the model, for example, to set an editor's dirty flag.

Specified by:
  `isContentRelevant` in interface `ITransactionalOperation`
Returns:
  `true` if this `ITransactionalOperation` is actually changing model data, otherwise `false`.

#### isNoOp

    public boolean isNoOp()

Description copied from interface: `ITransactionalOperation`
Returns `true` if this `ITransactionalOperation` has no effect (in comparison to its initial state). Otherwise returns `false`.

Specified by:
  `isNoOp` in interface `ITransactionalOperation`
Returns:
  `true` if this `ITransactionalOperation` has no effect, otherwise `false`.

#### redo

    public IStatus redo(IProgressMonitor monitor,
                        IAdaptable info)
                 throws ExecutionException

Specified by:
  `redo` in interface `IUndoableOperation`
Specified by:
  `redo` in class `AbstractOperation`
Throws:
  `ExecutionException`

#### setContentRelevant

    public void setContentRelevant(boolean isContentRelevant)

Sets the content-relevancy of this operation to the given value.

Parameters:
  `isContentRelevant` - `true` if this operation is content-relevant, `false` otherwise.

#### undo

    public IStatus undo(IProgressMonitor monitor,
                        IAdaptable info)
                 throws ExecutionException

Specified by:
  `undo` in interface `IUndoableOperation`
Specified by:
  `undo` in class `AbstractOperation`
Throws:
  `ExecutionException`