public class PreparedEventExpression extends EventExpression implements java.io.Serializable
Instances of this class are created from PreparedEventExpressionTemplate
objects.
The parameter fields of the PreparedEventExpression can then be filled in
to create a fully-qualified event expression, to which MatchListener
objects can be attached.
For example, the statement:
PreparedEventExpressionTemplate et = new PreparedEventExpressionTemplate("on NewsItem(?, *):news -> StockTick(?, *)");creates a template with two parameters, indicated by the '?' characters in the template string. The template may then be instantiated:
PreparedEventExpression pex = et.getInstance(); pex.setString(0, "ACME"); pex.setString(1, "ACME");The
PreparedEventExpression
object may then
have MatchListener
objects attached to it as usual. In
this example the matching NewsItem event is co-assigned to the variable
called news. This means that the NewsItem event that caused the match will
be available to the MatchListener
from the fired
MatchEvent
by calling evt.getMatchingEvent("news");
When the expression is matched, all registered listeners will be
informed. An object implementing the MatchListener
interface may be registered by calling the addMatchListener
method, and deregistered by calling the removeMatchListener
method.
Modifier and Type | Method and Description |
---|---|
void |
addMatchListener(MatchListener listenerToAdd)
Add a listener to be notified when the match occurs for this event
expression.
|
void |
removeAllMatchListeners()
Remove all previously registered match listeners.
|
void |
setBoolean(int position,
boolean value)
Set a Boolean type parameter in the PreparedEventExpression.
|
void |
setDouble(int position,
double value)
Set a double type parameter in the PreparedEventExpression.
|
void |
setLocation(int position,
Location value)
Set a Location type parameter in the PreparedEventExpression.
|
void |
setLong(int position,
long value)
Set a long type parameter in the PreparedEventExpression.
|
void |
setString(int position,
java.lang.String value)
Set a string type parameter in the PreparedEventExpression.
|
java.lang.String |
toString()
Get the String value of the PreparedEventExpression,
|
getEventExpressionString, removeMatchListener
public java.lang.String toString()
toString
in class EventExpression
EventExpression.getEventExpressionString()
public void setDouble(int position, double value) throws PreparedEventExpressionException
position
- Parameter position with the expression template,
counting from zero.value
- The double value of the parameter.PreparedEventExpressionException
public void setLong(int position, long value) throws PreparedEventExpressionException
position
- Parameter position with the expression template,
counting from zero.value
- The long value of the parameter.PreparedEventExpressionException
public void setString(int position, java.lang.String value) throws PreparedEventExpressionException
position
- Parameter position with the expression template,
counting from zero.value
- The string value of the parameter.PreparedEventExpressionException
public void setBoolean(int position, boolean value) throws PreparedEventExpressionException
position
- Parameter position with the expression template,
counting from zero.value
- The Boolean value of the parameter.PreparedEventExpressionException
public void setLocation(int position, Location value) throws PreparedEventExpressionException
position
- Parameter position with the expression template,
counting from zero.value
- The Location value of the parameter.PreparedEventExpressionException
public void addMatchListener(MatchListener listenerToAdd)
addMatchListener
in class EventExpression
listenerToAdd
- an object implementing the MatchListener interface
to be notified when matches occur for this expression.public void removeAllMatchListeners()
removeAllMatchListeners
in class EventExpression
Submit a bug or feature
Copyright (c) 2013-2022 Software AG, Darmstadt, Germany and/or Software AG USA Inc., Reston, VA, USA, and/or its subsidiaries and/or its affiliates and/or their licensors. Use, reproduction, transfer, publication or disclosure is prohibited except as specifically provided for in your License Agreement with Software AG.