Skip to content
stemey edited this page Oct 20, 2012 · 18 revisions

The utilities offer low level object operations.

  • A Path is used to specify an attribute inside an object graph.
  • A View offers traversal of a subset of an object graph.
  • Cloning
  • Comparison of two objects of the same type.
  • Transformation of objects from one type to another. Also the definition of a transformation can create the transformation and a new dynamic EntityType as the target of the transformation.
  • Snapshotting creates a serializable object that contains the state of the snapshotted entity. The data can be merged onto other instances.
  • Entity Observation makes it possible to observe changes to objects.

General

The utilities all follow a similar pattern. At startup time a builder is obtained from a factory. The builder is then used to define an operation on a base entitytype and its attributes. When the operation is created it is validated and the operation can be employed many times.

EntityType operation

Configuration

The factories are not neccessarily singletons. These need to be injected by name via the annotation @Resource. The basic configuration involves the configuration of the factory and enabling of the classpath scanning. The classpath scanning and the inclusion of other utility dependencies is taken care of by a standard configuration file called "meta/utility/.xml". An example configuration of the factory is available via a file called "meta/utility/-example.xml". Apart from that an instance of EntityTypeRepository and BeanLocator need to be provided. Follow instructions in the Implementation Wiki how to configure those.

Clone this wiki locally