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();} + }; + } }
