Package org.apache.pekko.pattern
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 java.lang.Object
Generic top-level message type for replies that signal failure or success. Convenient to use together with theaskWithStatus
ask variants.Create using the factory methods
success(T)
anderror(java.lang.String)
.Pekko contains predefined serializers for the wrapper type and the textual error messages.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
StatusReply.Error$
Scala API for creating and pattern matching an error responsestatic class
StatusReply.ErrorMessage
Carrier exception used for textual error descriptions.static class
StatusReply.ErrorMessage$
static class
StatusReply.Success$
Scala API for creation and pattern matching a successful response.
-
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 Ackstatic StatusReply<Done>
Ack()
Scala API: A general purpose message for using as an Ackboolean
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 definedThrowable
.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 thrownint
hashCode()
boolean
isError()
boolean
isSuccess()
static <T> StatusReply<T>
success(T value)
Java API: Create a successful reply containingvalue
java.lang.String
toString()
-
-
-
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 containingvalue
-
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 definedThrowable
.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 classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-