Interface ActionRequest

  • All Superinterfaces:
    Request

    public interface ActionRequest
    extends Request
    An implementation specific action, or operation, upon a JSON resource.
    • Field Detail

      • ACTION_ID_CREATE

        static final String ACTION_ID_CREATE
        The name of the action which is reserved for performing "create" operations.
        See Also:
        Constant Field Values
      • FIELD_ACTION

        static final String FIELD_ACTION
        The name of the field which contains the action ID in the JSON representation.
        See Also:
        Constant Field Values
      • FIELD_CONTENT

        static final String FIELD_CONTENT
        The name of the field which contains the action content in the JSON representation.
        See Also:
        Constant Field Values
    • Method Detail

      • accept

        <R,​P> R accept​(RequestVisitor<R,​P> v,
                             P p)
        Description copied from interface: Request
        Applies a RequestVisitor to this Request.
        Specified by:
        accept in interface Request
        Type Parameters:
        R - The return type of the visitor's methods.
        P - The type of the additional parameters to the visitor's methods.
        Parameters:
        v - The request visitor.
        p - Optional additional visitor parameter.
        Returns:
        A result as specified by the visitor.
      • addField

        ActionRequest addField​(JsonPointer... fields)
        Description copied from interface: Request
        Adds one or more fields which should be included with each JSON resource returned by this request.
        Specified by:
        addField in interface Request
        Parameters:
        fields - The fields which should be included with each JSON resource returned by this request.
        Returns:
        This request.
      • addField

        ActionRequest addField​(String... fields)
        Description copied from interface: Request
        Adds one or more fields which should be included with each JSON resource returned by this request.
        Specified by:
        addField in interface Request
        Parameters:
        fields - The fields which should be included with each JSON resource returned by this request.
        Returns:
        This request.
      • getAction

        String getAction()
        Returns the ID of the action to be performed by this action request.
        Returns:
        The ID of the action to be performed by this action request.
      • getActionAsEnum

        <T extends Enum<T>> T getActionAsEnum​(Class<T> type)
        Returns the ID of the action to be performed by this action request as a enum constant of the specified enum type. The action ID string and enum constants are compared, ignoring case considerations.
        Type Parameters:
        T - the enum type sub-class.
        Parameters:
        type - the enum type to match constants with the value.
        Returns:
        the enum constant represented by the Id of the action to be performed by this action request.
        Throws:
        IllegalArgumentException - if type does not represent an enum type, or if the ID does not match any of the enum's constants.
        NullPointerException - if type is null.
      • getAdditionalParameter

        String getAdditionalParameter​(String name)
        Description copied from interface: Request
        Returns the additional parameter which should be used to control the behavior of this action request.
        Specified by:
        getAdditionalParameter in interface Request
        Parameters:
        name - The name of the additional parameter.
        Returns:
        The additional parameter which should be used to control the behavior of this action request
      • getAdditionalParameters

        Map<String,​String> getAdditionalParameters()
        Description copied from interface: Request
        Returns the additional parameters which should be used to control the behavior of this action request. The returned map may be modified if permitted by this action request.
        Specified by:
        getAdditionalParameters in interface Request
        Returns:
        The additional parameters which should be used to control the behavior of this action request (never null).
      • getContent

        JsonValue getContent()
        Returns the content of this action request. The structure of the content is defined by the action.
        Returns:
        The content of this action request.
      • getFields

        List<JsonPointer> getFields()
        Description copied from interface: Request
        Returns the list of fields which should be included with each JSON resource returned by this request. The returned list may be modified if permitted by this query request. An empty list indicates that all fields should be included.

        NOTE: field filtering alters the structure of a JSON resource and MUST only be performed once while processing a request. It is therefore the responsibility of front-end implementations (e.g. HTTP listeners, Servlets, etc) to perform field filtering. Request handler and resource provider implementations SHOULD NOT filter fields, but MAY choose to optimise their processing in order to return a resource containing only the fields targeted by the field filters.

        Specified by:
        getFields in interface Request
        Returns:
        The list of fields which should be included with each JSON resource returned by this request (never null).
      • getPreferredLocales

        PreferredLocales getPreferredLocales()
        Description copied from interface: Request
        Get the locale preference for the request.
        Specified by:
        getPreferredLocales in interface Request
        Returns:
        The PreferredLocales instance for the request.
      • getRequestType

        RequestType getRequestType()
        Description copied from interface: Request
        Returns the type of this request.
        Specified by:
        getRequestType in interface Request
        Returns:
        The type of this request.
      • getResourcePath

        String getResourcePath()
        Description copied from interface: Request
        Returns the non-null path of the JSON resource to which this request should be targeted. The resource path is relative and never begins or ends with a forward slash, but may be empty.

        NOTE: for resource provider implementations the resource path is relative to the current resource being accessed. See the description of UriRouterContext for more information.

        Specified by:
        getResourcePath in interface Request
        Returns:
        The non-null path of the JSON resource to which this request should be targeted, which may be the empty string.
      • getResourcePathObject

        ResourcePath getResourcePathObject()
        Description copied from interface: Request
        Returns the non-null path of the JSON resource to which this request should be targeted. The resource path is relative and never begins or ends with a forward slash, but may be empty.

        NOTE: for resource provider implementations the resource path is relative to the current resource being accessed. See the description of UriRouterContext for more information.

        Specified by:
        getResourcePathObject in interface Request
        Returns:
        The non-null path of the JSON resource to which this request should be targeted, which may be the empty string.
      • getResourceVersion

        Version getResourceVersion()
        Description copied from interface: Request
        Gets the requested API version of the resource.
        Specified by:
        getResourceVersion in interface Request
        Returns:
        The requested API version of the resource.
      • setAction

        ActionRequest setAction​(String id)
        Sets the ID of the action to be performed by this action request.
        Parameters:
        id - The ID of the action to be performed by this action request.
        Returns:
        This action request.
        Throws:
        UnsupportedOperationException - If this action request does not permit changes to the action ID.
      • setAdditionalParameter

        ActionRequest setAdditionalParameter​(String name,
                                             String value)
                                      throws BadRequestException
        Description copied from interface: Request
        Sets an additional parameter which should be used to control the behavior of this action request.
        Specified by:
        setAdditionalParameter in interface Request
        Parameters:
        name - The name of the additional parameter.
        value - The additional parameter's value.
        Returns:
        This request.
        Throws:
        BadRequestException - If this request does not permit the additional parameter to be set.
      • setContent

        ActionRequest setContent​(JsonValue content)
        Sets the content of this action request. The structure of the content is defined by the action.
        Parameters:
        content - The content of this action request.
        Returns:
        This action request.
        Throws:
        UnsupportedOperationException - If this action request does not permit changes to the content.
      • setPreferredLocales

        ActionRequest setPreferredLocales​(PreferredLocales preferredLocales)
        Description copied from interface: Request
        Set the locale preference for the request.
        Specified by:
        setPreferredLocales in interface Request
        Parameters:
        preferredLocales - The PreferredLocales instance for the request.
        Returns:
        This request.
      • setResourcePath

        ActionRequest setResourcePath​(ResourcePath path)
        Description copied from interface: Request
        Sets the non-null path of the JSON resource to which this request should be targeted. The resource path is relative and never begins or ends with a forward slash, but may be empty.

        NOTE: for resource provider implementations the resource path is relative to the current resource being accessed. See the description of UriRouterContext for more information.

        Specified by:
        setResourcePath in interface Request
        Parameters:
        path - The non-null path of the JSON resource to which this request should be targeted, which may be the empty string.
        Returns:
        This request.
      • setResourcePath

        ActionRequest setResourcePath​(String path)
        Description copied from interface: Request
        Sets the non-null path of the JSON resource to which this request should be targeted. The resource path is relative and never begins or ends with a forward slash, but may be empty.

        NOTE: for resource provider implementations the resource path is relative to the current resource being accessed. See the description of UriRouterContext for more information.

        Specified by:
        setResourcePath in interface Request
        Parameters:
        path - The non-null path of the JSON resource to which this request should be targeted, which may be the empty string. The path should be URL-encoded.
        Returns:
        This request.
      • setResourceVersion

        ActionRequest setResourceVersion​(Version resourceVersion)
        Description copied from interface: Request
        Sets the requested API version of the resource.
        Specified by:
        setResourceVersion in interface Request
        Parameters:
        resourceVersion - The requested API version of the resource.
        Returns:
        This request.
      • toJsonValue

        JsonValue toJsonValue()
        Description copied from interface: Request
        Return a JsonValue representation of this request.
        Specified by:
        toJsonValue in interface Request
        Returns:
        this request as a JsonValue