Class StatusReply<T>

  • Type Parameters:
    T - the type of value a successful reply would have

    public final class StatusReply<T>
    extends java.lang.Object
    Generic top-level message type for replies that signal failure or success. Convenient to use together with the askWithStatus ask variants.

    Create using the factory methods success(T) and error(java.lang.String).

    Pekko contains predefined serializers for the wrapper type and the textual error messages.

    • Constructor Summary

      Constructors 
      Constructor Description
      StatusReply()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static StatusReply<Done> ack()
      Java API: A general purpose message for using as an Ack
      static StatusReply<Done> Ack()
      Scala API: A general purpose message for using as an Ack
      boolean equals​(java.lang.Object other)  
      static <T> StatusReply<T> error​(java.lang.String errorMessage)
      Java API: Create an status response with a error message describing why the request was failed or denied.
      static <T> StatusReply<T> error​(java.lang.Throwable exception)
      Java API: Create an error response with a user defined Throwable.
      java.lang.Throwable getError()
      Java API: returns the exception if the reply is a failure, or throws an exception if not.
      T getValue()
      Java API: in the case of a successful reply returns the value, if the reply was not successful the exception the failure was created with is thrown
      int hashCode()  
      boolean isError()  
      boolean isSuccess()  
      static <T> StatusReply<T> success​(T value)
      Java API: Create a successful reply containing value
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • StatusReply

        public StatusReply()
    • Method Detail

      • Ack

        public static StatusReply<Done> Ack()
        Scala API: A general purpose message for using as an Ack
      • ack

        public static StatusReply<Done> ack()
        Java API: A general purpose message for using as an Ack
      • success

        public static <T> StatusReply<T> success​(T value)
        Java API: Create a successful reply containing value
      • error

        public static <T> StatusReply<T> error​(java.lang.String errorMessage)
        Java API: Create an status response with a error message describing why the request was failed or denied.
      • error

        public static <T> StatusReply<T> error​(java.lang.Throwable exception)
        Java API: Create an error response with a user defined Throwable.

        Prefer the string based error response over this one when possible to avoid tightly coupled logic across actors and passing internal failure details on to callers that can not do much to handle them.

        For cases where types are needed to identify errors and behave differently enumerating them with a specific set of response messages may be a better alternative to encoding them as generic exceptions.

        Also note that Pekko does not contain pre-build serializers for arbitrary exceptions.

      • getValue

        public T getValue()
        Java API: in the case of a successful reply returns the value, if the reply was not successful the exception the failure was created with is thrown
      • getError

        public java.lang.Throwable getError()
        Java API: returns the exception if the reply is a failure, or throws an exception if not.
      • isError

        public boolean isError()
      • isSuccess

        public boolean isSuccess()
      • equals

        public boolean equals​(java.lang.Object other)
        Overrides:
        equals in class java.lang.Object
      • hashCode

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

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