Interface EPCompiler


public interface EPCompiler
The EPL compiler compiles EPL text as well as object models to byte code.
  • Method Details

    • compile

      EPCompiled compile(String epl, CompilerArguments arguments) throws EPCompileException
      Compiles EPL and returns the byte code for deployment into a runtime.

      Use semicolon(;) to separate multiple statements in a module.

      Parameters:
      epl - epl to compile
      arguments - compiler arguments
      Returns:
      byte code
      Throws:
      EPCompileException - when the compilation failed
    • compile

      EPCompiled compile(Module module, CompilerArguments arguments) throws EPCompileException
      Compiles a module object model and returns the byte code for deployment into a runtime.
      Parameters:
      module - module object to compile
      arguments - compiler arguments
      Returns:
      byte code
      Throws:
      EPCompileException - when the compilation failed
    • compileQuery

      EPCompiled compileQuery(String fireAndForgetEPLQuery, CompilerArguments arguments) throws EPCompileException
      Compiles a single fire-and-forget query for execution by the runtime.
      Parameters:
      fireAndForgetEPLQuery - fire-and-forget query to compile
      arguments - compiler arguments
      Returns:
      byte code
      Throws:
      EPCompileException - when the compilation failed
    • compileQuery

      EPCompiled compileQuery(EPStatementObjectModel fireAndForgetEPLQueryModel, CompilerArguments arguments) throws EPCompileException
      Compiles fire-and-forget query object model for execution by the runtime.
      Parameters:
      fireAndForgetEPLQueryModel - fire-and-forget query to compile
      arguments - compiler arguments
      Returns:
      byte code
      Throws:
      EPCompileException - when the compilation failed
    • parseModule

      Module parseModule(String eplModuleText) throws IOException, ParseException
      Parse the module text returning the module object model.
      Parameters:
      eplModuleText - to parse
      Returns:
      module object model
      Throws:
      IOException - when the parser failed
      ParseException - when parsing of the module failed
    • eplToModel

      EPStatementObjectModel eplToModel(String epl, Configuration configuration) throws EPCompileException
      Parse the single-statement EPL and return a statement object model.
      Parameters:
      epl - to parse
      configuration - a configuration object when available
      Returns:
      statement object model
      Throws:
      EPCompileException - when the EPL could not be parsed
    • syntaxValidate

      void syntaxValidate(Module module, CompilerArguments arguments) throws EPCompileException
      Validate the syntax of the module.
      Parameters:
      module - to validate
      arguments - compiler arguments
      Throws:
      EPCompileException - when the EPL could not be parsed
    • readModule

      Module readModule(InputStream stream, String moduleUri) throws IOException, ParseException
      Read the input stream and return the module. It is up to the calling method to close the stream when done.
      Parameters:
      stream - to read
      moduleUri - uri of the module
      Returns:
      module module
      Throws:
      IOException - when the io operation failed
      ParseException - when parsing of the module failed
    • readModule

      Module readModule(String resource, ClassLoader classLoader) throws IOException, ParseException
      Read the resource by opening from classpath and return the module.
      Parameters:
      resource - name of the classpath resource
      classLoader - classloader
      Returns:
      module module
      Throws:
      IOException - when the resource could not be read
      ParseException - when parsing of the module failed
    • readModule

      Module readModule(File file) throws IOException, ParseException
      Read the module by reading the text file and return the module.
      Parameters:
      file - the file to read
      Returns:
      module
      Throws:
      IOException - when the file could not be read
      ParseException - when parsing of the module failed
    • readModule

      Module readModule(URL url) throws IOException, ParseException
      Read the module by reading from the URL provided and return the module.
      Parameters:
      url - the URL to read
      Returns:
      module
      Throws:
      IOException - when the url input stream could not be read
      ParseException - when parsing of the module failed