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

danhaywood pushed a commit to branch CAUSEWAY-3676
in repository https://gitbox.apache.org/repos/asf/causeway.git

commit 146cf7fe586714b16dd2fd3c247f04c50e1f8090
Author: danhaywood <[email protected]>
AuthorDate: Fri Feb 23 06:54:12 2024 +0000

    CAUSEWAY-3676: simplifies holders (10)
---
 .../viewer/graphql/model/domain/rich/query/GqlvAction.java    | 10 ++--------
 .../graphql/model/domain/rich/query/GqlvActionInvoke.java     |  9 ++-------
 .../graphql/model/domain/rich/query/GqlvActionInvokeArgs.java | 11 +++--------
 .../model/domain/rich/query/GqlvActionInvokeArgsArg.java      |  2 +-
 .../model/domain/rich/query/GqlvActionInvokeResult.java       |  4 ++--
 .../graphql/model/domain/rich/query/GqlvActionParams.java     | 11 +++--------
 .../model/domain/rich/query/GqlvActionParamsParam.java        |  9 ++-------
 .../domain/rich/query/GqlvActionParamsParamAutoComplete.java  |  4 ++--
 .../model/domain/rich/query/GqlvActionParamsParamChoices.java |  4 ++--
 .../model/domain/rich/query/GqlvActionParamsParamDefault.java |  4 ++--
 .../domain/rich/query/GqlvActionParamsParamDisabled.java      |  4 ++--
 .../model/domain/rich/query/GqlvActionParamsParamHidden.java  |  4 ++--
 .../domain/rich/query/GqlvActionParamsParamValidate.java      |  4 ++--
 .../graphql/model/domain/rich/query/GqlvActionValidity.java   |  4 ++--
 .../graphql/model/domain/rich/query/HolderActionDetails.java  |  3 ++-
 .../viewer/graphql/model/domain/rich/query/HolderMember.java  |  6 +++---
 .../viewer/graphql/model/domain/simple/query/GqlvAction.java  |  5 -----
 .../graphql/model/domain/simple/query/GqlvActionInvoke.java   |  9 ++-------
 .../model/domain/simple/query/GqlvActionInvokeArgs.java       | 11 +++--------
 .../model/domain/simple/query/GqlvActionInvokeArgsArg.java    |  2 +-
 .../model/domain/simple/query/GqlvActionInvokeResult.java     |  4 ++--
 .../graphql/model/domain/simple/query/GqlvActionParams.java   | 11 +++--------
 .../model/domain/simple/query/GqlvActionParamsParam.java      |  7 +------
 .../simple/query/GqlvActionParamsParamAutoComplete.java       |  4 ++--
 .../domain/simple/query/GqlvActionParamsParamChoices.java     |  4 ++--
 .../domain/simple/query/GqlvActionParamsParamDefault.java     |  4 ++--
 .../domain/simple/query/GqlvActionParamsParamDisabled.java    |  4 ++--
 .../domain/simple/query/GqlvActionParamsParamHidden.java      |  4 ++--
 .../domain/simple/query/GqlvActionParamsParamValidate.java    |  4 ++--
 .../graphql/model/domain/simple/query/GqlvActionValidity.java |  4 ++--
 .../model/mmproviders/ObjectActionParameterProvider.java      |  3 ++-
 .../graphql/model/mmproviders/ObjectActionProvider.java       |  1 -
 32 files changed, 62 insertions(+), 112 deletions(-)

diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvAction.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvAction.java
index 6f80886304..e86f7d71c0 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvAction.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvAction.java
@@ -50,9 +50,8 @@ import lombok.extern.log4j.Log4j2;
 @Log4j2
 public class GqlvAction
         extends GqlvMember<ObjectAction, 
org.apache.causeway.viewer.graphql.model.domain.common.query.GqlvMemberHolder>
-        implements
-        HolderMember<ObjectAction>,
-        HolderActionDetails,
+        implements HolderMember<ObjectAction>,
+                   HolderActionDetails,
                    Parent, 
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider,
 
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectMemberProvider<ObjectAction>,
 org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider {
 
     private final GqlvMemberHidden<ObjectAction> hidden;
@@ -298,11 +297,6 @@ public class GqlvAction
         return holder.getObjectSpecification();
     }
 
