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/05/10 09:03:41 UTC

[isis] branch master updated: ISIS-2648: minor cleanup

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 28323a0  ISIS-2648: minor cleanup
28323a0 is described below

commit 28323a009cccf500074e9e2537d574cbf92e04d5
Author: Andi Huber <ah...@apache.org>
AuthorDate: Mon May 10 11:03:27 2021 +0200

    ISIS-2648: minor cleanup
---
 .../metamodel/facets/all/hide/HiddenFacet.java     | 18 ++++++++
 .../specloader/specimpl/_SpecPredicates.java       | 50 +++++++---------------
 2 files changed, 34 insertions(+), 34 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/hide/HiddenFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/hide/HiddenFacet.java
index f8d9259..7892ff4 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/hide/HiddenFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/hide/HiddenFacet.java
@@ -19,13 +19,31 @@
 
 package org.apache.isis.core.metamodel.facets.all.hide;
 
+import java.util.Optional;
+
+import org.apache.isis.applib.annotation.Where;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.WhereValueFacet;
 import org.apache.isis.core.metamodel.interactions.HidingInteractionAdvisor;
 
+import lombok.NonNull;
+
 /**
  * Hide a property, collection or action.
  */
 public interface HiddenFacet extends WhereValueFacet, HidingInteractionAdvisor {
 
+    // -- UTILS
+
+    static boolean isAlwaysHidden(final @NonNull FacetHolder facetHolder) {
+        return hiddenWhere(facetHolder)
+                .map(Where.ANYWHERE::equals)
+                .orElse(false);
+    }
+
+    static Optional<Where> hiddenWhere(final @NonNull FacetHolder facetHolder) {
+        return facetHolder.lookupFacet(HiddenFacet.class)
+                .map(HiddenFacet::where);
+    }
 
 }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/_SpecPredicates.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/_SpecPredicates.java
index 15ee2a0..6326b35 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/_SpecPredicates.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/_SpecPredicates.java
@@ -18,24 +18,18 @@
  */
 package org.apache.isis.core.metamodel.specloader.specimpl;
 
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.actions.contributing.ContributingFacet;
 import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
 
-import lombok.val;
+import lombok.NonNull;
 
 /** package private utility */
 final class _SpecPredicates {
-    
+
     // -- LOWER LEVEL
-    
-    static boolean isRequiredType(final ObjectAction objectAction) {
-        return objectAction instanceof ObjectActionDefault;
-    }
-    
-    static boolean isGetterCandidate(final ObjectAction action) {
+
+    static boolean isGetterCandidate(final @NonNull ObjectAction action) {
         if(action.getParameterCount() != 0) {
             return false;
         }
@@ -44,19 +38,11 @@ final class _SpecPredicates {
         }
         return true;
     }
-    
-    static boolean isAlwaysHidden(final FacetHolder holder) {
-        val hiddenFacet = holder.getFacet(HiddenFacet.class);
-        return hiddenFacet != null && hiddenFacet.where() == Where.ANYWHERE;
-    }
-    
+
     // -- HIGHER LEVEL - MIXINS
-    
-    static boolean isMixedInAction(ObjectAction mixinTypeAction) {
-        if(!isRequiredType(mixinTypeAction)) {
-            return false;
-        }
-        if(isAlwaysHidden(mixinTypeAction)) {
+
+    static boolean isMixedInAction(final @NonNull ObjectAction mixinTypeAction) {
+        if(HiddenFacet.isAlwaysHidden(mixinTypeAction)) {
             return false;
         }
         if(ContributingFacet.isActionContributionVetoed(mixinTypeAction)) {
@@ -64,27 +50,23 @@ final class _SpecPredicates {
         }
         return true;
     }
-    
-    static boolean isMixedInAssociation(ObjectAction mixinAction) {
-        if(!isRequiredType(mixinAction)) {
-            return false;
-        }
-        if(isAlwaysHidden(mixinAction)) {
+
+    static boolean isMixedInAssociation(final @NonNull ObjectAction mixinAction) {
+        if(!isGetterCandidate(mixinAction)) {
             return false;
         }
-        if(ContributingFacet.isAssociationContributionVetoed(mixinAction)) {
+        if(!mixinAction.getSemantics().isSafeInNature()) {
             return false;
         }
-        if(!isGetterCandidate(mixinAction)) {
+        if(HiddenFacet.isAlwaysHidden(mixinAction)) {
             return false;
         }
-        if(!mixinAction.getSemantics().isSafeInNature()) {
+        if(ContributingFacet.isAssociationContributionVetoed(mixinAction)) {
             return false;
         }
         return true;
-        
     }
-    
-    
+
+
 
 }