org.codehaus.groovy.control
Class ProcessingUnit

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

Version:
$Id: ProcessingUnit.java 10981 2008-02-29 17:50:27Z shemnon $
Author:
Chris Poirier

Field Summary
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
ProcessingUnit(CompilerConfiguration configuration, GroovyClassLoader classLoader, ErrorCollector er)
          Initialize the ProcessingUnit to the empty state.
 
Method Summary
 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()
           
 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 Detail

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 Detail

ProcessingUnit

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

Method Detail

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()

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

Copyright © 2003-2009 The Codehaus. All rights reserved.