Class StatusReply<T>

java.lang.Object
org.apache.pekko.pattern.StatusReply<T>
Type Parameters:
T - the type of value a successful reply would have

public final class StatusReply<T> extends 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 Details

    • StatusReply

      public StatusReply()
  • Method Details

    • 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(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(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 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(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