This package contains the main betwixt introspection code.
XMLIntrospector produces a XMLBeanInfo instance
specifying how the introspected class maps to xml elements and attributes.
The AttributeDescriptor and ElementDescriptor classes
detail how members of a bean map to xml attributes and elements respectively.
This package contains the system which extracts values from beans.
The mapping is created by class introspection
but the Expression implementations
in this package inspect a particular bean instance and extract the values
used to render the bean as xml.
Package contains classes dealing directly with the reading and writing of beans.
These classes use the Betwixt introspection system to determine how a
bean should be mapped to xml.
The xml->object reader uses Digester to implement the mapping.
This package is home to IDGenerator implementations.
Betwixt can generate ID and IDREF
attributes for the elements it creates.
By setting the IDGenerator property on the bean writer, a user can customize
the algorithm used to generate these id's.
This package contains the standard implementations of IDGenerator
that ship with Betwixt.
Users who want to create their own implementations can use these classes
as examples.
This package contains various plugins that can be used with XMLIntrospector
to customize it's caching behaviour (or programmatically modify the XmlBeanInfo finding).
This package contains a variety of plugin Strategy patterns that can be used to customize the
default behaviours.
Implementations of the NameMapper interface can be used to set the strategy used by
XMLIntrospector to determine how to convert bean and property names into element
and attribute names.
Implementations of the PluralStemmer interface allows the strategy used by
XMLIntrospector to find which plural method maps to a singular property name.
This strategy is used to match composite properties to adder-methods.
How plurals are constructed is langauge-dependent. A typical usage for custom strategies
is to provide support for plural patterns in different languages.