# Class CleanUpRequirements

java.lang.Object
org.eclipse.jdt.ui.cleanup.CleanUpRequirements

public final class CleanUpRequirements extends Object
Specifies the requirements of a clean up. Originally from org.eclipse.jdt.ui 3.5

Since:
  1.21

## Field Summary

Fields
Modifier and Type
Field
Description
`protected final Map<String,String>`
`fCompilerOptions`
`protected final boolean`
`fRequiresAST`
`protected final boolean`
`fRequiresChangedRegions`
`protected final boolean`
`fRequiresFreshAST`
`protected final boolean`
`fRequiresSeparateOptions`

## Constructor Summary

Constructors
Constructor
Description
`CleanUpRequirements(boolean requiresAST, boolean requiresFreshAST, boolean requiresChangedRegions, boolean requiresSeparateOptions, Map<String,String> compilerOptions)`
Create a new instance
`CleanUpRequirements(boolean requiresAST, boolean requiresFreshAST, boolean requiresChangedRegions, Map<String,String> compilerOptions)`
Create a new instance

## Method Summary

Modifier and Type
Method
Description
`Map<String,String>`
`getCompilerOptions()`
Required compiler options.
`boolean`
`requiresAST()`
Tells whether the clean up requires an AST.
`boolean`
`requiresChangedRegions()`
Tells whether this clean up requires to be informed about changed regions.
`boolean`
`requiresFreshAST()`
Tells whether a fresh AST, containing all the changes from previous clean ups, will be needed.
`boolean`
`requiresSeparateOptions()`
Tells whether separate compiler options are required as the options should not be shared with other cleanups.

### Methods inherited from class Object

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

## Field Details

### fRequiresAST

protected final boolean fRequiresAST

### fCompilerOptions

protected final Map<String,String> fCompilerOptions

### fRequiresFreshAST

protected final boolean fRequiresFreshAST

### fRequiresChangedRegions

protected final boolean fRequiresChangedRegions

### fRequiresSeparateOptions

protected final boolean fRequiresSeparateOptions

## Constructor Details

### CleanUpRequirements

public CleanUpRequirements(boolean requiresAST, boolean requiresFreshAST, boolean requiresChangedRegions, Map<String,String> compilerOptions)
Create a new instance

Parameters:
  `requiresAST` - `true` if an AST is required
  `requiresFreshAST` - `true` if a fresh AST is required
  `requiresChangedRegions` - `true` if changed regions are required
  `compilerOptions` - map of compiler options or `null` if no requirements

### CleanUpRequirements

public CleanUpRequirements(boolean requiresAST, boolean requiresFreshAST, boolean requiresChangedRegions, boolean requiresSeparateOptions, Map<String,String> compilerOptions)
Create a new instance

Parameters:
  `requiresAST` - `true` if an AST is required
  `requiresFreshAST` - `true` if a fresh AST is required
  `requiresChangedRegions` - `true` if changed regions are required
  `requiresSeparateOptions` - `true` if clean up has options that should not be shared
  `compilerOptions` - map of compiler options or `null` if no requirements
Since:
  1.23

## Method Details

### requiresAST

public boolean requiresAST()
Tells whether the clean up requires an AST.

Note: This should return `false` whenever possible because creating an AST is expensive.

Returns:
  `true` if the CleanUpContext context must provide an AST

### requiresFreshAST

public boolean requiresFreshAST()
Tells whether a fresh AST, containing all the changes from previous clean ups, will be needed.

Returns:
  `true` if the caller needs an up to date AST

### requiresSeparateOptions

public boolean requiresSeparateOptions()
Tells whether separate compiler options are required as the options should not be shared with other cleanups.

Returns:
  `true` if the cleanup has its own options.
Since:
  1.23

### getCompilerOptions

public Map<String,String> getCompilerOptions()
Required compiler options.

Returns:
  the compiler options map or `null` if none
See Also:
  - `JavaCore`

### requiresChangedRegions

public boolean requiresChangedRegions()
Tells whether this clean up requires to be informed about changed regions. The changed regions are the regions which have been changed between the last save state of the compilation unit and its current state.

Has only an effect if the clean up is used as save action.

Note:: This should return `false` whenever possible because calculating the changed regions is expensive.

Returns:
  `true` if the CleanUpContext context must provide changed regions