# Package javafx.beans.property

package javafx.beans.property

The package `javafx.beans.property` defines read-only properties and writable properties, plus a number of implementations.

## Read-only Properties

Read-only properties have two getters, `get()` returns the primitive value, `getValue()` returns the boxed value.

It is possible to observe read-only properties for changes. They define methods to add and remove `InvalidationListeners` and `ChangeListeners`.

To get the context of a read-only property, two methods `getBean()` and `getName()` are defined. They return the containing bean and the name of a property.

## Writable Properties

In addition to the functionality defined for read-only properties, writable properties contain the following methods.

A writable property defines two setters in addition to the getters defined for read-only properties. The setter `set()` takes a primitive value, the second setter `setValue()` takes the boxed value.

All properties can be bound to `ObservableValues` of the same type, which means that the property will always contain the same value as the bound `ObservableValue`. It is also possible to define a bidirectional binding between two properties, so that both properties always contain the same value. If one of the properties changes, the other one will be updated.

- Related Packages
  Package
  Description
  javafx.beans
  The package `javafx.beans` contains the interfaces that define the most generic form of observability.
  javafx.beans.property.adapter
  Provides various classes that act as adapters between a regular Java Bean property and a corresponding `JavaFX Property`.
  javafx.beans.binding
  Provides classes that create and operate on a `Binding` that calculates a value that depends on one or more sources.
  javafx.beans.value
  The package `javafx.beans.value` contains the two fundamental interfaces `ObservableValue` and `WritableValue` and all of its sub-interfaces.
