org.eclipse.ltk.core.refactoring.participants

## Class CheckConditionsContext

- java.lang.Object
- - org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext

    public class CheckConditionsContext
    extends Object

A context that is shared between the refactoring processor and all its associated participants during condition checking.

The context manages a set of `IConditionChecker`objects to collect condition checks that should be perform across all participants and the processor. For example validating if a file can be changed (see `IWorkspace.validateEdit(org.eclipse.core.resources.IFile[], java.lang.Object)` should only be called once for all files modified by the processor and all participants.

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

Constructors
Constructor and Description
`CheckConditionsContext()`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `add(IConditionChecker checker)` Adds the given condition checker.
`RefactoringStatus` `check(IProgressMonitor pm)` Checks the condition of all registered condition checkers and returns a merge status result.
`<T extends IConditionChecker> T` `getChecker(Class<T> clazz)` Returns the condition checker of the given type.

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

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

### Constructor Detail

#### CheckConditionsContext

    public CheckConditionsContext()

### Method Detail

#### getChecker

    public <T extends IConditionChecker> T getChecker(Class<T> clazz)

Returns the condition checker of the given type.

Parameters:
  `clazz` - the type of the condition checker
Returns:
  the condition checker or `null` if no checker is registered for the given type

#### add

    public void add(IConditionChecker checker)
             throws CoreException

Adds the given condition checker. An exception will be thrown if a checker of the same type already exists in this context.

Parameters:
  `checker` - the checker to add
Throws:
  `CoreException` - if a checker of the same type already exists

#### check

    public RefactoringStatus check(IProgressMonitor pm)
                            throws CoreException

Checks the condition of all registered condition checkers and returns a merge status result.

Parameters:
  `pm` - a progress monitor or `null` if no progress reporting is desired
Returns:
  the combined status result
Throws:
  `CoreException` - if an error occurs during condition checking