[
https://issues.apache.org/jira/browse/ISIS-803?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15027317#comment-15027317
]
ASF subversion and git services commented on ISIS-803:
------------------------------------------------------
Commit 8cf480de9371c3ba55a5ca39406ce11a471f3b6e in isis's branch
refs/heads/master from [~danhaywood]
[ https://git-wip-us.apache.org/repos/asf?p=isis.git;h=8cf480d ]
ISIS-803: new annotation attributes allowing suclasses of the lifecycle events
to be posted (or disabled altogether). also updated docs.
> Replace lifecycle methods with additional EventBus events.
> ----------------------------------------------------------
>
> Key: ISIS-803
> URL: https://issues.apache.org/jira/browse/ISIS-803
> Project: Isis
> Issue Type: Improvement
> Components: Core
> Affects Versions: core-1.5.0
> Reporter: Dan Haywood
> Assignee: Dan Haywood
> Priority: Minor
> Fix For: 1.11.0
>
>
> This issue is to remove a feature that is only partly implemented in the JDO
> objectstore, namely the lifecycle methods.
> Jeroen and I were discussing this, and think they are possibly an
> anti-pattern since they tend to lead to fragile code.
> Rather than have the object "pushing" changes to others, it would be better
> if an event were broadcast via the EventBus. That way a subscribing service
> could pull appropriate changes and do whatever is necessary.
> ~~~
> Possible implementation:
> @DomainObject(
> domainEventOnLoad = ...,
> domainEventOnSave = ...,
> domainEventOnUpdate = ...,
> domainEventOnDelete = ...,
> )
> By using the corresponding associated phases, ie EXECUTING and EXECUTED, the
> subscriber can act BEFORE and/or AFTER the domain object is loaded /
> initially saved-persisted / updated / deleted.
> The "domainEventOnLoad" event would allow the user to "veto" a specific
> domain entity instance (domain object) to be showed due to security or other
> business reasons.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)