Class SignalKey<T>

java.lang.Object
me.tamkungz.signals.SignalKey<T>
Type Parameters:
T - payload type

public final class SignalKey<T> extends Object
Identifies one signal channel: a payload type plus a name.

Keys with the same type and name address the same channel; derived keys created by Signal.filter(java.util.function.Predicate<T>) and Signal.map(java.lang.Class<R>, java.util.function.Function<T, R>) are always unique.

  • Method Details

    • of

      public static <T> SignalKey<T> of(Class<T> eventType)
    • named

      public static <T> SignalKey<T> named(Class<T> eventType, String name)
    • eventType

      public Class<T> eventType()
    • name

      public String name()
    • cast

      public T cast(Object value)
      Casts a value to this key's payload type.
      Parameters:
      value - value to cast, may be null
      Returns:
      the value as T
      Throws:
      ClassCastException - if the value is not an instance of the payload type
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class Object
    • hashCode

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

      public String toString()
      Overrides:
      toString in class Object