Package io.grpc

Class StatusOr<T>


  • @ExperimentalApi("https://github.com/grpc/grpc-java/issues/11563")
    public class StatusOr<T>
    extends Object
    Either a Status or a value.
    • Method Detail

      • fromValue

        public static <T> StatusOr<T> fromValue​(@Nullable
                                                T value)
        Construct from a value.
      • fromStatus

        public static <T> StatusOr<T> fromStatus​(Status status)
        Construct from a non-Ok status.
      • hasValue

        public boolean hasValue()
        Returns whether there is a value.
      • getValue

        @Nullable
        public T getValue()
        Returns the value if set or throws exception if there is no value set. This method is meant to be called after checking the return value of hasValue() first.
      • getStatus

        public Status getStatus()
        Returns the status. If there is a value (which can be null), returns OK.
      • equals

        public boolean equals​(Object other)
        Note that StatusOr containing statuses, the equality comparision is delegated to Status.equals(java.lang.Object) which just does a reference equality check because equality on Statuses is not well defined. Instead, do comparison based on their Code with Status.getCode(). The description and cause of the Status are unlikely to be stable, and additional fields may be added to Status in the future.
        Overrides:
        equals in class Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object