This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch 3409-mixin.eventtypes
in repository https://gitbox.apache.org/repos/asf/causeway.git

commit da5f3fa615b02556a71046f575b5cdc3a566cc6d
Author: andi-huber <[email protected]>
AuthorDate: Sat Apr 15 16:25:18 2023 +0200

    CAUSEWAY-3409: simplify event-type related facets
---
 .../applib/events/domain/AbstractDomainEvent.java  | 26 +++++++------
 .../applib/events/domain/ActionDomainEvent.java    | 14 -------
 ...Abstract.java => DomainEventFacetAbstract.java} | 41 ++++++++++----------
 .../core/metamodel/facets/DomainEventHelper.java   | 18 ++++-----
 .../facets/SingleClassValueFacetAbstract.java      |  2 +-
 .../action/ActionAnnotationFacetFactory.java       |  4 ++
 .../action/invocation/ActionDomainEventFacet.java  |  3 +-
 .../invocation/ActionDomainEventFacetAbstract.java | 16 ++------
 .../invocation/ActionDomainEventFacetDefault.java  |  1 -
 ...ctionInvocationFacetForDomainEventAbstract.java |  2 +-
 .../modify/CollectionDomainEventFacet.java         |  3 +-
 .../modify/CollectionDomainEventFacetAbstract.java | 27 +++----------
 ...EventDefaultFacetForDomainObjectAnnotation.java | 11 +-----
 ...EventDefaultFacetForDomainObjectAnnotation.java | 12 ++----
 ...EventDefaultFacetForDomainObjectAnnotation.java | 10 +----
 .../property/modify/PropertyDomainEventFacet.java  |  3 +-
 .../modify/PropertyDomainEventFacetAbstract.java   | 44 +++++++++-------------
 .../metamodel/interactions/InteractionHead.java    |  4 +-
 .../TweakDomainEventsForMixinPostProcessor.java    | 37 +++++++++---------
 .../core/metamodel/spec/feature/ObjectAction.java  |  2 +-
 .../PropertyAnnotationFacetFactoryTest.java        |  6 +--
 21 files changed, 108 insertions(+), 178 deletions(-)

diff --git 
a/api/applib/src/main/java/org/apache/causeway/applib/events/domain/AbstractDomainEvent.java
 
