Community
Participate
Working Groups
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Matthew Hall">
<title>Package-level Javadoc</title>
</head>
<body>
Interfaces and classes for representing and observing properties of objects.
<h2>
Package Specification</h2>
<p>
This package and its subpackages provide the <tt>IProperty</tt>,
<tt>IValueProperty</tt>, <tt>IListProperty</tt>, <tt>ISetProperty</tt> and
<tt>IMapProperty</tt> interfaces, along with classes
which serve as base implementations of each interface.
Properties are intended to serve as a convenient path to creating observables
for observing specific attributes of source objects. The main goals of this
API are:
<ul>
<li>Simplify the process of writing custom observables. Developing custom
observables correctly can be tricky, so the properties API tries to ease this
burden by providing all the observable implementations. Property implementers
only need to implement a handful of methods which are used by the observables
to function.
<li>Simplify observation of nested properties. Traditionally observing a
nested property required creating an observable for the first property, then
wrapping that observable in a master-detail observing for each successive
property in the chain. Using properties it is trivial to define a nested
property and to observe that property on a particular source object.
</ul>
</body>
</html>