jaxx.compiler
Class JAXXEngine

java.lang.Object
  extended by jaxx.compiler.JAXXEngine

public class JAXXEngine
extends java.lang.Object

The engine to compile jaxx files.

The method run() launch the compilation of files.

Since:
2.0.0 was previously JAXXCompilerLaunchor
Author:
tchemit

Field Summary
protected  java.util.List<JAXXCompilerFile> compilingFiles
          Files to compile
protected  CompilerConfiguration configuration
          configuration of the launchor and underlines compilers
protected  JAXXEngineTask currentTask
          current pass of the engine
protected  java.util.List<java.lang.String> errors
          Errors detected while running.
protected  JAXXCompilerFile[] incomingFiles
          original list of files to compile (says the detected modfied files)
protected  JAXXProfile profiler
          profile attached to the engine (can be null)
protected  JAXXEngineTask[] tasks
          tasks to launch
protected  java.util.List<java.lang.String> warnings
          Warnings detected while running.
 
Constructor Summary
protected JAXXEngine(CompilerConfiguration configuration, java.io.File base, java.lang.String... relativePaths)
           
 
Method Summary
 void addError(java.lang.String error)
          Add an error to the engine.
 void addFileToCompile(java.io.File jaxxFile, java.lang.String jaxxClassName)
          Adds a JAXXCompilerFile given the jaxx file and the corresponding class fully qualified name.
 void addFileToCompile(JAXXCompilerFile file)
          Adds a file to be compiled.
 void addProfileTime(JAXXCompiler compiler, java.lang.String key)
          Add a profile time for the given compiler and key.
 void addWarning(java.lang.String warning)
          Add a warning to the engine.
 void clearReports()
           
 boolean containsJaxxFileClassName(java.lang.String className)
           
 JAXXCompilerFile[] getCompiledFiles()
           
 CompilerConfiguration getConfiguration()
           
 CompiledObjectDecorator getDecorator(java.lang.Class<?> type)
          Obtain the decorator of the given type.
 CompiledObjectDecorator getDecorator(java.lang.String name)
          Obtain the decorator of the given name.
 java.util.List<java.lang.String> getErrors()
           
 JAXXCompilerFile[] getFilesToCompile()
           
 JAXXCompilerFile[] getIncomingFiles()
           
 JAXXCompiler getJAXXCompiler(java.lang.String className)
          Obtain the jaxx compiler of the given class name.
 JAXXCompilerFile getJAXXCompilerFile(java.lang.String className)
          Obtain the jaxx compiler of the given class name.
 JAXXProfile getProfiler()
           
 SymbolTable getSymbolTable(java.lang.String className)
          Obtain the symbo table for the given class name.
 JAXXEngineTask[] getTasks()
           
 java.lang.String getVersion()
           
 java.util.List<java.lang.String> getWarnings()
           
 boolean isCompileFirstPassTask()
           
 boolean isVerbose()
           
 JAXXCompiler newCompiler(JAXXCompilerFile jaxxFile)
          Create a new compiler and attach it to the given jaxxFile.
protected  void reset()
          Resets all state in preparation for a new compilation session.
 int run()
          Compiled a set of files.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

configuration

protected final CompilerConfiguration configuration
configuration of the launchor and underlines compilers


incomingFiles

protected final JAXXCompilerFile[] incomingFiles
original list of files to compile (says the detected modfied files)


compilingFiles

protected final java.util.List<JAXXCompilerFile> compilingFiles
Files to compile


warnings

protected final java.util.List<java.lang.String> warnings
Warnings detected while running.


errors

protected final java.util.List<java.lang.String> errors
Errors detected while running.


tasks

protected JAXXEngineTask[] tasks
tasks to launch


currentTask

protected JAXXEngineTask currentTask
current pass of the engine


profiler

protected JAXXProfile profiler
profile attached to the engine (can be null)

Constructor Detail

JAXXEngine

