title: What is the best way to link information to the class fields?
body: <p>In this context i mean information in a sense of "static" information. Something like a displayname of a field, which can be used in many different places (for example as a column title for a table or as a hint for a text view).</p>
  
  <p>Lets assume we have following POJO:</p>
  
  <pre><code>class Person
  {
      private String name;
      private int age;
  }
  </code></pre>
  
  <p>Now i want to add some information to the fields of the POJO with following interface:</p>
  
  <pre><code>public interface Field&lt;T&gt;
  {
      String getDbName();
      String getDisplayName();
      Validator getValidator();
      View createTableCell(T data);
      View createInput(T data);
  }  
  </code></pre>
  
  <p>Each field of the POJO gets listed in a class called PersonFields:</p>
  
  <pre><code>class PersonFields 
  {
      public static final NAME = new Field&lt;Person&gt;()
      {
          @Override
          public String getDisplayName()
          {
               return Utils.getString(R.string.person_name);
          }
  
          ...
      }
  }
  </code></pre>
  
  <p>Is this considered bad practice? Or is there some other way to archive something like this? </p>