package com.bradmcevoy.http; import com.bradmcevoy.http.exceptions.BadRequestException; import com.bradmcevoy.http.exceptions.ConflictException; import com.bradmcevoy.http.exceptions.NotAuthorizedException; /** * Supporting functions for the DeleteHandler * */ public interface DeleteHelper { /** * Check if the resource or any child resources are locked or otherwise not * deletable * * @param req * @param r * @return */ boolean isLockedOut(Request req, Resource r); /** * Delete the resource and any child resources * * @param r */ void delete(DeletableResource r) throws NotAuthorizedException, ConflictException, BadRequestException; }