Class ProviderOutcome


  • public final class ProviderOutcome
    extends java.lang.Object
    Result returned by a UseProvider.
    • Method Detail

      • success

        public static ProviderOutcome success​(java.lang.Object result)
        Create a successful outcome
        Parameters:
        result - the result
        Returns:
        a successful result
      • failure

        public static ProviderOutcome failure()
        Create a failed outcome without a specific cause. This method must be used for creating outcomes that don't signal an error but rather the fact that the UseProvider is not capable of fulfilling the request.
        Returns:
        a failed outcome
      • failure

        public static ProviderOutcome failure​(java.lang.Throwable cause)
        Create a failed outcome with the given cause. This method must be used when the UseProvider is capable of fulfilling the request but an error condition prevents the provider from doing so.
        Parameters:
        cause - The reason for this failure, which may be null
        Returns:
        a failed outcome
      • notNullOrFailure

        public static ProviderOutcome notNullOrFailure​(java.lang.Object obj)
        If the given obj is not null return a successful outcome, with the given result. Otherwise, return failure().
        Parameters:
        obj - the result
        Returns:
        an outcome based on whether the parameter is null or not
      • isSuccess

        public boolean isSuccess()
        Check if the outcome has been successful
        Returns:
        the outcome success status
      • isFailure

        public boolean isFailure()
        Check whether the outcome is a failure
        Returns:
        the outcome failure status
      • getResult

        public java.lang.Object getResult()
        Get the result in this outcome.
        Returns:
        the result of the container
        Throws:
        java.lang.IllegalStateException - if the outcome is a failure
      • getCause

        public java.lang.Throwable getCause()
        Returns the cause for this failure outcome or null if this outcome is a success or no cause has been defined with the failure(Throwable) method.
        Returns:
        the cause for this failure outcome.