Package org.refcodes.observer
Class EventMatcherSugar
- java.lang.Object
-
- org.refcodes.observer.EventMatcherSugar
-
public class EventMatcherSugar extends java.lang.Object
Declarative syntactic sugar which may be statically imported in order to allow declarative definitions for theEventMatcher
elements.
-
-
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.
-
-