Package jaxx.compiler

Class JAXXEngine

java.lang.Object
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:
Tony Chemit - chemit@codelutin.com
  • Field Details

    • 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 Details

    • JAXXEngine

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

    • 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​(boolean cleanReports)
      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 creating 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