org.apache.cayenne.property package requires some refactoring now that we can identify all groups of persistent objects that we need to support via the Cayenne stack. Those are:
* Enhanced POJO implementing "Persistent" via the enhancer.
* Persistent objects generated vi client template (using ValueHolder for the to-one relationships)
* DataObject (generic objects that store properties in a map and provide access via generic methods on the object; using Fault class for lazy faulting)
The few problems this refactoring effort will try to address:
* Replacing property descriptors inheritance with composition/decoration, thus separating different concerns like faulting and property access, and making the descriptors more flexible.
* Naming - the current class naming we got was due to the implementation based on inheritance. Better naming for the property interfaces will be something like this:
- AttributeProperty
- ToOneProperty
- ToManyProperty
Description
org.apache.cayenne.property package requires some refactoring now that we can identify all groups of persistent objects that we need to support via the Cayenne stack. Those are:
* Enhanced POJO implementing "Persistent" via the enhancer.
* Persistent objects generated vi client template (using ValueHolder for the to-one relationships)
* DataObject (generic objects that store properties in a map and provide access via generic methods on the object; using Fault class for lazy faulting)
The few problems this refactoring effort will try to address:
* Replacing property descriptors inheritance with composition/decoration, thus separating different concerns like faulting and property access, and making the descriptors more flexible.
* Naming - the current class naming we got was due to the implementation based on inheritance. Better naming for the property interfaces will be something like this:
- AttributeProperty
- ToOneProperty
- ToManyProperty
Andrus Adamchik added a comment - 05/Nov/06 08:02 PM split PropertyAccessor (renamed to just Accessor) and Property interfaces, as those are not the same thing.
CAY-701: property" package refactoring
(changing property visitor to take AttributeProperty instead of just Property; renamed SimpleProperty to BaseProperty)
CAY-701: property" package refactoring
(changing property visitor to take AttributeProperty instead of just Property; renamed SimpleProperty to BaseProperty; got rid of Property.shallowMerge method)
* moved "property" package to "reflect" package , and created subpackages for each type of supported objects - pojo, valueholder, generic. JPA also has a "jpa.reflect" package with its own descriptor factory.
* renamed property classes per issue description,
Andrus Adamchik added a comment - 25/Nov/06 07:31 PM * moved "property" package to "reflect" package , and created subpackages for each type of supported objects - pojo, valueholder, generic. JPA also has a "jpa.reflect" package with its own descriptor factory.
* renamed property classes per issue description,