org.openide.compiler
Class CompilationEngine

java.lang.Object
  |
  +--org.openide.compiler.CompilationEngine

public abstract class CompilationEngine
extends Object

Provides support for compilation of CompilerJobs; not needed directly by modules. There is only one instance in the system, accessible via TopManager.getCompilationEngine().


Constructor Summary
CompilationEngine()
           
 
Method Summary
protected static Collection createCompilerGroups(Collection compilers)
          Group a number of compilers together into compiler groups.
protected static List createComputationLevels(CompilerJob job)
          Analyze dependencies between sets of compilers.
protected abstract  CompilerTask start(CompilerJob job)
          Start asynchronous compilation of a compiler job.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CompilationEngine

public CompilationEngine()
Method Detail

start

protected abstract CompilerTask start(CompilerJob job)
Start asynchronous compilation of a compiler job.
Parameters:
job - the job to compile
Returns:
the task object representing the compilation

createComputationLevels

protected static List createComputationLevels(CompilerJob job)
                                       throws DependencyException
Analyze dependencies between sets of compilers. Creates list of sets of compilers that describe the levels that compose the compilation. Each level contains a set of compilers that do not depend on each other. The first level contains compilers that do not depend on any other compiler; each next level holds compilers that depend on at least one compiler from the previous level.
Parameters:
job - the compiler job to analyze
Returns:
list of Sets of Compilers
Throws:
DependencyException - if there is a dependency between the compilers in the job

createCompilerGroups

protected static Collection createCompilerGroups(Collection compilers)
                                          throws CompilerGroupException
Group a number of compilers together into compiler groups. The groups then collect all tasks needed for compilation of those compilers.
Parameters:
compilers - collection of Compilers
Returns:
collection of CompilerGroups
Throws:
CompilerGroupException - if a compiler group instance cannot be created


Built on December 12 2001.  |  Portions Copyright 1997-2001 Sun Microsystems, Inc. All rights reserved.