You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by "Andrus Adamchik (JIRA)" <ji...@apache.org> on 2010/11/14 04:39:13 UTC
[jira] Created: (CAY-1509) Lifecycle event annotations support
Lifecycle event annotations support
-----------------------------------
Key: CAY-1509
URL: https://issues.apache.org/jira/browse/CAY-1509
Project: Cayenne
Issue Type: Task
Components: Core Library
Affects Versions: 3.1M1
Reporter: Andrus Adamchik
Assignee: Andrus Adamchik
Fix For: 3.1M1
Add annotations for lifecycle events:
@PrePersist, @PostPersist, etc. (all the standard ones, total of 8 annotations)
Each annotated method can process events for preset collection of entity classes and/or a set of unknown entity classes tagged with a custom annotation. In the later case a listener is cleanly decoupled from specific entities (this feature is mixin-inspired). E.g:
@Target(METHOD) @Retention(RUNTIME)
@PrePersist {
Class<? extends Persistent>[] entityTypes();
Class<? extends Annotation>[] entityAnnotations();
}
LifecycleCallbackRegistry API:
/**
* This form of listener registration is very simple and type-safe compared to other forms available in 3.0 LifecycleCallbackRegistry.
*/
public void addListener(Object annotatedListener);
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Closed: (CAY-1509) Lifecycle event annotations support
Posted by "Andrus Adamchik (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CAY-1509?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrus Adamchik closed CAY-1509.
--------------------------------
Resolution: Fixed
Fix Version/s: (was: 3.1M1)
3.1M2
Checked in a basic implementation. One fuzzy area is inheritance in listener classes.
> Lifecycle event annotations support
> -----------------------------------
>
> Key: CAY-1509
> URL: https://issues.apache.org/jira/browse/CAY-1509
> Project: Cayenne
> Issue Type: Task
> Components: Core Library
> Affects Versions: 3.1M1
> Reporter: Andrus Adamchik
> Assignee: Andrus Adamchik
> Fix For: 3.1M2
>
>
> Add annotations for lifecycle events:
> @PrePersist, @PostPersist, etc. (all the standard ones, total of 8 annotations)
> Each annotated method can process events for preset collection of entity classes and/or a set of unknown entity classes tagged with a custom annotation. In the later case a listener is cleanly decoupled from specific entities (this feature is mixin-inspired). E.g:
> @Target(METHOD) @Retention(RUNTIME)
> @PrePersist {
> Class<? extends Persistent>[] entityTypes();
> Class<? extends Annotation>[] entityAnnotations();
> }
> LifecycleCallbackRegistry API:
> /**
> * This form of listener registration is very simple and type-safe compared to other forms available in 3.0 LifecycleCallbackRegistry.
> */
> public void addListener(Object annotatedListener);
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.