package io.budgetapp.resource;
import javax.ws.rs.core.Response;
import java.net.URI;
import java.net.URISyntaxException;
/**
*
*/
abstract class AbstractResource {
public abstract String getPath();
public Response ok(Object object) {
return Response.ok(object).build();
}
public Response ok() {
return Response.ok().build();
}
public Response bad(Object object) {
return Response.status(Response.Status.BAD_REQUEST).entity(object).build();
}
public Response bad() {
return Response.status(Response.Status.BAD_REQUEST).build();
}
public Response error() {
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build();
}
public Response error(String message) {
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(message).build();
}
public Response created(Object object, Object id) {
try {
return Response.created(new URI(getPath() + "/" + String.valueOf(id))).entity(object).build();
} catch (URISyntaxException e) {
throw new RuntimeException(e.getMessage(), e);
}
}
public Response notFound() {
return Response.status(Response.Status.NOT_FOUND).build();
}
public Response deleted() {
return Response.noContent().build();
}
public Response unauthorized() {
return Response.status(Response.Status.UNAUTHORIZED).build();
}
}