Class TopicImpl<T>

java.lang.Object
org.jvnet.hk2.internal.TopicImpl<T>
All Implemented Interfaces:
Topic<T>

public class TopicImpl<T> extends Object implements Topic<T>
  • Field Details

  • Constructor Details

  • Method Details

    • publish

      public void publish(T message)
      Description copied from interface: Topic
      Publishes a message to all subscribers
      Specified by:
      publish in interface Topic<T>
      Parameters:
      message - The non-null message to send to all current subscribers
    • named

      public Topic<T> named(String name)
      Description copied from interface: Topic
      Returns an Topic that is further qualified with the given name
      Specified by:
      named in interface Topic<T>
      Parameters:
      name - The value field of the Named annotation parameter. Must not be null
      Returns:
      A topic further qualified with the given name
    • ofType

      public <U> Topic<U> ofType(Type type)
      Description copied from interface: Topic
      Returns an Topic that is of the given type. This type must be more specific than the type of this Topic
      Specified by:
      ofType in interface Topic<T>
      Parameters:
      type - The type to restrict the returned Topic to
      Returns:
      A Topic restricted to only producing messages of the given type
    • qualifiedWith

      public Topic<T> qualifiedWith(Annotation... qualifiers)
      Description copied from interface: Topic
      A set of qualifiers to further restrict this Topic to.
      Specified by:
      qualifiedWith in interface Topic<T>
      Parameters:
      qualifiers - The qualifiers to further restrict this Topic to
      Returns:
      An Topic restricted with the given qualifiers
    • getTopicType

      public Type getTopicType()
      Description copied from interface: Topic
      Gets the type of the topic, in order to match the message to subscribers
      Specified by:
      getTopicType in interface Topic<T>
      Returns:
      the Type of this topic. Will not return null
    • getTopicQualifiers

      public Set<Annotation> getTopicQualifiers()
      Description copied from interface: Topic
      The qualifiers associated with this Topic. Messages should only be distributed to subscribers that have matching qualifiers
      Specified by:
      getTopicQualifiers in interface Topic<T>
      Returns:
      the non-null but possibly empty set of qualifiers associated with this Topic