mardi 7 juin 2016

Equivalent to "Abc.class.getName()" for fields

In Java you can write:

System.out.println(Abc.class.getName());

It will always print the correct value, even if the class Abc is moved or renamed.

What is the closest you can get to that for field names?

In other words, what can I code that will always give me the "current" name of a field in a class, even if that field is renamed. Ideally, it would also fail to compile if the field is removed altogether. Or at least fail as soon as the class is accessed, during static initialisation.

I want this to simplify a "change tracking" system. It's not quite like "bean properties", because those names are NOT visible outside the class itself.

AFAIK, there is no "native" way to do this, but I'm hoping there might be some trick with annotations and/or reflection that does the job.





Aucun commentaire:

Enregistrer un commentaire