- Class
  Description
  BooleanProperty
  This class provides a full implementation of a `Property` wrapping a `boolean` value.
  BooleanPropertyBase
  The class `BooleanPropertyBase` is the base class for a property wrapping a `boolean` value.
  DoubleProperty
  This class defines a `Property` wrapping a `double` value.
  DoublePropertyBase
  The class `DoublePropertyBase` is the base class for a property wrapping a `double` value.
  FloatProperty
  This class defines a `Property` wrapping a `float` value.
  FloatPropertyBase
  The class `FloatPropertyBase` is the base class for a property wrapping a `float` value.
  IntegerProperty
  This class defines a `Property` wrapping an `int` value.
  IntegerPropertyBase
  The class `IntegerPropertyBase` is the base class for a property wrapping a `int` value.
  ListProperty<E>
  This class provides a full implementation of a `Property` wrapping an `ObservableList`.
  ListPropertyBase<E>
  The class `ListPropertyBase` is the base class for a property wrapping an `ObservableList`.
  LongProperty
  This class defines a `Property` wrapping a `long` value.
  LongPropertyBase
  The class `LongPropertyBase` is the base class for a property wrapping a `long` value.
  MapProperty<K,V>
  This class provides a full implementation of a `Property` wrapping an `ObservableMap`.
  MapPropertyBase<K,V>
  The class `MapPropertyBase` is the base class for a property wrapping an `ObservableMap`.
  ObjectProperty<T>
  This class provides a full implementation of a `Property` wrapping an arbitrary `Object`.
  ObjectPropertyBase<T>
  The class `ObjectPropertyBase` is the base class for a property wrapping an arbitrary `Object`.
  Property<T>
  Generic interface that defines the methods common to all (writable) properties, independent of their type.
  ReadOnlyBooleanProperty
  Superclass for all readonly properties wrapping a `boolean`.
  ReadOnlyBooleanPropertyBase
  Base class for all readonly properties wrapping a `boolean`.
  ReadOnlyBooleanWrapper
  This class provides a convenient class to define read-only properties.
  ReadOnlyDoubleProperty
  Superclass for all readonly properties wrapping a `double`.
  ReadOnlyDoublePropertyBase
  Base class for all readonly properties wrapping a `double`.
  ReadOnlyDoubleWrapper
  This class provides a convenient class to define read-only properties.
  ReadOnlyFloatProperty
  Superclass for all readonly properties wrapping a `float`.
  ReadOnlyFloatPropertyBase
  Base class for all readonly properties wrapping a `float`.
  ReadOnlyFloatWrapper
  This class provides a convenient class to define read-only properties.
  ReadOnlyIntegerProperty
  Superclass for all readonly properties wrapping an `int`.
  ReadOnlyIntegerPropertyBase
  Base class for all readonly properties wrapping an `int`.
  ReadOnlyIntegerWrapper
  This class provides a convenient class to define read-only properties.
  ReadOnlyListProperty<E>
  Superclass for all readonly properties wrapping an `ObservableList`.
  ReadOnlyListPropertyBase<E>
  Base class for all readonly properties wrapping an `ObservableList`.
  ReadOnlyListWrapper<E>
  This class provides a convenient class to define read-only properties.
  ReadOnlyLongProperty
  Superclass for all readonly properties wrapping a `long`.
  ReadOnlyLongPropertyBase
  Base class for all readonly properties wrapping a `long`.
  ReadOnlyLongWrapper
  This class provides a convenient class to define read-only properties.
  ReadOnlyMapProperty<K,V>
  Superclass for all readonly properties wrapping an `ObservableMap`.
  ReadOnlyMapPropertyBase<K,V>
  Base class for all readonly properties wrapping an `ObservableMap`.
  ReadOnlyMapWrapper<K,V>
  This class provides a convenient class to define read-only properties.
  ReadOnlyObjectProperty<T>
  Superclass for all readonly properties wrapping an arbitrary `Object`.
  ReadOnlyObjectPropertyBase<T>
  Base class for all readonly properties wrapping an arbitrary `Object`.
  ReadOnlyObjectWrapper<T>
  This class provides a convenient class to define read-only properties.
  ReadOnlyProperty<T>
  Generic interface that defines the methods common to all readable properties independent of their type.
  ReadOnlySetProperty<E>
  Superclass for all readonly properties wrapping an `ObservableSet`.
  ReadOnlySetPropertyBase<E>
  Base class for all readonly properties wrapping an `ObservableSet`.
  ReadOnlySetWrapper<E>
  This class provides a convenient class to define read-only properties.
  ReadOnlyStringProperty
  Superclass for all readonly properties wrapping an `String`.
  ReadOnlyStringPropertyBase
  Base class for all readonly properties wrapping a `String`.
  ReadOnlyStringWrapper
  This class provides a convenient class to define read-only properties.
  SetProperty<E>
  This class provides a full implementation of a `Property` wrapping an `ObservableSet`.
  SetPropertyBase<E>
  The class `SetPropertyBase` is the base class for a property wrapping an `ObservableSet`.
  SimpleBooleanProperty
  This class provides a full implementation of a `Property` wrapping a `boolean` value.
  SimpleDoubleProperty
  This class provides a full implementation of a `Property` wrapping a `double` value.
  SimpleFloatProperty
  This class provides a full implementation of a `Property` wrapping a `float` value.
  SimpleIntegerProperty
  This class provides a full implementation of a `Property` wrapping a `int` value.
  SimpleListProperty<E>
  This class provides a full implementation of a `Property` wrapping an `ObservableList`.
  SimpleLongProperty
  This class provides a full implementation of a `Property` wrapping a `long` value.
  SimpleMapProperty<K,V>
  This class provides a full implementation of a `Property` wrapping an `ObservableMap`.
  SimpleObjectProperty<T>
  This class provides a full implementation of a `Property` wrapping an arbitrary `Object`.
  SimpleSetProperty<E>
  This class provides a full implementation of a `Property` wrapping an `ObservableSet`.
  SimpleStringProperty
  This class provides a full implementation of a `Property` wrapping a `String` value.
  StringProperty
  This class provides a full implementation of a `Property` wrapping a `String` value.
  StringPropertyBase
  The class `StringPropertyBase` is the base class for a property wrapping a `String` value.