Package org.dellroad.stuff.pobj

Simple XML Persistence Objects (POBJ).

See:
          Description

Interface Summary
PersistentObjectDelegate<T> Delegate interface required for PersistentObjects.
PersistentObjectListener<T> Listener interface for changes to a PersistentObject.
 

Class Summary
AbstractDelegate<T> Support superclass for PersistentObjectDelegate classes, with implementations of all methods other than serialize() and deserialize().
FilterDelegate<T> Adapter class for PersistentObjectDelegate implementations that wrap a nested delegate.
PersistentFileTransaction Represents an open "transaction" on a PersistentObject's persistent file.
PersistentObject<T> Main class for Simple XML Persistence Objects (POBJ).
PersistentObjectEvent<T> Notification event emitted by a PersistentObject to listeners whenever there is an update to the root object.
PersistentObjectSchemaUpdater<T> Support superclass for PersistentObject schema updaters.
SpringDelegate<T> PersistentObjectDelegate that uses Spring's Marshaller and Unmarshaller interfaces for XML conversion.
SpringPersistentObjectSchemaUpdate<T> Support superclass for Spring-enabled SchemaUpdates for use with a PersistentObjectSchemaUpdater.
SpringPersistentObjectSchemaUpdater<T> PersistentObjectSchemaUpdater optimized for use with Spring: SpringPersistentObjectSchemaUpdater.getOrderingTieBreaker() is overridden to break ties by ordering updates in the same order as they are defined in the bean factory.
SpringXSLPersistentObjectSchemaUpdate<T> SpringPersistentObjectSchemaUpdate that applies a configured XSL transform to the XML form of the persistent object.
SpringXSLUpdateTransformConfigurer Spring BeanPostProcessor that looks for SpringXSLPersistentObjectSchemaUpdate beans that don't have an explicit transform resource configured, and configures them using a resource location based on the bean name, by simply adding a configured prefix and suffix.
UpdatesXMLEventReader AnnotatedXMLEventReader that reads the nested schema update list.
UpdatesXMLEventWriter AnnotatedXMLEventWriter that inserts the schema update list into the document using an PersistentObjectSchemaUpdater.UPDATES_ELEMENT_NAME annotation element.
 

Exception Summary
PersistentObjectException Runtime exception thrown during PersistentObject operations.
PersistentObjectValidationException Runtime exception thrown during PersistentObject operations.
PersistentObjectVersionException Optimistic locking exception thrown by PersistentObject.setRoot() when the expected version number does not agree.
 

Package org.dellroad.stuff.pobj Description

Simple XML Persistence Objects (POBJ).

This package implements a library for simple persistence of Java objects via XML. It's targeted at Java data structures that are small enough to fit in memory and which are read much more often than they are written, and can be persisted as an XML file. A good example would be configuration information for an application.

Attributes and features:

The primary class is PersistentObject. Typically this class would be accessed through a PersistentObjectSchemaUpdater which allows for evolution of the XML schema over time; see SpringPersistentObjectSchemaUpdater for an example of Spring configuration.

See Also:
The dellroad-stuff Project