package server.org.appverse.service.rest.sample;
import java.io.InputStream;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Request;
import javax.ws.rs.core.Response;
@Path("samples")
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public interface SampleResource {
@GET
@Path("file/{fileId}")
@Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
@Produces({ MediaType.APPLICATION_OCTET_STREAM })
public Response getFile(@PathParam("fileId") final Long fileId, @Context Request request);
@POST
@Path("file")
@Consumes({ MediaType.APPLICATION_OCTET_STREAM })
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public Response postFile(InputStream is,
@Context Request request);
@POST
@Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public SampleBean create(final SampleBean s, @Context HttpServletResponse response);
@POST
@Path("response")
@Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public Response createStatusResponse(final SampleBean s);
@PUT
@Path("{sampleId}")
@Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public SampleBean update(final SampleBean s);
@PUT
@Path("response/{sampleId}")
@Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public Response updateResponseStatus(final SampleBean s);
@GET
@Path("paged/xml/{page}/{pageSize}")
public server.org.appverse.service.rest.sample.xml.Page retrieveXMLPagedByFilter(
@PathParam("page") final Long page,
@PathParam("pageSize") final Long pageSize,
@QueryParam("columnName") final String columnName,
@QueryParam("value") final String value);
@GET
@Path("paged/json/{page}/{pageSize}")
public Response retrieveJSONPagedByFilter(
@PathParam("page") final Long page,
@PathParam("pageSize") final Long pageSize,
@QueryParam("columnName") final String columnName,
@QueryParam("value") final String value, @Context Request request);
@GET
@Path("{sampleId}")
public Response retrieveSample(@PathParam("sampleId") Long sampleId) throws Exception;
@GET
@Path("type/{fkId}")
public List<SampleBean> retrieveSamples(@PathParam("fkId") Long fkId) throws Exception;
@GET
@Path("/multi/{sampleId_array:[\\d,(%2C)]+}")
public Response retrieveSomeSamples(@PathParam("sampleId_array") final String ids)
throws Exception;
@GET
public List<SampleBean> retrieveSamples() throws Exception;
@GET
@Path("filter")
public Response retrieveByFilter(@QueryParam("columnName") final String columnName,
@QueryParam("value") final String value, @Context Request request)
throws Exception;
@GET
@Path("filterOne")
public Response retrieveOneByFilter(@QueryParam("columnName") final String columnName,
@QueryParam("value") final String value, @Context Request request)
throws Exception;
@DELETE
@Path("{sampleId}")
public SampleBean deleteContact(@PathParam("sampleId") final Long sampleId);
@DELETE
@Path("/response/{sampleId}")
public Response deleteContactStatusResponse(@PathParam("sampleId") final Long sampleId);
@DELETE
@Path("/exception/{sampleId}")
SampleBean deleteContactException(@PathParam("sampleId") final Long sampleId);
}