Issue Details (XML | Word | Printable)

Key: CAY-701
Type: Task Task
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Andrus Adamchik
Reporter: Andrus Adamchik
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Cayenne

"property" package refactoring

Created: 05/Nov/06 06:53 PM   Updated: 09/Nov/08 01:14 AM
Return to search
Component/s: Cayenne Core Library
Affects Version/s: 3.0
Fix Version/s: 3.0M1

Time Tracking:
Not Specified

Resolution Date: 25/Nov/06 07:32 PM


 Description  « Hide
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



 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
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.

Andrus Adamchik added a comment - 25/Nov/06 02:51 AM
Implemented ClassDescriptorMap that holds a chain of descriptor factories.

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,

Andrus Adamchik added a comment - 25/Nov/06 07:32 PM
closing this issue. Any other 'reflect' package refactoring will be handled via a separate issue.

Andrus Adamchik added a comment - 08/Jul/07 06:16 PM
bulk-closing resolved trunk issues