Failure (Apache Geode 2.0.2)
Description: declaration: package: org.apache.geode.services.result.impl, class: Failure

Package org.apache.geode.services.result.impl

# Class Failure<SuccessType>

java.lang.Object
org.apache.geode.services.result.impl.Failure<SuccessType>

Type Parameters:
  `SuccessType` - the result type for a successful operation. Not used by the `Failure` type but required by the `ServiceResult`

All Implemented Interfaces:
  `Result<SuccessType,String>`, `ServiceResult<SuccessType>`

public class Failure<SuccessType> extends Object implements ServiceResult<SuccessType>
This type of `ServiceResult` represents a failed operation. It contains the errorMessage for the failure.

Since:
  1.14.0
See Also:
  - `ServiceResult`
  - `Success`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getErrorMessage()`
  The return message of a failed operation.
  `SuccessType`
  `getMessage()`
  The return message of a successful operation.
  `ServiceResult<SuccessType>`
  `ifFailure(Consumer<? super String> consumer)`
  If the result of the operation has failed, invoke the specified consumer with the value, otherwise do nothing.
  `boolean`
  `isFailure()`
  Returns a boolean to indicate the success or failure of the operation
  `<T> T`
  `map(Function<SuccessType,T> successFunction, Function<String,T> errorFunction)`
  A mapping function that maps to either `SuccessType` or `FailureType` depending on success or failure of the operation.
  `static <T> Failure<T>`
  `of(String errorMessage)`
  Creates a `Failure` object containing the errorMessage
  `static <T> Failure<T>`
  `of(String errorMessage, Throwable throwable)`
  Creates a `Failure` object containing the errorMessage
  `static <T> Failure<T>`
  `of(Throwable throwable)`
  Creates a `Failure` object containing the throwable

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface org.apache.geode.services.result.Result

  `isSuccessful`

  ### Methods inherited from interface org.apache.geode.services.result.ServiceResult

  `ifSuccessful`

- ## Method Details

  - ### of

    public static <T> Failure<T> of(String errorMessage)
    Creates a `Failure` object containing the errorMessage
    Type Parameters:
      `T` - the type of the result
    Parameters:
      `errorMessage` - the error message describing the reason for failure.
    Returns:
      an `Failure` instance containing the errorMessage

  - ### of

    public static <T> Failure<T> of(Throwable throwable)
    Creates a `Failure` object containing the throwable
    Type Parameters:
      `T` - the type of the result
    Parameters:
      `throwable` - the error message describing the reason for failure.
    Returns:
      an `Failure` instance containing the throwable

  - ### of

    public static <T> Failure<T> of(String errorMessage, Throwable throwable)
    Creates a `Failure` object containing the errorMessage
    Type Parameters:
      `T` - the type of the result
    Parameters:
      `errorMessage` - the error message describing the reason for failure.
      `throwable` - the throwable that caused the failure
    Returns:
      an `Failure` instance containing the errorMessage

  - ### map

    public <T> T map(Function<SuccessType,T> successFunction, Function<String,T> errorFunction)
    Description copied from interface: `Result`
    A mapping function that maps to either `SuccessType` or `FailureType` depending on success or failure of the operation.
    Specified by:
      `map` in interface `Result<SuccessType,String>`
    Specified by:
      `map` in interface `ServiceResult<SuccessType>`
    Type Parameters:
      `T` - the resultant type
    Parameters:
      `successFunction` - the mapping function to map the SuccessType to the resultant type
      `errorFunction` - the mapping function to map the FailureType to the resultant error type
    Returns:
      result of type `T`

  - ### getMessage

    public SuccessType getMessage()
    Description copied from interface: `Result`
    The return message of a successful operation. The return type is of type `SuccessType`
    Specified by:
      `getMessage` in interface `Result<SuccessType,String>`
    Specified by:
      `getMessage` in interface `ServiceResult<SuccessType>`
    Returns:
      the result of the operation

  - ### getErrorMessage

    public String getErrorMessage()
    Description copied from interface: `Result`
    The return message of a failed operation. The return type is of type `FailureType`
    Specified by:
      `getErrorMessage` in interface `Result<SuccessType,String>`
    Specified by:
      `getErrorMessage` in interface `ServiceResult<SuccessType>`
    Returns:
      the failure message of why the operation did not succeed.

  - ### ifFailure

    public ServiceResult<SuccessType> ifFailure(Consumer<? super String> consumer)
    Description copied from interface: `ServiceResult`
    If the result of the operation has failed, invoke the specified consumer with the value, otherwise do nothing.
    Specified by:
      `ifFailure` in interface `ServiceResult<SuccessType>`
    Parameters:
      `consumer` - block to be executed if a value is present
    Returns:
      this `ServiceResult`

  - ### isFailure

    public boolean isFailure()
    Description copied from interface: `Result`
    Returns a boolean to indicate the success or failure of the operation
    Specified by:
      `isFailure` in interface `Result<SuccessType,String>`
    Returns:
      true indicating the failure of the operation