Abstract model of one field in a generated class.
Responsible for "realizing" a Java property by actually generating members(s) to store the property value and a set of methods to manipulate them.
Objects that implement this interface also encapsulates the internal access to the field.
For discussion of the model this interface is representing, see the "field meta model" design document. REVISIT: refactor this to two interfaces that provide (1) internal access and (2) external access.
@author Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)