5 Programmatic Interface to EPL

This chapter describes Java APIs for working with Event Processing Language (EPL). Note that EPL is deprecated; new development should use Oracle Continuous Query Language (Oracle CQL).

This chapter includes the following sections:

5.1 Java Programming Interfaces

The Java programmatic interface for the EPL is rooted at the com.bea.wlevs.ede.api.Processor interface. This interface provides methods to load, compile, start, stop, and retrieve EPL statements.

EPL statements are loaded and compiled individually through the following method:

  Statement createStatement(String query) throws StatementException;

If the query fails to compile, a StatementException will be thrown. Alternatively, multiple statements may be loaded from a URL using the following method:

  List<Statement> loadStatements (URL location) throws MultiStatementException;

If the queries fail to compile, a MultiStatementException will be thrown. The structure of the rules file is explained in "Configuring EPL Processors" in the Oracle Fusion Middleware Developer's Guide for Oracle Event Processing for Eclipse. Individual queries compiled through the createStatement are not persisted and have no effect on the rule files located at the URL location.

The com.bea.wlevs.ede.api.Statement interface allows event sinks to be attached to an EPL statement using the following method:

  void addEventSink (EventSink listener);

The engine calls the following method on the ccom.bea.wlevs.ede.api.EventSink interface when events are added to the output window as a result of executing the statement:

  void onEvent (List newEvents);

For more information, see the complete Oracle Fusion Middleware Java API Reference for Oracle Event Processing.