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 658ef04d9b6580f5ce1deefa24d81b0da232ac46
Author: danhaywood <[email protected]>
AuthorDate: Fri Feb 23 09:00:21 2024 +0000

    CAUSEWAY-3676: simplifies holders (18)
---
 .../viewer/graphql/model/domain/rich/query/GqlvAction.java |  2 +-
 .../model/domain/rich/query/GqlvAssociationDatatype.java   |  5 +++--
 .../model/domain/rich/query/GqlvAssociationGet.java        |  6 +++---
 .../graphql/model/domain/rich/query/GqlvCollection.java    |  2 +-
 .../model/domain/rich/query/GqlvCollectionDatatype.java    |  2 +-
 .../graphql/model/domain/rich/query/GqlvCollectionGet.java |  4 ++--
 .../model/domain/rich/query/GqlvMemberDisabled.java        |  4 ++--
 .../graphql/model/domain/rich/query/GqlvMemberHidden.java  |  4 ++--
 .../graphql/model/domain/rich/query/GqlvProperty.java      |  2 +-
 .../model/domain/rich/query/GqlvPropertyAutoComplete.java  |  4 ++--
 .../model/domain/rich/query/GqlvPropertyDatatype.java      |  2 +-
 .../graphql/model/domain/rich/query/GqlvPropertyGet.java   |  4 ++--
 .../model/domain/rich/query/GqlvPropertyGetBlob.java       |  6 +++---
 .../domain/rich/query/GqlvPropertyGetBlobAbstract.java     |  4 ++--
 .../model/domain/rich/query/GqlvPropertyGetBlobBytes.java  |  2 +-
 .../domain/rich/query/GqlvPropertyGetBlobMimeType.java     |  2 +-
 .../model/domain/rich/query/GqlvPropertyGetBlobName.java   |  2 +-
 .../model/domain/rich/query/GqlvPropertyGetClob.java       |  6 +++---
 .../domain/rich/query/GqlvPropertyGetClobAbstract.java     |  4 ++--
 .../model/domain/rich/query/GqlvPropertyGetClobChars.java  |  2 +-
 .../domain/rich/query/GqlvPropertyGetClobMimeType.java     |  2 +-
 .../model/domain/rich/query/GqlvPropertyGetClobName.java   |  2 +-
 .../{HolderMember.java => HolderAssociationDetails.java}   |  6 ++++--
 .../query/{HolderMember.java => HolderMemberDetails.java}  |  2 +-
 .../model/domain/rich/query/HolderPropertyDetails.java     | 14 +++++++++++---
 25 files changed, 53 insertions(+), 42 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 e86f7d71c0..3bfbf39c40 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,7 +50,7 @@ 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>,
