public abstract class FilterTable
extends java.lang.Object
DefaultFilterTable
is used.
A filter table is used by MessageAgent
to collect filters
together so message matching can be optimized. Filters are placed
into one of four filter table instances:
Each Filter
instance can provide FilterTables to use. If
none are provided (they return 'null'), then a DefaultFilterTable
is used.
Constructor and Description |
---|
FilterTable() |
Modifier and Type | Method and Description |
---|---|
abstract void |
addFilter(Subscription sub,
java.lang.Object object)
Add subscription to filter table.
|
abstract int |
match(Message message,
java.util.Set<java.lang.Object> matches,
java.util.List<Subscription> triggers)
Match message against filters.
|
abstract void |
removeFilter(Subscription sub,
java.lang.Object object)
Remove subscription from filter table.
|
public abstract void addFilter(Subscription sub, java.lang.Object object)
public abstract void removeFilter(Subscription sub, java.lang.Object object)
public abstract int match(Message message, java.util.Set<java.lang.Object> matches, java.util.List<Subscription> triggers)
message
- Message to match.matches
- Will be populated with subscription's associated
objects.triggers
- Will be populated with subscriptions whose
triggers should be run.matches
.