Package org.codehaus.groovy.control

# Class ProcessingUnit

java.lang.Object
org.codehaus.groovy.control.ProcessingUnit

Direct Known Subclasses:
  `CompilationUnit`, `SourceUnit`

public abstract class ProcessingUnit extends Object
A base class for data structures that can collect messages and errors during processing.

Author:
  Chris Poirier

## Field Summary

Fields
Modifier and Type
Field
Description
`protected GroovyClassLoader`
`classLoader`
The ClassLoader to use during processing
`protected CompilerConfiguration`
`configuration`
Configuration and other settings that control processing
`protected ErrorCollector`
`errorCollector`
a helper to share errors and report them
`protected int`
`phase`
The current phase
`protected boolean`
`phaseComplete`
Set true if phase is finished

## Constructor Summary

Constructors
Constructor
Description
`ProcessingUnit(CompilerConfiguration configuration, GroovyClassLoader classLoader, ErrorCollector er)`
Initialize the ProcessingUnit to the empty state.

## Method Summary

Modifier and Type
Method
Description
`void`
`completePhase()`
Marks the current phase complete and processes any errors.
`void`
`configure(CompilerConfiguration configuration)`
Reconfigures the ProcessingUnit.
`GroovyClassLoader`
`getClassLoader()`
Returns the class loader in use by this ProcessingUnit.
`CompilerConfiguration`
`getConfiguration()`
`ErrorCollector`
`getErrorCollector()`
Errors found during the compilation should be reported through the ErrorCollector.
`int`
`getPhase()`
Returns the current phase.
`String`
`getPhaseDescription()`
Returns the description for the current phase.
`void`
`gotoPhase(int phase)`
Wraps up any pending operations for the current phase and switches to the next phase.
`void`
`nextPhase()`
A synonym for `gotoPhase( phase + 1 )`.
`void`
`setClassLoader(GroovyClassLoader loader)`
Sets the class loader for use by this ProcessingUnit.
`void`
`setConfiguration(CompilerConfiguration configuration)`

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

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

## Field Details

### phase

protected int phase
The current phase

### phaseComplete

protected boolean phaseComplete
Set true if phase is finished

### configuration

protected CompilerConfiguration configuration
Configuration and other settings that control processing

### classLoader

protected GroovyClassLoader classLoader
The ClassLoader to use during processing

### errorCollector

protected ErrorCollector errorCollector
a helper to share errors and report them

## Constructor Details

### ProcessingUnit

public ProcessingUnit(CompilerConfiguration configuration, GroovyClassLoader classLoader, ErrorCollector er)
Initialize the ProcessingUnit to the empty state.

## Method Details

### configure

public void configure(CompilerConfiguration configuration)
Reconfigures the ProcessingUnit.

### getConfiguration

public CompilerConfiguration getConfiguration()

### setConfiguration

public void setConfiguration(CompilerConfiguration configuration)

### getClassLoader

public GroovyClassLoader getClassLoader()
Returns the class loader in use by this ProcessingUnit.

### setClassLoader

public void setClassLoader(GroovyClassLoader loader)
Sets the class loader for use by this ProcessingUnit.

### getPhase

public int getPhase()
Returns the current phase.

### getPhaseDescription

public String getPhaseDescription()
Returns the description for the current phase.

### getErrorCollector

public ErrorCollector getErrorCollector()
Errors found during the compilation should be reported through the ErrorCollector.

Returns:
  the ErrorCollector for this ProcessingUnit

### completePhase

public void completePhase() throws CompilationFailedException
Marks the current phase complete and processes any errors.

Throws:
  `CompilationFailedException`

### nextPhase

public void nextPhase() throws CompilationFailedException
A synonym for `gotoPhase( phase + 1 )`.

Throws:
  `CompilationFailedException`

### gotoPhase

public void gotoPhase(int phase) throws CompilationFailedException
Wraps up any pending operations for the current phase and switches to the next phase.

Throws:
  `CompilationFailedException`