# Package com.codename1.properties

package com.codename1.properties
High level property objects that allow us to replace getters/setters in business objects with more convenient storage/parsing mappings while retaining type safety.

- Class
  Description
  BooleanProperty<K>
  This is the boolean specific version of property
  ByteProperty<K>
  This is the byte specific version of numeric property
  CharProperty<K>
  This is the char specific version of numeric property
  CollectionProperty<T,K>
  Base class for a property as a collection which can contain multiple elements within
  DoubleProperty<K>
  This is the double specific version of numeric property
  FloatProperty<K>
  This is the float specific version of numeric property
  InstantUI
  Instant UI generates a user interface for editing a property business object based on common conventions and settings within the properties.
  IntProperty<K>
  This is the integer specific version of numeric property
  ListProperty<T,K>
  Base class for a property as a list which can contain multiple elements within
  LongProperty<K>
  This is the long specific version of numeric property
  MapAdapter
  Instances of this class adapt an arbitrary object type so a property can appear differently when it's placed into a Map or initialized from a Map.
  MapProperty<T,J,K>
  Base class for a property as a Map which can contain multiple elements within it
  NumericProperty<T,K>
  This is the base class to all number properties, it introduces nullability and the ability to convert to all number types.
  PreferencesObject
  Binds an object to the `com.codename1.io.Preferences` API for automatic persistent storage.
  Property<T,K>
  Base class for a property, it can store a generic value of any type and broadcast change events to external listeners
  PropertyBase<T,K>
  Base class for property types
  PropertyBusinessObject
  Allows mapping properties generically
  PropertyChangeListener<T,K>
  Event callback interface, invoked when a property changed its value
  PropertyIndex
  Maps the properties that are in a class/object and provides access to them so tools such as ORM can implicitly access them for us.
  SetProperty<T,K>
  Base class for a property as a set which can contain multiple elements within
  SQLMap
  A simple ORM wrapper for property objects.
  SQLMap.SqlType
  UiBinding
  The binding framework can implicitly bind UI elements to properties, this allow seamless model to UI mapping.
  UiBinding.BooleanConverter
  Converts the source value to a Boolean.
  UiBinding.BoundTableModel
  Implements table model binding, this is implemented as a class to allow additional features such as adding/removing rows
  UiBinding.CheckBoxRadioSelectionAdapter<PropertyType>
  Adapts a `com.codename1.ui.CheckBox` or `com.codename1.ui.RadioButton` to binding
  UiBinding.ComponentAdapter<PropertyType, ComponentType>
  Adapters can be extended to allow any component to bind to a property via a converter
  UiBinding.DateConverter
  Converts the source value to a Date.
  UiBinding.DoubleConverter
  Converts the source value to a Double.
  UiBinding.FloatConverter
  Converts the source value to a Float.
  UiBinding.IntegerConverter
  Converts the source value to an Integer.
  UiBinding.LongConverter
  Converts the source value to a Long.
  UiBinding.MappingConverter
  Maps values to other values for conversion in a similar way to a Map this is pretty useful for API's like picker where we have a list of Strings and we might want a list of other objects to match every string
  UiBinding.ObjectConverter
  Object converter can convert an object from one type to another e.g.
  UiBinding.PickerAdapter<PropertyType>
  Adapts a `com.codename1.ui.spinner.Picker` to binding
  UiBinding.RadioListAdapter<PropertyType>
  Adapts a set of `com.codename1.ui.RadioButton` to a selection within a list of values
  UiBinding.StringConverter
  Converts the source value to a String.
  UiBinding.TextAreaAdapter<PropertyType>
  Adapts a `com.codename1.ui.TextArea` (and it's subclass `com.codename1.ui.TextField` to binding
  UiBinding.TextComponentAdapter<PropertyType>
  Adapts a `com.codename1.ui.TextComponent` to binding