This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/causeway.git
The following commit(s) were added to refs/heads/main by this push:
new 87ad3c985d1 CAUSEWAY-3859: Java record refactoring (part 14)
87ad3c985d1 is described below
commit 87ad3c985d1e9954d39eaf41873ac5891543e84f
Author: Andi Huber <[email protected]>
AuthorDate: Wed Feb 19 06:57:25 2025 +0100
CAUSEWAY-3859: Java record refactoring (part 14)
---
.../core/metamodel/facets/FacetFactory.java | 2 +-
.../core/metamodel/facets/FacetedMethod.java | 124 ++++++++++++---------
.../metamodel/facets/FacetedMethodParameter.java | 44 ++++----
.../{TypedHolder.java => TypedFacetHolder.java} | 15 +--
.../core/metamodel/facets/TypedHolderAbstract.java | 57 ----------
.../facets/fallback/FallbackFacetFactory.java | 8 +-
...ommandPublishingFacetForPropertyAnnotation.java | 10 +-
...cutionPublishingFacetForPropertyAnnotation.java | 10 +-
.../facets/object/value/CompositeValueUpdater.java | 2 +-
...ActionParameterSupportFacetFactoryAbstract.java | 8 +-
.../method/PropertyChoicesFacetViaMethod.java | 2 +-
...romptStyleFacetForPropertyLayoutAnnotation.java | 2 +-
.../ValueSemanticsAnnotationFacetFactory.java | 10 +-
.../metamodel/spec/impl/FacetedMethodsBuilder.java | 41 +++----
.../metamodel/spec/impl/ObjectActionDefault.java | 28 ++---
.../metamodel/spec/impl/ObjectActionMixedIn.java | 2 +-
.../spec/impl/ObjectActionParameterAbstract.java | 4 +-
.../spec/impl/ObjectSpecificationDefault.java | 6 +-
.../spec/impl/OneToManyAssociationDefault.java | 4 +-
.../spec/impl/OneToManyAssociationMixedIn.java | 2 +-
.../spec/impl/OneToOneAssociationDefault.java | 4 +-
.../spec/impl/OneToOneAssociationMixedIn.java | 2 +-
...udeAnnotationEnforcesMetamodelContribution.java | 8 +-
.../metamodel/facets/FacetFactoryTestAbstract.java | 4 +-
.../actions/ActionMethodsFacetFactoryTest.java | 12 +-
...nnotationFacetFactoryTest_ActionInvocation.java | 4 +-
.../PropertyAnnotationFacetFactoryTest.java | 2 +-
.../metamodel/MetaModelServiceDefaultTest.java | 2 +-
.../spec/impl/OneToManyAssociationDefaultTest.java | 2 +-
.../testing/AbstractFacetFactoryTest.java | 4 +-
.../AutoCompleteGeneratedQueryFacetFactory.java | 2 +-
31 files changed, 188 insertions(+), 239 deletions(-)
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/FacetFactory.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/FacetFactory.java
index 34a591d37a0..fd082b2cc2a 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/FacetFactory.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/FacetFactory.java
@@ -373,7 +373,7 @@ public ProcessParameterContext(
final FacetedMethodParameter facetedMethodParameter) {
super(cls, introspectionPolicy, method, methodRemover,
facetedMethodParameter);
- this.paramNum = facetedMethodParameter.getParamIndex();
+ this.paramNum = facetedMethodParameter.paramIndex();
this.parameterType = super.method.getParameterType(paramNum);
this.parameterName = super.method.getParameterName(paramNum);
}
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/FacetedMethod.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/FacetedMethod.java
index c8e101e2b52..9a37330f30b 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/FacetedMethod.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/FacetedMethod.java
@@ -18,12 +18,12 @@
*/
package org.apache.causeway.core.metamodel.facets;
-import java.lang.reflect.Method;
import java.util.List;
import org.apache.causeway.applib.Identifier;
import org.apache.causeway.applib.id.LogicalType;
import org.apache.causeway.commons.collections.Can;
+import org.apache.causeway.commons.internal.base._Lazy;
import org.apache.causeway.commons.internal.base._Strings;
import org.apache.causeway.commons.internal.collections._Lists;
import org.apache.causeway.commons.internal.reflection._GenericResolver;
@@ -33,18 +33,45 @@
import
org.apache.causeway.commons.internal.reflection._MethodFacades.MethodFacade;
import org.apache.causeway.commons.semantics.CollectionSemantics;
import org.apache.causeway.core.metamodel.context.MetaModelContext;
+import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
import org.apache.causeway.core.metamodel.facetapi.FacetUtil;
import org.apache.causeway.core.metamodel.facetapi.FeatureType;
import org.apache.causeway.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
+import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
import org.apache.causeway.core.metamodel.specloader.SpecificationLoader;
-import lombok.Getter;
-
/**
- * non-final only so it can be mocked if need be.
+ * {@link TypedFacetHolder} representing a Java method.
*/
-public class FacetedMethod
-extends TypedHolderAbstract {
+public record FacetedMethod(
+ FacetHolder facetHolder,
+ FeatureType featureType,
+ /**
+ * resolved method return type
+ */
+ ResolvedType resolvedType,
+ /**
+ * The {@link Class} that owns this {@link Method} (as per
+ * {@link Class#getMethods()}, returning the {@link Method}s both of this
+ * class and of its super-classes).
+ * <p>
+ * Note: we don't call this the 'declaring type' because
+ * {@link Class#getDeclaredMethods()} does not return methods from
+ * super-classes.
+ */
+ Class<?> owningType,
+ /**
+ * A {@link Method} obtained from the {@link #owningType()}
+ * using {@link Class#getMethods()}.
+ */
+ MethodFacade methodFacade,
+ Can<FacetedMethodParameter> parameters,
+ /**
+ * @apiNote lazily memoized only once the metamodel was populated,
+ * otherwise during metamodel introspection would trigger cascading object
introspection as a side-effect
+ */
+ _Lazy<ObjectSpecification> elementSpecificationLazy
+ ) implements TypedFacetHolder {
// -- FACTORIES
@@ -103,16 +130,14 @@ private static Can<FacetedMethodParameter> getParameters(
}
// this is based on similar logic to
ActionAnnotationFacetFactory#processTypeOf
-
- var facetedMethodParamToUse =
- TypeOfFacet
- .inferFromMethodParameter(actionMethod, paramIndex,
facetedMethodParam)
- .map(typeOfFacet->{
- // (corresponds to similar code for
OneToManyAssociation in FacetMethodsBuilder).
- FacetUtil.addFacet(typeOfFacet);
- return
facetedMethodParam.withType(typeOfFacet.value());
- })
- .orElse(facetedMethodParam);
+ var facetedMethodParamToUse = TypeOfFacet
+ .inferFromMethodParameter(actionMethod, paramIndex,
facetedMethodParam)
+ .map(typeOfFacet->{
+ // (corresponds to similar code for OneToManyAssociation
in FacetMethodsBuilder).
+ FacetUtil.addFacet(typeOfFacet);
+ return
facetedMethodParam.withResolvedType(typeOfFacet.value());
+ })
+ .orElse(facetedMethodParam);
actionParams.add(facetedMethodParamToUse);
@@ -165,28 +190,6 @@ public static FacetedMethod createForAction(
}
}
- // -- FIELDS
-
- /**
- * The {@link Class} that owns this {@link Method} (as per
- * {@link Class#getMethods()}, returning the {@link Method}s both of this
- * class and of its superclasses).
- *
- * <p>
- * Note: we don't call this the 'declaring type' because
- * {@link Class#getDeclaredMethods()} does not return methods from
- * superclasses.
- */
- @Getter private final Class<?> owningType;
-
- /**
- * A {@link Method} obtained from the {@link #getOwningType() owning type}
- * using {@link Class#getMethods()}.
- */
- @Getter private final MethodFacade method;
-
- @Getter private final Can<FacetedMethodParameter> parameters;
-
// -- CONSTRUCTOR
private FacetedMethod(
@@ -194,32 +197,41 @@ private FacetedMethod(
final FeatureType featureType,
final Class<?> declaringType,
final MethodFacade method,
- final ResolvedType type,
+ final ResolvedType resolvedType,
final Can<FacetedMethodParameter> parameters) {
+ this(
+ FacetHolder
+ .simple(mmc, methodIdentifier(mmc.getSpecificationLoader(),
featureType, declaringType, method)),
+ featureType,
+ resolvedType,
+ declaringType,
+ method,
+ parameters,
+ elementSpecificationLazy(mmc.getSpecificationLoader(),
resolvedType));
+ }
- super(mmc,
- featureType,
- type,
- methodIdentifier(mmc.getSpecificationLoader(), featureType,
declaringType, method));
- this.owningType = declaringType;
- this.method = method;
- this.parameters = parameters;
+ public FacetedMethodParameter parameter(final int paramIndex) {
+ return parameters.getElseFail(paramIndex);
}
@Override
public String toString() {
- return getFeatureType().name() + " Peer [identifier=\"" +
getFeatureIdentifier()
- + "\",type=" + getType() + " ]";
+ return featureType().name() + " Peer [identifier=\"" +
getFeatureIdentifier()
+ + "\",type=" + resolvedType() + " ]";
+ }
+
+ public ObjectSpecification elementSpecification() {
+ return elementSpecificationLazy.get();
}
/**
- * Returns an instance with {@code type} replaced by given {@code
elementType}.
+ * Returns an instance with {@link #resolvedType} replaced by a new {@link
ResolvedType} that has given {@code elementType}.
* @param elementType
*/
- public FacetedMethod withType(final Class<?> elementType) {
- //XXX maybe future refactoring can make the type immutable, so we can
remove this method
- this.type = type.withElementType(elementType);
- return this;
+ public FacetedMethod withElementType(final Class<?> elementType) {
+ var newResolvedType = resolvedType.withElementType(elementType);
+ return new FacetedMethod(facetHolder, featureType, newResolvedType,
owningType, methodFacade, parameters,
+ elementSpecificationLazy(facetHolder.getSpecificationLoader(),
newResolvedType));
}
// -- HELPER
@@ -232,4 +244,10 @@ private static Identifier methodIdentifier(
return featureType.identifierFor(LogicalType.infer(declaringType),
method);
}
+ private static _Lazy<ObjectSpecification> elementSpecificationLazy(
+ final SpecificationLoader specificationLoader,
+ final ResolvedType resolvedType) {
+ return
_Lazy.threadSafe(()->specificationLoader.specForTypeElseFail(resolvedType.elementType()));
+ }
+
}
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/FacetedMethodParameter.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/FacetedMethodParameter.java
index d1a74d81d24..cff56065485 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/FacetedMethodParameter.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/FacetedMethodParameter.java
@@ -22,14 +22,15 @@
import
org.apache.causeway.commons.internal.reflection._GenericResolver.ResolvedType;
import
org.apache.causeway.commons.internal.reflection._MethodFacades.MethodFacade;
import org.apache.causeway.core.metamodel.context.MetaModelContext;
+import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
import org.apache.causeway.core.metamodel.facetapi.FeatureType;
-import lombok.Getter;
-
-public class FacetedMethodParameter
-extends TypedHolderAbstract {
-
- @Getter private final int paramIndex;
+public record FacetedMethodParameter(
+ int paramIndex,
+ FacetHolder facetHolder,
+ FeatureType featureType,
+ ResolvedType resolvedType
+ ) implements TypedFacetHolder {
public FacetedMethodParameter(
final MetaModelContext mmc,
@@ -37,24 +38,25 @@ public FacetedMethodParameter(
final Class<?> declaringType,
final MethodFacade methodFacade,
final int paramIndex) {
-
- super(mmc,
- featureType,
- methodFacade.resolveParameter(paramIndex),
- FeatureType.ACTION.identifierFor(
- LogicalType.infer(declaringType),
- methodFacade));
-
- this.paramIndex = paramIndex;
+ this(
+ paramIndex,
+ FacetHolder.simple(mmc, FeatureType.ACTION.identifierFor(
+ LogicalType.infer(declaringType),
+ methodFacade)),
+ featureType,
+ methodFacade.resolveParameter(paramIndex));
}
/**
- * Returns an instance with {@code type} replaced by given {@code newType}.
+ * Returns an instance with {@code resolvedType} replaced by given {@code
newType}.
*/
- public FacetedMethodParameter withType(final ResolvedType newType) {
- //XXX maybe future refactoring can make the type immutable, so we can
remove this method
- this.type = newType;
- return this;
+ public FacetedMethodParameter withResolvedType(final ResolvedType newType)
{
+ return new FacetedMethodParameter(paramIndex, facetHolder,
featureType, newType);
+ }
+
+ @Override // as used for logging, not strictly required
+ public String toString() {
+ return resolvedType.toString();
}
-}
+}
\ No newline at end of file
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/TypedHolder.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/TypedFacetHolder.java
similarity index 78%
rename from
core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/TypedHolder.java
rename to
core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/TypedFacetHolder.java
index e513b295b0b..2a843617a27 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/TypedHolder.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/TypedFacetHolder.java
@@ -22,18 +22,19 @@
import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
import org.apache.causeway.core.metamodel.facetapi.FeatureType;
import org.apache.causeway.core.metamodel.facetapi.HasFacetHolder;
-import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
/**
- * A {@link FacetHolder} that also has a {@link ObjectSpecification type}.
- *
+ * A {@link FacetHolder} that also has a {@link ResolvedType}.
* <p>
* Used to represent class members when building up the metamodel.
*/
-public interface TypedHolder extends HasFacetHolder {
-
- FeatureType getFeatureType();
+public sealed interface TypedFacetHolder extends HasFacetHolder
+permits FacetedMethod, FacetedMethodParameter {
- ResolvedType getType();
+ FacetHolder facetHolder();
+ FeatureType featureType();
+ ResolvedType resolvedType();
+ @Override
+ default FacetHolder getFacetHolder() { return facetHolder(); }
}
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/TypedHolderAbstract.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/TypedHolderAbstract.java
deleted file mode 100644
index b280d8347d6..00000000000
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/TypedHolderAbstract.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.causeway.core.metamodel.facets;
-
-import org.apache.causeway.applib.Identifier;
-import
org.apache.causeway.commons.internal.reflection._GenericResolver.ResolvedType;
-import org.apache.causeway.core.metamodel.context.MetaModelContext;
-import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
-import org.apache.causeway.core.metamodel.facetapi.FeatureType;
-import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
-
-import lombok.Getter;
-import org.jspecify.annotations.NonNull;
-
-public abstract class TypedHolderAbstract
-implements TypedHolder {
-
- @Getter(onMethod_ = {@Override}) private FacetHolder facetHolder;
- @Getter(onMethod_ = {@Override}) private final FeatureType featureType;
- @Getter(onMethod_ = {@Override}) protected ResolvedType type;
-
- protected TypedHolderAbstract(
- final MetaModelContext mmc,
- final FeatureType featureType,
- final @NonNull ResolvedType type,
- final Identifier featureIdentifier) {
- this.facetHolder = FacetHolder.simple(mmc, featureIdentifier);
- this.featureType = featureType;
- this.type = type;
- }
-
- @Override // as used for logging, not strictly required
- public String toString() {
- return type.toString();
- }
-
- public ObjectSpecification getElementSpecification() {
- return
getSpecificationLoader().specForTypeElseFail(type.elementType());
- }
-
-}
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/fallback/FallbackFacetFactory.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/fallback/FallbackFacetFactory.java
index 41f46f590ed..65cc945d098 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/fallback/FallbackFacetFactory.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/fallback/FallbackFacetFactory.java
@@ -28,7 +28,7 @@
import org.apache.causeway.core.metamodel.facetapi.FeatureType;
import org.apache.causeway.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.causeway.core.metamodel.facets.FacetedMethod;
-import org.apache.causeway.core.metamodel.facets.TypedHolder;
+import org.apache.causeway.core.metamodel.facets.TypedFacetHolder;
/**
* Central point for providing some kind of default for any {@link Facet}s
@@ -80,7 +80,7 @@ public void process(final ProcessMethodContext
processMethodContext) {
addFacet(new NamedFacetFallbackFromMemberName(facetedMethod));
- final FeatureType featureType = facetedMethod.getFeatureType();
+ final FeatureType featureType = facetedMethod.featureType();
if (featureType.isProperty()) {
addFacet(new MaxLengthFacetUnlimited(facetedMethod));
addFacet(new MultiLineFacetNone(facetedMethod));
@@ -102,8 +102,8 @@ public void process(final ProcessMethodContext
processMethodContext) {
@Override
public void processParams(final ProcessParameterContext
processParameterContext) {
- final TypedHolder typedHolder =
processParameterContext.getFacetHolder();
- if (typedHolder.getFeatureType().isActionParameter()) {
+ final TypedFacetHolder typedHolder =
processParameterContext.getFacetHolder();
+ if (typedHolder.featureType().isActionParameter()) {
addFacet(new MultiLineFacetNone(typedHolder));
addFacet(new MaxLengthFacetUnlimited(typedHolder));
addFacet(new LabelAtFacetFromLayoutConfiguration(
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/members/publish/command/CommandPublishingFacetForPropertyAnnotation.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/members/publish/command/CommandPublishingFacetForPropertyAnnotation.java
index 7d4b65924e3..622de800147 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/members/publish/command/CommandPublishingFacetForPropertyAnnotation.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/members/publish/command/CommandPublishingFacetForPropertyAnnotation.java
@@ -29,14 +29,14 @@
import org.apache.causeway.core.config.metamodel.facets.PropertyConfigOptions;
import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
import org.apache.causeway.core.metamodel.facetapi.FeatureType;
-import org.apache.causeway.core.metamodel.facets.TypedHolder;
+import org.apache.causeway.core.metamodel.facets.TypedFacetHolder;
import
org.apache.causeway.core.metamodel.facets.actions.contributing.ContributingFacet;
import org.apache.causeway.core.metamodel.facets.object.mixin.MixinFacet;
public abstract class CommandPublishingFacetForPropertyAnnotation extends
CommandPublishingFacetAbstract {
static class Enabled extends CommandPublishingFacetForPropertyAnnotation {
- Enabled(CommandDtoProcessor processor, FacetHolder holder,
ServiceInjector servicesInjector) {
+ Enabled(final CommandDtoProcessor processor, final FacetHolder holder,
final ServiceInjector servicesInjector) {
super(processor, holder, servicesInjector);
}
@@ -47,7 +47,7 @@ public boolean isEnabled() {
}
static class Disabled extends CommandPublishingFacetForPropertyAnnotation {
- Disabled(CommandDtoProcessor processor, FacetHolder holder,
ServiceInjector servicesInjector) {
+ Disabled(final CommandDtoProcessor processor, final FacetHolder
holder, final ServiceInjector servicesInjector) {
super(processor, holder, servicesInjector);
}
@@ -127,9 +127,9 @@ public static CommandPublishingFacet create(
});
}
- private static boolean representsProperty(FacetHolder holder) {
+ private static boolean representsProperty(final FacetHolder holder) {
// a property
- if (holder instanceof TypedHolder &&
((TypedHolder)holder).getFeatureType() == FeatureType.PROPERTY) {
+ if (holder instanceof TypedFacetHolder &&
((TypedFacetHolder)holder).featureType() == FeatureType.PROPERTY) {
return true;
}
// or a mixin
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/members/publish/execution/ExecutionPublishingFacetForPropertyAnnotation.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/members/publish/execution/ExecutionPublishingFacetForPropertyAnnotation.java
index c27a04556cb..4150307bb4b 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/members/publish/execution/ExecutionPublishingFacetForPropertyAnnotation.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/members/publish/execution/ExecutionPublishingFacetForPropertyAnnotation.java
@@ -27,7 +27,7 @@
import org.apache.causeway.core.config.metamodel.facets.PropertyConfigOptions;
import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
import org.apache.causeway.core.metamodel.facetapi.FeatureType;
-import org.apache.causeway.core.metamodel.facets.TypedHolder;
+import org.apache.causeway.core.metamodel.facets.TypedFacetHolder;
import
org.apache.causeway.core.metamodel.facets.actions.contributing.ContributingFacet;
import org.apache.causeway.core.metamodel.facets.object.mixin.MixinFacet;
@@ -35,7 +35,7 @@ public abstract class
ExecutionPublishingFacetForPropertyAnnotation
extends ExecutionPublishingFacetAbstract {
static class Enabled extends ExecutionPublishingFacetForPropertyAnnotation
{
- Enabled(FacetHolder holder) {
+ Enabled(final FacetHolder holder) {
super(holder);
}
@@ -46,7 +46,7 @@ public boolean isEnabled() {
}
static class Disabled extends
ExecutionPublishingFacetForPropertyAnnotation {
- Disabled(FacetHolder holder) {
+ Disabled(final FacetHolder holder) {
super(holder);
}
@@ -118,9 +118,9 @@ public static ExecutionPublishingFacet create(
});
}
- private static boolean representsProperty(FacetHolder holder) {
+ private static boolean representsProperty(final FacetHolder holder) {
// a property
- if (holder instanceof TypedHolder &&
((TypedHolder)holder).getFeatureType() == FeatureType.PROPERTY) {
+ if (holder instanceof TypedFacetHolder &&
((TypedFacetHolder)holder).featureType() == FeatureType.PROPERTY) {
return true;
}
// or a mixin
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/value/CompositeValueUpdater.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/value/CompositeValueUpdater.java
index f0e820d02a8..eefdceee8c3 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/value/CompositeValueUpdater.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/value/CompositeValueUpdater.java
@@ -62,7 +62,7 @@ private ManagedObject simpleExecute(
final InteractionHead head, final Can<ManagedObject> parameters) {
var methodFacade = mixedInAction instanceof HasFacetedMethod
facetedMethodHolder
- ? facetedMethodHolder.getFacetedMethod().getMethod()
+ ? facetedMethodHolder.getFacetedMethod().methodFacade()
: null;
if(methodFacade==null) return
ManagedObject.empty(mixedInAction.getReturnType()); // unsupported MixedInAction
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/param/support/ActionParameterSupportFacetFactoryAbstract.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/param/support/ActionParameterSupportFacetFactoryAbstract.java
index 2c9a74398b8..bfde77e9f62 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/param/support/ActionParameterSupportFacetFactoryAbstract.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/param/support/ActionParameterSupportFacetFactoryAbstract.java
@@ -56,13 +56,10 @@ protected ActionParameterSupportFacetFactoryAbstract(
@Override
public final void process(final ProcessMethodContext processMethodContext)
{
-
var facetedMethod = processMethodContext.getFacetHolder();
- var parameters = facetedMethod.getParameters();
+ var parameters = facetedMethod.parameters();
- if (parameters.isEmpty()) {
- return;
- }
+ if (parameters.isEmpty()) return;
var methodNameCandidates = memberSupportPrefix.getMethodNamePrefixes()
.flatMap(processMethodContext::parameterSupportCandidates);
@@ -84,7 +81,6 @@ public final void process(final ProcessMethodContext
processMethodContext) {
var paramAsHolder = parameters.getElseFail(paramIndex);
onSearchResult(paramAsHolder, searchResult);
});
-
}
protected abstract void onSearchResult(
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/properties/choices/method/PropertyChoicesFacetViaMethod.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/properties/choices/method/PropertyChoicesFacetViaMethod.java
index 0926af4f374..2de9ca2c1d6 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/properties/choices/method/PropertyChoicesFacetViaMethod.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/properties/choices/method/PropertyChoicesFacetViaMethod.java
@@ -62,7 +62,7 @@ public Can<ManagedObject> getChoices(
final InteractionInitiatedBy interactionInitiatedBy) {
var method = methods.getFirstElseFail().asMethodElseFail(); //
expected regular
- var elementSpec = ((FacetedMethod)
getFacetHolder()).getElementSpecification();
+ var elementSpec = ((FacetedMethod)
getFacetHolder()).elementSpecification();
var optionPojos = MmInvokeUtils.invokeNoArg(method.method(),
owningAdapter);
var visibleChoices = ManagedObjects
.adaptMultipleOfTypeThenFilterByVisibility(
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/properties/propertylayout/PromptStyleFacetForPropertyLayoutAnnotation.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/properties/propertylayout/PromptStyleFacetForPropertyLayoutAnnotation.java
index 3904edd518f..da6135072df 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/properties/propertylayout/PromptStyleFacetForPropertyLayoutAnnotation.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/properties/propertylayout/PromptStyleFacetForPropertyLayoutAnnotation.java
@@ -50,7 +50,7 @@ public static Optional<PromptStyleFacet> create(
// guard against member not being a property
if(holder instanceof FacetedMethod) {
final FacetedMethod facetedMethod = (FacetedMethod) holder;
- if(facetedMethod.getFeatureType() != FeatureType.PROPERTY) {
+ if(facetedMethod.featureType() != FeatureType.PROPERTY) {
return Optional.empty();
}
}
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/value/semantics/ValueSemanticsAnnotationFacetFactory.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/value/semantics/ValueSemanticsAnnotationFacetFactory.java
index 8e2d1ccbf78..9d6287ebd93 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/value/semantics/ValueSemanticsAnnotationFacetFactory.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/value/semantics/ValueSemanticsAnnotationFacetFactory.java
@@ -27,7 +27,7 @@
import org.apache.causeway.core.metamodel.context.MetaModelContext;
import org.apache.causeway.core.metamodel.facetapi.FeatureType;
import org.apache.causeway.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.causeway.core.metamodel.facets.TypedHolderAbstract;
+import org.apache.causeway.core.metamodel.facets.TypedFacetHolder;
import
org.apache.causeway.core.metamodel.facets.objectvalue.digits.MaxFractionalDigitsFacetAbstract;
import
org.apache.causeway.core.metamodel.facets.objectvalue.digits.MaxTotalDigitsFacetAbstract;
import
org.apache.causeway.core.metamodel.facets.objectvalue.digits.MinFractionalDigitsFacetAbstract;
@@ -72,7 +72,7 @@ public void processParams(final ProcessParameterContext
processParameterContext)
// -- HELPER
private void processAll(
- final TypedHolderAbstract facetHolder,
+ final TypedFacetHolder facetHolder,
final Optional<ValueSemantics> valueSemanticsIfAny,
final Optional<Digits> digitsIfAny) {
processProvider(facetHolder, valueSemanticsIfAny);
@@ -81,7 +81,7 @@ private void processAll(
}
private void processProvider(
- final TypedHolderAbstract facetHolder,
+ final TypedFacetHolder facetHolder,
final Optional<ValueSemantics> valueSemanticsIfAny) {
// check for @ValueSemantics(provider=...)
@@ -91,7 +91,7 @@ private void processProvider(
}
private void processDigits(
- final TypedHolderAbstract facetHolder,
+ final TypedFacetHolder facetHolder,
final Optional<ValueSemantics> valueSemanticsIfAny,
final Optional<Digits> digitsIfAny){
@@ -130,7 +130,7 @@ private void processDigits(
}
private void processTemporalFormat(
- final TypedHolderAbstract facetHolder,
+ final TypedFacetHolder facetHolder,
final Optional<ValueSemantics> valueSemanticsIfAny){
addFacetIfPresent(
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/FacetedMethodsBuilder.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/FacetedMethodsBuilder.java
index fa65c997ef4..cb5ddd02818 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/FacetedMethodsBuilder.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/FacetedMethodsBuilder.java
@@ -225,24 +225,24 @@ private void createCollectionFacetedMethodsFromAccessors(
// create property and add facets
var facetedMethod = FacetedMethod.createForCollection(mmc,
introspectedClass, accessorMethod);
getFacetProcessor()
- .process(
- introspectedClass,
- introspectionPolicy(),
- accessorMethodFacade,
- methodRemover,
- facetedMethod,
- FeatureType.COLLECTION,
- isMixinMain(accessorMethodFacade));
+ .process(
+ introspectedClass,
+ introspectionPolicy(),
+ accessorMethodFacade,
+ methodRemover,
+ facetedMethod,
+ FeatureType.COLLECTION,
+ isMixinMain(accessorMethodFacade));
// figure out what the type is
final Class<?> elementType =
facetedMethod.lookupFacet(TypeOfFacet.class)
.<Class<?>>map(typeOfFacet->typeOfFacet.value().elementType())
.orElse(Object.class);
- // skip if class substitutor says so.
+ // skip if class substitutor says so
if
(classSubstitutorRegistry.getSubstitution(elementType).isNeverIntrospect())
continue;
- onNewFacetMethod.accept(facetedMethod.withType(elementType));
+
onNewFacetMethod.accept(facetedMethod.withElementType(elementType));
}
}
@@ -352,12 +352,11 @@ private FacetedMethod createActionFacetedMethod(final
ResolvedMethod actionMetho
FeatureType.ACTION,
isMixinMain(actionMethodFacade));
- action.getParameters()
- .forEach(actionParam->{
- getFacetProcessor()
- .processParams(introspectedClass, introspectionPolicy(),
actionMethodFacade, methodRemover, actionParam);
-
- });
+ action.parameters()
+ .forEach(actionParam->{
+ getFacetProcessor()
+ .processParams(introspectedClass, introspectionPolicy(),
actionMethodFacade, methodRemover, actionParam);
+ });
return action;
}
@@ -415,9 +414,7 @@ private boolean representsAction(final ResolvedMethod
actionMethod) {
return true;
}
- //
////////////////////////////////////////////////////////////////////////////
- // Helpers for finding and removing methods.
- //
////////////////////////////////////////////////////////////////////////////
+ // -- Helpers for finding and removing methods.
private boolean isMixinMain(final MethodFacade methodFacade) {
return isMixinMain(methodFacade.asMethodForIntrospection());
@@ -443,7 +440,7 @@ private boolean isMixinMain(final ResolvedMethod method) {
.lookupMixedInAction(inspectedTypeSpec)
.map(HasFacetedMethod.class::cast)
.map(HasFacetedMethod::getFacetedMethod)
- .map(FacetedMethod::getMethod)
+ .map(FacetedMethod::methodFacade)
.map(MethodFacade::asMethodForIntrospection)
.map(method::equals)
.orElse(false);
@@ -453,10 +450,6 @@ private IntrospectionPolicy introspectionPolicy() {
return inspectedTypeSpec.getIntrospectionPolicy();
}
- //
////////////////////////////////////////////////////////////////////////////
- // toString
- //
////////////////////////////////////////////////////////////////////////////
-
@Override
public String toString() {
final ToString str = new ToString(this);
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/ObjectActionDefault.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/ObjectActionDefault.java
index af4403b7458..a56430c035f 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/ObjectActionDefault.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/ObjectActionDefault.java
@@ -135,7 +135,7 @@ private ObjectSpecification loadDeclaringType() {
// JUnit support
if(testing
&& declaringType.isEmpty()) {
- return
specLoaderInternal().loadSpecification(getFacetedMethod().getMethod().getDeclaringClass());
+ return
specLoaderInternal().loadSpecification(getFacetedMethod().methodFacade().getDeclaringClass());
}
return declaringType.orElseThrow(()->_Exceptions
.illegalState("missing ActionInvocationFacet on action %s",
getFeatureIdentifier()));
@@ -175,7 +175,7 @@ private ObjectSpecification loadReturnType() {
// JUnit support
if(testing
&& returType.isEmpty()) {
- return
specLoaderInternal().loadSpecification(getFacetedMethod().getMethod().getReturnType());
+ return
specLoaderInternal().loadSpecification(getFacetedMethod().methodFacade().getReturnType());
}
return returType.orElseThrow(()->_Exceptions
.illegalState("framework bug: missing ActionInvocationFacet on
action %s", getFeatureIdentifier()));
@@ -219,7 +219,7 @@ public ActionInteractionHead interactionHead(
@Override
public int getParameterCount() {
- return getFacetedMethod().getParameters().size();
+ return getFacetedMethod().parameters().size();
}
@Override
@@ -228,21 +228,17 @@ public Can<ObjectActionParameter> getParameters() {
}
protected Can<ObjectActionParameter> determineParameters() {
-
var specLoaderInternal = specLoaderInternal();
- return getFacetedMethod().getParameters()
- .map(facetedParam->{
-
- final int paramIndex = facetedParam.getParamIndex();
- var paramElementType =
specLoaderInternal.loadSpecification(facetedParam.getType().elementType()); //
preload
-
- return
- facetedParam.getFeatureType() ==
FeatureType.ACTION_PARAMETER_SINGULAR
- ? new OneToOneActionParameterDefault(paramElementType,
paramIndex, this)
- : new
OneToManyActionParameterDefault(paramElementType, paramIndex, this);
+ return getFacetedMethod().parameters()
+ .map(facetedParam->{
+ final int paramIndex = facetedParam.paramIndex();
+ var paramElementType =
specLoaderInternal.loadSpecification(facetedParam.resolvedType().elementType());
// preload
- });
+ return facetedParam.featureType() ==
FeatureType.ACTION_PARAMETER_SINGULAR
+ ? new
OneToOneActionParameterDefault(paramElementType, paramIndex, this)
+ : new
OneToManyActionParameterDefault(paramElementType, paramIndex, this);
+ });
}
@Override
@@ -603,7 +599,7 @@ private CommandDto commandDtoFor(
}
private boolean calculateIsExplicitlyAnnotated() {
- var methodFacade = getFacetedMethod().getMethod();
+ var methodFacade = getFacetedMethod().methodFacade();
return methodFacade.synthesize(Action.class).isPresent()
|| methodFacade.synthesize(ActionLayout.class).isPresent();
}
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/ObjectActionMixedIn.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/ObjectActionMixedIn.java
index 81cd35b4097..9cc6f3c27a0 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/ObjectActionMixedIn.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/ObjectActionMixedIn.java
@@ -192,7 +192,7 @@ public ObjectSpecification getMixinType() {
// -- HELPER
private boolean calculateIsExplicitlyAnnotated() {
- var methodFacade = getFacetedMethod().getMethod();
+ var methodFacade = getFacetedMethod().methodFacade();
return super.isExplicitlyAnnotated() // legacy programming style
|| methodFacade.synthesize(Domain.Include.class).isPresent();
}
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/ObjectActionParameterAbstract.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/ObjectActionParameterAbstract.java
index 1f2f850f284..af955c662dc 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/ObjectActionParameterAbstract.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/ObjectActionParameterAbstract.java
@@ -76,7 +76,7 @@ protected ObjectActionParameterAbstract(
this.paramElementType = paramElementType;
this.javaSourceParamName =
-
objectAction.getFacetedMethod().getMethod().getParameterName(parameterIndex);
+
objectAction.getFacetedMethod().methodFacade().getParameterName(parameterIndex);
}
@Override
@@ -163,7 +163,7 @@ public Consent isUsable() {
@Override
public FacetHolder getFacetHolder() {
// that is the faceted method parameter
- return
parentAction.getFacetedMethod().getParameters().getElseFail(parameterIndex);
+ return parentAction.getFacetedMethod().parameter(parameterIndex);
}
// -- Defaults
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/ObjectSpecificationDefault.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/ObjectSpecificationDefault.java
index 5168459b84d..c98049291a1 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/ObjectSpecificationDefault.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/ObjectSpecificationDefault.java
@@ -272,9 +272,9 @@ private Stream<ObjectAssociation> createAssociations() {
}
private ObjectAssociation createAssociation(final FacetedMethod
facetMethod) {
- if (facetMethod.getFeatureType().isCollection()) {
+ if (facetMethod.featureType().isCollection()) {
return OneToManyAssociationDefault.forMethod(facetMethod);
- } else if (facetMethod.getFeatureType().isProperty()) {
+ } else if (facetMethod.featureType().isProperty()) {
return OneToOneAssociationDefault.forMethod(facetMethod);
} else {
return null;
@@ -289,7 +289,7 @@ private Stream<ObjectAction> createActions() {
}
private ObjectAction createAction(final FacetedMethod facetedMethod) {
- if (facetedMethod.getFeatureType().isAction()) {
+ if (facetedMethod.featureType().isAction()) {
/* Assuming, that facetedMethod was already populated with
ContributingFacet,
* we copy the mixin-sort information from the FacetedMethod to
the MixinFacet
* that is held by the mixin's type spec. */
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/OneToManyAssociationDefault.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/OneToManyAssociationDefault.java
index 1d6dae39117..75c334f149e 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/OneToManyAssociationDefault.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/OneToManyAssociationDefault.java
@@ -53,7 +53,7 @@ public static OneToManyAssociationDefault forMethod(final
FacetedMethod facetedM
facetedMethod.getFeatureIdentifier(),
facetedMethod,
((SpecificationLoaderInternal)facetedMethod.getMetaModelContext().getSpecificationLoader())
- .loadSpecification(facetedMethod.getType().elementType()));
+
.loadSpecification(facetedMethod.resolvedType().elementType()));
}
protected OneToManyAssociationDefault(
@@ -182,7 +182,7 @@ public String toString() {
// -- HELPER
private boolean calculateIsExplicitlyAnnotated() {
- var methodFacade = getFacetedMethod().getMethod();
+ var methodFacade = getFacetedMethod().methodFacade();
return methodFacade.synthesize(Collection.class).isPresent()
|| methodFacade.synthesize(CollectionLayout.class).isPresent();
}
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/OneToManyAssociationMixedIn.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/OneToManyAssociationMixedIn.java
index 26876a68f2f..3d1a98f03be 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/OneToManyAssociationMixedIn.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/OneToManyAssociationMixedIn.java
@@ -169,7 +169,7 @@ public boolean hasMixinAction(final ObjectAction
mixinAction) {
// -- HELPER
private boolean calculateIsExplicitlyAnnotated() {
- var methodFacade = getFacetedMethod().getMethod();
+ var methodFacade = getFacetedMethod().methodFacade();
return super.isExplicitlyAnnotated() // legacy programming style
|| methodFacade.synthesize(Domain.Include.class).isPresent();
}
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/OneToOneAssociationDefault.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/OneToOneAssociationDefault.java
index 70a05332dcb..2da9edffbc1 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/OneToOneAssociationDefault.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/OneToOneAssociationDefault.java
@@ -70,7 +70,7 @@ public static OneToOneAssociationDefault forMethod(final
FacetedMethod facetedMe
facetedMethod.getFeatureIdentifier(),
facetedMethod,
((SpecificationLoaderInternal)facetedMethod.getMetaModelContext().getSpecificationLoader())
- .loadSpecification(facetedMethod.getType().elementType()));
+
.loadSpecification(facetedMethod.resolvedType().elementType()));
}
// -- CONSTRUCTION
@@ -340,7 +340,7 @@ public String toString() {
// -- HELPER
private boolean calculateIsExplicitlyAnnotated() {
- var methodFacade = getFacetedMethod().getMethod();
+ var methodFacade = getFacetedMethod().methodFacade();
return methodFacade.synthesize(Property.class).isPresent()
|| methodFacade.synthesize(PropertyLayout.class).isPresent();
}
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/OneToOneAssociationMixedIn.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/OneToOneAssociationMixedIn.java
index 529ae96879a..bd6a030883c 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/OneToOneAssociationMixedIn.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/OneToOneAssociationMixedIn.java
@@ -152,7 +152,7 @@ public boolean hasMixinAction(final ObjectAction
mixinAction) {
// -- HELPER
private boolean calculateIsExplicitlyAnnotated() {
- var methodFacade = getFacetedMethod().getMethod();
+ var methodFacade = getFacetedMethod().methodFacade();
return super.isExplicitlyAnnotated() // legacy programming style
|| methodFacade.synthesize(Domain.Include.class).isPresent();
}
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/ValidatorDomainIncludeAnnotationEnforcesMetamodelContribution.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/ValidatorDomainIncludeAnnotationEnforcesMetamodelContribution.java
index 9e8ab650802..555f5a27a92 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/ValidatorDomainIncludeAnnotationEnforcesMetamodelContribution.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/ValidatorDomainIncludeAnnotationEnforcesMetamodelContribution.java
@@ -86,7 +86,7 @@ public void validateObjectEnter(final ObjectSpecification
spec) {
.streamAnyActions(MixedIn.EXCLUDED)
.map(HasFacetedMethod.class::cast)
.map(HasFacetedMethod::getFacetedMethod)
- .map(FacetedMethod::getMethod)
+ .map(FacetedMethod::methodFacade)
.map(MethodFacade::asMethodForIntrospection)
.forEach(memberMethods::add);
@@ -94,7 +94,7 @@ public void validateObjectEnter(final ObjectSpecification
spec) {
.streamAssociations(MixedIn.EXCLUDED)
.map(HasFacetedMethod.class::cast)
.map(HasFacetedMethod::getFacetedMethod)
- .map(FacetedMethod::getMethod)
+ .map(FacetedMethod::methodFacade)
.map(MethodFacade::asMethodForIntrospection)
.forEach(memberMethods::add);
@@ -195,7 +195,7 @@ private static void validateOrphanedSupportingMethod(
.isSupportMethodAnnotationsRequired()) {
return; // ignore
}
-
+
var potentialOrphans = spec instanceof ObjectSpecificationDefault
specDefault
? specDefault.getPotentialOrphans()
: Collections.<ResolvedMethod>emptySet();
@@ -223,7 +223,7 @@ private static void validateOrphanedSupportingMethod(
potentialOrphans.clear(); // no longer needed
}
- private static boolean matchesSupportMethodNamingConvention(String
methodName) {
+ private static boolean matchesSupportMethodNamingConvention(final String
methodName) {
for(var objectSupportMethod : ObjectSupportMethod.values()) {
if(objectSupportMethod.getMethodNames().anyMatch(name->name.equals(methodName)))
return true;
}
diff --git
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/FacetFactoryTestAbstract.java
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/FacetFactoryTestAbstract.java
index d058fe77909..9163bdf5925 100644
---
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/FacetFactoryTestAbstract.java
+++
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/FacetFactoryTestAbstract.java
@@ -285,8 +285,8 @@ protected void parameterScenario(
actionMethod.isNoArg()
? (FacetedMethodParameter)null
: new FacetedMethodParameter(getMetaModelContext(),
- FeatureType.ACTION_PARAMETER_SINGULAR,
facetedMethod.getOwningType(),
- facetedMethod.getMethod(), 0);
+ FeatureType.ACTION_PARAMETER_SINGULAR,
facetedMethod.owningType(),
+ facetedMethod.methodFacade(), 0);
var processParameterContext =
FacetFactory.ProcessParameterContext.forTesting(
diff --git
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/actions/ActionMethodsFacetFactoryTest.java
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/actions/ActionMethodsFacetFactoryTest.java
index 9c5661892c3..ed3769cd4f5 100644
---
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/actions/ActionMethodsFacetFactoryTest.java
+++
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/actions/ActionMethodsFacetFactoryTest.java
@@ -118,14 +118,14 @@ public void someAction(final int x, final long y) {}
//when
facetFactory.process(processMethodContext);
//then
- final Facet facet0 =
facetedMethod.getParameters().getElseFail(0).getFacet(ActionParameterDefaultsFacet.class);
+ final Facet facet0 =
facetedMethod.parameter(0).getFacet(ActionParameterDefaultsFacet.class);
assertNotNull(facet0);
assertTrue(facet0 instanceof
ActionParameterDefaultsFacetViaMethod);
final ActionParameterDefaultsFacetViaMethod
actionDefaultFacetViaMethod0 = (ActionParameterDefaultsFacetViaMethod) facet0;
assertMethodEqualsFirstIn(default0Method,
actionDefaultFacetViaMethod0);
assertMethodWasRemoved(default0Method);
- final Facet facet1 =
facetedMethod.getParameters().getElseFail(1).getFacet(ActionParameterDefaultsFacet.class);
+ final Facet facet1 =
facetedMethod.parameter(1).getFacet(ActionParameterDefaultsFacet.class);
assertNotNull(facet1);
assertTrue(facet1 instanceof
ActionParameterDefaultsFacetViaMethod);
final ActionParameterDefaultsFacetViaMethod
actionDefaultFacetViaMethod1 = (ActionParameterDefaultsFacetViaMethod) facet1;
@@ -154,21 +154,21 @@ public void someAction(final int x, final long y, final
long z) {}
//when
facetFactory.process(processMethodContext);
//then
- final Facet facet0 =
facetedMethod.getParameters().getElseFail(0).getFacet(ActionParameterChoicesFacet.class);
+ final Facet facet0 =
facetedMethod.parameter(0).getFacet(ActionParameterChoicesFacet.class);
assertNotNull(facet0);
assertTrue(facet0 instanceof ActionParameterChoicesFacetViaMethod);
var actionChoicesFacetViaMethod0 =
(ActionParameterChoicesFacetViaMethod) facet0;
assertMethodEqualsFirstIn(choices0Method,
actionChoicesFacetViaMethod0);
assertMethodWasRemoved(choices0Method);
- final Facet facet1 =
facetedMethod.getParameters().getElseFail(1).getFacet(ActionParameterChoicesFacet.class);
+ final Facet facet1 =
facetedMethod.parameter(1).getFacet(ActionParameterChoicesFacet.class);
assertNotNull(facet1);
assertTrue(facet1 instanceof ActionParameterChoicesFacetViaMethod);
var actionChoicesFacetViaMethod1 =
(ActionParameterChoicesFacetViaMethod) facet1;
assertMethodEqualsFirstIn(choices1Method,
actionChoicesFacetViaMethod1);
assertMethodWasRemoved(choices1Method);
- final Facet facet2 =
facetedMethod.getParameters().getElseFail(2).getFacet(ActionParameterChoicesFacet.class);
+ final Facet facet2 =
facetedMethod.parameter(2).getFacet(ActionParameterChoicesFacet.class);
assertNotNull(facet2);
assertTrue(facet2 instanceof ActionParameterChoicesFacetViaMethod);
var actionChoicesFacetViaMethod2 =
(ActionParameterChoicesFacetViaMethod) facet2;
@@ -193,7 +193,7 @@ public void someAction(final int x, final long y) {}
//when
facetFactory.process(processMethodContext);
//then
- final Facet facet0 =
facetedMethod.getParameters().getElseFail(0).getFacet(ActionParameterAutoCompleteFacet.class);
+ final Facet facet0 =
facetedMethod.parameter(0).getFacet(ActionParameterAutoCompleteFacet.class);
assertNotNull(facet0);
assertTrue(facet0 instanceof
ActionParameterAutoCompleteFacetViaMethod);
final ActionParameterAutoCompleteFacetViaMethod
actionAutoCompleteFacetViaMethod0 = (ActionParameterAutoCompleteFacetViaMethod)
facet0;
diff --git
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_ActionInvocation.java
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_ActionInvocation.java
index 015c1c3a436..a0837059953 100644
---
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_ActionInvocation.java
+++
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_ActionInvocation.java
@@ -185,13 +185,13 @@ class CustomerEx extends Customer {
final Facet facet0 =
facetedMethod.getFacet(ActionInvocationFacet.class);
assertNotNull(facet0);
- final Facet facet1 =
facetedMethod.getParameters().getElseFail(0).getFacet(ActionParameterChoicesFacet.class);
+ final Facet facet1 =
facetedMethod.parameter(0).getFacet(ActionParameterChoicesFacet.class);
assertNotNull(facet1);
assertTrue(facet1 instanceof ActionParameterChoicesFacetViaMethod);
var actionChoicesFacetViaMethod0 =
(ActionParameterChoicesFacetViaMethod) facet1;
assertMethodEqualsFirstIn(choices0Method,
actionChoicesFacetViaMethod0);
- final Facet facet2 =
facetedMethod.getParameters().getElseFail(1).getFacet(ActionParameterChoicesFacet.class);
+ final Facet facet2 =
facetedMethod.parameter(1).getFacet(ActionParameterChoicesFacet.class);
assertNotNull(facet2);
assertTrue(facet2 instanceof ActionParameterChoicesFacetViaMethod);
var actionChoicesFacetViaMethod1 =
(ActionParameterChoicesFacetViaMethod) facet2;
diff --git
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
index 4c07f5bad81..e4a67edb234 100644
---
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
+++
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
@@ -193,7 +193,7 @@ private void assertHasPropertyDomainEventFacet(
assertEquals(eventTypeOrigin,
domainEventFacet.getEventTypeOrigin());
assertThat(domainEventFacet.getEventType(),
CausewayMatchers.classEqualTo(eventType));
- if(facetedMethod.getMethod().getName().equals("prop")) {
+ if(facetedMethod.methodFacade().getName().equals("prop")) {
return; // skip further checks, when in a mixed-in scenario
}
diff --git
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/services/metamodel/MetaModelServiceDefaultTest.java
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/services/metamodel/MetaModelServiceDefaultTest.java
index 25383257dc7..0194b11af40 100644
---
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/services/metamodel/MetaModelServiceDefaultTest.java
+++
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/services/metamodel/MetaModelServiceDefaultTest.java
@@ -69,7 +69,7 @@ void setUp() throws Exception {
Mockito.when(mockFacetedMethod.getFeatureIdentifier()).thenReturn(Identifier.actionIdentifier(
TypeIdentifierTestFactory.newCustomer(), "reduceheadcount"));
Mockito.when(mockFacetedMethod.getFacet(Mockito.any(Class.class))).thenReturn(null);
-
Mockito.when(mockFacetedMethod.getParameters()).thenReturn(Can.empty());
+ Mockito.when(mockFacetedMethod.parameters()).thenReturn(Can.empty());
mockSpec = Mockito.mock(ObjectSpecification.class);
Mockito.when(mockSpec.getFullIdentifier()).thenReturn("mocked");
diff --git
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/spec/impl/OneToManyAssociationDefaultTest.java
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/spec/impl/OneToManyAssociationDefaultTest.java
index 636374bd167..f6e314907fc 100644
---
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/spec/impl/OneToManyAssociationDefaultTest.java
+++
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/spec/impl/OneToManyAssociationDefaultTest.java
@@ -64,7 +64,7 @@ protected void afterSetUp() {
when(mockNamedFacet.getSpecialization()).thenReturn(Either.left(mockHasStaticText));
var mockPeer = mock(FacetedMethod.class);
- doReturn(TOAC).when(mockPeer).getType();
+ doReturn(TOAC).when(mockPeer).resolvedType();
when(mockPeer.getMetaModelContext()).thenReturn(getMetaModelContext());
when(mockPeer.getFeatureIdentifier()).thenReturn(
Identifier
diff --git
a/persistence/jdo/metamodel/src/test/java/org/apache/causeway/persistence/jdo/metamodel/testing/AbstractFacetFactoryTest.java
b/persistence/jdo/metamodel/src/test/java/org/apache/causeway/persistence/jdo/metamodel/testing/AbstractFacetFactoryTest.java
index 11aee3c0410..7a2267d2d51 100644
---
a/persistence/jdo/metamodel/src/test/java/org/apache/causeway/persistence/jdo/metamodel/testing/AbstractFacetFactoryTest.java
+++
b/persistence/jdo/metamodel/src/test/java/org/apache/causeway/persistence/jdo/metamodel/testing/AbstractFacetFactoryTest.java
@@ -97,8 +97,8 @@ protected void setUp() throws Exception {
facetedMethod =
FacetedMethod.testing.createSetterForProperty(metaModelContext, Customer.class,
"firstName");
facetedMethodParameter = new FacetedMethodParameter(
metaModelContext,
- FeatureType.ACTION_PARAMETER_SINGULAR,
facetedMethod.getOwningType(),
- facetedMethod.getMethod(), 0);
+ FeatureType.ACTION_PARAMETER_SINGULAR,
facetedMethod.owningType(),
+ facetedMethod.methodFacade(), 0);
jdoFacetContext = jdoFacetContextForTesting();
}
diff --git
a/persistence/querydsl/metamodel/src/main/java/org/apache/causeway/persistence/querydsl/metamodel/facets/AutoCompleteGeneratedQueryFacetFactory.java
b/persistence/querydsl/metamodel/src/main/java/org/apache/causeway/persistence/querydsl/metamodel/facets/AutoCompleteGeneratedQueryFacetFactory.java
index 5a74c846d0a..8f6928302e8 100644
---
a/persistence/querydsl/metamodel/src/main/java/org/apache/causeway/persistence/querydsl/metamodel/facets/AutoCompleteGeneratedQueryFacetFactory.java
+++
b/persistence/querydsl/metamodel/src/main/java/org/apache/causeway/persistence/querydsl/metamodel/facets/AutoCompleteGeneratedQueryFacetFactory.java
@@ -93,7 +93,7 @@ public void process(final ProcessClassContext
processClassContext) {
public void process(final ProcessMethodContext processMethodContext) {
var facetedMethod = processMethodContext.getFacetHolder();
- var owningType = facetedMethod.getOwningType();
+ var owningType = facetedMethod.owningType();
var declaringSpec = specForTypeElseFail(owningType);
var propertyIfAny = propertyIfAny(processMethodContext);