Custom properties

Like most things in swing-extras, the properties handling is designed with extensibility in mind. It's fairly straightforward to implement a new AbstractProperty to store whatever custom data your application needs to worry about. Usually this will also mean developing a new FormField implementation to represent that data to the user and allow viewing/editing of it, but not necessarily. For example, in the previous section, we saw how EnumProperty was able to back itself onto the existing ComboField by just presenting a friendlier interface to it. Your custom property might be able to make use of an existing FormField in the same way.

In order to implement the saveToProps() and loadFromProps() successfully, though, it's vitally important to understand how and why properties are given a fullyQualifiedName.

And that is an excellent segue to talk about the most powerful feature of the ca.corbett.extras.properties package...