Pergunta

Alguém está ciente de uma biblioteca que usa as técnicas (anotações e trabalho de classe) descritos em Este artigo Para gerar automaticamente os métodos de objeto padrão ToString (), Equals () e HashCode () para classes Java padrão?

Foi útil?

Solução

Sim, o Project Lombok faz isso. Ver http://projectlombok.org . Ele não apenas suporta o JAVAC, mas também o eclipse. Portanto, os métodos não estão no código -fonte, mas são exibidos na visualização de esboço.

Outras dicas

Eu certamente não vi isso e não tenho muita certeza de que valor seria obtido com isso. Eu acho isso automático toString A geração não é geralmente o que você quer Ao limpar arquivos de log e a maioria dos IDEs terá ferramentas para permitir que você gere hashCode e equals As implementações, embora as concedidas não reflitam automaticamente nenhuma modificação de esquema em sua classe.

Haveria 2 opções para implementar isso:

  1. Anotação de classe de tempo de compilação que é processada (por exemplo, pelo seu IDE) para gerar os métodos relevantes. As anotações podem modificar o bytecode gerado das classes em que são declaradas? Eu acho que essa avaliação é uma ideia muito ruim, porque você não pode dizer o que está acontecendo olhando para o seu código -fonte
  2. Anotação de tempo de execução sobre os métodos relevantes para indicar que eles devem ser avaliados através do mecanismo especial. Isso ainda exige que você declare e anote seus métodos e também não tenho certeza de como você realmente interceptar chamadas de método para usar a anotação em qualquer evento
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top