protected JAXXEngine(CompilerConfiguration configuration,
                     java.io.File base,
                     java.lang.String... relativePaths)
Method Detail

getTasks

public JAXXEngineTask[] getTasks()

getErrors

public java.util.List<java.lang.String> getErrors()
Returns:
the errors of the engine

getWarnings

public java.util.List<java.lang.String> getWarnings()
Returns:
the warnings of the engine

getProfiler

public JAXXProfile getProfiler()

getConfiguration

public CompilerConfiguration getConfiguration()

getIncomingFiles

public JAXXCompilerFile[] getIncomingFiles()

getFilesToCompile

public JAXXCompilerFile[] getFilesToCompile()

getCompiledFiles

public JAXXCompilerFile[] getCompiledFiles()

containsJaxxFileClassName

public boolean containsJaxxFileClassName(java.lang.String className)

isCompileFirstPassTask

public boolean isCompileFirstPassTask()

reset

protected void reset()
Resets all state in preparation for a new compilation session.


clearReports

public void clearReports()

getVersion

public java.lang.String getVersion()

getJAXXCompilerFile

public JAXXCompilerFile getJAXXCompilerFile(java.lang.String className)
Obtain the jaxx compiler of the given class name.

Parameters:
className - the name of the class to use
Returns:
the compiler instance which is processing the specified JAXX class. Each class is compiled by a different compiler instance.

getJAXXCompiler

public JAXXCompiler getJAXXCompiler(java.lang.String className)
Obtain the jaxx compiler of the given class name.

Parameters:
className - the name of the class to use
Returns:
the compiler instance which is processing the specified JAXX class. Each class is compiled by a different compiler instance.

getSymbolTable

public SymbolTable getSymbolTable(java.lang.String className)
Obtain the symbo table for the given class name.

Parameters:
className - the name of the class to use
Returns:
the symbol table for the specified JAXX class. Must be called during the second compiler pass. Returns null if no such symbol table could be found.

getDecorator

public CompiledObjectDecorator getDecorator(java.lang.String name)
                                     throws java.lang.IllegalArgumentException
Obtain the decorator of the given name.

Parameters:
name - the name of the decorator
Returns:
the decorator found.
Throws:
java.lang.IllegalArgumentException - if decorator not found for the given name.

getDecorator

public CompiledObjectDecorator getDecorator(java.lang.Class<?> type)
Obtain the decorator of the given type.

Parameters:
type - the type of the decorator (syas his fqn)
Returns:
the decorator found

addWarning

public void addWarning(java.lang.String warning)
Add a warning to the engine.

Parameters:
warning - the warning to add

addError

public void addError(java.lang.String error)
Add an error to the engine.

Parameters:
error - the error to add

run

public int run()
Compiled a set of files.

Returns:
-1 if errors appears, the number of generated files otherwise.

addFileToCompile

public void addFileToCompile(JAXXCompilerFile file)
Adds a file to be compiled.

Parameters:
file - the JAXXCompilerFile to add.

addFileToCompile

public void addFileToCompile(java.io.File jaxxFile,
                             java.lang.String jaxxClassName)
Adds a JAXXCompilerFile given the jaxx file and the corresponding class fully qualified name.

Parameters:
jaxxFile - the jaxx file location
jaxxClassName - the fully qualified name of the jaxx class

newCompiler

public JAXXCompiler newCompiler(JAXXCompilerFile jaxxFile)
                         throws java.lang.Exception
Create a new compiler and attach it to the given jaxxFile.

Parameters:
jaxxFile - the definition of jaxx file to compile
Returns:
the new compiler
Throws:
java.lang.Exception - if any pb while creation of compiler

isVerbose

public boolean isVerbose()

addProfileTime

public void addProfileTime(JAXXCompiler compiler,
                           java.lang.String key)
Add a profile time for the given compiler and key.

Note: if profiler is null, do nothing

Parameters:
compiler - the compiler to profile
key - the key of profiling


Copyright © 2008-2010 CodeLutin. All Rights Reserved.