Issue Details (XML | Word | Printable)

Key: NUCCORE-114
Type: Improvement Improvement
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Andy Jefferson
Reporter: Datanucleus Fan
Votes: 1
Watchers: 1
Operations

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

Allow processing of custom class-level and field-level annotations

Created: 08/Sep/08 09:39 PM   Updated: 14/Jun/11 12:16 PM   Resolved: 10/May/11 12:18 PM
Component/s: MetaData
Affects Version/s: None
Fix Version/s: 3.0.0.m5

Severity: Development


 Description  « Hide
Currently, in order to add a custom field-based annotation you need to create a custom class annotation and then implement an AnnotationReader that is associated with the class annotation. I'd like to be able to add a custom field annotation while reusing the existing AnnotationReader implementations. This isn't critical because I can use @Extension to achieve the same goal, but it's definitely a nice-to-have.

Andy Jefferson added a comment - 10/May/11 12:16 PM
Far better way is to provide a plugin-point for users to define handlers for class-level and field-level annotations and then call these when processing the annotations in the AnnotationReader. This then provides a hook allowing updates to the AbstractClassMetaData, AbstractMemberMetaData objects by user code.

Andy Jefferson made changes - 10/May/11 12:16 PM
Field Original Value New Value
Summary Allow custom field-based annotations Allow processing of custom class-level and field-level annotations
Assignee Andy Jefferson [ andy ]
Fix Version/s 3.0.0.m5 [ 11242 ]
Affects Version/s 1.0.0.final [ 10374 ]
Priority Minor [ 4 ] Major [ 3 ]
Component/s MetaData [ 10152 ]
Component/s Datastore Support [ 10155 ]
Andy Jefferson added a comment - 10/May/11 12:18 PM
SVN trunk adds extension points

org.datanucleus.class_annotation_handler
org.datanucleus.member_annotation_handler

where the developer can define handlers for their own annotations.

Andy Jefferson made changes - 10/May/11 12:18 PM
Status Open [ 1 ] Resolved [ 5 ]
Resolution Fixed [ 1 ]
Andy Jefferson made changes - 14/Jun/11 12:16 PM
Status Resolved [ 5 ] Closed [ 6 ]