Package net.engio.mbassy.listener
Class MessageListener<T>
- java.lang.Object
-
- net.engio.mbassy.listener.MessageListener<T>
-
public class MessageListener<T> extends java.lang.Object
All instances of any class defining at least one message handler @link MessageHandler are message listeners. Thus, a message listener is any object capable of receiving messages by means of defined message handlers. There are no restrictions about the number of allowed message handlers in a message listener. A message listener can be configured using the @Listener annotation but is always implicitly configured by the handler definition it contains. This class is an internal representation of a message listener used to encapsulate all relevant objects and data about that message listener, especially all its handlers. There will be only one instance of MessageListener per message listener class and message bus instance.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.ArrayList<MessageHandler>
handlers
private Listener
listenerAnnotation
private java.lang.Class<T>
listenerDefinition
-
Constructor Summary
Constructors Constructor Description MessageListener(java.lang.Class<T> listenerDefinition)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
addHandler(MessageHandler messageHandler)
MessageListener
addHandlers(java.util.Collection<? extends MessageHandler> c)
static IPredicate<MessageHandler>
ForMessage(java.lang.Class<?> messageType)
MessageHandler[]
getHandlers()
java.util.List<MessageHandler>
getHandlers(IPredicate<MessageHandler> filter)
java.lang.Class<T>
getListerDefinition()
boolean
handles(java.lang.Class<?> messageType)
boolean
isFromListener(java.lang.Class listener)
boolean
useStrongReferences()
-
-
-
Field Detail
-
handlers
private java.util.ArrayList<MessageHandler> handlers
-
listenerDefinition
private java.lang.Class<T> listenerDefinition
-
listenerAnnotation
private Listener listenerAnnotation
-
-
Constructor Detail
-
MessageListener
public MessageListener(java.lang.Class<T> listenerDefinition)
-
-
Method Detail
-
ForMessage
public static IPredicate<MessageHandler> ForMessage(java.lang.Class<?> messageType)
-
isFromListener
public boolean isFromListener(java.lang.Class listener)
-
useStrongReferences
public boolean useStrongReferences()
-
addHandlers
public MessageListener addHandlers(java.util.Collection<? extends MessageHandler> c)
-
addHandler
public boolean addHandler(MessageHandler messageHandler)
-
getHandlers
public MessageHandler[] getHandlers()
-
getHandlers
public java.util.List<MessageHandler> getHandlers(IPredicate<MessageHandler> filter)
-
handles
public boolean handles(java.lang.Class<?> messageType)
-
getListerDefinition
public java.lang.Class<T> getListerDefinition()
-
-