ToStringUtil() com Annotations versão 1.0.2
Dando continuidade a customização do toString(), certamente existirá aquele atributo que você não irá querer exibir no toString(), então seguindo a dica do @pauloprestes, resolvido com annotations:
Aqui está a interface para a anotação, o melhor seria utilizar o Target como FIELD, porém, como falei vamos exibir os atributos com base nos métodos públicos Getters.
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface NoToString{}
Na classe ToStringUtil foi apenas acrescentado uma regra para não exibir os métodos marcados com a anotação @NoToString, sendo:
// Nao exibir os métodos que estejam com a Annotação NoToString boolean isNotAnnotation = m.isAnnotationPresent(NoToString.class);
Realizei alguns testes com tipos complexos e funcionou, talvez você tenha alguma sugestão para melhorar este tipo de tratamento.
Baixe aqui a versão 1.0.2.
Namastê!
Thanks for the useful info. It’s so interesting
JamesD
11 jun 09 at 15:06