-    @Override
-    public ObjectAction getObjectAction() {
-        return getObjectMember();
-    }
-
     @Override
     protected void addDataFetchersForChildren() {
         if(hidden == null) {
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvoke.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvoke.java
index b3848f3a5b..a8b9ec9d6b 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvoke.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvoke.java
@@ -51,7 +51,7 @@ public class GqlvActionInvoke
     public GqlvActionInvoke(
             final HolderActionDetails holder,
             final Context context) {
-        
super(TypeNames.actionInvokeTypeNameFor(holder.getObjectSpecification(), 
holder.getObjectAction(), holder.getSchemaType()), context);
+        
super(TypeNames.actionInvokeTypeNameFor(holder.getObjectSpecification(), 
holder.getObjectMember(), holder.getSchemaType()), context);
 
         this.holder = holder;
 
@@ -65,7 +65,7 @@ public class GqlvActionInvoke
         addChildFieldFor(this.args = new GqlvActionInvokeArgs(this, context));
 
         val gqlObjectType = buildObjectType();
-        val objectAction = holder.getObjectAction();
+        val objectAction = holder.getObjectMember();
         val fieldBuilder = newFieldDefinition()
                 .name(fieldNameForSemanticsOf(objectAction))
                 .type(gqlObjectType);
@@ -122,11 +122,6 @@ public class GqlvActionInvoke
         return holder.argumentManagedObjectsFor(environment, objectAction, 
bookmarkService);
     }
 
-    @Override
-    public ObjectAction getObjectAction() {
-        return holder.getObjectAction();
-    }
-
     @Override
     public ObjectAction getObjectMember() {
         return holder.getObjectMember();
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeArgs.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeArgs.java
index 0e0a38bfff..3e6bca75e0 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeArgs.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeArgs.java
@@ -55,7 +55,7 @@ public class GqlvActionInvokeArgs
     public GqlvActionInvokeArgs(
             final HolderActionDetails holder,
             final Context context) {
-        super(TypeNames.actionArgsTypeNameFor(holder.getObjectSpecification(), 
holder.getObjectAction(), holder.getSchemaType()), context);
+        super(TypeNames.actionArgsTypeNameFor(holder.getObjectSpecification(), 
holder.getObjectMember(), holder.getSchemaType()), context);
         this.holder = holder;
 
         if (isBuilt()) {
@@ -64,7 +64,7 @@ public class GqlvActionInvokeArgs
         }
 
         val idx = new AtomicInteger(0);
-        holder.getObjectAction().getParameters().forEach(objectActionParameter 
-> {
+        holder.getObjectMember().getParameters().forEach(objectActionParameter 
-> {
             args.add(addChildFieldFor(new GqlvActionInvokeArgsArg(this, 
objectActionParameter, this.context, idx.getAndIncrement())));
         });
 
@@ -93,12 +93,7 @@ public class GqlvActionInvokeArgs
 
     @Override
     public ObjectAction getObjectMember() {
-        return getObjectAction();
-    }
-
-    @Override
-    public ObjectAction getObjectAction() {
-        return holder.getObjectAction();
+        return holder.getObjectMember();
     }
 
     @Override
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeArgsArg.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeArgsArg.java
index 7cc5b0dfb5..4bb15e12a0 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeArgsArg.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeArgsArg.java
@@ -73,7 +73,7 @@ public class GqlvActionInvokeArgsArg
     @Override
     protected Object fetchData(DataFetchingEnvironment 
dataFetchingEnvironment) {
         val environment = new 
Environment.ForTunnelled(dataFetchingEnvironment);
-        val managedObjects = holder.argumentManagedObjectsFor(environment, 
holder.getObjectAction(), context.bookmarkService);
+        val managedObjects = holder.argumentManagedObjectsFor(environment, 
holder.getObjectMember(), context.bookmarkService);
         return 
managedObjects.get(paramNum).map(ManagedObject::getPojo).orElse(null);
     }
 
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeResult.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeResult.java
index 12ce8923c6..9c0e408ce1 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeResult.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionInvokeResult.java
@@ -55,7 +55,7 @@ public class GqlvActionInvokeResult extends GqlvAbstract {
 
         this.holder = holder;
 
-        val objectAction = holder.getObjectAction();
+        val objectAction = holder.getObjectMember();
 
         val graphQLOutputType = typeFor(objectAction);
         if (graphQLOutputType != null) {
@@ -111,7 +111,7 @@ public class GqlvActionInvokeResult extends GqlvAbstract {
             return null;
         }
 
-        val objectAction = holder.getObjectAction();
+        val objectAction = holder.getObjectMember();
         val managedObject = ManagedObject.adaptSingular(objectSpecification, 
sourcePojo);
 
         val visibleConsent = objectAction.isVisible(managedObject, 
InteractionInitiatedBy.USER, Where.ANYWHERE);
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParams.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParams.java
index 234a741fa1..c6cf8a393e 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParams.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParams.java
@@ -54,7 +54,7 @@ public class GqlvActionParams
     public GqlvActionParams(
             final HolderActionDetails holder,
             final Context context) {
-        
super(TypeNames.actionParamsTypeNameFor(holder.getObjectSpecification(), 
holder.getObjectAction(), holder.getSchemaType()), context);
+        
super(TypeNames.actionParamsTypeNameFor(holder.getObjectSpecification(), 
holder.getObjectMember(), holder.getSchemaType()), context);
         this.holder = holder;
 
         if (isBuilt()) {
@@ -63,7 +63,7 @@ public class GqlvActionParams
         }
 
         val idx = new AtomicInteger(0);
-        holder.getObjectAction().getParameters()
+        holder.getObjectMember().getParameters()
                 .forEach(oap -> params.add(addChildFieldFor(new 
GqlvActionParamsParam(this, oap, this.context, idx.getAndIncrement()))));
 
         if (params.isEmpty()) {
@@ -80,12 +80,7 @@ public class GqlvActionParams
 
     @Override
     public ObjectAction getObjectMember() {
-        return getObjectAction();
-    }
-
-    @Override
-    public ObjectAction getObjectAction() {
-        return holder.getObjectAction();
+        return holder.getObjectMember();
     }
 
     @Override
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParam.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParam.java
index 64799af89c..2c75a247f6 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParam.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParam.java
@@ -44,7 +44,7 @@ import lombok.extern.log4j.Log4j2;
 public class GqlvActionParamsParam
         extends GqlvAbstractCustom
         implements HolderActionParamDetails,
-        ObjectActionParameterProvider, SchemaTypeProvider {
+                   ObjectActionParameterProvider {
 
     @Getter private final HolderActionDetails holder;
     @Getter private final ObjectActionParameter objectActionParameter;
@@ -109,12 +109,7 @@ public class GqlvActionParamsParam
 
     @Override
     public ObjectAction getObjectMember() {
-        return getObjectAction();
-    }
-
-    @Override
-    public ObjectAction getObjectAction() {
-        return holder.getObjectAction();
+        return holder.getObjectMember();
     }
 
     @Override
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamAutoComplete.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamAutoComplete.java
index 1d53eae7c2..e259739f6c 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamAutoComplete.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamAutoComplete.java
@@ -62,7 +62,7 @@ package 
org.apache.causeway.viewer.graphql.model.domain.rich.query;
              val fieldBuilder = newFieldDefinition()
                      .name("autoComplete")
                      
.type(GraphQLList.list(context.typeMapper.outputTypeFor(elementType, 
holder.getSchemaType())));
-             holder.addGqlArguments(holder.getObjectAction(), fieldBuilder, 
TypeMapper.InputContext.AUTOCOMPLETE, holder.getParamNum());
+             holder.addGqlArguments(holder.getObjectMember(), fieldBuilder, 
TypeMapper.InputContext.AUTOCOMPLETE, holder.getParamNum());
              fieldBuilder.argument(GraphQLArgument.newArgument()
                      .name(SEARCH_PARAM_NAME)
                      
.type(nonNull(context.typeMapper.outputTypeFor(String.class))))
@@ -82,7 +82,7 @@ package 
org.apache.causeway.viewer.graphql.model.domain.rich.query;
              return Collections.emptyList();
          }
 
-         val objectAction = holder.getObjectAction();
+         val objectAction = holder.getObjectMember();
          val managedObject = ManagedObject.adaptSingular(objectSpecification, 
sourcePojo);
 
          val objectActionParameter = 
objectAction.getParameterById(holder.getObjectActionParameter().getId());
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamChoices.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamChoices.java
index 2d24eb41ba..7e693a6605 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamChoices.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamChoices.java
@@ -58,7 +58,7 @@ package 
org.apache.causeway.viewer.graphql.model.domain.rich.query;
              val fieldBuilder = newFieldDefinition()
                      .name("choices")
                      
.type(GraphQLList.list(context.typeMapper.outputTypeFor(elementType, 
holder.getSchemaType())));
-             holder.addGqlArguments(holder.getObjectAction(), fieldBuilder, 
TypeMapper.InputContext.CHOICES, holder.getParamNum());
+             holder.addGqlArguments(holder.getObjectMember(), fieldBuilder, 
TypeMapper.InputContext.CHOICES, holder.getParamNum());
              setField(fieldBuilder.build());
          } else {
              setField(null);
@@ -74,7 +74,7 @@ package 
org.apache.causeway.viewer.graphql.model.domain.rich.query;
              return Collections.emptyList();
          }
 
-         val objectAction = holder.getObjectAction();
+         val objectAction = holder.getObjectMember();
          val managedObject = ManagedObject.adaptSingular(objectSpecification, 
sourcePojo);
 
          val objectActionParameter = 
objectAction.getParameterById(holder.getObjectActionParameter().getId());
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamDefault.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamDefault.java
index e5f306afaf..661135406a 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamDefault.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamDefault.java
@@ -52,7 +52,7 @@ public class GqlvActionParamsParamDefault extends 
GqlvAbstract {
             val fieldBuilder = newFieldDefinition()
                     .name("default")
                     .type(context.typeMapper.outputTypeFor(elementType, 
holder.getSchemaType()));
-            holder.addGqlArguments(holder.getObjectAction(), fieldBuilder, 
TypeMapper.InputContext.DEFAULT, holder.getParamNum());
+            holder.addGqlArguments(holder.getObjectMember(), fieldBuilder, 
TypeMapper.InputContext.DEFAULT, holder.getParamNum());
             setField(fieldBuilder.build());
         } else {
             setField(null);
@@ -66,7 +66,7 @@ public class GqlvActionParamsParamDefault extends 
GqlvAbstract {
         if (objectSpecification == null) {
             return Collections.emptyList();
         }
-        val objectAction = holder.getObjectAction();
+        val objectAction = holder.getObjectMember();
         val managedObject = ManagedObject.adaptSingular(objectSpecification, 
sourcePojo);
         val objectActionParameter = 
objectAction.getParameterById(holder.getObjectActionParameter().getId());
         val argumentManagedObjects = holder.argumentManagedObjectsFor(new 
Environment.For(dataFetchingEnvironment), objectAction, 
context.bookmarkService);
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamDisabled.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamDisabled.java
index f7eba01053..818ffcf94d 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamDisabled.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamDisabled.java
@@ -49,7 +49,7 @@ public class GqlvActionParamsParamDisabled extends 
GqlvAbstract {
         val fieldBuilder = newFieldDefinition()
                 .name("disabled")
                 .type((GraphQLOutputType) 
context.typeMapper.outputTypeFor(String.class));
-        holder.addGqlArguments(holder.getObjectAction(), fieldBuilder, 
TypeMapper.InputContext.DISABLE, holder.getParamNum()+1);
+        holder.addGqlArguments(holder.getObjectMember(), fieldBuilder, 
TypeMapper.InputContext.DISABLE, holder.getParamNum()+1);
         setField(fieldBuilder.build());
     }
 
@@ -62,7 +62,7 @@ public class GqlvActionParamsParamDisabled extends 
GqlvAbstract {
             return "Disabled";
         }
 
-        val objectAction = holder.getObjectAction();
+        val objectAction = holder.getObjectMember();
         val managedObject = ManagedObject.adaptSingular(objectSpecification, 
sourcePojo);
         val actionInteractionHead = 
objectAction.interactionHead(managedObject);
 
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamHidden.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamHidden.java
index 104cd547f6..c436c328f1 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamHidden.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamHidden.java
@@ -48,7 +48,7 @@ public class GqlvActionParamsParamHidden extends GqlvAbstract 
{
         GraphQLFieldDefinition.Builder fieldBuilder = newFieldDefinition()
                 .name("hidden")
                 .type(context.typeMapper.outputTypeFor(boolean.class));
-        holder.addGqlArguments(holder.getObjectAction(), fieldBuilder, 
TypeMapper.InputContext.DISABLE, holder.getParamNum());
+        holder.addGqlArguments(holder.getObjectMember(), fieldBuilder, 
TypeMapper.InputContext.DISABLE, holder.getParamNum());
         setField(fieldBuilder.build());
     }
 
@@ -64,7 +64,7 @@ public class GqlvActionParamsParamHidden extends GqlvAbstract 
{
             return true;
         }
 
-        val objectAction = holder.getObjectAction();
+        val objectAction = holder.getObjectMember();
         val managedObject = ManagedObject.adaptSingular(objectSpecification, 
sourcePojo);
         val actionInteractionHead = 
objectAction.interactionHead(managedObject);
 
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamValidate.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamValidate.java
index 2cc0930530..a018c444f7 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamValidate.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionParamsParamValidate.java
@@ -48,7 +48,7 @@ public class GqlvActionParamsParamValidate extends 
GqlvAbstract {
         val fieldBuilder = newFieldDefinition()
                 .name("validity")
                 .type((GraphQLOutputType) 
context.typeMapper.outputTypeFor(String.class));
-        holder.addGqlArgument(holder.getObjectAction(), fieldBuilder, 
TypeMapper.InputContext.DISABLE, holder.getParamNum());
+        holder.addGqlArgument(holder.getObjectMember(), fieldBuilder, 
TypeMapper.InputContext.DISABLE, holder.getParamNum());
         setField(fieldBuilder.build());
     }
 
@@ -63,7 +63,7 @@ public class GqlvActionParamsParamValidate extends 
GqlvAbstract {
             return "Invalid";
         }
 
-        val objectAction = holder.getObjectAction();
+        val objectAction = holder.getObjectMember();
         val managedObject = ManagedObject.adaptSingular(objectSpecification, 
sourcePojo);
         val actionInteractionHead = 
objectAction.interactionHead(managedObject);
 
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionValidity.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionValidity.java
index 4cf3a369b8..8cc2520174 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionValidity.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvActionValidity.java
@@ -51,7 +51,7 @@ public class GqlvActionValidity extends GqlvAbstract {
         super(context);
         this.holder = holder;
 
-        val objectAction = holder.getObjectAction();
+        val objectAction = holder.getObjectMember();
 
         val fieldBuilder = newFieldDefinition()
                 .name("validate")
@@ -64,7 +64,7 @@ public class GqlvActionValidity extends GqlvAbstract {
     @Override
     protected Object fetchData(final DataFetchingEnvironment 
dataFetchingEnvironment) {
 
-        final ObjectAction objectAction = holder.getObjectAction();
+        final ObjectAction objectAction = holder.getObjectMember();
 
         val sourcePojo = BookmarkedPojo.sourceFrom(dataFetchingEnvironment);
 
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/HolderActionDetails.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/HolderActionDetails.java
index 44a7223907..718841627d 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/HolderActionDetails.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/HolderActionDetails.java
@@ -8,6 +8,7 @@ import org.apache.causeway.core.metamodel.object.ManagedObject;
 import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
 import org.apache.causeway.viewer.graphql.model.domain.Environment;
 import 
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectActionProvider;
+import 
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectMemberProvider;
 import 
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationProvider;
 import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
 import org.apache.causeway.viewer.graphql.model.types.TypeMapper;
@@ -15,7 +16,7 @@ import 
org.apache.causeway.viewer.graphql.model.types.TypeMapper;
 public interface HolderActionDetails
         extends SchemaTypeProvider,
                 ObjectSpecificationProvider,
-                ObjectActionProvider {
+                ObjectMemberProvider<ObjectAction> {
 
     void addGqlArguments(
             final ObjectAction objectAction,
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/HolderMember.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/HolderMember.java
index d881e07785..979e5dc8ab 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/HolderMember.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/HolderMember.java
@@ -6,7 +6,7 @@ import 
org.apache.causeway.viewer.graphql.model.mmproviders.ObjectSpecificationP
 import org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
 
 public interface HolderMember<T extends ObjectMember>
-        extends ObjectSpecificationProvider,
-        ObjectMemberProvider<T>,
-        SchemaTypeProvider {
+        extends SchemaTypeProvider,
+                ObjectSpecificationProvider,
+                ObjectMemberProvider<T> {
 }
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvAction.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvAction.java
index 1d18801e39..5543b6fe0e 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvAction.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvAction.java
@@ -162,11 +162,6 @@ public class GqlvAction
         return holder.getObjectSpecification();
     }
 
-    @Override
-    public ObjectAction getObjectAction() {
-        return getObjectMember();
-    }
-
     @Override
     protected void addDataFetchersForChildren() {
         if(hidden == null) {
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionInvoke.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionInvoke.java
index 05beefef51..0bd6ae5853 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionInvoke.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionInvoke.java
@@ -55,7 +55,7 @@ public class GqlvActionInvoke
     public GqlvActionInvoke(
             final Holder holder,
             final Context context) {
-        
super(TypeNames.actionInvokeTypeNameFor(holder.getObjectSpecification(), 
holder.getObjectAction(), holder.getSchemaType()), context);
+        
super(TypeNames.actionInvokeTypeNameFor(holder.getObjectSpecification(), 
holder.getObjectMember(), holder.getSchemaType()), context);
 
         this.holder = holder;
 
@@ -69,7 +69,7 @@ public class GqlvActionInvoke
         addChildFieldFor(this.args = new GqlvActionInvokeArgs(this, context));
 
         val gqlObjectType = buildObjectType();
-        val objectAction = holder.getObjectAction();
+        val objectAction = holder.getObjectMember();
         val fieldBuilder = newFieldDefinition()
                 .name(fieldNameForSemanticsOf(objectAction))
                 .type(gqlObjectType);
@@ -126,11 +126,6 @@ public class GqlvActionInvoke
         return holder.argumentManagedObjectsFor(environment, objectAction, 
bookmarkService);
     }
 
-    @Override
-    public ObjectAction getObjectAction() {
-        return holder.getObjectAction();
-    }
-
     @Override
     public ObjectAction getObjectMember() {
         return holder.getObjectMember();
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionInvokeArgs.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionInvokeArgs.java
index b70ef930a9..c4fb80c174 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionInvokeArgs.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionInvokeArgs.java
@@ -55,7 +55,7 @@ public class GqlvActionInvokeArgs
     public GqlvActionInvokeArgs(
             final Holder holder,
             final Context context) {
-        super(TypeNames.actionArgsTypeNameFor(holder.getObjectSpecification(), 
holder.getObjectAction(), holder.getSchemaType()), context);
+        super(TypeNames.actionArgsTypeNameFor(holder.getObjectSpecification(), 
holder.getObjectMember(), holder.getSchemaType()), context);
         this.holder = holder;
 
         if (isBuilt()) {
@@ -64,7 +64,7 @@ public class GqlvActionInvokeArgs
         }
 
         val idx = new AtomicInteger(0);
-        holder.getObjectAction().getParameters().forEach(objectActionParameter 
-> {
+        holder.getObjectMember().getParameters().forEach(objectActionParameter 
-> {
             args.add(addChildFieldFor(new GqlvActionInvokeArgsArg(this, 
objectActionParameter, this.context, idx.getAndIncrement())));
         });
 
@@ -82,12 +82,7 @@ public class GqlvActionInvokeArgs
 
     @Override
     public ObjectAction getObjectMember() {
-        return getObjectAction();
-    }
-
-    @Override
-    public ObjectAction getObjectAction() {
-        return holder.getObjectAction();
+        return holder.getObjectMember();
     }
 
     @Override
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionInvokeArgsArg.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionInvokeArgsArg.java
index eea7223a2e..07a378388d 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionInvokeArgsArg.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionInvokeArgsArg.java
@@ -80,7 +80,7 @@ public class GqlvActionInvokeArgsArg
     @Override
     protected Object fetchData(DataFetchingEnvironment 
dataFetchingEnvironment) {
         val environment = new 
Environment.ForTunnelled(dataFetchingEnvironment);
-        val managedObjects = holder.argumentManagedObjectsFor(environment, 
holder.getObjectAction(), context.bookmarkService);
+        val managedObjects = holder.argumentManagedObjectsFor(environment, 
holder.getObjectMember(), context.bookmarkService);
         return 
managedObjects.get(paramNum).map(ManagedObject::getPojo).orElse(null);
     }
 
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionInvokeResult.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionInvokeResult.java
index 582dbac7b4..5148966657 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionInvokeResult.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionInvokeResult.java
@@ -63,7 +63,7 @@ public class GqlvActionInvokeResult extends GqlvAbstract {
 
         this.holder = holder;
 
-        val objectAction = holder.getObjectAction();
+        val objectAction = holder.getObjectMember();
 
         val graphQLOutputType = typeFor(objectAction);
         if (graphQLOutputType != null) {
@@ -119,7 +119,7 @@ public class GqlvActionInvokeResult extends GqlvAbstract {
             return null;
         }
 
-        val objectAction = holder.getObjectAction();
+        val objectAction = holder.getObjectMember();
         val managedObject = ManagedObject.adaptSingular(objectSpecification, 
sourcePojo);
 
         val visibleConsent = objectAction.isVisible(managedObject, 
InteractionInitiatedBy.USER, Where.ANYWHERE);
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParams.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParams.java
index 4dc8e146df..efcf9f52a3 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParams.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParams.java
@@ -57,7 +57,7 @@ public class GqlvActionParams
     public GqlvActionParams(
             final Holder holder,
             final Context context) {
-        
super(TypeNames.actionParamsTypeNameFor(holder.getObjectSpecification(), 
holder.getObjectAction(), holder.getSchemaType()), context);
+        
super(TypeNames.actionParamsTypeNameFor(holder.getObjectSpecification(), 
holder.getObjectMember(), holder.getSchemaType()), context);
         this.holder = holder;
 
         if (isBuilt()) {
@@ -66,7 +66,7 @@ public class GqlvActionParams
         }
 
         val idx = new AtomicInteger(0);
-        holder.getObjectAction().getParameters()
+        holder.getObjectMember().getParameters()
                 .forEach(oap -> params.add(addChildFieldFor(new 
GqlvActionParamsParam(this, oap, this.context, idx.getAndIncrement()))));
 
         if (params.isEmpty()) {
@@ -83,12 +83,7 @@ public class GqlvActionParams
 
     @Override
     public ObjectAction getObjectMember() {
-        return getObjectAction();
-    }
-
-    @Override
-    public ObjectAction getObjectAction() {
-        return holder.getObjectAction();
+        return holder.getObjectMember();
     }
 
     @Override
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParam.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParam.java
index 6373babdfd..bcb26d6178 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParam.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParam.java
@@ -115,12 +115,7 @@ public class GqlvActionParamsParam
 
     @Override
     public ObjectAction getObjectMember() {
-        return getObjectAction();
-    }
-
-    @Override
-    public ObjectAction getObjectAction() {
-        return holder.getObjectAction();
+        return holder.getObjectMember();
     }
 
     @Override
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamAutoComplete.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamAutoComplete.java
index f725c12f95..392d8b2812 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamAutoComplete.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamAutoComplete.java
@@ -71,7 +71,7 @@ package 
org.apache.causeway.viewer.graphql.model.domain.simple.query;
              val fieldBuilder = newFieldDefinition()
                      .name("autoComplete")
                      
.type(GraphQLList.list(context.typeMapper.outputTypeFor(elementType, 
holder.getSchemaType())));
-             holder.addGqlArguments(holder.getObjectAction(), fieldBuilder, 
TypeMapper.InputContext.AUTOCOMPLETE, holder.getParamNum());
+             holder.addGqlArguments(holder.getObjectMember(), fieldBuilder, 
TypeMapper.InputContext.AUTOCOMPLETE, holder.getParamNum());
              fieldBuilder.argument(GraphQLArgument.newArgument()
                      .name(SEARCH_PARAM_NAME)
                      
.type(nonNull(context.typeMapper.outputTypeFor(String.class))))
@@ -91,7 +91,7 @@ package 
org.apache.causeway.viewer.graphql.model.domain.simple.query;
              return Collections.emptyList();
          }
 
-         val objectAction = holder.getObjectAction();
+         val objectAction = holder.getObjectMember();
          val managedObject = ManagedObject.adaptSingular(objectSpecification, 
sourcePojo);
 
          val objectActionParameter = 
objectAction.getParameterById(holder.getObjectActionParameter().getId());
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamChoices.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamChoices.java
index 0ea6424267..c3988a7ec2 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamChoices.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamChoices.java
@@ -67,7 +67,7 @@ package 
org.apache.causeway.viewer.graphql.model.domain.simple.query;
              val fieldBuilder = newFieldDefinition()
                      .name("choices")
                      
.type(GraphQLList.list(context.typeMapper.outputTypeFor(elementType, 
holder.getSchemaType())));
-             holder.addGqlArguments(holder.getObjectAction(), fieldBuilder, 
TypeMapper.InputContext.CHOICES, holder.getParamNum());
+             holder.addGqlArguments(holder.getObjectMember(), fieldBuilder, 
TypeMapper.InputContext.CHOICES, holder.getParamNum());
              setField(fieldBuilder.build());
          } else {
              setField(null);
@@ -83,7 +83,7 @@ package 
org.apache.causeway.viewer.graphql.model.domain.simple.query;
              return Collections.emptyList();
          }
 
-         val objectAction = holder.getObjectAction();
+         val objectAction = holder.getObjectMember();
          val managedObject = ManagedObject.adaptSingular(objectSpecification, 
sourcePojo);
 
          val objectActionParameter = 
objectAction.getParameterById(holder.getObjectActionParameter().getId());
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamDefault.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamDefault.java
index 9c655f0c05..e39189c79c 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamDefault.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamDefault.java
@@ -61,7 +61,7 @@ public class GqlvActionParamsParamDefault extends 
GqlvAbstract {
             val fieldBuilder = newFieldDefinition()
                     .name("default")
                     .type(context.typeMapper.outputTypeFor(elementType, 
holder.getSchemaType()));
-            holder.addGqlArguments(holder.getObjectAction(), fieldBuilder, 
TypeMapper.InputContext.DEFAULT, holder.getParamNum());
+            holder.addGqlArguments(holder.getObjectMember(), fieldBuilder, 
TypeMapper.InputContext.DEFAULT, holder.getParamNum());
             setField(fieldBuilder.build());
         } else {
             setField(null);
@@ -75,7 +75,7 @@ public class GqlvActionParamsParamDefault extends 
GqlvAbstract {
         if (objectSpecification == null) {
             return Collections.emptyList();
         }
-        val objectAction = holder.getObjectAction();
+        val objectAction = holder.getObjectMember();
         val managedObject = ManagedObject.adaptSingular(objectSpecification, 
sourcePojo);
         val objectActionParameter = 
objectAction.getParameterById(holder.getObjectActionParameter().getId());
         val argumentManagedObjects = holder.argumentManagedObjectsFor(new 
Environment.For(dataFetchingEnvironment), objectAction, 
context.bookmarkService);
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamDisabled.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamDisabled.java
index e22545bdec..bb57c9b0c0 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamDisabled.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamDisabled.java
@@ -56,7 +56,7 @@ public class GqlvActionParamsParamDisabled extends 
GqlvAbstract {
         val fieldBuilder = newFieldDefinition()
                 .name("disabled")
                 .type((GraphQLOutputType) 
context.typeMapper.outputTypeFor(String.class));
-        holder.addGqlArguments(holder.getObjectAction(), fieldBuilder, 
TypeMapper.InputContext.DISABLE, holder.getParamNum()+1);
+        holder.addGqlArguments(holder.getObjectMember(), fieldBuilder, 
TypeMapper.InputContext.DISABLE, holder.getParamNum()+1);
         setField(fieldBuilder.build());
     }
 
@@ -69,7 +69,7 @@ public class GqlvActionParamsParamDisabled extends 
GqlvAbstract {
             return "Disabled";
         }
 
-        val objectAction = holder.getObjectAction();
+        val objectAction = holder.getObjectMember();
         val managedObject = ManagedObject.adaptSingular(objectSpecification, 
sourcePojo);
         val actionInteractionHead = 
objectAction.interactionHead(managedObject);
 
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamHidden.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamHidden.java
index 9b5adfa7b9..17c982552e 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamHidden.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamHidden.java
@@ -55,7 +55,7 @@ public class GqlvActionParamsParamHidden extends GqlvAbstract 
{
         GraphQLFieldDefinition.Builder fieldBuilder = newFieldDefinition()
                 .name("hidden")
                 .type(context.typeMapper.outputTypeFor(boolean.class));
-        holder.addGqlArguments(holder.getObjectAction(), fieldBuilder, 
TypeMapper.InputContext.DISABLE, holder.getParamNum());
+        holder.addGqlArguments(holder.getObjectMember(), fieldBuilder, 
TypeMapper.InputContext.DISABLE, holder.getParamNum());
         setField(fieldBuilder.build());
     }
 
@@ -71,7 +71,7 @@ public class GqlvActionParamsParamHidden extends GqlvAbstract 
{
             return true;
         }
 
-        val objectAction = holder.getObjectAction();
+        val objectAction = holder.getObjectMember();
         val managedObject = ManagedObject.adaptSingular(objectSpecification, 
sourcePojo);
         val actionInteractionHead = 
objectAction.interactionHead(managedObject);
 
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamValidate.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamValidate.java
index e561014bf8..02c63cdd2f 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamValidate.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionParamsParamValidate.java
@@ -56,7 +56,7 @@ public class GqlvActionParamsParamValidate extends 
GqlvAbstract {
         val fieldBuilder = newFieldDefinition()
                 .name("validity")
                 .type((GraphQLOutputType) 
context.typeMapper.outputTypeFor(String.class));
-        holder.addGqlArgument(holder.getObjectAction(), fieldBuilder, 
TypeMapper.InputContext.DISABLE, holder.getParamNum());
+        holder.addGqlArgument(holder.getObjectMember(), fieldBuilder, 
TypeMapper.InputContext.DISABLE, holder.getParamNum());
         setField(fieldBuilder.build());
     }
 
@@ -71,7 +71,7 @@ public class GqlvActionParamsParamValidate extends 
GqlvAbstract {
             return "Invalid";
         }
 
-        val objectAction = holder.getObjectAction();
+        val objectAction = holder.getObjectMember();
         val managedObject = ManagedObject.adaptSingular(objectSpecification, 
sourcePojo);
         val actionInteractionHead = 
objectAction.interactionHead(managedObject);
 
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionValidity.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionValidity.java
index c08de3624b..ef23b2f637 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionValidity.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/simple/query/GqlvActionValidity.java
@@ -55,7 +55,7 @@ public class GqlvActionValidity extends GqlvAbstract {
         super(context);
         this.holder = holder;
 
-        val objectAction = holder.getObjectAction();
+        val objectAction = holder.getObjectMember();
 
         val fieldBuilder = newFieldDefinition()
                 .name("validate")
@@ -68,7 +68,7 @@ public class GqlvActionValidity extends GqlvAbstract {
     @Override
     protected Object fetchData(final DataFetchingEnvironment 
dataFetchingEnvironment) {
 
-        final ObjectAction objectAction = holder.getObjectAction();
+        final ObjectAction objectAction = holder.getObjectMember();
 
         val sourcePojo = BookmarkedPojo.sourceFrom(dataFetchingEnvironment);
 
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/mmproviders/ObjectActionParameterProvider.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/mmproviders/ObjectActionParameterProvider.java
index 9cd59f89ab..bd8d9dcc4e 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/mmproviders/ObjectActionParameterProvider.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/mmproviders/ObjectActionParameterProvider.java
@@ -18,9 +18,10 @@
  */
 package org.apache.causeway.viewer.graphql.model.mmproviders;
 
+import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
 import org.apache.causeway.core.metamodel.spec.feature.ObjectActionParameter;
 
-public interface ObjectActionParameterProvider extends ObjectActionProvider {
+public interface ObjectActionParameterProvider extends 
ObjectMemberProvider<ObjectAction> {
     ObjectActionParameter getObjectActionParameter();
 
     /**
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/mmproviders/ObjectActionProvider.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/mmproviders/ObjectActionProvider.java
index 92e40a11bc..950d83b23d 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/mmproviders/ObjectActionProvider.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/mmproviders/ObjectActionProvider.java
@@ -21,5 +21,4 @@ package org.apache.causeway.viewer.graphql.model.mmproviders;
 import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
 
 public interface ObjectActionProvider extends 
ObjectMemberProvider<ObjectAction> {
-    ObjectAction getObjectAction();
 }

Reply via email to