Class Result<T>

java.lang.Object
com.oracle.coherence.concurrent.executor.Result<T>
Type Parameters:
T - the type of result produced by the Task
All Implemented Interfaces:
ExternalizableLite, PortableObject, Serializable

public class Result<T> extends Object implements ExternalizableLite, PortableObject
An immutable container representing an intermediate or final result produced by executing a Task, typically by an individual Executor, including no result, a specific value or a Throwable.

If a value or Throwable is present, isPresent() will return true and get() will return the value or throw the Throwable.

Since:
21.12
Author:
bo
See Also:
  • Field Details

    • m_fPresent

      protected boolean m_fPresent
      Is the result present?
    • m_value

      protected T m_value
      The value (when provided).
    • m_throwable

      protected Throwable m_throwable
      The throwable (when error occurred).
  • Constructor Details

    • Result

      public Result()
      Constructs an Result that has no value.
  • Method Details

    • none

      public static <T> Result<T> none()
      Constructs an Result representing no value.
      Type Parameters:
      T - the type throwable the Result
      Returns:
      a Result representing no value.
    • of

      public static <T> Result<T> of(T value)
      Constructs an Result with a specific value.
      Type Parameters:
      T - the type throwable the Result
      Parameters:
      value - the value
      Returns:
      an Result with a specific value
    • throwable

      public static Result throwable(Throwable throwable)
      Constructs an Result with a specific Throwable.
      Parameters:
      throwable - the Throwable
      Returns:
      an Result with a specific Throwable
    • isPresent

      public boolean isPresent()
      Determines if a value or Throwable is present for the Result (ie: non-none()).
      Returns:
      true if the Result is not none(), false otherwise
    • isValue

      public boolean isValue()
      Determines if the value is available (including null).
      Returns:
      true if the Result is not none() and a value is available, false otherwise
    • isThrowable

      public boolean isThrowable()
      Determines if the Result is a Throwable.
      Returns:
      true if the Result is not none() and is a Throwable false otherwise
    • get

      public T get() throws Throwable
      Obtains the value throwable the Result.
      Returns:
      the value throwable the Result
      Throws:
      NoSuchElementException - when the Result value is not isPresent()
      Throwable - when the Result was any other Throwable
    • orElse

      public T orElse(T value)
      Obtains the value of the Result if present, otherwise returns the specified value.
      Parameters:
      value - the value to return if the isPresent() fails
      Returns:
      the get() when isPresent(), otherwise the specified value
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • readExternal

      public void readExternal(DataInput in) throws IOException
      Description copied from interface: ExternalizableLite
      Restore the contents of this object by loading the object's state from the passed DataInput object.
      Specified by:
      readExternal in interface ExternalizableLite
      Parameters:
      in - the DataInput stream to read data from in order to restore the state of this object
      Throws:
      IOException - if an I/O exception occurs
    • writeExternal

      public void writeExternal(DataOutput out) throws IOException
      Description copied from interface: ExternalizableLite
      Save the contents of this object by storing the object's state into the passed DataOutput object.
      Specified by:
      writeExternal in interface ExternalizableLite
      Parameters:
      out - the DataOutput stream to write the state of this object to
      Throws:
      IOException - if an I/O exception occurs
    • readExternal

      public void readExternal(PofReader in) throws IOException
      Description copied from interface: PortableObject
      Restore the contents of a user type instance by reading its state using the specified PofReader object.
      Specified by:
      readExternal in interface PortableObject
      Parameters:
      in - the PofReader from which to read the object's state
      Throws:
      IOException - if an I/O error occurs
    • writeExternal

      public void writeExternal(PofWriter out) throws IOException
      Description copied from interface: PortableObject
      Save the contents of a POF user type instance by writing its state using the specified PofWriter object.
      Specified by:
      writeExternal in interface PortableObject
      Parameters:
      out - the PofWriter to which to write the object's state
      Throws:
      IOException - if an I/O error occurs