Interface RestCollectionDeleteMissingView<P extends RestResource,​C extends RestResource,​I>

  • Type Parameters:
    P - type of the parent resource
    C - type of the child resource that id deleted
    I - type of input the JSON parser will parse the input into.
    All Superinterfaces:
    RestCollectionView<P,​C,​I>, RestView<C>
    All Known Implementing Classes:
    ChangeEdits.DeleteFile

    public interface RestCollectionDeleteMissingView<P extends RestResource,​C extends RestResource,​I>
    extends RestCollectionView<P,​C,​I>
    RestView that supports accepting input and deleting a resource that is missing.

    The RestDeleteMissingView solely exists to support a special case for creating a change edit by deleting a path in the non-existing change edit. This interface should not be used for new REST API's.

    The input must be supplied as JSON as the body of the HTTP request. Delete views can be invoked by the HTTP method DELETE.

    The RestDeleteMissingView is only invoked when the parse method of the RestCollection throws ResourceNotFoundException, and hence the resource doesn't exist yet.

    • Method Detail

      • apply

        Object apply​(P parentResource,
                     IdString id,
                     I input)
              throws Exception
        Process the view operation by deleting the resource.
        Parameters:
        parentResource - parent resource of the resource that should be deleted
        input - input after parsing from request.
        Returns:
        result to return to the client. Use BinaryResult to avoid automatic conversion to JSON.
        Throws:
        RestApiException - if the resource creation is rejected
        Exception - the implementation of the view failed. The exception will be logged and HTTP 500 Internal Server Error will be returned to the client.