anchor.diff:  == The [classname]#Field# Interface
   
   The [classname]#Field# interface inherits the [classname]#Component#
  -superinterface and also the [classname]#Property# interface to have a value for
  +superinterface and also the [classname]#HasValue# interface to have a value for
   the field. [classname]#AbstractField# is the only class implementing the
   [classname]#Field# interface directly. The relationships are illustrated in
   <<figure.components.fields.field>>.
  
positive.code: [[components.fields.databinding]]
  == Data Binding and Conversions
  
  Fields are strongly coupled with the Vaadin data model. The field value is
  handled as a [classname]#Property# of the field component, as documented in
  <<dummy/../../../framework/datamodel/datamodel-properties#datamodel.properties,"Properties">>.
  Selection fields allow management of the selectable items through the
  [classname]#Container# interface.
  
  Fields are __editors__ for some particular type. For example,
  [classname]#TextField# allows editing [classname]#String# values. When bound to
  a data source, the property type of the data model can be something different,
  say an [classname]#Integer#. __Converters__ are used for converting the values
  between the representation and the model. They are described in
  <<dummy/../../../framework/datamodel/datamodel-properties#datamodel.properties.converter,"Converting
  Between Property Type and Representation">>.
  
  
  [[components.fields.valuechanges]]
  
negative.code: interface and the [classname]#AbstractField# base class.
  [classname]#AbstractField# is the base class for all field components. In
  addition to the component features inherited from
  [classname]#AbstractComponent#, it implements the features defined in the
  [classname]#HasValue# and [classname]#Component.Focusable# interfaces.
  
  The description of the field interfaces and base classes is broken down in the
  following sections.
  