b/api/applib/src/main/java/org/apache/causeway/applib/events/domain/AbstractDomainEvent.java
index ba20e5388f..2df31e83d1 100644
--- 
a/api/applib/src/main/java/org/apache/causeway/applib/events/domain/AbstractDomainEvent.java
+++ 
b/api/applib/src/main/java/org/apache/causeway/applib/events/domain/AbstractDomainEvent.java
@@ -119,24 +119,26 @@ public abstract class AbstractDomainEvent<S> extends 
EventObjectBase<S> {
      * </p>
      */
     @Getter
-    private Object mixedIn;
+    private Object mixee;
 
     /**
      * Not API - set by the framework.
      */
-    public void setMixedIn(final Object mixedIn) {
-        this.mixedIn = mixedIn;
+    public final void setMixee(final Object mixee) {
+        this.mixee = mixee;
     }
 
 
     /**
      * The subject of the event, which will be either the
      * {@link #getSource() source} for a regular action, or the
-     * {@link #getMixedIn() mixed-in} domain object for a mixin.
+     * {@link #getMixee() mixed-in} domain object for a mixin.
      */
     public <T> T getSubject() {
-        val mixedIn = getMixedIn();
-        val mixedInElseSource = mixedIn != null ? mixedIn : getSource();
+        val mixee = getMixee();
+        val mixedInElseSource = mixee != null
+                ? mixee
+                : getSource();
         return _Casts.uncheckedCast(mixedInElseSource);
     }
 
@@ -194,7 +196,7 @@ public abstract class AbstractDomainEvent<S> extends 
EventObjectBase<S> {
     /**
      * Not API, set by the framework.
      */
-    public void setEventPhase(final Phase phase) {
+    public final void setEventPhase(final Phase phase) {
         this.eventPhase = phase;
     }
 
@@ -208,7 +210,7 @@ public abstract class AbstractDomainEvent<S> extends 
EventObjectBase<S> {
     /**
      * Not API, set by the framework if the no-arg constructor is used.
      */
-    public void setIdentifier(final Identifier identifier) {
+    public final void setIdentifier(final Identifier identifier) {
         this.identifier = identifier;
     }
 
@@ -226,7 +228,7 @@ public abstract class AbstractDomainEvent<S> extends 
EventObjectBase<S> {
      *
      * @see #veto(String, Object...)
      */
-    public void hide() {
+    public final void hide() {
         this.hidden = true;
     }
 
@@ -275,7 +277,7 @@ public abstract class AbstractDomainEvent<S> extends 
EventObjectBase<S> {
      * @see 
#disable(org.apache.causeway.applib.services.i18n.TranslatableString)
      * @see #veto(String, Object...)
      */
-    public void disable(final String reason) {
+    public final void disable(final String reason) {
         this.disabledReason = reason;
     }
 
@@ -286,7 +288,7 @@ public abstract class AbstractDomainEvent<S> extends 
EventObjectBase<S> {
      * @see #disable(java.lang.String)
      * @see #veto(org.apache.causeway.applib.services.i18n.TranslatableString)
      */
-    public void disable(final TranslatableString reason) {
+    public final void disable(final TranslatableString reason) {
         this.disabledReasonTranslatable = reason;
     }
 
@@ -478,7 +480,7 @@ public abstract class AbstractDomainEvent<S> extends 
EventObjectBase<S> {
      *
      * Set user-data, for the use of a subsequent {@link #getEventPhase() 
phase}.
      */
-    public void put(final Object key, final Object value) {
+    public final void put(final Object key, final Object value) {
         userData.put(key, value);
     }
 
diff --git 
a/api/applib/src/main/java/org/apache/causeway/applib/events/domain/ActionDomainEvent.java
 
b/api/applib/src/main/java/org/apache/causeway/applib/events/domain/ActionDomainEvent.java
index 0fe33d3b7f..76b50c2ee0 100644
--- 
a/api/applib/src/main/java/org/apache/causeway/applib/events/domain/ActionDomainEvent.java
+++ 
b/api/applib/src/main/java/org/apache/causeway/applib/events/domain/ActionDomainEvent.java
@@ -139,12 +139,6 @@ public abstract class ActionDomainEvent<S> extends 
AbstractDomainEvent<S> {
     @Getter
     private List<Class<?>> parameterTypes;
 
-    /**
-     * Populated only for mixins; holds the underlying domain object that the 
mixin contributes to.
-     */
-    @Getter
-    private Object mixedIn;
-
     /**
      * The arguments being used to invoke the action.
      *
@@ -208,14 +202,6 @@ public abstract class ActionDomainEvent<S> extends 
AbstractDomainEvent<S> {
     public void setParameterTypes(final List<Class<?>> parameterTypes) {
         this.parameterTypes = parameterTypes;
     }
-    /**
-     * @apiNote : NOT API, set by the framework
-     */
-    @Override
-    public void setMixedIn(final Object mixedIn) {
-        this.mixedIn = mixedIn;
-    }
-
 
     private static final ToString<ActionDomainEvent<?>> toString = 
ObjectContracts.<ActionDomainEvent<?>>
     toString("source", ActionDomainEvent::getSource)
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/SingleClassValueFacetAbstract.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/DomainEventFacetAbstract.java
similarity index 64%
copy from 
core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/SingleClassValueFacetAbstract.java
copy to 
core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/DomainEventFacetAbstract.java
index f70e2cd718..700e5e1f23 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/SingleClassValueFacetAbstract.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/DomainEventFacetAbstract.java
@@ -23,48 +23,45 @@ import java.util.function.BiConsumer;
 import org.apache.causeway.core.metamodel.facetapi.Facet;
 import org.apache.causeway.core.metamodel.facetapi.FacetAbstract;
 import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
-import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
 
 import lombok.NonNull;
 
-public abstract class SingleClassValueFacetAbstract
-extends FacetAbstract
-implements SingleClassValueFacet {
+public abstract class DomainEventFacetAbstract<T>
+extends FacetAbstract {
 
-    private final Class<?> value;
+    private final Class<? extends T> eventType;
 
-    public SingleClassValueFacetAbstract(
+    protected DomainEventFacetAbstract(
             final Class<? extends Facet> facetType,
             final FacetHolder holder,
-            final Class<?> value) {
+            final Class<? extends T> eventType) {
         super(facetType, holder);
-        this.value = value;
+        this.eventType = eventType;
     }
 
-    @Override
-    public Class<?> value() {
-        return value;
+    public final Class<? extends T> getEventType() {
+        return eventType;
     }
 
-    /**
-     * The {@link ObjectSpecification} of the {@link #value()}.
-     */
-    @Override
-    public ObjectSpecification valueSpec() {
-        final Class<?> valueType = value();
-        return valueType != null ? 
getSpecificationLoader().loadSpecification(valueType) : null;
-    }
+//    /**
+//     * The {@link ObjectSpecification} of the {@link #value()}.
+//     */
+//    @Override
+//    public ObjectSpecification valueSpec() {
+//        final Class<?> valueType = value();
+//        return valueType != null ? 
getSpecificationLoader().loadSpecification(valueType) : null;
+//    }
 
     @Override
     public void visitAttributes(final BiConsumer<String, Object> visitor) {
         super.visitAttributes(visitor);
-        visitor.accept("value", value());
+        visitor.accept("eventType", getEventType());
     }
 
     @Override
     public boolean semanticEquals(final @NonNull Facet other) {
-        return other instanceof SingleClassValueFacet
-                ? this.value() == ((SingleClassValueFacet)other).value()
+        return other instanceof DomainEventFacetAbstract
+                ? this.getEventType() == 
((DomainEventFacetAbstract<?>)other).getEventType()
                 : false;
     }
 
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/DomainEventHelper.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/DomainEventHelper.java
index a7dafe25b2..e23619b2d1 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/DomainEventHelper.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/DomainEventHelper.java
@@ -125,10 +125,10 @@ public class DomainEventHelper {
                 final Identifier identifier = 
facetHolder.getFeatureIdentifier();
                 event = newActionDomainEvent(eventType, identifier, source, 
arguments);
 
-                // copy over if have
-                head.getMixedIn()
+                // copy over if mixee is present
+                head.getMixee()
                 .ifPresent(mixedInAdapter->
-                    event.setMixedIn(mixedInAdapter.getPojo()));
+                    event.setMixee(mixedInAdapter.getPojo()));
 
                 if(objectAction != null) {
                     // should always be the case...
@@ -251,9 +251,9 @@ public class DomainEventHelper {
                 event = newPropertyDomainEvent(eventType, identifier, source, 
oldValue, newValue);
 
                 // copy over if have
-                head.getMixedIn()
-                .ifPresent(mixedInAdapter->
-                    event.setMixedIn(mixedInAdapter.getPojo()));
+                head.getMixee()
+                .ifPresent(mixeeAdapter->
+                    event.setMixee(mixeeAdapter.getPojo()));
 
             }
 
@@ -343,9 +343,9 @@ public class DomainEventHelper {
             event = newCollectionDomainEvent(eventType, phase, identifier, 
source);
 
             // copy over if have
-            head.getMixedIn()
-            .ifPresent(mixedInAdapter->
-                event.setMixedIn(mixedInAdapter.getPojo()));
+            head.getMixee()
+            .ifPresent(mixeeAdapter->
+                event.setMixee(mixeeAdapter.getPojo()));
 
             event.setEventPhase(phase);
 
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/SingleClassValueFacetAbstract.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/SingleClassValueFacetAbstract.java
index f70e2cd718..ab5c676d97 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/SingleClassValueFacetAbstract.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/SingleClassValueFacetAbstract.java
@@ -33,7 +33,7 @@ implements SingleClassValueFacet {
 
     private final Class<?> value;
 
-    public SingleClassValueFacetAbstract(
+    protected SingleClassValueFacetAbstract(
             final Class<? extends Facet> facetType,
             final FacetHolder holder,
             final Class<?> value) {
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
index af4ddfcfc6..a8ccbfbd21 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
@@ -25,6 +25,7 @@ import javax.inject.Inject;
 import org.apache.causeway.applib.annotation.Action;
 import org.apache.causeway.applib.events.domain.ActionDomainEvent;
 import org.apache.causeway.applib.mixins.system.HasInteractionId;
+import org.apache.causeway.commons.internal.assertions._Assert;
 import org.apache.causeway.core.config.progmodel.ProgrammingModelConstants;
 import org.apache.causeway.core.metamodel.context.MetaModelContext;
 import org.apache.causeway.core.metamodel.facetapi.FeatureType;
@@ -113,6 +114,9 @@ extends FacetFactoryAbstract {
             val typeSpec = getSpecificationLoader().loadSpecification(cls);
             val holder = processMethodContext.getFacetHolder();
 
+            //FIXME[CAUSEWAY-3409]
+            _Assert.assertFalse(typeSpec.isMixin(), ()->"we need the mixee 
instead");
+
             //
             // Set up ActionDomainEventFacet, which will act as the 
hiding/disabling/validating advisor
             //
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/invocation/ActionDomainEventFacet.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/invocation/ActionDomainEventFacet.java
index 87bcc3c7c0..53ccb2d31d 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/invocation/ActionDomainEventFacet.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/invocation/ActionDomainEventFacet.java
@@ -18,7 +18,6 @@
  */
 package org.apache.causeway.core.metamodel.facets.actions.action.invocation;
 
-import org.apache.causeway.core.metamodel.facets.SingleClassValueFacet;
 import 
org.apache.causeway.core.metamodel.interactions.DisablingInteractionAdvisor;
 import 
org.apache.causeway.core.metamodel.interactions.HidingInteractionAdvisor;
 import 
org.apache.causeway.core.metamodel.interactions.ValidatingInteractionAdvisor;
@@ -27,7 +26,7 @@ import 
org.apache.causeway.core.metamodel.interactions.ValidatingInteractionAdvi
  * Corresponds to <tt>@Action(domainEvent=...)</tt> annotation in the Causeway 
programming model.
  */
 public interface ActionDomainEventFacet
-extends SingleClassValueFacet, HidingInteractionAdvisor, 
DisablingInteractionAdvisor,
+extends HidingInteractionAdvisor, DisablingInteractionAdvisor,
 ValidatingInteractionAdvisor {
 
 }
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/invocation/ActionDomainEventFacetAbstract.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/invocation/ActionDomainEventFacetAbstract.java
index eb3e5a8ff0..89039f90f3 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/invocation/ActionDomainEventFacetAbstract.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/invocation/ActionDomainEventFacetAbstract.java
@@ -29,8 +29,8 @@ import org.apache.causeway.commons.collections.Can;
 import org.apache.causeway.commons.internal.assertions._Assert;
 import org.apache.causeway.core.metamodel.consent.Consent.VetoReason;
 import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
+import org.apache.causeway.core.metamodel.facets.DomainEventFacetAbstract;
 import org.apache.causeway.core.metamodel.facets.DomainEventHelper;
-import org.apache.causeway.core.metamodel.facets.SingleClassValueFacetAbstract;
 import 
org.apache.causeway.core.metamodel.interactions.ActionInteractionContext;
 import org.apache.causeway.core.metamodel.interactions.ActionValidityContext;
 import org.apache.causeway.core.metamodel.interactions.InteractionContext;
@@ -39,24 +39,19 @@ import 
org.apache.causeway.core.metamodel.interactions.ValidityContext;
 import org.apache.causeway.core.metamodel.interactions.VisibilityContext;
 import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
 
-import lombok.Getter;
-import lombok.Setter;
-
 public abstract class ActionDomainEventFacetAbstract
-extends SingleClassValueFacetAbstract
+extends DomainEventFacetAbstract<ActionDomainEvent<?>>
 implements ActionDomainEventFacet {
 
-    @Getter @Setter private Class<? extends ActionDomainEvent<?>> eventType;
     private final TranslationService translationService;
     private final TranslationContext translationContext;
     private final DomainEventHelper domainEventHelper;
 
-    public ActionDomainEventFacetAbstract(
+    protected ActionDomainEventFacetAbstract(
             final Class<? extends ActionDomainEvent<?>> eventType,
             final FacetHolder holder) {
 
         super(ActionDomainEventFacet.class, holder, eventType);
-        setEventType(eventType);
 
         this.translationService = getTranslationService();
         this.translationContext = holder.getTranslationContext();
@@ -64,11 +59,6 @@ implements ActionDomainEventFacet {
         domainEventHelper = 
DomainEventHelper.ofServiceRegistry(getServiceRegistry());
     }
 
-    @Override
-    public Class<?> value() {
-        return eventType;
-    }
-
     @Override
     public String hides(final VisibilityContext ic) {
 
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/invocation/ActionDomainEventFacetDefault.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/invocation/ActionDomainEventFacetDefault.java
index 311f7c3a4f..99ae808905 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/invocation/ActionDomainEventFacetDefault.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/invocation/ActionDomainEventFacetDefault.java
@@ -28,5 +28,4 @@ public class ActionDomainEventFacetDefault extends 
ActionDomainEventFacetAbstrac
         super(eventType, holder);
     }
 
-
 }
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java
index 2fa08e526d..23a668da28 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java
@@ -65,7 +65,7 @@ implements ImperativeFacet {
     private final ServiceRegistry serviceRegistry;
     private final DomainEventHelper domainEventHelper;
 
-    public ActionInvocationFacetForDomainEventAbstract(
+    protected ActionInvocationFacetForDomainEventAbstract(
             final Class<? extends ActionDomainEvent<?>> eventType,
             final MethodFacade method,
             final ObjectSpecification declaringType,
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/collection/modify/CollectionDomainEventFacet.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/collection/modify/CollectionDomainEventFacet.java
index 68871f9fc0..c59dc19463 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/collection/modify/CollectionDomainEventFacet.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/collection/modify/CollectionDomainEventFacet.java
@@ -18,14 +18,13 @@
  */
 package 
org.apache.causeway.core.metamodel.facets.collections.collection.modify;
 
-import org.apache.causeway.core.metamodel.facets.SingleClassValueFacet;
 import 
org.apache.causeway.core.metamodel.interactions.HidingInteractionAdvisor;
 
 /**
  * Corresponds to <tt>@Collection(domainEvent=...)</tt> annotation in the 
Causeway programming model.
  */
 public interface CollectionDomainEventFacet
-extends SingleClassValueFacet, HidingInteractionAdvisor {
+extends HidingInteractionAdvisor {
 
 }
 
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/collection/modify/CollectionDomainEventFacetAbstract.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/collection/modify/CollectionDomainEventFacetAbstract.java
index 573034371f..3be7077170 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/collection/modify/CollectionDomainEventFacetAbstract.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/collection/modify/CollectionDomainEventFacetAbstract.java
@@ -22,48 +22,31 @@ import 
org.apache.causeway.applib.events.domain.AbstractDomainEvent;
 import org.apache.causeway.applib.events.domain.CollectionDomainEvent;
 import org.apache.causeway.commons.internal.base._Casts;
 import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
+import org.apache.causeway.core.metamodel.facets.DomainEventFacetAbstract;
 import org.apache.causeway.core.metamodel.facets.DomainEventHelper;
-import org.apache.causeway.core.metamodel.facets.SingleClassValueFacetAbstract;
 import org.apache.causeway.core.metamodel.interactions.VisibilityContext;
 
 public abstract class CollectionDomainEventFacetAbstract
-        extends SingleClassValueFacetAbstract
-        implements CollectionDomainEventFacet {
+extends DomainEventFacetAbstract<CollectionDomainEvent<?, ?>>
+implements CollectionDomainEventFacet {
 
     private final DomainEventHelper domainEventHelper;
 
     public CollectionDomainEventFacetAbstract(
             final Class<? extends CollectionDomainEvent<?, ?>> eventType,
-                    final FacetHolder holder) {
+            final FacetHolder holder) {
 
         super(CollectionDomainEventFacet.class, holder, eventType);
-        this.eventType = eventType;
-
         domainEventHelper = 
DomainEventHelper.ofServiceRegistry(getServiceRegistry());
     }
 
-    private Class<? extends CollectionDomainEvent<?, ?>> eventType;
-
-    @Override
-    public Class<?> value() {
-        return eventType;
-    }
-
-    public <S, T> Class<? extends CollectionDomainEvent<S, T>> getEventType() {
-        return _Casts.uncheckedCast(eventType);
-    }
-
-    public void setEventType(final Class<? extends CollectionDomainEvent<?, 
?>> eventType) {
-        this.eventType = eventType;
-    }
-
     @Override
     public String hides(final VisibilityContext ic) {
 
         final CollectionDomainEvent<?, ?> event =
                 domainEventHelper.postEventForCollection(
                         AbstractDomainEvent.Phase.HIDE,
-                        getEventType(),
+                        _Casts.uncheckedCast(getEventType()),
                         getFacetHolder(), ic.getHead()
                 );
         if (event != null && event.isHidden()) {
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobject/domainevents/ActionDomainEventDefaultFacetForDomainObjectAnnotation.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobject/domainevents/ActionDomainEventDefaultFacetForDomainObjectAnnotation.java
index 0abd2ee326..0db87e591c 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobject/domainevents/ActionDomainEventDefaultFacetForDomainObjectAnnotation.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobject/domainevents/ActionDomainEventDefaultFacetForDomainObjectAnnotation.java
@@ -21,7 +21,7 @@ package 
org.apache.causeway.core.metamodel.facets.object.domainobject.domaineven
 import org.apache.causeway.applib.events.domain.ActionDomainEvent;
 import org.apache.causeway.core.metamodel.facetapi.Facet;
 import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
-import org.apache.causeway.core.metamodel.facets.SingleClassValueFacetAbstract;
+import org.apache.causeway.core.metamodel.facets.DomainEventFacetAbstract;
 import 
org.apache.causeway.core.metamodel.facets.actions.action.invocation.ActionDomainEventFacet;
 
 /**
@@ -29,13 +29,7 @@ import 
org.apache.causeway.core.metamodel.facets.actions.action.invocation.Actio
  * for any actions as a fallback/default.
  */
 public class ActionDomainEventDefaultFacetForDomainObjectAnnotation
-extends SingleClassValueFacetAbstract {
-
-
-    private final Class<? extends ActionDomainEvent<?>> eventType;
-    public Class<? extends ActionDomainEvent<?>> getEventType() {
-        return eventType;
-    }
+extends DomainEventFacetAbstract<ActionDomainEvent<?>> {
 
     private static Class<? extends Facet> type() {
         return ActionDomainEventDefaultFacetForDomainObjectAnnotation.class;
@@ -45,7 +39,6 @@ extends SingleClassValueFacetAbstract {
             final FacetHolder holder,
             final Class<? extends ActionDomainEvent<?>> value) {
         super(type(), holder, value);
-        this.eventType = value;
     }
 
 }
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobject/domainevents/CollectionDomainEventDefaultFacetForDomainObjectAnnotation.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobject/domainevents/CollectionDomainEventDefaultFacetForDomainObjectAnnotation.java
index 97516bdb6e..2213468eff 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobject/domainevents/CollectionDomainEventDefaultFacetForDomainObjectAnnotation.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobject/domainevents/CollectionDomainEventDefaultFacetForDomainObjectAnnotation.java
@@ -21,7 +21,7 @@ package 
org.apache.causeway.core.metamodel.facets.object.domainobject.domaineven
 import org.apache.causeway.applib.events.domain.CollectionDomainEvent;
 import org.apache.causeway.core.metamodel.facetapi.Facet;
 import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
-import org.apache.causeway.core.metamodel.facets.SingleClassValueFacetAbstract;
+import org.apache.causeway.core.metamodel.facets.DomainEventFacetAbstract;
 import 
org.apache.causeway.core.metamodel.facets.actions.action.invocation.ActionDomainEventFacet;
 
 /**
@@ -29,12 +29,7 @@ import 
org.apache.causeway.core.metamodel.facets.actions.action.invocation.Actio
  * for any actions as a fallback/default.
  */
 public class CollectionDomainEventDefaultFacetForDomainObjectAnnotation
-extends SingleClassValueFacetAbstract {
-
-    private final Class<? extends CollectionDomainEvent<?, ?>> eventType;
-    public Class<? extends CollectionDomainEvent<?, ?>> getEventType() {
-        return eventType;
-    }
+extends DomainEventFacetAbstract<CollectionDomainEvent<?, ?>> {
 
     private static Class<? extends Facet> type() {
         return 
CollectionDomainEventDefaultFacetForDomainObjectAnnotation.class;
@@ -42,9 +37,8 @@ extends SingleClassValueFacetAbstract {
 
     public CollectionDomainEventDefaultFacetForDomainObjectAnnotation(
             final FacetHolder holder,
-            final Class<? extends CollectionDomainEvent<?,?>> value) {
+            final Class<? extends CollectionDomainEvent<?, ?>> value) {
         super(type(), holder, value);
-        this.eventType = value;
     }
 
 }
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobject/domainevents/PropertyDomainEventDefaultFacetForDomainObjectAnnotation.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobject/domainevents/PropertyDomainEventDefaultFacetForDomainObjectAnnotation.java
index 8b8a7ae038..7820dbb5be 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobject/domainevents/PropertyDomainEventDefaultFacetForDomainObjectAnnotation.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobject/domainevents/PropertyDomainEventDefaultFacetForDomainObjectAnnotation.java
@@ -21,7 +21,7 @@ package 
org.apache.causeway.core.metamodel.facets.object.domainobject.domaineven
 import org.apache.causeway.applib.events.domain.PropertyDomainEvent;
 import org.apache.causeway.core.metamodel.facetapi.Facet;
 import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
-import org.apache.causeway.core.metamodel.facets.SingleClassValueFacetAbstract;
+import org.apache.causeway.core.metamodel.facets.DomainEventFacetAbstract;
 import 
org.apache.causeway.core.metamodel.facets.actions.action.invocation.ActionDomainEventFacet;
 
 /**
@@ -29,12 +29,7 @@ import 
org.apache.causeway.core.metamodel.facets.actions.action.invocation.Actio
  * for any actions as a fallback/default.
  */
 public class PropertyDomainEventDefaultFacetForDomainObjectAnnotation
-extends SingleClassValueFacetAbstract {
-
-    private final Class<? extends PropertyDomainEvent<?, ?>> eventType;
-    public Class<? extends PropertyDomainEvent<?, ?>> getEventType() {
-        return eventType;
-    }
+extends DomainEventFacetAbstract<PropertyDomainEvent<?, ?>> {
 
     private static Class<? extends Facet> type() {
         return PropertyDomainEventDefaultFacetForDomainObjectAnnotation.class;
@@ -44,7 +39,6 @@ extends SingleClassValueFacetAbstract {
             final FacetHolder holder,
             final Class<? extends PropertyDomainEvent<?,?>> value) {
         super(type(), holder, value);
-        this.eventType = value;
     }
 
 }
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/properties/property/modify/PropertyDomainEventFacet.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/properties/property/modify/PropertyDomainEventFacet.java
index 35755e3b4f..0a962bd89e 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/properties/property/modify/PropertyDomainEventFacet.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/properties/property/modify/PropertyDomainEventFacet.java
@@ -18,7 +18,6 @@
  */
 package org.apache.causeway.core.metamodel.facets.properties.property.modify;
 
-import org.apache.causeway.core.metamodel.facets.SingleClassValueFacet;
 import 
org.apache.causeway.core.metamodel.interactions.DisablingInteractionAdvisor;
 import 
org.apache.causeway.core.metamodel.interactions.HidingInteractionAdvisor;
 import 
org.apache.causeway.core.metamodel.interactions.ValidatingInteractionAdvisor;
@@ -27,6 +26,6 @@ import 
org.apache.causeway.core.metamodel.interactions.ValidatingInteractionAdvi
  * Corresponds to <tt>@Property(domainEvent=...)</tt> annotation in the 
Causeway programming model.
  */
 public interface PropertyDomainEventFacet
-extends SingleClassValueFacet, HidingInteractionAdvisor, 
DisablingInteractionAdvisor, ValidatingInteractionAdvisor {
+extends HidingInteractionAdvisor, DisablingInteractionAdvisor, 
ValidatingInteractionAdvisor {
 
 }
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/properties/property/modify/PropertyDomainEventFacetAbstract.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/properties/property/modify/PropertyDomainEventFacetAbstract.java
index 614a515af7..9bd94b6427 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/properties/property/modify/PropertyDomainEventFacetAbstract.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/properties/property/modify/PropertyDomainEventFacetAbstract.java
@@ -21,7 +21,6 @@ package 
org.apache.causeway.core.metamodel.facets.properties.property.modify;
 import java.util.Optional;
 import java.util.function.BiConsumer;
 
-import org.apache.causeway.applib.annotation.DomainObject;
 import org.apache.causeway.applib.events.domain.AbstractDomainEvent;
 import org.apache.causeway.applib.events.domain.PropertyDomainEvent;
 import org.apache.causeway.applib.services.i18n.TranslatableString;
@@ -30,8 +29,8 @@ import 
org.apache.causeway.applib.services.i18n.TranslationService;
 import org.apache.causeway.commons.internal.base._Casts;
 import org.apache.causeway.core.metamodel.consent.Consent.VetoReason;
 import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
+import org.apache.causeway.core.metamodel.facets.DomainEventFacetAbstract;
 import org.apache.causeway.core.metamodel.facets.DomainEventHelper;
-import org.apache.causeway.core.metamodel.facets.SingleClassValueFacetAbstract;
 import 
org.apache.causeway.core.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet;
 import org.apache.causeway.core.metamodel.interactions.ProposedHolder;
 import org.apache.causeway.core.metamodel.interactions.UsabilityContext;
@@ -41,7 +40,8 @@ import 
org.apache.causeway.core.metamodel.object.ManagedObject;
 import 
org.apache.causeway.core.metamodel.specloader.specimpl.OneToOneAssociationMixedIn;
 
 public abstract class PropertyDomainEventFacetAbstract
-extends SingleClassValueFacetAbstract implements PropertyDomainEventFacet {
+extends DomainEventFacetAbstract<PropertyDomainEvent<?, ?>>
+implements PropertyDomainEventFacet {
 
     private final DomainEventHelper domainEventHelper;
 
@@ -54,11 +54,10 @@ extends SingleClassValueFacetAbstract implements 
PropertyDomainEventFacet {
      */
     public PropertyDomainEventFacetAbstract(
             final Class<? extends PropertyDomainEvent<?, ?>> eventType,
-                    final PropertyOrCollectionAccessorFacet getterFacetIfAny,
-                    final FacetHolder holder ) {
+            final PropertyOrCollectionAccessorFacet getterFacetIfAny,
+            final FacetHolder holder ) {
 
         super(PropertyDomainEventFacet.class, holder, eventType);
-        this.eventType = eventType;
         this.getterFacetIfAny = getterFacetIfAny;
 
         this.translationService = getTranslationService();
@@ -67,24 +66,15 @@ extends SingleClassValueFacetAbstract implements 
PropertyDomainEventFacet {
         domainEventHelper = 
DomainEventHelper.ofServiceRegistry(getServiceRegistry());
     }
 
-    private Class<? extends PropertyDomainEvent<?, ?>> eventType;
-
-    @Override
-    public Class<?> value() {
-        return eventType;
-    }
-
-    public <S, T> Class<? extends PropertyDomainEvent<S, T>> getEventType() {
-        return _Casts.uncheckedCast(eventType);
-    }
-
-    /**
-     * Can be overwritten if this facet is on a mixin where the subject 
(mixedInType) is annotated with
-     * {@link DomainObject#propertyDomainEvent()}.
-     */
-    public void setEventType(final Class<? extends PropertyDomainEvent<?, ?>> 
eventType) {
-        this.eventType = eventType;
-    }
+//    private Class<? extends PropertyDomainEvent<?, ?>> eventType;
+//
+//    /**
+//     * Can be overwritten if this facet is on a mixin where the subject 
(mixedInType) is annotated with
+//     * {@link DomainObject#propertyDomainEvent()}.
+//     */
+//    public void setEventType(final Class<? extends PropertyDomainEvent<?, 
?>> eventType) {
+//        this.eventType = eventType;
+//    }
 
     @Override
     public String hides(final VisibilityContext ic) {
@@ -92,7 +82,7 @@ extends SingleClassValueFacetAbstract implements 
PropertyDomainEventFacet {
         final PropertyDomainEvent<?, ?> event =
                 domainEventHelper.postEventForProperty(
                         AbstractDomainEvent.Phase.HIDE,
-                        getEventType(), null,
+                        _Casts.uncheckedCast(getEventType()), null,
                         getFacetHolder(), ic.getHead(),
                         null, null);
         if (event != null && event.isHidden()) {
@@ -107,7 +97,7 @@ extends SingleClassValueFacetAbstract implements 
PropertyDomainEventFacet {
         final PropertyDomainEvent<?, ?> event =
                 domainEventHelper.postEventForProperty(
                         AbstractDomainEvent.Phase.DISABLE,
-                        getEventType(), null,
+                        _Casts.uncheckedCast(getEventType()), null,
                         getFacetHolder(), ic.getHead(),
                         null, null);
         if (event != null
@@ -144,7 +134,7 @@ extends SingleClassValueFacetAbstract implements 
PropertyDomainEventFacet {
         final PropertyDomainEvent<?, ?> event =
                 domainEventHelper.postEventForProperty(
                         AbstractDomainEvent.Phase.VALIDATE,
-                        getEventType(), null,
+                        _Casts.uncheckedCast(getEventType()), null,
                         getFacetHolder(), ic.getHead(),
                         oldValue, proposedValue);
         if (event != null && event.isInvalid()) {
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/interactions/InteractionHead.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/interactions/InteractionHead.java
index a1af639dc6..2586c896c9 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/interactions/InteractionHead.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/interactions/InteractionHead.java
@@ -63,9 +63,9 @@ public class InteractionHead {
 
     /**
      * as used by the domain event subsystem
-     * @return optionally the owner, based on whether the target is a mixin
+     * @return optionally the owner (mixee), based on whether the target is a 
mixin
      */
-    public Optional<ManagedObject> getMixedIn() {
+    public Optional<ManagedObject> getMixee() {
         return Objects.equals(getOwner(), getTarget())
                 ? Optional.empty()
                 : Optional.of(getOwner());
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/postprocessors/members/TweakDomainEventsForMixinPostProcessor.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/postprocessors/members/TweakDomainEventsForMixinPostProcessor.java
index d6913e8154..f2a12f74e4 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/postprocessors/members/TweakDomainEventsForMixinPostProcessor.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/postprocessors/members/TweakDomainEventsForMixinPostProcessor.java
@@ -27,6 +27,7 @@ import org.apache.causeway.applib.annotation.Property;
 import org.apache.causeway.applib.events.domain.ActionDomainEvent;
 import org.apache.causeway.applib.events.domain.CollectionDomainEvent;
 import org.apache.causeway.applib.events.domain.PropertyDomainEvent;
+import org.apache.causeway.commons.internal.base._Casts;
 import org.apache.causeway.commons.internal.reflection._Annotations;
 import org.apache.causeway.core.metamodel.context.MetaModelContext;
 import org.apache.causeway.core.metamodel.facetapi.FacetUtil;
@@ -50,7 +51,6 @@ import 
org.apache.causeway.core.metamodel.spec.ObjectSpecification;
 import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
 import org.apache.causeway.core.metamodel.spec.feature.OneToManyAssociation;
 import org.apache.causeway.core.metamodel.spec.feature.OneToOneAssociation;
-import 
org.apache.causeway.core.metamodel.specloader.specimpl.ObjectActionMixedIn;
 import 
org.apache.causeway.core.metamodel.specloader.specimpl.OneToManyAssociationMixedIn;
 import 
org.apache.causeway.core.metamodel.specloader.specimpl.OneToOneAssociationMixedIn;
 
@@ -65,23 +65,22 @@ extends ObjectSpecificationPostProcessorAbstract {
     @Override
     public void postProcessAction(final ObjectSpecification 
objectSpecification, final ObjectAction objectAction) {
 
-        if(objectAction instanceof ObjectActionMixedIn) {
+        if(objectAction.isMixedIn()) {
             // unlike collection and property mixins, there is no need to 
create the DomainEventFacet, it will
             // have been created in the ActionAnnotationFacetFactory
-            final ActionDomainEventDefaultFacetForDomainObjectAnnotation 
actionDomainEventDefaultFacet =
-                    
objectSpecification.getFacet(ActionDomainEventDefaultFacetForDomainObjectAnnotation.class);
-
-            if(actionDomainEventDefaultFacet != null) {
-                final ObjectActionMixedIn actionMixedIn = 
(ObjectActionMixedIn) objectAction;
-                final ActionDomainEventFacet actionFacet = 
actionMixedIn.getFacet(ActionDomainEventFacet.class);
-                if (actionFacet instanceof ActionDomainEventFacetAbstract) {
-                    final ActionDomainEventFacetAbstract facetAbstract = 
(ActionDomainEventFacetAbstract) actionFacet;
-                    if (facetAbstract.getEventType() == 
ActionDomainEvent.Default.class) {
-                        final ActionDomainEventFacetAbstract existing = 
(ActionDomainEventFacetAbstract) actionFacet;
-                        
existing.setEventType(actionDomainEventDefaultFacet.getEventType());
-                    }
-                }
-            }
+
+            
objectSpecification.lookupFacet(ActionDomainEventDefaultFacetForDomainObjectAnnotation.class)
+            .ifPresent(actionDomainEventDefaultFacet->{
+                _Casts.castTo(
+                        ActionDomainEventFacetAbstract.class,
+                        objectAction.getFacet(ActionDomainEventFacet.class))
+                .filter(actionDomainEventFacetAbstract->
+                    actionDomainEventFacetAbstract.getEventType() == 
ActionDomainEvent.Default.class)
+                .ifPresent(actionDomainEventFacetAbstract->{
+                    //FIXME[CAUSEWAY-3409]
+                    
//actionDomainEventFacetAbstract.setEventType(actionDomainEventDefaultFacet.getEventType());
+                });
+            });
         }
     }
 
@@ -119,7 +118,8 @@ extends ObjectSpecificationPostProcessorAbstract {
                     final PropertyDomainEventFacetAbstract facetAbstract = 
(PropertyDomainEventFacetAbstract) propertyFacet;
                     if (facetAbstract.getEventType() == 
PropertyDomainEvent.Default.class) {
                         final PropertyDomainEventFacetAbstract existing = 
(PropertyDomainEventFacetAbstract) propertyFacet;
-                        
existing.setEventType(propertyDomainEventDefaultFacet.getEventType());
+                        //FIXME[CAUSEWAY-3409]
+                        
//existing.setEventType(propertyDomainEventDefaultFacet.getEventType());
                     }
                 }
             }
@@ -159,7 +159,8 @@ extends ObjectSpecificationPostProcessorAbstract {
                         final CollectionDomainEventFacetAbstract facetAbstract 
= (CollectionDomainEventFacetAbstract) collectionFacet;
                         if (facetAbstract.getEventType() == 
CollectionDomainEvent.Default.class) {
                             final CollectionDomainEventFacetAbstract existing 
= (CollectionDomainEventFacetAbstract) collectionFacet;
-                            
existing.setEventType(collectionDomainEventDefaultFacet.getEventType());
+                            //FIXME[CAUSEWAY-3409]
+                            
//existing.setEventType(collectionDomainEventDefaultFacet.getEventType());
                         }
                     }
                 }
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/feature/ObjectAction.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/feature/ObjectAction.java
index 29eec9ce69..263d0ca750 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/feature/ObjectAction.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/feature/ObjectAction.java
@@ -404,7 +404,7 @@ public interface ObjectAction extends ObjectMember {
                 final @NonNull ObjectAction action,
                 final @NonNull InteractionHead head) {
 
-            val mixeeAdapter = head.getMixedIn().orElse(null);
+            val mixeeAdapter = head.getMixee().orElse(null);
 
             if(mixeeAdapter != null) {
                 val mixinSpec = action.getDeclaringType();
diff --git 
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
 
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
index ab41ab31ac..dea0d8c5de 100644
--- 
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
+++ 
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
@@ -279,7 +279,7 @@ class PropertyAnnotationFacetFactoryTest extends 
AbstractFacetFactoryJupiterTest
             assertNotNull(domainEventFacet);
             assertTrue(domainEventFacet instanceof 
PropertyDomainEventFacetForPropertyAnnotation);
             final PropertyDomainEventFacetForPropertyAnnotation 
domainEventFacetImpl = (PropertyDomainEventFacetForPropertyAnnotation) 
domainEventFacet;
-            assertThat(domainEventFacetImpl.value(), 
CausewayMatchers.classEqualTo(Customer.NamedChangedDomainEvent.class));
+            assertThat(domainEventFacetImpl.getEventType(), 
CausewayMatchers.classEqualTo(Customer.NamedChangedDomainEvent.class));
 
             // then
             final Facet setterFacet = 
facetedMethod.getFacet(PropertySetterFacet.class);
@@ -326,7 +326,7 @@ class PropertyAnnotationFacetFactoryTest extends 
AbstractFacetFactoryJupiterTest
             assertNotNull(domainEventFacet);
             assertTrue(domainEventFacet instanceof 
PropertyDomainEventFacetForPropertyAnnotation);
             final PropertyDomainEventFacetForPropertyAnnotation 
domainEventFacetImpl = (PropertyDomainEventFacetForPropertyAnnotation) 
domainEventFacet;
-            MatcherAssert.assertThat(domainEventFacetImpl.value(), 
CausewayMatchers.classEqualTo(Customer.NamedChangedDomainEvent.class));
+            MatcherAssert.assertThat(domainEventFacetImpl.getEventType(), 
CausewayMatchers.classEqualTo(Customer.NamedChangedDomainEvent.class));
 
             // then
             final Facet setterFacet = 
facetedMethod.getFacet(PropertySetterFacet.class);
@@ -373,7 +373,7 @@ class PropertyAnnotationFacetFactoryTest extends 
AbstractFacetFactoryJupiterTest
             assertNotNull(domainEventFacet);
             assertTrue(domainEventFacet instanceof 
PropertyDomainEventFacetDefault);
             final PropertyDomainEventFacetDefault domainEventFacetImpl = 
(PropertyDomainEventFacetDefault) domainEventFacet;
-            assertThat(domainEventFacetImpl.value(), 
CausewayMatchers.classEqualTo(PropertyDomainEvent.Default.class));
+            assertThat(domainEventFacetImpl.getEventType(), 
CausewayMatchers.classEqualTo(PropertyDomainEvent.Default.class));
 
             // then
             final Facet setterFacet = 
facetedMethod.getFacet(PropertySetterFacet.class);


Reply via email to