Package org.refcodes.observer
Class EventMatcherSugar
- java.lang.Object
-
- org.refcodes.observer.EventMatcherSugar
-
public class EventMatcherSugar extends java.lang.ObjectDeclarative syntactic sugar which may be statically imported in order to allow declarative definitions for theEventMatcherelements.
-
-
Constructor Summary
Constructors Constructor Description EventMatcherSugar()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <E extends GenericActionMetaDataEvent<A,?,?>,A>
EventMatcher<E>actionEqualWith(A aAction)Factory method to create an "EQUAL WITH" matcher for the given action compared with the action stored in theEventMetaData.static <E extends GenericMetaDataEvent<?,?>>
EventMatcher<E>and(EventMatcher<E>... aEventMatchers)Factory method to create an "AND" matcher for the given matchers.static <E extends GenericMetaDataEvent<?,?>>
EventMatcher<E>catchAll()Catches all events, no matching is done.static <E extends GenericMetaDataEvent<?,?>>
EventMatcher<E>catchNone()Catches no event, no matching is done.static <E extends GenericMetaDataEvent<?,?>>
EventMatcher<E>groupEqualWith(java.lang.String aGroup)Factory method to create an "EQUAL WITH" matcher for the given group compared with the group stored in theEventMetaData.static <E extends GenericMetaDataEvent<?,?>>
EventMatcher<E>isAssignableFrom(java.lang.Class<?> aEventType)Factory method to create an event matcher by event type.static <E extends GenericMetaDataEvent<?,?>>
EventMatcher<E>nameEqualWith(java.lang.String aAlias)Factory method to create an "EQUAL WITH" matcher for the given name compared with the name stored in theEventMetaData.static <E extends GenericMetaDataEvent<?,?>>
EventMatcher<E>or(EventMatcher<E>... aEventMatchers)Factory method to create an "OR" matcher for the given matchers.static <E extends GenericMetaDataEvent<?,?>,PT>
EventMatcher<E>publisherIsAssignableFrom(java.lang.Class<? extends PT> aPublisherType)Factory method to create an event matcher by event publisher type.static <E extends GenericMetaDataEvent<?,?>>
EventMatcher<E>universalIdEqualWith(java.lang.String aUid)Factory method to create an "EQUAL WITH" matcher for the given UID compared with the UID stored in theEventMetaData.
-
-
-
Method Detail
-
catchAll
public static <E extends GenericMetaDataEvent<?,?>> EventMatcher<E> catchAll()
Catches all events, no matching is done.- Type Parameters:
E- The type of the event to be matched- Returns:
- The "catch-all"
EventMatcher.
-
catchNone
public static <E extends GenericMetaDataEvent<?,?>> EventMatcher<E> catchNone()
Catches no event, no matching is done.- Type Parameters:
E- The type of the event to be matched- Returns:
- The "catch-none"
EventMatcher.
-
isAssignableFrom
public static <E extends GenericMetaDataEvent<?,?>> EventMatcher<E> isAssignableFrom(java.lang.Class<?> aEventType)
Factory method to create an event matcher by event type.- Type Parameters:
E- The type of the event to be matched- Parameters:
aEventType- The event type to be matched by this matcher.- Returns:
- An event matcher by event type.
-
publisherIsAssignableFrom
public static <E extends GenericMetaDataEvent<?,?>,PT> EventMatcher<E> publisherIsAssignableFrom(java.lang.Class<? extends PT> aPublisherType)
Factory method to create an event matcher by event publisher type.- Type Parameters:
E- The type of the event to be matchedPT- The publisher descriptor type- Parameters:
aPublisherType- The event publisher type to be matched by this matcher.- Returns:
- An event matcher by event type.
-
or
@SafeVarargs public static <E extends GenericMetaDataEvent<?,?>> EventMatcher<E> or(EventMatcher<E>... aEventMatchers)
Factory method to create an "OR" matcher for the given matchers.- Type Parameters:
E- The event type applied to the matcher- Parameters:
aEventMatchers- The matchers to be combined by an "OR".- Returns:
- An "OR" matcher.
-
and
@SafeVarargs public static <E extends GenericMetaDataEvent<?,?>> EventMatcher<E> and(EventMatcher<E>... aEventMatchers)
Factory method to create an "AND" matcher for the given matchers.- Type Parameters:
E- The event type applied to the matcher- Parameters:
aEventMatchers- The matchers to be combined by an "AND".- Returns:
- An "AND" matcher.
-
nameEqualWith
public static <E extends GenericMetaDataEvent<?,?>> EventMatcher<E> nameEqualWith(java.lang.String aAlias)
Factory method to create an "EQUAL WITH" matcher for the given name compared with the name stored in theEventMetaData.- Type Parameters:
E- The event type applied to the matcher- Parameters:
aAlias- The alias to be compared with aGenericMetaDataEvent'sEventMetaData's name property.- Returns:
- An "EQUAL WITH" matcher regarding the
GenericMetaDataEvent's name property.
-
groupEqualWith
public static <E extends GenericMetaDataEvent<?,?>> EventMatcher<E> groupEqualWith(java.lang.String aGroup)
Factory method to create an "EQUAL WITH" matcher for the given group compared with the group stored in theEventMetaData.- Type Parameters:
E- The event type applied to the matcher- Parameters:
aGroup- The group to be compared with aGenericMetaDataEvent'sEventMetaData's group property.- Returns:
- An "EQUAL WITH" matcher regarding the
GenericMetaDataEvent's group property.
-
universalIdEqualWith
public static <E extends GenericMetaDataEvent<?,?>> EventMatcher<E> universalIdEqualWith(java.lang.String aUid)
Factory method to create an "EQUAL WITH" matcher for the given UID compared with the UID stored in theEventMetaData.- Type Parameters:
E- The event type applied to the matcher- Parameters:
aUid- The UID to be compared with aGenericMetaDataEvent'sEventMetaData's UID property.- Returns:
- An "EQUAL WITH" matcher regarding the
GenericMetaDataEvent's UID property.
-
actionEqualWith
public static <E extends GenericActionMetaDataEvent<A,?,?>,A> EventMatcher<E> actionEqualWith(A aAction)
Factory method to create an "EQUAL WITH" matcher for the given action compared with the action stored in theEventMetaData.- Type Parameters:
E- The event type applied to the matcher.A- The type of the action stored in the event. CAUTION: The drawback of not using generic generic type declaration on a class level is no granted type safety, the advantage is the ease of use: Sub-classes can be used out of the box.- Parameters:
aAction- The action to be compared with aGenericMetaDataEvent'sEventMetaData's action property.- Returns:
- An "EQUAL WITH" matcher regarding the
GenericActionEvent's action property.
-
-