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 java.lang.Object

A base class for data structures that can collect messages and errors during processing.

- ## 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` | True if phase is finished

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `ProcessingUnit​(CompilerConfiguration configuration, GroovyClassLoader classLoader, ErrorCollector errorCollector)` | Initializes 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()` | Gets the CompilerConfiguration for this ProcessingUnit.
  `ErrorCollector` | `getErrorCollector()` | Errors found during the compilation should be reported through the ErrorCollector.
  `int` | `getPhase()` | Returns the current phase.
  `java.lang.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 given phase.
  `boolean` | `isPhaseComplete()` |
  `void` | `nextPhase()` | A synonym for `gotoPhase(getPhase() + 1)`.
  `void` | `setClassLoader​(GroovyClassLoader loader)` | Sets the class loader for use by this ProcessingUnit.
  `void` | `setConfiguration​(CompilerConfiguration configuration)` | Sets the CompilerConfiguration for this ProcessingUnit.

  ### 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
    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 errorCollector)
    Initializes the ProcessingUnit to the empty state.

- ## Method Details

  - ### configure

    public void configure​(CompilerConfiguration configuration)
    Reconfigures the ProcessingUnit.

  - ### getConfiguration

    public CompilerConfiguration getConfiguration()
    Gets the CompilerConfiguration for this ProcessingUnit.

  - ### setConfiguration

    public final void setConfiguration​(CompilerConfiguration configuration)
    Sets the CompilerConfiguration for this ProcessingUnit.

  - ### 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.

  - ### getErrorCollector

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

  - ### getPhase

    public int getPhase()
    Returns the current phase.

  - ### getPhaseDescription

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

  - ### isPhaseComplete

    public boolean isPhaseComplete()

  - ### 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(getPhase() + 1)`.
    Throws:
      `CompilationFailedException`

  - ### gotoPhase

    public void gotoPhase​(int phase) throws CompilationFailedException
    Wraps up any pending operations for the current phase and switches to the given phase.
    Throws:
      `CompilationFailedException`