Class OortService.Result<U>

  • Type Parameters:
    U - the result type
    Enclosing class:
    OortService<R,C>

    public static class OortService.Result<U>
    extends java.lang.Object

    Encapsulates the result of a forwarded request returned by OortService.onForward(Request).

    Applications must use methods success(Object), failure(Object) or ignore(Object) to signal to the implementation the result of the forwarded request.

    OortService may forward a request action for an entity to the owner node, but before the request arrives to the owner node, the entity may be removed from the owner node. When the owner node receives the request for the entity, the entity is not available anymore. Similarly, a request that is broadcast to all nodes arrives to nodes that do not own the entity. The node that receives the request must return a OortService.Result using the following rules:

    See Also:
    OortService.Request
    • Method Detail

      • success

        public static <S> OortService.Result<S> success​(S result)
        Returns a successful OortService.Result containing the given result object.
        Type Parameters:
        S - the type of the result object
        Parameters:
        result - the result object
        Returns:
        a new OortService.Result instance wrapping the result object
      • failure

        public static <S> OortService.Result<S> failure​(java.lang.Object failure)
        Returns a failed OortService.Result containing the given failure object.
        Type Parameters:
        S - the type of the result
        Parameters:
        failure - the failure object
        Returns:
        a new OortService.Result instance wrapping the failure object
      • ignore

        public static <S> OortService.Result<S> ignore​(java.lang.Object data)
        Returns an ignored OortService.Result containing the given data object
        Type Parameters:
        S - the type of the result
        Parameters:
        data - the data object
        Returns:
        a new OortService.Result instance wrapping the data object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object