You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2021/09/08 11:32:21 UTC

[isis] branch master updated: ISIS-2774: method finder overhaul (4)

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

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/master by this push:
     new a273172  ISIS-2774: method finder overhaul (4)
a273172 is described below

commit a273172a18e96e95bfa5e578021291e99dceb3de
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed Sep 8 13:32:13 2021 +0200

    ISIS-2774: method finder overhaul (4)
    
    renaming occurrences of 'ppm' to 'pat' (Parameters as a Tuple)
---
 .../isis/core/metamodel/facets/ActionSupport.java  | 26 +++++------
 .../core/metamodel/facets/ParameterSupport.java    | 42 +++++++++---------
 .../method/ActionValidationFacetViaMethod.java     | 10 ++---
 .../ActionValidationFacetViaMethodFactory.java     |  6 +--
 .../ActionParameterAutoCompleteFacetViaMethod.java | 12 ++---
 ...ParameterAutoCompleteFacetViaMethodFactory.java |  4 +-
 .../ActionParameterChoicesFacetViaMethod.java      | 10 ++---
 ...ctionParameterChoicesFacetViaMethodFactory.java |  4 +-
 .../ActionParameterDefaultsFacetViaMethod.java     | 12 ++---
 ...tionParameterDefaultsFacetViaMethodFactory.java |  4 +-
 .../ActionParameterDisabledFacetViaMethod.java     | 10 ++---
 ...tionParameterDisabledFacetViaMethodFactory.java |  4 +-
 .../ActionParameterHiddenFacetViaMethod.java       | 12 ++---
 ...ActionParameterHiddenFacetViaMethodFactory.java |  4 +-
 ...ActionParameterSupportFacetFactoryAbstract.java |  2 +-
 .../ActionParameterValidationFacetViaMethod.java   | 10 ++---
 ...onParameterValidationFacetViaMethodFactory.java |  6 +--
 .../isis/core/metamodel/methods/MethodFinder.java  |  2 +-
 .../{MethodFinderPPM.java => MethodFinderPAT.java} | 51 ++++++++++++----------
 .../isis/core/metamodel/spec/ManagedObjects.java   |  6 +--
 .../domainobjects/ObjectActionReprRenderer.java    |  4 +-
 21 files changed, 122 insertions(+), 119 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ActionSupport.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ActionSupport.java
index 11cebe4..3a0c01c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ActionSupport.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ActionSupport.java
@@ -32,8 +32,8 @@ import org.apache.isis.commons.internal.collections._Arrays;
 import org.apache.isis.core.config.progmodel.ProgrammingModelConstants.ReturnType;
 import org.apache.isis.core.metamodel.methods.MethodFinder;
 import org.apache.isis.core.metamodel.methods.MethodFinderOptions;
-import org.apache.isis.core.metamodel.methods.MethodFinderPPM;
-import org.apache.isis.core.metamodel.methods.MethodFinderPPM.MethodAndPpmConstructor;
+import org.apache.isis.core.metamodel.methods.MethodFinderPAT;
+import org.apache.isis.core.metamodel.methods.MethodFinderPAT.MethodAndPatConstructor;
 
 import lombok.Builder;
 import lombok.Getter;
