Class CreateChangeOperation
- All Implemented Interfaces:
IWorkspaceRunnable
,ICoreRunnable
Change
object for a given
refactoring. If created with a refactoring object directly, no precondition
checking is performed. If created with a CheckConditionsOperation
the
requested precondition checking is performed before creating the change.
If the precondition checking returns a fatal error or the status's severity exceeds a certain threshold then no change will be created.
If a change has been created the operation calls Change.initializeValidationData(IProgressMonitor)
to initialize the change's validation data.
The operation should be executed via the run method offered by
IWorkspace
to achieve proper delta batching.
Note: this class is not intended to be extended by clients.
- Since:
- 3.0
- Restriction:
- This class is not intended to be subclassed by clients.
-
Constructor Summary
ConstructorDescriptionCreateChangeOperation
(CheckConditionsOperation operation, int checkFailedSeverity) Creates a new operation with the givenCheckConditionsOperation
.CreateChangeOperation
(Refactoring refactoring) Creates a new operation with the given refactoring. -
Method Summary
Modifier and TypeMethodDescriptionReturns the outcome of the operation ornull
if an exception occurred when performing the operation or the operation hasn't been performed yet.int
Returns the condition checking failed severity used by this operation.Returns the status of the condition checking.int
Returns the condition checking style as set to theCheckConditionsOperation
.void
run
(IProgressMonitor pm) Executes this runnable.
-
Constructor Details
-
CreateChangeOperation
Creates a new operation with the given refactoring. No condition checking is performed before creating the change object. It is assumed that the condition checking has already been performed outside of this operation. The operation might fail if the precondition checking has not been performed yet.- Parameters:
refactoring
- the refactoring for which the change is to be created
-
CreateChangeOperation
Creates a new operation with the givenCheckConditionsOperation
. When performed the operation first checks the conditions as specified by theCheckConditionsOperation
. Depending on the result of the condition checking a change object is created or not.- Parameters:
operation
- the condition checking operationcheckFailedSeverity
- the severity from which on the condition checking is interpreted as failed. The passed value must be greater thanRefactoringStatus.OK
and less than or equalRefactoringStatus.FATAL
. The standard value from which on a condition check should is to be interpreted as failed can be accessed viaRefactoringCore.getConditionCheckingFailedSeverity()
.
-
-
Method Details
-
getConditionCheckingFailedSeverity
public int getConditionCheckingFailedSeverity()Returns the condition checking failed severity used by this operation.- Returns:
- the condition checking failed severity
- See Also:
-
run
Description copied from interface:ICoreRunnable
Executes this runnable.The provided monitor can be used to report progress and respond to cancellation. If the progress monitor has been canceled, the runnable should finish its execution at the earliest convenience and throw an
OperationCanceledException
. ACoreException
with a status of severityIStatus.CANCEL
has the same effect as anOperationCanceledException
.- Specified by:
run
in interfaceICoreRunnable
- Specified by:
run
in interfaceIWorkspaceRunnable
- Parameters:
pm
- a progress monitor, ornull
if progress reporting and cancellation are not desired. The monitor is only valid for the duration of the invocation of this method. Callers may callIProgressMonitor.done()
after this method returns or throws an exception, but this is not strictly required.- Throws:
CoreException
- if this operation fails
-
getChange
Returns the outcome of the operation ornull
if an exception occurred when performing the operation or the operation hasn't been performed yet.- Returns:
- the created change or
null
-
getConditionCheckingStatus
Returns the status of the condition checking. Returnsnull
if no condition checking has been requested.- Returns:
- the status of the condition checking
-
getConditionCheckingStyle
public int getConditionCheckingStyle()Returns the condition checking style as set to theCheckConditionsOperation
. If no condition checking operation is provided (e.g. the change is created directly by callingRefactoring.createChange(IProgressMonitor)
thenCheckConditionsOperation.NONE
is returned.- Returns:
- the condition checking style
-