+        implements HolderMemberDetails<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 {
 
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvAssociationDatatype.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvAssociationDatatype.java
index 62e8206fbf..7cc3d701b9 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvAssociationDatatype.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvAssociationDatatype.java
@@ -24,6 +24,7 @@ import graphql.schema.DataFetchingEnvironment;
 import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition;
 
 import org.apache.causeway.core.metamodel.spec.feature.ObjectAssociation;
+import org.apache.causeway.core.metamodel.spec.feature.OneToManyAssociation;
 import org.apache.causeway.viewer.graphql.model.context.Context;
 import org.apache.causeway.viewer.graphql.model.domain.GqlvAbstract;
 import org.apache.causeway.viewer.graphql.model.domain.TypeNames;
@@ -32,10 +33,10 @@ import lombok.val;
 
 public abstract class GqlvAssociationDatatype<T extends ObjectAssociation> 
extends GqlvAbstract {
 
-    private final HolderPropertyDetails holder;
+    private final HolderMemberDetails<T> holder;
 
     public GqlvAssociationDatatype(
-            final HolderPropertyDetails holder,
+            final HolderMemberDetails<T> holder,
             final Context context) {
         super(context);
         this.holder = holder;
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvAssociationGet.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvAssociationGet.java
index cc7bb6aca3..4d3389438a 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvAssociationGet.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvAssociationGet.java
@@ -33,10 +33,10 @@ import lombok.val;
 
 public abstract class GqlvAssociationGet<T extends ObjectAssociation> extends 
GqlvAbstract {
 
-    final HolderMember<T> holder;
+    final HolderMemberDetails<T> holder;
 
     public GqlvAssociationGet(
-            final HolderMember<T> holder,
+            final HolderMemberDetails<T> holder,
             final Context context) {
         super(context);
         this.holder = holder;
@@ -52,7 +52,7 @@ public abstract class GqlvAssociationGet<T extends 
ObjectAssociation> extends Gq
         }
     }
 
-    abstract GraphQLOutputType outputTypeFor(HolderMember<T> holder);
+    abstract GraphQLOutputType outputTypeFor(HolderMemberDetails<T> holder);
 
     @Override
     protected Object fetchData(final DataFetchingEnvironment environment) {
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvCollection.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvCollection.java
index 755684bb02..f07381d5e5 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvCollection.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvCollection.java
@@ -30,7 +30,7 @@ import 
org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
 
 public class GqlvCollection
         extends GqlvAssociation<OneToManyAssociation, GqlvMemberHolder>
-        implements HolderMember<OneToManyAssociation>,
+        implements HolderMemberDetails<OneToManyAssociation>,
                     ObjectSpecificationProvider, 
ObjectMemberProvider<OneToManyAssociation>, SchemaTypeProvider {
 
     private final GqlvMemberHidden<OneToManyAssociation> hidden;
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvCollectionDatatype.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvCollectionDatatype.java
index 93a37b1700..d13cb0fb0f 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvCollectionDatatype.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvCollectionDatatype.java
@@ -24,7 +24,7 @@ import 
org.apache.causeway.viewer.graphql.model.context.Context;
 public class GqlvCollectionDatatype extends 
GqlvAssociationDatatype<OneToManyAssociation> {
 
     public GqlvCollectionDatatype(
-            final HolderPropertyDetails holder,
+            final HolderMemberDetails<OneToManyAssociation> holder,
             final Context context) {
         super(holder, context);
     }
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvCollectionGet.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvCollectionGet.java
index 9394cb182c..2e98a6826d 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvCollectionGet.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvCollectionGet.java
@@ -28,13 +28,13 @@ import lombok.val;
 public class GqlvCollectionGet extends 
GqlvAssociationGet<OneToManyAssociation> {
 
     public GqlvCollectionGet(
-            final HolderMember<OneToManyAssociation> holder,
+            final HolderMemberDetails<OneToManyAssociation> holder,
             final Context context) {
         super(holder, context);
     }
 
     @Override
-    GraphQLOutputType outputTypeFor(HolderMember<OneToManyAssociation> holder) 
{
+    GraphQLOutputType outputTypeFor(HolderMemberDetails<OneToManyAssociation> 
holder) {
         val oneToManyAssociation = holder.getObjectMember();
         return 
context.typeMapper.listTypeForElementTypeOf(oneToManyAssociation, 
holder.getSchemaType());
     }
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMemberDisabled.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMemberDisabled.java
index 26fb4863c6..621c3f9033 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMemberDisabled.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMemberDisabled.java
@@ -37,10 +37,10 @@ import lombok.extern.log4j.Log4j2;
 @Log4j2
 public class GqlvMemberDisabled<T extends ObjectMember> extends GqlvAbstract {
 
-    private final HolderMember<T> holder;
+    private final HolderMemberDetails<T> holder;
 
     public GqlvMemberDisabled(
-            final HolderMember<T> holder,
+            final HolderMemberDetails<T> holder,
             final Context context
     ) {
         super(context);
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMemberHidden.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMemberHidden.java
index b341f30e2b..014936486d 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMemberHidden.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvMemberHidden.java
@@ -37,10 +37,10 @@ import lombok.extern.log4j.Log4j2;
 @Log4j2
 public class GqlvMemberHidden<T extends ObjectMember> extends GqlvAbstract {
 
-    private final HolderMember<T> holder;
+    private final HolderMemberDetails<T> holder;
 
     public GqlvMemberHidden(
-            final HolderMember<T> holder,
+            final HolderMemberDetails<T> holder,
             final Context context
     ) {
         super(context);
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvProperty.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvProperty.java
index beb251f705..314bbb2a5e 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvProperty.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvProperty.java
@@ -39,7 +39,7 @@ import lombok.val;
 public class GqlvProperty
         extends GqlvAssociation<OneToOneAssociation, 
org.apache.causeway.viewer.graphql.model.domain.common.query.GqlvMemberHolder>
         implements
-                HolderMember<OneToOneAssociation>,
+        HolderMemberDetails<OneToOneAssociation>,
         HolderPropertyDetails,
         ObjectSpecificationProvider, 
ObjectMemberProvider<OneToOneAssociation>, SchemaTypeProvider {
 
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyAutoComplete.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyAutoComplete.java
index 1f773a9fd5..92ede4d848 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyAutoComplete.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyAutoComplete.java
@@ -41,10 +41,10 @@ public class GqlvPropertyAutoComplete extends GqlvAbstract {
 
     private static final String SEARCH_PARAM_NAME = "search";
 
-    private final HolderMember<OneToOneAssociation> holder;
+    private final HolderMemberDetails<OneToOneAssociation> holder;
 
     public GqlvPropertyAutoComplete(
-            final HolderMember<OneToOneAssociation> holder,
+            final HolderMemberDetails<OneToOneAssociation> holder,
             final Context context) {
         super(context);
         this.holder = holder;
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyDatatype.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyDatatype.java
index 0220218316..5b381107a1 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyDatatype.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyDatatype.java
@@ -26,7 +26,7 @@ public class GqlvPropertyDatatype extends 
GqlvAssociationDatatype<OneToOneAssoci
     public GqlvPropertyDatatype(
             final HolderPropertyDetails holder,
             final Context context) {
-        super(holder, context);
+        super(holder.asHolderMemberDetails(), context);
     }
 
 }
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGet.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGet.java
index c7ffcea574..b8232aab27 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGet.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGet.java
@@ -28,13 +28,13 @@ import lombok.val;
 public class GqlvPropertyGet extends GqlvAssociationGet<OneToOneAssociation> {
 
     public GqlvPropertyGet(
-            final HolderMember<OneToOneAssociation> holder,
+            final HolderMemberDetails<OneToOneAssociation> holder,
             final Context context) {
         super(holder, context);
     }
 
     @Override
-    GraphQLOutputType outputTypeFor(HolderMember<OneToOneAssociation> holder) {
+    GraphQLOutputType outputTypeFor(HolderMemberDetails<OneToOneAssociation> 
holder) {
         val oneToOneAssociation = holder.getObjectMember();
         return context.typeMapper.outputTypeFor(oneToOneAssociation, 
holder.getSchemaType());
     }
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlob.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlob.java
index 025a042c49..ceb0b31c33 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlob.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlob.java
@@ -33,10 +33,10 @@ import 
org.apache.causeway.viewer.graphql.model.fetcher.BookmarkedPojo;
 
 public class GqlvPropertyGetBlob
         extends GqlvAbstractCustom
-        implements HolderMember<OneToOneAssociation>
+        implements HolderMemberDetails<OneToOneAssociation>
 {
 
-    final HolderMember<OneToOneAssociation> holder;
+    final HolderMemberDetails<OneToOneAssociation> holder;
     final GqlvPropertyGetBlobBytes blobName;
     final GqlvPropertyGetBlobMimeType blobMimeType;
     final GqlvPropertyGetBlobName blobBytes;
@@ -44,7 +44,7 @@ public class GqlvPropertyGetBlob
     private final CausewayConfiguration.Viewer.Graphql graphqlConfiguration;
 
     public GqlvPropertyGetBlob(
-            final HolderMember<OneToOneAssociation> holder,
+            final HolderMemberDetails<OneToOneAssociation> holder,
             final Context context) {
         
super(TypeNames.propertyBlobTypeNameFor(holder.getObjectSpecification(), 
holder.getObjectMember(), holder.getSchemaType()), context);
         this.holder = holder;
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlobAbstract.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlobAbstract.java
index b9cdb59bcc..3c68acfc4c 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlobAbstract.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlobAbstract.java
@@ -36,10 +36,10 @@ import lombok.val;
 
 public abstract class GqlvPropertyGetBlobAbstract extends GqlvAbstract {
 
-    final HolderMember<OneToOneAssociation> holder;
+    final HolderMemberDetails<OneToOneAssociation> holder;
 
     public GqlvPropertyGetBlobAbstract(
-            final HolderMember<OneToOneAssociation> holder,
+            final HolderMemberDetails<OneToOneAssociation> holder,
             final Context context, String name) {
         super(context);
         this.holder = holder;
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlobBytes.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlobBytes.java
index 81f9d08c7e..429d73ed93 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlobBytes.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlobBytes.java
@@ -31,7 +31,7 @@ public class GqlvPropertyGetBlobBytes extends 
GqlvPropertyGetBlobAbstract {
     private final String graphqlPath;
 
     public GqlvPropertyGetBlobBytes(
-            final HolderMember<OneToOneAssociation> holder,
+            final HolderMemberDetails<OneToOneAssociation> holder,
             final Context context) {
         super(holder, context, "bytes");
 
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlobMimeType.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlobMimeType.java
index 4e1e3fa074..4dd6cd12b1 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlobMimeType.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlobMimeType.java
@@ -26,7 +26,7 @@ import 
org.apache.causeway.viewer.graphql.model.context.Context;
 public class GqlvPropertyGetBlobMimeType extends GqlvPropertyGetBlobAbstract {
 
     public GqlvPropertyGetBlobMimeType(
-            final HolderMember<OneToOneAssociation> holder,
+            final HolderMemberDetails<OneToOneAssociation> holder,
             final Context context) {
         super(holder, context, "mimeType");
 
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlobName.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlobName.java
index 15bd102c5d..c397f7dcef 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlobName.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetBlobName.java
@@ -27,7 +27,7 @@ import 
org.apache.causeway.viewer.graphql.model.context.Context;
 public class GqlvPropertyGetBlobName extends GqlvPropertyGetBlobAbstract {
 
     public GqlvPropertyGetBlobName(
-            final HolderMember<OneToOneAssociation> holder,
+            final HolderMemberDetails<OneToOneAssociation> holder,
             final Context context) {
         super(holder, context, "name");
     }
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClob.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClob.java
index 3ab07af630..a5491fa5a7 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClob.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClob.java
@@ -34,10 +34,10 @@ import 
org.apache.causeway.viewer.graphql.model.mmproviders.SchemaTypeProvider;
 
 public class GqlvPropertyGetClob
         extends GqlvAbstractCustom
-        implements HolderMember<OneToOneAssociation>,
+        implements HolderMemberDetails<OneToOneAssociation>,
                    SchemaTypeProvider {
 
-    final HolderMember<OneToOneAssociation> holder;
+    final HolderMemberDetails<OneToOneAssociation> holder;
     final GqlvPropertyGetClobName clobName;
     final GqlvPropertyGetClobMimeType clobMimeType;
     final GqlvPropertyGetClobChars clobChars;
@@ -45,7 +45,7 @@ public class GqlvPropertyGetClob
     private final CausewayConfiguration.Viewer.Graphql graphqlConfiguration;
 
     public GqlvPropertyGetClob(
-            final HolderMember<OneToOneAssociation> holder,
+            final HolderMemberDetails<OneToOneAssociation> holder,
             final Context context) {
         
super(TypeNames.propertyBlobTypeNameFor(holder.getObjectSpecification(), 
holder.getObjectMember(), holder.getSchemaType()), context);
         this.holder = holder;
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClobAbstract.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClobAbstract.java
index 8139ad21d9..e74c6098d5 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClobAbstract.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClobAbstract.java
@@ -36,10 +36,10 @@ import lombok.val;
 
 public abstract class GqlvPropertyGetClobAbstract extends GqlvAbstract {
 
-    final HolderMember<OneToOneAssociation> holder;
+    final HolderMemberDetails<OneToOneAssociation> holder;
 
     public GqlvPropertyGetClobAbstract(
-            final HolderMember<OneToOneAssociation> holder,
+            final HolderMemberDetails<OneToOneAssociation> holder,
             final Context context, String name) {
         super(context);
         this.holder = holder;
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClobChars.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClobChars.java
index ff178526de..bb2a46621c 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClobChars.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClobChars.java
@@ -31,7 +31,7 @@ public class GqlvPropertyGetClobChars extends 
GqlvPropertyGetClobAbstract {
     private final String graphqlPath;
 
     public GqlvPropertyGetClobChars(
-            final HolderMember<OneToOneAssociation> holder,
+            final HolderMemberDetails<OneToOneAssociation> holder,
             final Context context) {
         super(holder, context, "chars");
 
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClobMimeType.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClobMimeType.java
index d32498f457..ca72ef750e 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClobMimeType.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClobMimeType.java
@@ -26,7 +26,7 @@ import 
org.apache.causeway.viewer.graphql.model.context.Context;
 public class GqlvPropertyGetClobMimeType extends GqlvPropertyGetClobAbstract {
 
     public GqlvPropertyGetClobMimeType(
-            final HolderMember<OneToOneAssociation> holder,
+            final HolderMemberDetails<OneToOneAssociation> holder,
             final Context context) {
         super(holder, context, "mimeType");
 
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClobName.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClobName.java
index be559e0a3e..bace82a023 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClobName.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/GqlvPropertyGetClobName.java
@@ -27,7 +27,7 @@ import 
org.apache.causeway.viewer.graphql.model.context.Context;
 public class GqlvPropertyGetClobName extends GqlvPropertyGetClobAbstract {
 
     public GqlvPropertyGetClobName(
-            final HolderMember<OneToOneAssociation> holder,
+            final HolderMemberDetails<OneToOneAssociation> holder,
             final Context context) {
         super(holder, context, "name");
     }
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/HolderAssociationDetails.java
similarity index 66%
copy from 
viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/HolderMember.java
copy to 
viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/HolderAssociationDetails.java
index 979e5dc8ab..7065ffc91c 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/HolderAssociationDetails.java
@@ -1,12 +1,14 @@
 package org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
-import org.apache.causeway.core.metamodel.spec.feature.ObjectMember;
+import org.apache.causeway.core.metamodel.spec.feature.ObjectAssociation;
+import org.apache.causeway.core.metamodel.spec.feature.OneToManyAssociation;
 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;
 
-public interface HolderMember<T extends ObjectMember>
+public interface HolderAssociationDetails<T extends ObjectAssociation>
         extends SchemaTypeProvider,
                 ObjectSpecificationProvider,
                 ObjectMemberProvider<T> {
+
 }
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/HolderMemberDetails.java
similarity index 89%
rename from 
viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/HolderMember.java
rename to 
viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/HolderMemberDetails.java
index 979e5dc8ab..ae9638b37e 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/HolderMemberDetails.java
@@ -5,7 +5,7 @@ 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;
 
-public interface HolderMember<T extends ObjectMember>
+public interface HolderMemberDetails<T extends ObjectMember>
         extends SchemaTypeProvider,
                 ObjectSpecificationProvider,
                 ObjectMemberProvider<T> {
diff --git 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/HolderPropertyDetails.java
 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/HolderPropertyDetails.java
index 9c5afe6f4d..8683b9aea9 100644
--- 
a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/HolderPropertyDetails.java
+++ 
b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/rich/query/HolderPropertyDetails.java
@@ -2,19 +2,27 @@ package 
org.apache.causeway.viewer.graphql.model.domain.rich.query;
 
 import graphql.schema.GraphQLFieldDefinition;
 
+import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
 import org.apache.causeway.core.metamodel.spec.feature.OneToOneAssociation;
+import org.apache.causeway.viewer.graphql.model.domain.SchemaType;
 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;
 
 public interface HolderPropertyDetails
-        extends SchemaTypeProvider,
-                ObjectSpecificationProvider,
-                ObjectMemberProvider<OneToOneAssociation> {
+        extends HolderAssociationDetails<OneToOneAssociation> {
 
     void addGqlArgument(
             OneToOneAssociation otoa,
             GraphQLFieldDefinition.Builder fieldBuilder,
             TypeMapper.InputContext inputContext);
+
+    default HolderMemberDetails<OneToOneAssociation> asHolderMemberDetails() {
+        return new HolderMemberDetails<>() {
+            @Override public OneToOneAssociation getObjectMember() {return 
HolderPropertyDetails.this.getObjectMember();}
+            @Override public ObjectSpecification getObjectSpecification() 
{return HolderPropertyDetails.this.getObjectSpecification();}
+            @Override public SchemaType getSchemaType() {return 
HolderPropertyDetails.this.getSchemaType();}
+        };
+    }
 }

Reply via email to