@@ -73,7 +73,7 @@ public final class ActionSupport {
     @RequiredArgsConstructor
     public static enum SearchAlgorithm
     implements SearchFunction {
-        PPM(ActionSupport::findActionSupportingMethodWithPPMArg),
+        PAT(ActionSupport::findActionSupportingMethodWithPATArg),
         ALL_PARAM_TYPES(ActionSupport::findActionSupportingMethodWithAllParamTypes),
         ;
         private final SearchFunction searchFunction;
@@ -89,7 +89,7 @@ public final class ActionSupport {
     public static class ActionSupportingMethodSearchResult {
         Method supportingMethod;
         Class<?> returnType;
-        Optional<Constructor<?>> ppmFactory;
+        Optional<Constructor<?>> patConstructor;
     }
 
     public static void findActionSupportingMethods(
@@ -104,7 +104,7 @@ public final class ActionSupport {
 
     // -- SEARCH ALGORITHMS
 
-    private final static void findActionSupportingMethodWithPPMArg(
+    private final static void findActionSupportingMethodWithPATArg(
             final ActionSupportingMethodSearchRequest searchRequest,
             final Consumer<ActionSupportingMethodSearchResult> onMethodFound) {
 
@@ -117,8 +117,8 @@ public final class ActionSupport {
 
         switch(searchRequest.getReturnType()) {
         case BOOLEAN:
-            MethodFinderPPM
-                .findMethodWithPPMArg_returningBoolean(
+            MethodFinderPAT
+                .findMethodWithPATArg_returningBoolean(
                         MethodFinderOptions
                         .memberSupport(type, methodNames, processMethodContext.getIntrospectionPolicy()),
                         paramTypes, additionalParamTypes)
@@ -126,8 +126,8 @@ public final class ActionSupport {
                 .forEach(onMethodFound);
             break;
         case TEXT:
-            MethodFinderPPM
-                .findMethodWithPPMArg_returningText(
+            MethodFinderPAT
+                .findMethodWithPATArg_returningText(
                         MethodFinderOptions
                         .memberSupport(type, methodNames, processMethodContext.getIntrospectionPolicy()),
                         paramTypes, additionalParamTypes)
@@ -141,12 +141,12 @@ public final class ActionSupport {
     }
 
     private static ActionSupportingMethodSearchResult toSearchResult(
-            final MethodAndPpmConstructor supportingMethodAndPpmConstructor) {
+            final MethodAndPatConstructor supportingMethodAndPatConstructor) {
         return ActionSupportingMethodSearchResult
                 .of(
-                        supportingMethodAndPpmConstructor.getSupportingMethod(),
-                        supportingMethodAndPpmConstructor.getSupportingMethod().getReturnType(),
-                        Optional.of(supportingMethodAndPpmConstructor.getPpmFactory()));
+                        supportingMethodAndPatConstructor.getSupportingMethod(),
+                        supportingMethodAndPatConstructor.getSupportingMethod().getReturnType(),
+                        Optional.of(supportingMethodAndPatConstructor.getPatConstructor()));
     }
 
     private final static void findActionSupportingMethodWithAllParamTypes(
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ParameterSupport.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ParameterSupport.java
index 17ac733..98b54e5 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ParameterSupport.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/ParameterSupport.java
@@ -33,8 +33,8 @@ import org.apache.isis.commons.internal.collections._Arrays;
 import org.apache.isis.core.config.progmodel.ProgrammingModelConstants.ReturnType;
 import org.apache.isis.core.metamodel.methods.MethodFinder;
 import org.apache.isis.core.metamodel.methods.MethodFinderOptions;
-import org.apache.isis.core.metamodel.methods.MethodFinderPPM;
-import org.apache.isis.core.metamodel.methods.MethodFinderPPM.MethodAndPpmConstructor;
+import org.apache.isis.core.metamodel.methods.MethodFinderPAT;
+import org.apache.isis.core.metamodel.methods.MethodFinderPAT.MethodAndPatConstructor;
 
 import lombok.Builder;
 import lombok.Getter;
@@ -75,7 +75,7 @@ public final class ParameterSupport {
         Class<?> paramType;
         Method supportingMethod;
         Class<?> returnType;
-        Optional<Constructor<?>> ppmFactory;
+        Optional<Constructor<?>> patConstructor;
     }
 
     @FunctionalInterface
@@ -89,7 +89,7 @@ public final class ParameterSupport {
     @RequiredArgsConstructor
     public static enum SearchAlgorithm
     implements SearchFunction {
-        PPM(ParameterSupport::findParamSupportingMethodWithPPMArg),
+        PAT(ParameterSupport::findParamSupportingMethodWithPATArg),
         SWEEP(ParameterSupport::findParamSupportingMethod),
         SINGLEARG_BEING_PARAMTYPE(ParameterSupport::singleArgBeingParamType)
         ;
@@ -119,7 +119,7 @@ public final class ParameterSupport {
 
     }
 
-    private static void findParamSupportingMethodWithPPMArg(
+    private static void findParamSupportingMethodWithPATArg(
             final ParamSupportingMethodSearchRequest searchRequest,
             final int paramIndex,
             final Consumer<ParamSupportingMethodSearchResult> onMethodFound) {
@@ -134,39 +134,39 @@ public final class ParameterSupport {
 
         switch(searchRequest.getReturnType()) {
         case BOOLEAN:
-            MethodFinderPPM
-                .findMethodWithPPMArg_returningBoolean(
+            MethodFinderPAT
+                .findMethodWithPATArg_returningBoolean(
                         MethodFinderOptions
                         .memberSupport(type, methodNames, processMethodContext.getIntrospectionPolicy()),
                         paramTypes, additionalParamTypes)
-                .map(methodAndPpmConstructor->toSearchResult(paramIndex, paramType, methodAndPpmConstructor))
+                .map(methodAndPatConstructor->toSearchResult(paramIndex, paramType, methodAndPatConstructor))
                 .forEach(onMethodFound);
             break;
         case TEXT:
-            MethodFinderPPM
-                .findMethodWithPPMArg_returningText(
+            MethodFinderPAT
+                .findMethodWithPATArg_returningText(
                         MethodFinderOptions
                         .memberSupport(type, methodNames, processMethodContext.getIntrospectionPolicy()),
                         paramTypes, additionalParamTypes)
-                .map(methodAndPpmConstructor->toSearchResult(paramIndex, paramType, methodAndPpmConstructor))
+                .map(methodAndPatConstructor->toSearchResult(paramIndex, paramType, methodAndPatConstructor))
                 .forEach(onMethodFound);
             break;
         case NON_SCALAR:
-            MethodFinderPPM
-                .findMethodWithPPMArg_returningNonScalar(
+            MethodFinderPAT
+                .findMethodWithPATArg_returningNonScalar(
                         MethodFinderOptions
                         .memberSupport(type, methodNames, processMethodContext.getIntrospectionPolicy()),
                         paramType, paramTypes, additionalParamTypes)
-                .map(methodAndPpmConstructor->toSearchResult(paramIndex, paramType, methodAndPpmConstructor))
+                .map(methodAndPatConstructor->toSearchResult(paramIndex, paramType, methodAndPatConstructor))
                 .forEach(onMethodFound);
             break;
         case SAME_AS_PARAMETER_TYPE:
-            MethodFinderPPM
-                .findMethodWithPPMArg(
+            MethodFinderPAT
+                .findMethodWithPATArg(
                         MethodFinderOptions
                         .memberSupport(type, methodNames, processMethodContext.getIntrospectionPolicy()),
                         paramType, paramTypes, additionalParamTypes)
-                .map(methodAndPpmConstructor->toSearchResult(paramIndex, paramType, methodAndPpmConstructor))
+                .map(methodAndPatConstructor->toSearchResult(paramIndex, paramType, methodAndPatConstructor))
                 .forEach(onMethodFound);
             break;
         default:
@@ -178,12 +178,12 @@ public final class ParameterSupport {
     private static ParamSupportingMethodSearchResult toSearchResult(
             final int paramIndex,
             final Class<?> paramType,
-            final MethodAndPpmConstructor supportingMethodAndPpmConstructor) {
+            final MethodAndPatConstructor supportingMethodAndPatConstructor) {
         return ParamSupportingMethodSearchResult
                 .of(paramIndex, paramType,
-                        supportingMethodAndPpmConstructor.getSupportingMethod(),
-                        supportingMethodAndPpmConstructor.getSupportingMethod().getReturnType(),
-                        Optional.of(supportingMethodAndPpmConstructor.getPpmFactory()));
+                        supportingMethodAndPatConstructor.getSupportingMethod(),
+                        supportingMethodAndPatConstructor.getSupportingMethod().getReturnType(),
+                        Optional.of(supportingMethodAndPatConstructor.getPatConstructor()));
     }
 
     private static void singleArgBeingParamType(
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethod.java
index 2962a27..ad6e7d4 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethod.java
@@ -42,18 +42,18 @@ implements ImperativeFacet {
 
     @Getter(onMethod_ = {@Override}) private final @NonNull Can<Method> methods;
     private final TranslationContext translationContext;
-    private final Optional<Constructor<?>> ppmFactory;
+    private final Optional<Constructor<?>> patConstructor;
 
     public ActionValidationFacetViaMethod(
             final Method method,
-            final Optional<Constructor<?>> ppmFactory,
+            final Optional<Constructor<?>> patConstructor,
             final FacetHolder holder) {
 
         super(holder);
         this.methods = ImperativeFacet.singleMethod(method);
         this.translationContext =
                 TranslationContext.forTranslationContextHolder(holder.getFeatureIdentifier());
-        this.ppmFactory = ppmFactory;
+        this.patConstructor = patConstructor;
     }
 
     @Override
@@ -65,8 +65,8 @@ implements ImperativeFacet {
     public String invalidReason(final ManagedObject owningAdapter, final Can<ManagedObject> proposedArgumentAdapters) {
 
         val method = methods.getFirstOrFail();
-        final Object returnValue = ppmFactory.isPresent()
-                ? ManagedObjects.InvokeUtil.invokeWithPPM(ppmFactory.get(), method, owningAdapter, proposedArgumentAdapters)
+        final Object returnValue = patConstructor.isPresent()
+                ? ManagedObjects.InvokeUtil.invokeWithPAT(patConstructor.get(), method, owningAdapter, proposedArgumentAdapters)
                 : ManagedObjects.InvokeUtil.invoke(method, owningAdapter, proposedArgumentAdapters);
 
         if(returnValue instanceof String) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethodFactory.java
index 6d32713..b68480f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/validate/method/ActionValidationFacetViaMethodFactory.java
@@ -54,16 +54,16 @@ extends MemberSupportFacetFactoryAbstract {
                 .processMethodContext(processMethodContext)
                 .returnType(ReturnType.TEXT)
                 .methodNames(methodNameCandidates)
-                .searchAlgorithms(EnumSet.of(SearchAlgorithm.PPM, SearchAlgorithm.ALL_PARAM_TYPES))
+                .searchAlgorithms(EnumSet.of(SearchAlgorithm.PAT, SearchAlgorithm.ALL_PARAM_TYPES))
                 .build();
 
         ActionSupport.findActionSupportingMethods(searchRequest, searchResult -> {
             val validateMethod = searchResult.getSupportingMethod();
             processMethodContext.removeMethod(validateMethod);
-            val ppmFactory = searchResult.getPpmFactory();
+            val patConstructor = searchResult.getPatConstructor();
             addFacet(
                     new ActionValidationFacetViaMethod(
-                            validateMethod, ppmFactory, processMethodContext.getFacetHolder()));
+                            validateMethod, patConstructor, processMethodContext.getFacetHolder()));
         });
 
     }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/autocomplete/method/ActionParameterAutoCompleteFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/autocomplete/method/ActionParameterAutoCompleteFacetViaMethod.java
index 549d6d9..c1163ec 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/autocomplete/method/ActionParameterAutoCompleteFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/autocomplete/method/ActionParameterAutoCompleteFacetViaMethod.java
@@ -44,19 +44,19 @@ implements ImperativeFacet {
     @Getter(onMethod_ = {@Override}) private final @NonNull Can<Method> methods;
     private final Class<?> choicesType;
     private final int minLength;
-    private final Optional<Constructor<?>> ppmFactory;
+    private final Optional<Constructor<?>> patConstructor;
 
     public ActionParameterAutoCompleteFacetViaMethod(
             final Method method,
             final Class<?> choicesType,
-            final Optional<Constructor<?>> ppmFactory,
+            final Optional<Constructor<?>> patConstructor,
             final FacetHolder holder) {
 
         super(holder);
         this.methods = ImperativeFacet.singleMethod(method);
         this.choicesType = choicesType;
         this.minLength = MinLengthUtil.determineMinLength(method);
-        this.ppmFactory = ppmFactory;
+        this.patConstructor = patConstructor;
     }
 
     @Override
@@ -77,9 +77,9 @@ implements ImperativeFacet {
             final InteractionInitiatedBy interactionInitiatedBy) {
 
         val method = methods.getFirstOrFail();
-        final Object collectionOrArray = ppmFactory.isPresent()
-                ? ManagedObjects.InvokeUtil.invokeWithPPM(
-                        ppmFactory.get(), method, owningAdapter, pendingArgs, Collections.singletonList(searchArg))
+        final Object collectionOrArray = patConstructor.isPresent()
+                ? ManagedObjects.InvokeUtil.invokeWithPAT(
+                        patConstructor.get(), method, owningAdapter, pendingArgs, Collections.singletonList(searchArg))
                 : ManagedObjects.InvokeUtil.invokeAutofit(
                         method, owningAdapter, pendingArgs, Collections.singletonList(searchArg));
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/autocomplete/method/ActionParameterAutoCompleteFacetViaMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/autocomplete/method/ActionParameterAutoCompleteFacetViaMethodFactory.java
index 409dfcd..08d45e4 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/autocomplete/method/ActionParameterAutoCompleteFacetViaMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/autocomplete/method/ActionParameterAutoCompleteFacetViaMethodFactory.java
@@ -44,10 +44,10 @@ extends ActionParameterSupportFacetFactoryAbstract {
             final ParamSupportingMethodSearchResult searchResult) {
         val autoCompleteMethod = searchResult.getSupportingMethod();
         val paramType = searchResult.getParamType();
-        val ppmFactory = searchResult.getPpmFactory();
+        val patConstructor = searchResult.getPatConstructor();
         addFacet(
                 new ActionParameterAutoCompleteFacetViaMethod(
-                        autoCompleteMethod, paramType, ppmFactory, paramAsHolder));
+                        autoCompleteMethod, paramType, patConstructor, paramAsHolder));
     }
 
 }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethod.java
index 7b00cb9..cea8738 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethod.java
@@ -43,18 +43,18 @@ implements ImperativeFacet {
 
     @Getter(onMethod_ = {@Override}) private final @NonNull Can<Method> methods;
     private final Class<?> choicesType;
-    private final Optional<Constructor<?>> ppmFactory;
+    private final Optional<Constructor<?>> patConstructor;
 
     public ActionParameterChoicesFacetViaMethod(
             final Method method,
             final Class<?> choicesType,
-            final Optional<Constructor<?>> ppmFactory,
+            final Optional<Constructor<?>> patConstructor,
             final FacetHolder holder) {
 
         super(holder);
         this.methods = ImperativeFacet.singleMethod(method);
         this.choicesType = choicesType;
-        this.ppmFactory = ppmFactory;
+        this.patConstructor = patConstructor;
     }
 
     @Override
@@ -70,8 +70,8 @@ implements ImperativeFacet {
             final InteractionInitiatedBy interactionInitiatedBy) {
 
         val method = methods.getFirstOrFail();
-        final Object collectionOrArray = ppmFactory.isPresent()
-                ? ManagedObjects.InvokeUtil.invokeWithPPM(ppmFactory.get(), method, head.getTarget(), pendingArgs)
+        final Object collectionOrArray = patConstructor.isPresent()
+                ? ManagedObjects.InvokeUtil.invokeWithPAT(patConstructor.get(), method, head.getTarget(), pendingArgs)
                 : ManagedObjects.InvokeUtil.invokeAutofit(method, head.getTarget(), pendingArgs);
         if (collectionOrArray == null) {
             return Can.empty();
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethodFactory.java
index 1efbe2a..480f190 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/choices/methodnum/ActionParameterChoicesFacetViaMethodFactory.java
@@ -42,10 +42,10 @@ extends ActionParameterSupportFacetFactoryAbstract {
             final ParamSupportingMethodSearchResult searchResult) {
         val choicesMethod = searchResult.getSupportingMethod();
         val returnType = searchResult.getReturnType();
-        val ppmFactory = searchResult.getPpmFactory();
+        val patConstructor = searchResult.getPatConstructor();
         addFacet(
                 new ActionParameterChoicesFacetViaMethod(
-                        choicesMethod, returnType, ppmFactory, paramAsHolder));
+                        choicesMethod, returnType, patConstructor, paramAsHolder));
     }
 
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetViaMethod.java
index c877a15..954342a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetViaMethod.java
@@ -41,7 +41,7 @@ implements ImperativeFacet {
     @Getter(onMethod_ = {@Override}) private final @NonNull Can<Method> methods;
     @SuppressWarnings("unused")
     private final int paramNum;
-    private final Optional<Constructor<?>> ppmFactory;
+    private final Optional<Constructor<?>> patConstructor;
 
     /**
      *
@@ -52,13 +52,13 @@ implements ImperativeFacet {
     public ActionParameterDefaultsFacetViaMethod(
             final Method method,
             final int paramNum,
-            final Optional<Constructor<?>> ppmFactory,
+            final Optional<Constructor<?>> patConstructor,
             final FacetHolder holder) {
 
         super(holder);
         this.methods = ImperativeFacet.singleMethod(method);
         this.paramNum = paramNum;
-        this.ppmFactory = ppmFactory;
+        this.patConstructor = patConstructor;
     }
 
 
@@ -74,10 +74,10 @@ implements ImperativeFacet {
 
         // call with args: defaultNAct(X x, Y y, ...)
 
-        val defaultValue = ppmFactory.isPresent()
-            // PPM programming model
+        val defaultValue = patConstructor.isPresent()
+            // PAT programming model
             ? ManagedObjects.InvokeUtil
-                    .invokeWithPPM(ppmFactory.get(), method,
+                    .invokeWithPAT(patConstructor.get(), method,
                             pendingArgs.getActionTarget(), pendingArgs.getParamValues())
             // else support legacy programming model, call any-arg defaultNAct(...)
             : ManagedObjects.InvokeUtil
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetViaMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetViaMethodFactory.java
index 6a93714..e21d8ea 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetViaMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetViaMethodFactory.java
@@ -46,10 +46,10 @@ extends ActionParameterSupportFacetFactoryAbstract {
             final ParamSupportingMethodSearchResult searchResult) {
         val defaultMethod = searchResult.getSupportingMethod();
         val paramIndex = searchResult.getParamIndex();
-        val ppmFactory = searchResult.getPpmFactory();
+        val patConstructor = searchResult.getPatConstructor();
         addFacet(
                 new ActionParameterDefaultsFacetViaMethod(
-                        defaultMethod, paramIndex, ppmFactory, paramAsHolder));
+                        defaultMethod, paramIndex, patConstructor, paramAsHolder));
     }
 
 }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/disable/method/ActionParameterDisabledFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/disable/method/ActionParameterDisabledFacetViaMethod.java
index 27b96fe..5967825 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/disable/method/ActionParameterDisabledFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/disable/method/ActionParameterDisabledFacetViaMethod.java
@@ -42,18 +42,18 @@ implements ImperativeFacet {
 
     @Getter(onMethod_ = {@Override}) private final @NonNull Can<Method> methods;
     private final TranslationContext translationContext;
-    private final Optional<Constructor<?>> ppmFactory;
+    private final Optional<Constructor<?>> patConstructor;
 
     public ActionParameterDisabledFacetViaMethod(
             final Method method,
-            final Optional<Constructor<?>> ppmFactory,
+            final Optional<Constructor<?>> patConstructor,
             final FacetHolder holder) {
 
         super(holder);
         this.methods = ImperativeFacet.singleMethod(method);
         this.translationContext =
                 TranslationContext.forTranslationContextHolder(holder.getFeatureIdentifier());
-        this.ppmFactory = ppmFactory;
+        this.patConstructor = patConstructor;
     }
 
     @Override
@@ -67,8 +67,8 @@ implements ImperativeFacet {
             final Can<ManagedObject> pendingArgs) {
 
         val method = methods.getFirstOrFail();
-        final Object returnValue = ppmFactory.isPresent()
-                ? ManagedObjects.InvokeUtil.invokeWithPPM(ppmFactory.get(), method, owningAdapter, pendingArgs)
+        final Object returnValue = patConstructor.isPresent()
+                ? ManagedObjects.InvokeUtil.invokeWithPAT(patConstructor.get(), method, owningAdapter, pendingArgs)
                 : ManagedObjects.InvokeUtil.invokeAutofit(method, owningAdapter, pendingArgs);
 
         if(returnValue instanceof String) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/disable/method/ActionParameterDisabledFacetViaMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/disable/method/ActionParameterDisabledFacetViaMethodFactory.java
index 9e332da..b769466 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/disable/method/ActionParameterDisabledFacetViaMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/disable/method/ActionParameterDisabledFacetViaMethodFactory.java
@@ -45,10 +45,10 @@ extends ActionParameterSupportFacetFactoryAbstract  {
             final FacetedMethodParameter paramAsHolder,
             final ParamSupportingMethodSearchResult searchResult) {
         val disableMethod = searchResult.getSupportingMethod();
-        val ppmFactory = searchResult.getPpmFactory();
+        val patConstructor = searchResult.getPatConstructor();
         addFacet(
                 new ActionParameterDisabledFacetViaMethod(
-                        disableMethod, ppmFactory, paramAsHolder));
+                        disableMethod, patConstructor, paramAsHolder));
     }
 
 }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/hide/method/ActionParameterHiddenFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/hide/method/ActionParameterHiddenFacetViaMethod.java
index 11886f3..935e6ee 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/hide/method/ActionParameterHiddenFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/hide/method/ActionParameterHiddenFacetViaMethod.java
@@ -40,16 +40,16 @@ extends ActionParameterHiddenFacetAbstract
 implements ImperativeFacet {
 
     @Getter(onMethod_ = {@Override}) private final @NonNull Can<Method> methods;
-    private final @NonNull Optional<Constructor<?>> ppmFactory;
+    private final @NonNull Optional<Constructor<?>> patConstructor;
 
     public ActionParameterHiddenFacetViaMethod(
             final Method method,
-            final Optional<Constructor<?>> ppmFactory,
+            final Optional<Constructor<?>> patConstructor,
             final FacetHolder holder) {
 
         super(holder);
         this.methods = ImperativeFacet.singleMethod(method);
-        this.ppmFactory = ppmFactory;
+        this.patConstructor = patConstructor;
     }
 
     @Override
@@ -63,8 +63,8 @@ implements ImperativeFacet {
             final Can<ManagedObject> argumentAdapters) {
 
         val method = methods.getFirstOrFail();
-        final Object returnValue = ppmFactory.isPresent()
-                ? ManagedObjects.InvokeUtil.invokeWithPPM(ppmFactory.get(), method, owningAdapter, argumentAdapters)
+        final Object returnValue = patConstructor.isPresent()
+                ? ManagedObjects.InvokeUtil.invokeWithPAT(patConstructor.get(), method, owningAdapter, argumentAdapters)
                 : ManagedObjects.InvokeUtil.invokeAutofit(method, owningAdapter, argumentAdapters);
 
         if(returnValue instanceof Boolean) {
@@ -82,7 +82,7 @@ implements ImperativeFacet {
         }
 
         val other = (ActionParameterHiddenFacetViaMethod)otherFacet;
-        return this.ppmFactory.equals(other.ppmFactory)
+        return this.patConstructor.equals(other.patConstructor)
                 && this.getMethods().equals(other.getMethods());
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/hide/method/ActionParameterHiddenFacetViaMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/hide/method/ActionParameterHiddenFacetViaMethodFactory.java
index 05b55ce..f145adb 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/hide/method/ActionParameterHiddenFacetViaMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/hide/method/ActionParameterHiddenFacetViaMethodFactory.java
@@ -45,10 +45,10 @@ extends ActionParameterSupportFacetFactoryAbstract {
             final FacetedMethodParameter paramAsHolder,
             final ParamSupportingMethodSearchResult searchResult) {
         val hideMethod = searchResult.getSupportingMethod();
-        val ppmFactory = searchResult.getPpmFactory();
+        val patConstructor = searchResult.getPatConstructor();
         addFacet(
                 new ActionParameterHiddenFacetViaMethod(
-                        hideMethod, ppmFactory, paramAsHolder));
+                        hideMethod, patConstructor, paramAsHolder));
     }
 
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/support/ActionParameterSupportFacetFactoryAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/support/ActionParameterSupportFacetFactoryAbstract.java
index 1680774..ddb0bc6 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/support/ActionParameterSupportFacetFactoryAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/support/ActionParameterSupportFacetFactoryAbstract.java
@@ -73,7 +73,7 @@ extends MemberAndPropertySupportFacetFactoryAbstract {
                         ParameterSupport.ParamSupportingMethodSearchRequest.builder()
                         .processMethodContext(processMethodContext)
                         .paramIndexToMethodNameProviders(methodNameCandidates)
-                        .searchAlgorithms(EnumSet.of(SearchAlgorithm.PPM, SearchAlgorithm.SWEEP))
+                        .searchAlgorithms(EnumSet.of(SearchAlgorithm.PAT, SearchAlgorithm.SWEEP))
                         .returnType(memberSupportPrefix.getSupportMethodReturnType()))
                 .build();
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/validate/method/ActionParameterValidationFacetViaMethod.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/validate/method/ActionParameterValidationFacetViaMethod.java
index a381f9e..d4882f0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/validate/method/ActionParameterValidationFacetViaMethod.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/validate/method/ActionParameterValidationFacetViaMethod.java
@@ -42,18 +42,18 @@ implements ImperativeFacet {
 
     @Getter(onMethod_ = {@Override}) private final @NonNull Can<Method> methods;
     private final TranslationContext translationContext;
-    private final Optional<Constructor<?>> ppmFactory;
+    private final Optional<Constructor<?>> patConstructor;
 
     public ActionParameterValidationFacetViaMethod(
             final Method method,
-            final Optional<Constructor<?>> ppmFactory,
+            final Optional<Constructor<?>> patConstructor,
             final FacetHolder holder) {
 
         super(holder);
         this.methods = ImperativeFacet.singleMethod(method);
         this.translationContext =
                 TranslationContext.forTranslationContextHolder(holder.getFeatureIdentifier());
-        this.ppmFactory = ppmFactory;
+        this.patConstructor = patConstructor;
     }
 
     @Override
@@ -68,8 +68,8 @@ implements ImperativeFacet {
             final ManagedObject proposedArgument) {
 
         val method = methods.getFirstOrFail();
-        final Object returnValue = ppmFactory.isPresent()
-                ? ManagedObjects.InvokeUtil.invokeWithPPM(ppmFactory.get(), method, owningAdapter, pendingArgs)
+        final Object returnValue = patConstructor.isPresent()
+                ? ManagedObjects.InvokeUtil.invokeWithPAT(patConstructor.get(), method, owningAdapter, pendingArgs)
                 : ManagedObjects.InvokeUtil.invoke(method, owningAdapter, proposedArgument);
 
         if(returnValue instanceof String) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/validate/method/ActionParameterValidationFacetViaMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/validate/method/ActionParameterValidationFacetViaMethodFactory.java
index 0894945..e720d45 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/validate/method/ActionParameterValidationFacetViaMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/validate/method/ActionParameterValidationFacetViaMethodFactory.java
@@ -41,7 +41,7 @@ extends ActionParameterSupportFacetFactoryAbstract  {
     public ActionParameterValidationFacetViaMethodFactory(final MetaModelContext mmc) {
         super(mmc, MemberSupportPrefix.VALIDATE, searchOptions->
             searchOptions
-            .searchAlgorithms(EnumSet.of(SearchAlgorithm.PPM, SearchAlgorithm.SINGLEARG_BEING_PARAMTYPE)));
+            .searchAlgorithms(EnumSet.of(SearchAlgorithm.PAT, SearchAlgorithm.SINGLEARG_BEING_PARAMTYPE)));
     }
 
     @Override
@@ -49,10 +49,10 @@ extends ActionParameterSupportFacetFactoryAbstract  {
             final FacetedMethodParameter paramAsHolder,
             final ParamSupportingMethodSearchResult searchResult) {
         val validateMethod = searchResult.getSupportingMethod();
-        val ppmFactory = searchResult.getPpmFactory();
+        val patConstructor = searchResult.getPatConstructor();
         addFacet(
                 new ActionParameterValidationFacetViaMethod(
-                        validateMethod, ppmFactory, paramAsHolder));
+                        validateMethod, patConstructor, paramAsHolder));
     }
 
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/methods/MethodFinder.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/methods/MethodFinder.java
index 8a571ec..114fada 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/methods/MethodFinder.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/methods/MethodFinder.java
@@ -26,7 +26,7 @@ import org.apache.isis.commons.collections.Can;
 import org.apache.isis.core.config.progmodel.ProgrammingModelConstants.ReturnTypeCategory;
 
 /**
- * An extension to {@link MethodFinderPPM} in support of multiple simultaneous naming conventions.
+ * An extension to {@link MethodFinderPAT} in support of multiple simultaneous naming conventions.
  * @apiNote each method name candidate is processed in sequence as given by {@code Can<String> names}
  */
 //@Log4j2
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/methods/MethodFinderPPM.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/methods/MethodFinderPAT.java
similarity index 72%
rename from core/metamodel/src/main/java/org/apache/isis/core/metamodel/methods/MethodFinderPPM.java
rename to core/metamodel/src/main/java/org/apache/isis/core/metamodel/methods/MethodFinderPAT.java
index 4fce0b7..bd51694 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/methods/MethodFinderPPM.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/methods/MethodFinderPAT.java
@@ -33,22 +33,25 @@ import static org.apache.isis.commons.internal.reflection._Reflect.Filter.paramS
 import lombok.NonNull;
 import lombok.Value;
 
-public final class MethodFinderPPM {
+/**
+ * In support of <i>Parameters as a Tuple</i> (PAT).
+ */
+public final class MethodFinderPAT {
 
-    private MethodFinderPPM() {
+    private MethodFinderPAT() {
     }
 
-    // -- PPM SUPPORT
+    // -- PAT SUPPORT
 
     @Value(staticConstructor = "of")
-    public static class MethodAndPpmConstructor {
+    public static class MethodAndPatConstructor {
         @NonNull Method supportingMethod;
-        @NonNull Constructor<?> ppmFactory;
+        @NonNull Constructor<?> patConstructor;
     }
 
-    // -- SEARCH FOR MULTIPLE NAME CANDIDATES (PPM)
+    // -- SEARCH FOR MULTIPLE NAME CANDIDATES (PAT)
 
-    public static Stream<MethodAndPpmConstructor> findMethodWithPPMArg(
+    public static Stream<MethodAndPatConstructor> findMethodWithPATArg(
             final MethodFinderOptions options,
             final Class<?> returnType,
             final Class<?>[] paramTypes,
@@ -59,64 +62,64 @@ public final class MethodFinderPPM {
                 || returnType.isAssignableFrom(method.getReturnType()))
             .filter(MethodUtil.Predicates.paramCount(additionalParamTypes.size()+1))
             .filter(MethodUtil.Predicates.matchParamTypes(1, additionalParamTypes))
-            .map(method->MethodAndPpmCandidate.of(method, method.getParameterTypes()[0]))
+            .map(method->MethodAndPatCandidate.of(method, method.getParameterTypes()[0]))
             .map(ppmCandidate->ppmCandidate.lookupConstructor(paramTypes))
             .flatMap(Optional::stream);
     }
 
-    public static Stream<MethodAndPpmConstructor> findMethodWithPPMArg_returningBoolean(
+    public static Stream<MethodAndPatConstructor> findMethodWithPATArg_returningBoolean(
             final MethodFinderOptions options,
             final Class<?>[] paramTypes,
             final Can<Class<?>> additionalParamTypes) {
 
-        return MethodFinderPPM
-        .findMethodWithPPMArg_returningAnyOf(
+        return MethodFinderPAT
+        .findMethodWithPATArg_returningAnyOf(
                 options, ReturnTypeCategory.BOOLEAN.getReturnTypes(), paramTypes, additionalParamTypes);
     }
 
-    public static Stream<MethodAndPpmConstructor> findMethodWithPPMArg_returningText(
+    public static Stream<MethodAndPatConstructor> findMethodWithPATArg_returningText(
             final MethodFinderOptions options,
             final Class<?>[] paramTypes,
             final Can<Class<?>> additionalParamTypes) {
 
-        return MethodFinderPPM
-        .findMethodWithPPMArg_returningAnyOf(
+        return MethodFinderPAT
+        .findMethodWithPATArg_returningAnyOf(
                 options, ReturnTypeCategory.TRANSLATABLE.getReturnTypes(), paramTypes, additionalParamTypes);
     }
 
-    public static Stream<MethodAndPpmConstructor> findMethodWithPPMArg_returningNonScalar(
+    public static Stream<MethodAndPatConstructor> findMethodWithPATArg_returningNonScalar(
             final MethodFinderOptions options,
             final Class<?> elementReturnType,
             final Class<?>[] paramTypes,
             final Can<Class<?>> additionalParamTypes) {
 
-        return MethodFinderPPM
-        .findMethodWithPPMArg_returningAnyOf(
+        return MethodFinderPAT
+        .findMethodWithPATArg_returningAnyOf(
                 options, ReturnTypeCategory.nonScalar(elementReturnType), paramTypes, additionalParamTypes);
     }
 
     // -- HELPER
 
     @Value(staticConstructor = "of")
-    private static class MethodAndPpmCandidate {
+    private static class MethodAndPatCandidate {
         @NonNull Method supportingMethod;
-        @NonNull Class<?> ppmCandidate;
-        Optional<MethodAndPpmConstructor> lookupConstructor(final Class<?>[] paramTypes) {
-            return _Reflect.getPublicConstructors(getPpmCandidate()).stream()
+        @NonNull Class<?> patCandidate;
+        Optional<MethodAndPatConstructor> lookupConstructor(final Class<?>[] paramTypes) {
+            return _Reflect.getPublicConstructors(getPatCandidate()).stream()
             .filter(paramSignatureMatch(paramTypes))
-            .map(constructor->MethodAndPpmConstructor.of(supportingMethod, constructor))
+            .map(constructor->MethodAndPatConstructor.of(supportingMethod, constructor))
             .findFirst();
         }
     }
 
-    static Stream<MethodAndPpmConstructor> findMethodWithPPMArg_returningAnyOf(
+    static Stream<MethodAndPatConstructor> findMethodWithPATArg_returningAnyOf(
             final MethodFinderOptions options,
             final Can<Class<?>> returnTypes,
             final Class<?>[] paramTypes,
             final Can<Class<?>> additionalParamTypes) {
 
         return returnTypes.stream()
-        .flatMap(returnType->findMethodWithPPMArg(options, returnType, paramTypes, additionalParamTypes));
+        .flatMap(returnType->findMethodWithPATArg(options, returnType, paramTypes, additionalParamTypes));
     }
 
 }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjects.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjects.java
index 27b014a..1bb6fb1 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjects.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjects.java
@@ -758,7 +758,7 @@ public final class ManagedObjects {
     @UtilityClass
     public static final class InvokeUtil {
 
-        public static Object invokeWithPPM(
+        public static Object invokeWithPAT(
                 final Constructor<?> ppmConstructor,
                 final Method method,
                 final ManagedObject adapter,
@@ -770,12 +770,12 @@ public final class ManagedObjects {
             return MethodExtensions.invoke(method, UnwrapUtil.single(adapter), paramPojos);
         }
 
-        public static Object invokeWithPPM(
+        public static Object invokeWithPAT(
                 final Constructor<?> ppmConstructor,
                 final Method method,
                 final ManagedObject adapter,
                 final Can<ManagedObject> argumentAdapters) {
-            return invokeWithPPM(ppmConstructor, method, adapter, argumentAdapters, Collections.emptyList());
+            return invokeWithPAT(ppmConstructor, method, adapter, argumentAdapters, Collections.emptyList());
         }
 
         public static void invokeAll(final Iterable<Method> methods, final ManagedObject adapter) {
diff --git a/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectActionReprRenderer.java b/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectActionReprRenderer.java
index 6038272..4e5309d 100644
--- a/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectActionReprRenderer.java
+++ b/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ObjectActionReprRenderer.java
@@ -178,11 +178,11 @@ extends AbstractObjectMemberReprRenderer<ObjectAction> {
 
     private Object defaultFor(final ObjectActionParameter param) {
 
-        val emptyPpm = param.getAction()
+        val emptyParamTuple = param.getAction()
                 .interactionHead(objectAdapter)
                 .emptyModel();
 
-        val defaultAdapter = param.getDefault(emptyPpm);
+        val defaultAdapter = param.getDefault(emptyParamTuple);
         if (ManagedObjects.isNullOrUnspecifiedOrEmpty(defaultAdapter)) {
             return null;
         }