Class Result<T>

  • Type Parameters:
    T - the type of result produced by the Task
    All Implemented Interfaces:
    com.tangosol.io.ExternalizableLite, com.tangosol.io.pof.PortableObject, Serializable

    public class Result<T>
    extends Object
    implements com.tangosol.io.ExternalizableLite, com.tangosol.io.pof.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:
    Serialized Form
    • Field Detail

      • 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 Detail

      • Result

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

      • 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
      • 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
      • 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
      • hashCode

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

        public void readExternal​(DataInput in)
                          throws IOException
        Specified by:
        readExternal in interface com.tangosol.io.ExternalizableLite
        Throws:
        IOException
      • writeExternal

        public void writeExternal​(DataOutput out)
                           throws IOException
        Specified by:
        writeExternal in interface com.tangosol.io.ExternalizableLite
        Throws:
        IOException
      • readExternal

        public void readExternal​(com.tangosol.io.pof.PofReader in)
                          throws IOException
        Specified by:
        readExternal in interface com.tangosol.io.pof.PortableObject
        Throws:
        IOException
      • writeExternal

        public void writeExternal​(com.tangosol.io.pof.PofWriter out)
                           throws IOException
        Specified by:
        writeExternal in interface com.tangosol.io.pof.PortableObject
        Throws:
        IOException