1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Fiz um DAO e um Controller genérico, há possibilidade de fazer um Resource genérico?

Gostaria de saber se há possibilidade de criar um Resource genérico, seguindo a linha do DAO e do Controller. Como ele reconheceria meu Path e saberia a classe que estou querendo os dados.

Seguem meus códigos, abraços.

DAO

public class DAO<T> {

    private final Class<T> classe;
    private Session session;

    public DAO(Class<T> class1) {
        classe = class1;
        session = new ConnectionFactory().getSessionFactory().openSession();
    }
        public List<T> listarTodos() {
        return this.session.createCriteria(classe).list();
    }

Controller

public class Controller<T> {

    private final Class<T> classe;
    private final DAO<T> dao;

    public Controller( Class<T> classe){
        this.classe = classe;
        dao = new DAO<T>(classe);
    }

    public List<T> listarTodos(){
        return dao.listarTodos();
    }

Resource

@Path("/")
public class Resource<T> {

    private final Class<T> classe;
    private final Controller controller;

    public Resource( Class<T> classe){
        this.classe = classe;
        controller = new Controller<T>(classe);
    }

    @GET
    @Path("/listarTodos")
    @Produces("application/json")
    public List<T> listarTodos(){
        return controller.listarTodos();
    }
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags webservices java web ou faça a sua própria pergunta.