You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@isis.apache.org by "Daniel Keir Haywood (Jira)" <ji...@apache.org> on 2020/01/21 10:26:00 UTC

[jira] [Created] (ISIS-2270) Document and annotate @DomainObject, @ViewModel and @Mixin with @Scope(SCOPE_PROTOTYPE)

Daniel Keir Haywood created ISIS-2270:
-----------------------------------------

             Summary: Document and annotate @DomainObject, @ViewModel and @Mixin with @Scope(SCOPE_PROTOTYPE)
                 Key: ISIS-2270
                 URL: https://issues.apache.org/jira/browse/ISIS-2270
             Project: Isis
          Issue Type: Improvement
            Reporter: Daniel Keir Haywood
            Assignee: Daniel Keir Haywood
             Fix For: 2.0.0


We want Spring to discover these types from the classpath (so that we can build the metamodel eagerly), but we don't want it to manage them.

Using @Scope(PROTOTYPE) is the closest we can come to expressing that without (attempting to) define a custom scope for each of these three types., analogous to factoryService#instantiate for transient objects.

In practical terms, inventing a custom "entity" scope is probably impossible due to DN's design (the enhancer creates a dnNewInstance method and this is called upon as a factory).

Instead, then, we "veto" any of these domain types so that Spring is NOT allowed to instantiate any of them.

The docs should be updated to explain what we're doing here.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)