Tenho um map com vários objetos. Este tem como chave uma string que representa o nome de um atributo de uma classe.
Ao especificar um atributo vou recuperar o objeto que esta no map. Até ai legal.
Tenho uma tela de pesquisa que ao ser instanciada, são passados os atributos válidos para pesquisa. Esta terá um jtextfield que retornará o valor a pesquisar.
Agora tenho que jogar esse atributo num object fazendo casting para o tipo original dele.
Para saber o tipo, sendo que tenho o nome do atributo, uso reflection para obter o Class do tipo:
Class tipo = field.getType();
Quando tento fazer
Object obj = (tipo)map.get("atributo");
recebo uma menssagem de erro. Na verdade ele não está aceitando fazer casting porque o map retorna um Object.
Não teria problema algum se a pesquisa sempre fosse realizada em campos String.
Mas, caso for pesquisar por código por exemplo vai retornar uma String e não um Integer.
Preciso do tipo original declarado no atributo da classe porque estou usando hibernate e este não aceita uma string ou outro tipo.
Alguém tem alguma idéia ou sugestão para construir esta tela de pesquisa de forma genérica?

.