Class EventStream.Subscribe<E>

  • All Implemented Interfaces:
    EventStream.Command, java.io.Serializable, scala.Equals, scala.Product
    Enclosing class:
    EventStream

    public static final class EventStream.Subscribe<E>
    extends java.lang.Object
    implements EventStream.Command, scala.Product, java.io.Serializable
    Subscribe a typed actor to listen for types and subtypes of E by sending this command to the akka.actor.typed.ActorSystem.eventStream. The same actor can create multiple subscriptions for different types.

    ==Simple example==

    
       sealed trait A
       case object A1 extends A
       //listen for all As
       def subscribe(actorSystem: ActorSystem[_], actorRef: ActorRef[A]) =
         actorSystem.eventStream ! EventStream.Subscribe(actorRef)
       //listen for A1s only
       def subscribe(actorSystem: ActorSystem[_], actorRef: ActorRef[A]) =
         actorSystem.eventStream ! EventStream.Subscribe[A1](actorRef)
     

    See Also:
    Serialized Form
    • Constructor Detail

      • Subscribe

        public Subscribe​(ActorRef<E> subscriber,
                         scala.reflect.ClassTag<E> classTag)
      • Subscribe

        public Subscribe​(java.lang.Class<E> clazz,
                         ActorRef<E> subscriber)
        Java API.
    • Method Detail

      • subscriber

        public ActorRef<E> subscriber()
      • copy$default$1

        public <E> ActorRef<E> copy$default$1()
      • productPrefix

        public java.lang.String productPrefix()
        Specified by:
        productPrefix in interface scala.Product
      • productArity

        public int productArity()
        Specified by:
        productArity in interface scala.Product
      • productElement

        public java.lang.Object productElement​(int x$1)
        Specified by:
        productElement in interface scala.Product
      • productIterator

        public scala.collection.Iterator<java.lang.Object> productIterator()
        Specified by:
        productIterator in interface scala.Product
      • canEqual

        public boolean canEqual​(java.lang.Object x$1)
        Specified by:
        canEqual in interface scala.Equals
      • productElementName

        public java.lang.String productElementName​(int x$1)
        Specified by:
        productElementName in interface scala.Product
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object x$1)
        Specified by:
        equals in interface scala.Equals
        Overrides:
        equals in class java.lang.Object