Classes
Class | Description | |
---|---|---|
![]() | DoubleRange |
Holds a range of double values with a minimum (Start) value and a maximum (end) value.
|
![]() | DoubleRangeComparator |
Comparator for DoubleRange values.
Sorts double ranges as this: sort by min asc, max asc. I.e. same minimum value sorts maximum value ascending. |
![]() | EventTypeIndex |
Mapping of event type to a tree-like structure
containing filter parameter constants in indexes net.esper.filter.FilterParamIndex and filter callbacks in net.esper.filter.FilterCallbackSetNode.
This class evaluates events for the purpose of filtering by (1) looking up the event's net.esper.events.EventType and (2) asking the subtree for this event type to evaluate the event. The class performs all the locking required for multithreaded access. |
![]() | EventTypeIndexBuilder | This class is responsible for changes to net.esper.filter.EventTypeIndex for addition and removal of filters.
It delegates the work to make modifications to the filter parameter tree to an net.esper.filter.IndexTreeBuilder.
It enforces a policy that a filter callback can only be added once.
|
![]() | FilterCallbackImpl |
An interface that wraps the the filter callback with a delegate
|
![]() | FilterCallbackSetNode | This class holds a list of indizes storing filter constants in net.esper.filter.FilterParamIndex nodes
and a set of net.esper.filter.FilterCallback.
An instance of this class represents a leaf-node (no indizes stored, just filter callbacks)
but can also be non-leaf (some indizes exist) in a filter evaluation tree.
Events are evaluated by asking each of the indizes to evaluate the event and by
adding any filter callbacks in this node to the "matches" list of callbacks.
|
![]() | FilterOperatorHelper |
Contains static methods useful for help with FilterOperators.
|
![]() | FilterParamIndex |
Each implementation of this abstract class represents an index of filter parameter constants supplied in filter
parameters in filter specifications that feature the same event property and operator.
For example, a filter with a parameter of "count EQUALS 10" would be represented as index
for a property named "count" and for a filter operator typed "EQUALS". The index
would store a value of "10" in its internal structure.
Implementations make sure that the type of the Object constant in get and put calls matches the event property type.
|
![]() | FilterParamIndexCompare |
Index for filter parameter constants for the comparison operators (less, greater, etc).
The implementation is based on the SortedDictionary implementation of SortedDictionary.
The index only accepts numeric constants. It keeps a lower and upper bounds of all constants in the index
for fast range checking, since the assumption is that frequently values fall within a range.
|
![]() | FilterParamIndexEquals |
Index for filter parameter constants to match using the equals (=) operator.
The implementation is based on a regular HashMap.
|
![]() | FilterParamIndexNotEquals |
Index for filter parameter constants to match using the equals (=) operator.
The implementation is based on a regular HashMap.
|
![]() | FilterParamIndexRange |
Index for filter parameter constants for the range operators (range open/closed/half).
The implementation is based on the SortedDictionary implementation of SortedDictionary and stores only expression
parameter values of type DoubleRange.
|
![]() | FilterServiceImpl | Implementation of the filter service interface.
Does not allow the same filter callback to be added more then once.
|
![]() | FilterServiceProvider | Static factory for implementations of the net.esper.filter.FilterService interface. |
![]() | FilterSpec | Contains the filter criteria to sift through events. The filter criteria are the event class to look for and
a set of parameters (attribute names, operators and constant/range values).
|
![]() | FilterSpecParam |
This class represents one filter parameter in an net.esper.filter.FilterSpec filter specification.
Each filerting parameter has an attribute name and operator type. |
![]() | FilterSpecParamComparator | Sort comparator for filter parameters that sorts filter parameters according to filter operator type, and
within the same filter operator sorts by event property name.
|
![]() | FilterSpecParamConstant |
This class represents a single, constant value filter parameter in an net.esper.filter.FilterSpec filter specification.
|
![]() | FilterSpecParamEventProp |
This class represents a filter parameter containing a reference to another event's property
in the event pattern result, for use to describe a filter parameter in a net.esper.filter.FilterSpec filter specification.
|
![]() | FilterSpecParamRange |
This class represents a range filter parameter in an net.esper.filter.FilterSpec filter specification.
|
![]() | FilterSpecValidator |
Utility class for validating filter specifications.
|
![]() | FilterValueSetImpl |
Container for filter values for use by the net.esper.filter.FilterService to filter and distribute incoming events.
|
![]() | FilterValueSetParamImpl |
Filter parameter value defining the event property to filter, the
filter operator, and the filter value.
|
![]() | IndexFactory | Factory for net.esper.filter.FilterParamIndex instances based on event property name and filter operator type. |
![]() | IndexHelper |
Utility class for matching filter parameters to indizes. Matches are indicated by the index net.esper.filter.FilterParamIndex
and the filter parameter net.esper.filter.FilterSpecParam featuring the same event property name and filter operator.
|
![]() | IndexTreeBuilder |
Builder manipulates a tree structure consisting of net.esper.filter.FilterCallbackSetNode and net.esper.filter.FilterParamIndex
instances. Filters can be added to a top node (an instance of FilterCallbackSetNode) via the add method. This
method returns an instance of net.esper.filter.IndexTreePath which represents the tree path (list of indizes) that the
filter callback was added to. To remove filters the same IndexTreePath instance must be passed in.
The implementation is designed to be multithread-safe in conjunction with the node classes manipulated by this class. |
![]() | IndexTreePath |
Encapsulates the information required by net.esper.filter.IndexTreeBuilder to maintain the filter parameter tree structure
when filters are added and removed from the tree.
|
![]() | RangeValueDouble |
A Double-typed value as a filter parameter representing a range.
|
![]() | RangeValueEventProp |
An event property as a filter parameter representing a range.
|
Interfaces
Interface | Description | |
---|---|---|
![]() | EventEvaluator | Interface for matching an event instance based on the event's property values to
filters, specifically filter parameter constants or ranges.
|
![]() | FilterCallback |
Interface for a callback method to be called when an event matches a filter specification.
|
![]() | FilterService | Interface for filtering events by event type and event property values. Allows adding and removing filters.
Filters are defined by a net.esper.filter.FilterSpec and are associated with a net.esper.filter.FilterCallback callback. Implementations may decide if the same filter callback can be registered twice for different or some filter specifications. The performance of an implementation of this service is crucial in achieving a high overall event throughput. |
![]() | FilterSpecParamRangeValue | Interface for range-type filter parameters for type checking and to obtain the filter values for endpoints based
on prior results.
|
![]() | FilterValueSet | Contains the filter criteria to sift through events. The filter criteria are the event class to look for and
a set of parameters (property names, operators and constant/range values).
|
![]() | FilterValueSetParam |
This interface represents one filter parameter in an net.esper.filter.FilterValueSet filter specification.
Each filtering parameter has an property name and operator type, and a value to filter for. |
Delegates
Delegate | Description | |
---|---|---|
![]() | FilterCallbackDelegate |
A delegate wrapper for the filter callback
|
Enumerations
Enumeration | Description | |
---|---|---|
![]() | FilterOperator |
Defines the different operator types available for event filters.
Mathematical notation for defining ranges of floating point numbers is used as defined below: [a,b] a closed range from value a to value b with the end-points a and b included in the range(a,b) an open range from value a to value b with the end-points a and b not included in the range[a,b) a half-open range from value a to value b with the end-point a included and end-point b not included in the range(a,b] a half-open range from value a to value b with the end-point a not included and end-point b included in the range |