You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2020/05/10 08:48:30 UTC
[isis] branch master updated: ISIS-2340: further simplify
InteractionContext
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/master by this push:
new 1ba2f91 ISIS-2340: further simplify InteractionContext
1ba2f91 is described below
commit 1ba2f91d36e0ec96abb049ad1ac09ec2f9ef492c
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sun May 10 10:48:17 2020 +0200
ISIS-2340: further simplify InteractionContext
---
.../core/metamodel/interactions/AccessContext.java | 3 +-
.../metamodel/interactions/InteractionContext.java | 87 +++++++++-------------
.../metamodel/interactions/UsabilityContext.java | 13 +---
.../metamodel/interactions/ValidityContext.java | 3 +-
.../metamodel/interactions/VisibilityContext.java | 12 +--
5 files changed, 43 insertions(+), 75 deletions(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/AccessContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/AccessContext.java
index c3664e7..9aedd46 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/AccessContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/AccessContext.java
@@ -20,6 +20,7 @@
package org.apache.isis.core.metamodel.interactions;
import org.apache.isis.applib.Identifier;
+import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.services.wrapper.events.AccessEvent;
import org.apache.isis.core.metamodel.consent.InteractionContextType;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
@@ -38,7 +39,7 @@ implements InteractionEventSupplier<AccessEvent> {
final Identifier identifier,
final ManagedObject target,
final InteractionInitiatedBy interactionInitiatedBy) {
- super(interactionType, interactionInitiatedBy, identifier, target);
+ super(interactionType, interactionInitiatedBy, identifier, target, Where.NOT_SPECIFIED);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/InteractionContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/InteractionContext.java
index 7ca66ae..547fe91 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/InteractionContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/InteractionContext.java
@@ -20,6 +20,7 @@
package org.apache.isis.core.metamodel.interactions;
import org.apache.isis.applib.Identifier;
+import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.services.wrapper.events.InteractionEvent;
import org.apache.isis.core.metamodel.consent.InteractionContextType;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
@@ -27,6 +28,9 @@ import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.security.authentication.AuthenticationSession;
+import lombok.Getter;
+import lombok.Setter;
+
/**
* Represents an interaction between the framework and (a {@link Facet} of) the
* domain object.
@@ -55,25 +59,6 @@ import org.apache.isis.core.security.authentication.AuthenticationSession;
*/
public abstract class InteractionContext {
- private final InteractionContextType interactionType;
- private final InteractionInitiatedBy interactionInitiatedBy;
- private final Identifier identifier;
- private final ManagedObject target;
-
- private ManagedObject mixedInAdapter = null; // for mixin members only, obviously
-
- public InteractionContext(
- final InteractionContextType interactionType,
- final InteractionInitiatedBy invocationMethod,
- final Identifier identifier,
- final ManagedObject target) {
- this.interactionType = interactionType;
- this.interactionInitiatedBy = invocationMethod;
- this.identifier = identifier;
- this.target = target;
- }
-
-
/**
* The type of interaction.
*
@@ -86,12 +71,16 @@ public abstract class InteractionContext {
* <p>
* Alternatively, {@link Facet}s can use <tt>instanceof</tt>.
*/
- public InteractionContextType getInteractionType() {
- return interactionType;
- }
-
+ @Getter private final InteractionContextType interactionType;
+
/**
- * The identifier of the object or member that is being identified with.
+ * How the interaction was initiated.
+ */
+ @Getter private final InteractionInitiatedBy initiatedBy;
+
+ /**
+ * The identifier of the object or member that this interaction is being
+ * identified with.
*
* <p>
* If the {@link #getInteractionType() type} is
@@ -99,43 +88,41 @@ public abstract class InteractionContext {
* the {@link #getTarget() target} object's specification. Otherwise will be
* the identifier of the member.
*/
- public Identifier getIdentifier() {
- return identifier;
- }
-
+ @Getter private final Identifier identifier;
+
+ /**
+ * The target object that this interaction is associated with.
+ */
+ @Getter private final ManagedObject target;
/**
- * How the interaction was initiated.
+ * Where the element is to be rendered.
*/
- public InteractionInitiatedBy getInitiatedBy() {
- return interactionInitiatedBy;
+ @Getter private final Where where;
+
+ @Getter @Setter private ManagedObject mixedIn = null; // for mixin members only, obviously
+
+ protected InteractionContext(
+ final InteractionContextType interactionType,
+ final InteractionInitiatedBy invocationMethod,
+ final Identifier identifier,
+ final ManagedObject target,
+ final Where where) {
+ this.interactionType = interactionType;
+ this.initiatedBy = invocationMethod;
+ this.identifier = identifier;
+ this.target = target;
+ this.where = where;
}
+
/**
* Convenience method that indicates whether the
* {@link #getInitiatedBy() interaction was invoked} by the framework.
*/
public boolean isFrameworkInitiated() {
- return interactionInitiatedBy == InteractionInitiatedBy.FRAMEWORK;
- }
-
- /**
- * The target object that this interaction is with.
- */
- public ManagedObject getTarget() {
- return target;
+ return initiatedBy == InteractionInitiatedBy.FRAMEWORK;
}
-
- // //////////////////////////////////////
-
- public void setMixedIn(final ManagedObject mixedInAdapter) {
- this.mixedInAdapter = mixedInAdapter;
- }
-
- public ManagedObject getMixedIn() {
- return mixedInAdapter;
- }
-
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/UsabilityContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/UsabilityContext.java
index ac934c7..03c9385 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/UsabilityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/UsabilityContext.java
@@ -34,24 +34,13 @@ public abstract class UsabilityContext
extends InteractionContext
implements InteractionEventSupplier<UsabilityEvent> {
- private final Where where;
-
public UsabilityContext(
final InteractionContextType interactionType,
final ManagedObject targetAdapter,
final Identifier identifier,
final InteractionInitiatedBy interactionInitiatedBy,
final Where where) {
- super(interactionType, interactionInitiatedBy, identifier, targetAdapter);
- this.where = where;
- }
-
- /**
- * Where the element is to be rendered.
- */
- public Where getWhere() {
- return where;
+ super(interactionType, interactionInitiatedBy, identifier, targetAdapter, where);
}
-
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ValidityContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ValidityContext.java
index 0004bd9..85e412d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ValidityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/ValidityContext.java
@@ -20,6 +20,7 @@
package org.apache.isis.core.metamodel.interactions;
import org.apache.isis.applib.Identifier;
+import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.services.wrapper.events.ValidityEvent;
import org.apache.isis.core.metamodel.consent.InteractionContextType;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
@@ -38,7 +39,7 @@ implements InteractionEventSupplier<ValidityEvent> {
final ManagedObject target,
final Identifier identifier,
final InteractionInitiatedBy invocationMethod) {
- super(interactionType, invocationMethod, identifier, target);
+ super(interactionType, invocationMethod, identifier, target, Where.NOT_SPECIFIED);
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/VisibilityContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/VisibilityContext.java
index df1648e..4049611 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/VisibilityContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/VisibilityContext.java
@@ -34,23 +34,13 @@ public abstract class VisibilityContext
extends InteractionContext
implements InteractionEventSupplier<VisibilityEvent> {
- private Where where;
-
public VisibilityContext(
final InteractionContextType interactionType,
final ManagedObject targetAdapter,
final Identifier identifier,
final InteractionInitiatedBy interactionInitiatedBy,
final Where where) {
- super(interactionType, interactionInitiatedBy, identifier, targetAdapter);
- this.where = where;
- }
-
- /**
- * Where the element is to be rendered.
- */
- public Where getWhere() {
- return where;
+ super(interactionType, interactionInitiatedBy, identifier, targetAdapter, where);
}
}