com.devexperts.qd.kit
Class CompositeFilters

java.lang.Object
  extended by com.devexperts.qd.kit.CompositeFilters

public class CompositeFilters
extends java.lang.Object

SubscriptionFilter utilities that combine other filters with ',' (or) operations, '&' (and) operations, and '!' (not) operations. Grouping with opening '(' and closing ')' parenthesis is also supported.


Method Summary
static RecordOnlyFilter forRecords(java.util.Collection<DataRecord> records)
          Returns filter that accepts only a specified collection of records.
static SubscriptionFilterFactory getFactory(SubscriptionFilterFactory base_factory)
           
static boolean isStableFilter(SubscriptionFilter filter)
           
static SubscriptionFilter makeAnd(SubscriptionFilter one, SubscriptionFilter two)
          Returns new filter that performs logical-and operation on filters.
static SubscriptionFilter makeNot(SubscriptionFilter filter)
          Returns new filter that performs logical-not operation on filters.
static SubscriptionFilter makeOr(SubscriptionFilter one, SubscriptionFilter two)
          Returns new filter that performs logical-or operation on filters.
static StableSubscriptionFilter toStableFilter(SubscriptionFilter filter)
           
static SubscriptionFilter valueOf(java.lang.String spec, SubscriptionFilterFactory base_factory)
          Parses filter specification and combines filters defined by base_factory with ',' (or) operations, '&' (and) operations, and '!'
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getFactory

public static SubscriptionFilterFactory getFactory(SubscriptionFilterFactory base_factory)

valueOf

public static SubscriptionFilter valueOf(java.lang.String spec,
                                         SubscriptionFilterFactory base_factory)
Parses filter specification and combines filters defined by base_factory with ',' (or) operations, '&' (and) operations, and '!' (not) operations. Grouping with opening '(' and closing ')' parenthesis is also supported.

Throws:
java.lang.NullPointerException - if spec is null.
FilterSyntaxException - if spec is invalid.

forRecords

public static RecordOnlyFilter forRecords(java.util.Collection<DataRecord> records)
Returns filter that accepts only a specified collection of records.


toStableFilter

public static StableSubscriptionFilter toStableFilter(SubscriptionFilter filter)

isStableFilter

public static boolean isStableFilter(SubscriptionFilter filter)

makeOr

public static SubscriptionFilter makeOr(SubscriptionFilter one,
                                        SubscriptionFilter two)
Returns new filter that performs logical-or operation on filters.


makeAnd

public static SubscriptionFilter makeAnd(SubscriptionFilter one,
                                         SubscriptionFilter two)
Returns new filter that performs logical-and operation on filters.


makeNot

public static SubscriptionFilter makeNot(SubscriptionFilter filter)
Returns new filter that performs logical-not operation on filters. Resulting filter always accepts wildcard character.