package org.jboss.resteasy.test.resource.basic.resource; import javax.ws.rs.GET; import javax.ws.rs.PUT; import javax.ws.rs.Path; import javax.ws.rs.PathParam; /** * This is a sample of a CRUD resource template which can be reused for different entities. * * @param <ENTITY_TYPE> Type of the entity which CRUD operations are performed on. * @param <ENTITY_IDENTIFIER_TYPE> Type of the entity identified i.e. java.lang.Long * @author Jozef Hartinger */ public abstract class GenericResourceCrudResource<ENTITY_TYPE, ENTITY_IDENTIFIER_TYPE> { abstract ENTITY_TYPE getEntity(ENTITY_IDENTIFIER_TYPE id); abstract void setEntity(ENTITY_IDENTIFIER_TYPE id, ENTITY_TYPE entity); @GET @Path("/{id}") public ENTITY_TYPE get(@PathParam("id") ENTITY_IDENTIFIER_TYPE id) { return getEntity(id); } @PUT @Path("/{id}") public void put(@PathParam("id") ENTITY_IDENTIFIER_TYPE id, ENTITY_TYPE entity) { setEntity(id, entity); } }