Package javax.beans.binding

The classes in this package, and subpackages, provide a way to bind two properties of two objects together.

See:
          Description

Interface Summary
BindingListener BindingListeners are notified when either conversion or validation fails on a Binding.
 

Class Summary
Binding Binding represents a binding between two properties of two objects.
Binding.Parameter<T> Parameter is used to provide additional information to configure a specific binding.
BindingContext BindingContext manages a set of bindings.
BindingConverter BindingConverter is used by Binding to convert values between the source and target.
BindingValidator BindingValidator is responsible for validating the value from the target of a Binding.
ELPropertyResolver  
ELPropertyResolver.Delegate A Delegate is notified once a PropertyResolver is bound and a value of an observable property changes.
ListCondenser ListCondenser is used to condense a list of values into a single value.
ValidationResult A ValidationResult is returned from a BindingValidator to indicate the value is invalid, and describe what action to take.
 

Enum Summary
Binding.UpdateStrategy Enumeration of the possible ways the source and target properties can be kept in sync.
Binding.ValueState Enumeration of the possible states the source and target may be in.
ValidationResult.Action An enumeration of the action the Binding should take.
 

Exception Summary
PropertyResolverException PropertyResolverExceptions are thrown at a various point in the life cycle of a PropertyResolver.
 

Package javax.beans.binding Description

The classes in this package, and subpackages, provide a way to bind two properties of two objects together. This is done using the Binding class. A Binding is initially unrealized (no listeners have been installed). To realize the binding, invoke the bind method.

The following example illustrates the bare minimum required to bind two properties of two objects together.

    Binding binding = new Binding(source, "sourcePath", target, "targetPath");
    binding.bind();
  
Once bound, any changes to source's sourcePath property are applied to target's targetPath property. Similarly any changes to target's targetPath property are applied to source's sourcePath property.

Before a value is applied to either the target, or source, it passes through a BindingConverter. Before a value is set on the source from the target, it passes through a BindingConverter, then a BindingValidator. The BindingValidator may reject the change.

Some targets support additional configuration beyond that provided by Binding. This is accomodated by the setValue and getValue methods of Binding. See SwingBindingSupport for examples.

Binding Properties

Beans Binding supports the ability to extend the set of properties an object has. This is used when you want a bean to have properties that are only useful for the purposes of binding. This is accomodated by PropertyDelegateProvider. See PropertyDelegateProvider and PropertyDelegateFactory for details.