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

danhaywood pushed a commit to branch CAUSEWAY-3414
in repository https://gitbox.apache.org/repos/asf/causeway.git

commit 91994bd194e33927f16ff2a4decf1bfce6baa2a4
Author: danhaywood <[email protected]>
AuthorDate: Thu Apr 6 09:43:41 2023 +0200

    CAUSEWAY-3414 : fixes for tableDec.
---
 .../core/metamodel/facetapi/FacetUtil.java         | 19 +++++++++
 .../layout/CollectionLayoutFacetFactory.java       |  4 +-
 .../PagedFacetForCollectionLayoutAnnotation.java   |  9 ++---
 ...ollectionLayoutTableDecoratorFacetAbstract.java | 43 ---------------------
 ...tForCollectionLayoutAnnotationAsConfigured.java | 33 ----------------
 ...LayoutTableDecoratorFacetFromConfiguration.java | 33 ----------------
 ...coratorFacetForCollectionLayoutAnnotation.java} | 32 +++++++--------
 ...TableDecoratorFacetForCollectionLayoutXml.java} |  9 +++--
 ...a => TableDecoratorFacetFromConfiguration.java} |  7 ++--
 .../DomainObjectLayoutFacetFactory.java            |  4 +-
 .../PagedFacetForDomainObjectLayoutAnnotation.java |  9 ++---
 ...ainObjectLayoutTableDecoratorFacetAbstract.java | 45 ----------------------
 ...orDomainObjectLayoutAnnotationAsConfigured.java | 33 ----------------
 ...LayoutTableDecoratorFacetFromConfiguration.java | 33 ----------------
 ...ratorFacetForDomainObjectLayoutAnnotation.java} | 32 +++++++--------
 ...bleDecoratorFacetForDomainObjectLayoutXml.java} |  8 ++--
 ...a => TableDecoratorFacetFromConfiguration.java} |  7 ++--
 .../tabledec/TableDecoratorFacetAbstract.java      |  5 +--
 .../services/grid/GridSystemServiceAbstract.java   |  8 ++--
 .../core/metamodel/spec/feature/ObjectMember.java  |  3 +-
 .../causeway/core/metamodel/util/Facets.java       | 23 ++++-------
 21 files changed, 91 insertions(+), 308 deletions(-)

diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facetapi/FacetUtil.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facetapi/FacetUtil.java
index 4913fb87aa..8be99bac51 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facetapi/FacetUtil.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facetapi/FacetUtil.java
@@ -188,4 +188,23 @@ public final class FacetUtil {
                 : a);
     }
 
+    /** Looks up specified facetType within given {@link FacetHolder}s, 
honoring Facet {@link Precedence},
+     * while first one found wins over later found if they have the same 
precedence. */
+    public static <F extends Facet> Optional<F> lookupFacetInButExcluding(
+            final @NonNull Class<F> facetType,
+            final Predicate<Object> excluded,
+            final FacetHolder ... facetHolders) {
+        if(facetHolders==null) {
+            return Optional.empty();
+        }
+        return Stream.of(facetHolders)
+        .filter(_NullSafe::isPresent)
+        .filter(x -> !excluded.test(x))
+        .map(facetHolder->facetHolder.getFacet(facetType))
+        .filter(_NullSafe::isPresent)
+        .reduce((a, b)->b.getPrecedence().ordinal()>a.getPrecedence().ordinal()
+                ? b
+                : a);
+    }
+
 }
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/CollectionLayoutFacetFactory.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/CollectionLayoutFacetFactory.java
index 74f44b10e0..6f999930ca 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/CollectionLayoutFacetFactory.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/CollectionLayoutFacetFactory.java
@@ -24,7 +24,7 @@ import org.apache.causeway.applib.annotation.CollectionLayout;
 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.collections.layout.tabledec.CollectionLayoutTableDecoratorFacet;
+import 
org.apache.causeway.core.metamodel.facets.collections.layout.tabledec.TableDecoratorFacetForCollectionLayoutAnnotation;
 import 
org.apache.causeway.core.metamodel.facets.members.layout.order.LayoutOrderFacetFromCollectionLayoutAnnotation;
 import 
org.apache.causeway.core.metamodel.specloader.validator.MetaModelValidatorForAmbiguousMixinAnnotations;
 
@@ -74,7 +74,7 @@ extends FacetFactoryAbstract {
                 .create(collectionLayoutIfAny, facetHolder));
 
         addFacetIfPresent(
-                CollectionLayoutTableDecoratorFacet
+                TableDecoratorFacetForCollectionLayoutAnnotation
                         .create(collectionLayoutIfAny, facetHolder));
 
         addFacetIfPresent(
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/PagedFacetForCollectionLayoutAnnotation.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/PagedFacetForCollectionLayoutAnnotation.java
index 695bc1e9c1..2e7555258e 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/PagedFacetForCollectionLayoutAnnotation.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/PagedFacetForCollectionLayoutAnnotation.java
@@ -18,16 +18,15 @@
  */
 package org.apache.causeway.core.metamodel.facets.collections.layout;
 
-import java.util.Optional;
-
+import lombok.val;
 import org.apache.causeway.applib.annotation.CollectionLayout;
 import org.apache.causeway.applib.annotation.TableDecorator;
 import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
-import 
org.apache.causeway.core.metamodel.facets.collections.layout.tabledec.CollectionLayoutTableDecoratorFacet;
 import org.apache.causeway.core.metamodel.facets.object.paged.PagedFacet;
 import 
org.apache.causeway.core.metamodel.facets.object.paged.PagedFacetAbstract;
+import 
org.apache.causeway.core.metamodel.facets.object.tabledec.TableDecoratorFacet;
 
-import lombok.val;
+import java.util.Optional;
 
 public class PagedFacetForCollectionLayoutAnnotation extends 
PagedFacetAbstract {
 
@@ -35,7 +34,7 @@ public class PagedFacetForCollectionLayoutAnnotation extends 
PagedFacetAbstract
             final Optional<CollectionLayout> collectionLayoutIfAny,
             final FacetHolder holder) {
 
-        val tableDecoratorFacet = 
holder.getFacet(CollectionLayoutTableDecoratorFacet.class);
+        val tableDecoratorFacet = holder.getFacet(TableDecoratorFacet.class);
         if 
(TableDecorator.DatatablesNet.class.equals(tableDecoratorFacet.value())) {
             return Optional.of(new 
PagedFacetOverriddenByDataTablesDecoration(holder));
         }
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/tabledec/CollectionLayoutTableDecoratorFacetAbstract.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/tabledec/CollectionLayoutTableDecoratorFacetAbstract.java
deleted file mode 100644
index 2e4b0ced20..0000000000
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/tabledec/CollectionLayoutTableDecoratorFacetAbstract.java
+++ /dev/null
@@ -1,43 +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.collections.layout.tabledec;
-
-import org.apache.causeway.applib.annotation.TableDecorator;
-import org.apache.causeway.core.metamodel.facetapi.Facet;
-import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
-import org.apache.causeway.core.metamodel.facets.SingleValueFacetAbstract;
-import 
org.apache.causeway.core.metamodel.facets.object.tabledec.TableDecoratorFacetAbstract;
-
-abstract class CollectionLayoutTableDecoratorFacetAbstract
-extends TableDecoratorFacetAbstract
-implements CollectionLayoutTableDecoratorFacet {
-
-    protected CollectionLayoutTableDecoratorFacetAbstract(
-            final Class<? extends TableDecorator> value,
-            final FacetHolder holder,
-            final Precedence precedence) {
-        super(value, holder, precedence);
-    }
-
-    protected CollectionLayoutTableDecoratorFacetAbstract(
-            final Class<? extends TableDecorator> value, final FacetHolder 
holder) {
-        super(value, holder);
-    }
-}
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/tabledec/CollectionLayoutTableDecoratorFacetForCollectionLayoutAnnotationAsConfigured.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/tabledec/CollectionLayoutTableDecoratorFacetForCollectionLayoutAnnotationAsConfigured.java
deleted file mode 100644
index 85e84eb399..0000000000
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/tabledec/CollectionLayoutTableDecoratorFacetForCollectionLayoutAnnotationAsConfigured.java
+++ /dev/null
@@ -1,33 +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.collections.layout.tabledec;
-
-import org.apache.causeway.applib.annotation.TableDecorator;
-import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
-
-public class 
CollectionLayoutTableDecoratorFacetForCollectionLayoutAnnotationAsConfigured
-extends CollectionLayoutTableDecoratorFacetForCollectionLayoutAnnotation {
-
-    
CollectionLayoutTableDecoratorFacetForCollectionLayoutAnnotationAsConfigured(
-            final Class<? extends TableDecorator> value, final FacetHolder 
holder) {
-        super(value, holder);
-    }
-
-}
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/tabledec/CollectionLayoutTableDecoratorFacetFromConfiguration.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/tabledec/CollectionLayoutTableDecoratorFacetFromConfiguration.java
deleted file mode 100644
index 21778e12da..0000000000
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/tabledec/CollectionLayoutTableDecoratorFacetFromConfiguration.java
+++ /dev/null
@@ -1,33 +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.collections.layout.tabledec;
-
-import org.apache.causeway.applib.annotation.TableDecorator;
-import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
-
-public class CollectionLayoutTableDecoratorFacetFromConfiguration
-extends CollectionLayoutTableDecoratorFacetAbstract {
-
-    CollectionLayoutTableDecoratorFacetFromConfiguration(
-            final Class<? extends TableDecorator> value, final FacetHolder 
holder) {
-        super(value, holder);
-    }
-
-}
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/tabledec/CollectionLayoutTableDecoratorFacet.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/tabledec/TableDecoratorFacetForCollectionLayoutAnnotation.java
similarity index 69%
rename from 
core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/tabledec/CollectionLayoutTableDecoratorFacet.java
rename to 
core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/tabledec/TableDecoratorFacetForCollectionLayoutAnnotation.java
index c7259f8858..5377d83af1 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/tabledec/CollectionLayoutTableDecoratorFacet.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/tabledec/TableDecoratorFacetForCollectionLayoutAnnotation.java
@@ -19,28 +19,24 @@
  */
 package org.apache.causeway.core.metamodel.facets.collections.layout.tabledec;
 
-import java.util.Optional;
-
 import org.apache.causeway.applib.annotation.CollectionLayout;
-import org.apache.causeway.applib.annotation.Parameter;
 import org.apache.causeway.applib.annotation.TableDecorator;
 import org.apache.causeway.commons.internal.base._Optionals;
 import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
-import org.apache.causeway.core.metamodel.facets.SingleValueFacet;
 import 
org.apache.causeway.core.metamodel.facets.object.tabledec.TableDecoratorFacet;
+import 
org.apache.causeway.core.metamodel.facets.object.tabledec.TableDecoratorFacetAbstract;
 
-/**
- * Determines how dependent parameter values should be updated,
- * if one of the earlier parameter values is changed.
- * <p>
- * Corresponds to annotating the action method {@link 
Parameter#dependentDefaultsPolicy()}.
- *
- * @since 2.0
- */
-public interface CollectionLayoutTableDecoratorFacet
-extends TableDecoratorFacet {
+import java.util.Optional;
+
+public class TableDecoratorFacetForCollectionLayoutAnnotation
+extends TableDecoratorFacetAbstract {
+
+    TableDecoratorFacetForCollectionLayoutAnnotation(
+            final Class<? extends TableDecorator> value, final FacetHolder 
holder) {
+        super(value, holder);
+    }
 
-    static Optional<TableDecoratorFacet> create(
+    public static Optional<TableDecoratorFacet> create(
             final Optional<CollectionLayout> collectionLayoutIfAny,
             final FacetHolder holder) {
 
@@ -48,12 +44,12 @@ extends TableDecoratorFacet {
 
         collectionLayoutIfAny
         .map(CollectionLayout::tableDecorator)
-        .<CollectionLayoutTableDecoratorFacet>map(tableDecorator -> {
-                return new 
CollectionLayoutTableDecoratorFacetForCollectionLayoutAnnotation(
+        .<TableDecoratorFacet>map(tableDecorator -> {
+                return new TableDecoratorFacetForCollectionLayoutAnnotation(
                         tableDecorator, holder);
         })
         ,
-        () -> new CollectionLayoutTableDecoratorFacetFromConfiguration(
+        () -> new TableDecoratorFacetFromConfiguration(
                 
holder.getConfiguration().getApplib().getAnnotation().getCollectionLayout().getTableDecorator(),
 holder));
 
     }
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/tabledec/CollectionLayoutTableDecoratorFacetForCollectionLayoutXml.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/tabledec/TableDecoratorFacetForCollectionLayoutXml.java
similarity index 83%
rename from 
core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/tabledec/CollectionLayoutTableDecoratorFacetForCollectionLayoutXml.java
rename to 
core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/tabledec/TableDecoratorFacetForCollectionLayoutXml.java
index 3df87b1159..63245271fd 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/tabledec/CollectionLayoutTableDecoratorFacetForCollectionLayoutXml.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/tabledec/TableDecoratorFacetForCollectionLayoutXml.java
@@ -24,9 +24,10 @@ import org.apache.causeway.applib.annotation.TableDecorator;
 import org.apache.causeway.applib.layout.component.CollectionLayoutData;
 import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
 import 
org.apache.causeway.core.metamodel.facets.object.tabledec.TableDecoratorFacet;
+import 
org.apache.causeway.core.metamodel.facets.object.tabledec.TableDecoratorFacetAbstract;
 
-public class CollectionLayoutTableDecoratorFacetForCollectionLayoutXml
-extends CollectionLayoutTableDecoratorFacetAbstract {
+public class TableDecoratorFacetForCollectionLayoutXml
+extends TableDecoratorFacetAbstract {
 
     public static Optional<TableDecoratorFacet> create(
             final CollectionLayoutData collectionLayout,
@@ -36,10 +37,10 @@ extends CollectionLayoutTableDecoratorFacetAbstract {
         return Optional.ofNullable(collectionLayout)
         .map(CollectionLayoutData::getTableDecorator)
         .map(tableDecorator->
-            new 
CollectionLayoutTableDecoratorFacetForCollectionLayoutXml(tableDecorator, 
holder, precedence));
+            new TableDecoratorFacetForCollectionLayoutXml(tableDecorator, 
holder, precedence));
     }
 
-    private CollectionLayoutTableDecoratorFacetForCollectionLayoutXml(
+    private TableDecoratorFacetForCollectionLayoutXml(
             final Class<? extends TableDecorator> value,
             final FacetHolder holder,
             final Precedence precedence) {
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/tabledec/CollectionLayoutTableDecoratorFacetForCollectionLayoutAnnotation.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/tabledec/TableDecoratorFacetFromConfiguration.java
similarity index 83%
rename from 
core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/tabledec/CollectionLayoutTableDecoratorFacetForCollectionLayoutAnnotation.java
rename to 
core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/tabledec/TableDecoratorFacetFromConfiguration.java
index 9e35c929f0..e30e7cd7fc 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/tabledec/CollectionLayoutTableDecoratorFacetForCollectionLayoutAnnotation.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/collections/layout/tabledec/TableDecoratorFacetFromConfiguration.java
@@ -21,11 +21,12 @@ package 
org.apache.causeway.core.metamodel.facets.collections.layout.tabledec;
 
 import org.apache.causeway.applib.annotation.TableDecorator;
 import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
+import 
org.apache.causeway.core.metamodel.facets.object.tabledec.TableDecoratorFacetAbstract;
 
-public class CollectionLayoutTableDecoratorFacetForCollectionLayoutAnnotation
-extends CollectionLayoutTableDecoratorFacetAbstract {
+public class TableDecoratorFacetFromConfiguration
+extends TableDecoratorFacetAbstract {
 
-    CollectionLayoutTableDecoratorFacetForCollectionLayoutAnnotation(
+    TableDecoratorFacetFromConfiguration(
             final Class<? extends TableDecorator> value, final FacetHolder 
holder) {
         super(value, holder);
     }
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFacetFactory.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFacetFactory.java
index a5ce2e6033..5a4423bd9b 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFacetFactory.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFacetFactory.java
@@ -23,7 +23,7 @@ import org.apache.causeway.commons.internal.base._Lazy;
 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.object.domainobjectlayout.tabledec.DomainObjectLayoutTableDecoratorFacet;
+import 
org.apache.causeway.core.metamodel.facets.object.domainobjectlayout.tabledec.TableDecoratorFacetForDomainObjectLayoutAnnotation;
 import 
org.apache.causeway.core.metamodel.services.events.MetamodelEventService;
 
 import lombok.val;
@@ -76,7 +76,7 @@ extends FacetFactoryAbstract {
                 .create(domainObjectLayoutIfAny, facetHolder));
 
         addFacetIfPresent(
-                DomainObjectLayoutTableDecoratorFacet
+                TableDecoratorFacetForDomainObjectLayoutAnnotation
                         .create(domainObjectLayoutIfAny, facetHolder));
 
         addFacetIfPresent(
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/PagedFacetForDomainObjectLayoutAnnotation.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/PagedFacetForDomainObjectLayoutAnnotation.java
index 8488cce6ef..e78b5cdf70 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/PagedFacetForDomainObjectLayoutAnnotation.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/PagedFacetForDomainObjectLayoutAnnotation.java
@@ -18,16 +18,15 @@
  */
 package org.apache.causeway.core.metamodel.facets.object.domainobjectlayout;
 
-import java.util.Optional;
-
+import lombok.val;
 import org.apache.causeway.applib.annotation.DomainObjectLayout;
 import org.apache.causeway.applib.annotation.TableDecorator;
 import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
-import 
org.apache.causeway.core.metamodel.facets.object.domainobjectlayout.tabledec.DomainObjectLayoutTableDecoratorFacet;
 import org.apache.causeway.core.metamodel.facets.object.paged.PagedFacet;
 import 
org.apache.causeway.core.metamodel.facets.object.paged.PagedFacetAbstract;
+import 
org.apache.causeway.core.metamodel.facets.object.tabledec.TableDecoratorFacet;
 
-import lombok.val;
+import java.util.Optional;
 
 public class PagedFacetForDomainObjectLayoutAnnotation extends 
PagedFacetAbstract {
 
@@ -36,7 +35,7 @@ public class PagedFacetForDomainObjectLayoutAnnotation 
extends PagedFacetAbstrac
             final FacetHolder holder) {
 
 
-        val tableDecoratorFacet = 
holder.getFacet(DomainObjectLayoutTableDecoratorFacet.class);
+        val tableDecoratorFacet = holder.getFacet(TableDecoratorFacet.class);
         if 
(TableDecorator.DatatablesNet.class.equals(tableDecoratorFacet.value())) {
             return Optional.of(new 
PagedFacetOverriddenByDataTablesDecoration(holder));
         }
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/tabledec/DomainObjectLayoutTableDecoratorFacetAbstract.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/tabledec/DomainObjectLayoutTableDecoratorFacetAbstract.java
deleted file mode 100644
index 79d88fdbd6..0000000000
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/tabledec/DomainObjectLayoutTableDecoratorFacetAbstract.java
+++ /dev/null
@@ -1,45 +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.object.domainobjectlayout.tabledec;
-
-import org.apache.causeway.applib.annotation.TableDecorator;
-import org.apache.causeway.core.metamodel.facetapi.Facet;
-import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
-import org.apache.causeway.core.metamodel.facets.SingleValueFacetAbstract;
-import 
org.apache.causeway.core.metamodel.facets.object.tabledec.TableDecoratorFacet;
-import 
org.apache.causeway.core.metamodel.facets.object.tabledec.TableDecoratorFacetAbstract;
-
-abstract class DomainObjectLayoutTableDecoratorFacetAbstract
-extends TableDecoratorFacetAbstract
-implements DomainObjectLayoutTableDecoratorFacet {
-
-    protected DomainObjectLayoutTableDecoratorFacetAbstract(
-            final Class<? extends TableDecorator> value,
-            final FacetHolder holder,
-            final Facet.Precedence precedence) {
-        super(value, holder, precedence);
-    }
-
-    protected DomainObjectLayoutTableDecoratorFacetAbstract(
-            final Class<? extends TableDecorator> value,
-            final FacetHolder holder) {
-        super(value, holder);
-    }
-}
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/tabledec/DomainObjectLayoutTableDecoratorFacetForDomainObjectLayoutAnnotationAsConfigured.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/tabledec/DomainObjectLayoutTableDecoratorFacetForDomainObjectLayoutAnnotationAsConfigured.java
deleted file mode 100644
index 46726f4f8f..0000000000
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/tabledec/DomainObjectLayoutTableDecoratorFacetForDomainObjectLayoutAnnotationAsConfigured.java
+++ /dev/null
@@ -1,33 +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.object.domainobjectlayout.tabledec;
-
-import org.apache.causeway.applib.annotation.TableDecorator;
-import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
-
-public class 
DomainObjectLayoutTableDecoratorFacetForDomainObjectLayoutAnnotationAsConfigured
-extends DomainObjectLayoutTableDecoratorFacetForDomainObjectLayoutAnnotation {
-
-    
DomainObjectLayoutTableDecoratorFacetForDomainObjectLayoutAnnotationAsConfigured(
-            final Class<? extends TableDecorator> value, final FacetHolder 
holder) {
-        super(value, holder);
-    }
-
-}
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/tabledec/DomainObjectLayoutTableDecoratorFacetFromConfiguration.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/tabledec/DomainObjectLayoutTableDecoratorFacetFromConfiguration.java
deleted file mode 100644
index 94284885e3..0000000000
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/tabledec/DomainObjectLayoutTableDecoratorFacetFromConfiguration.java
+++ /dev/null
@@ -1,33 +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.object.domainobjectlayout.tabledec;
-
-import org.apache.causeway.applib.annotation.TableDecorator;
-import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
-
-public class DomainObjectLayoutTableDecoratorFacetFromConfiguration
-extends DomainObjectLayoutTableDecoratorFacetAbstract {
-
-    DomainObjectLayoutTableDecoratorFacetFromConfiguration(
-            final Class<? extends TableDecorator> value, final FacetHolder 
holder) {
-        super(value, holder);
-    }
-
-}
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/tabledec/DomainObjectLayoutTableDecoratorFacet.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/tabledec/TableDecoratorFacetForDomainObjectLayoutAnnotation.java
similarity index 69%
rename from 
core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/tabledec/DomainObjectLayoutTableDecoratorFacet.java
rename to 
core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/tabledec/TableDecoratorFacetForDomainObjectLayoutAnnotation.java
index 765f22c213..ab8434d0f4 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/tabledec/DomainObjectLayoutTableDecoratorFacet.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/tabledec/TableDecoratorFacetForDomainObjectLayoutAnnotation.java
@@ -19,28 +19,24 @@
  */
 package 
org.apache.causeway.core.metamodel.facets.object.domainobjectlayout.tabledec;
 
-import java.util.Optional;
-
 import org.apache.causeway.applib.annotation.DomainObjectLayout;
-import org.apache.causeway.applib.annotation.Parameter;
 import org.apache.causeway.applib.annotation.TableDecorator;
 import org.apache.causeway.commons.internal.base._Optionals;
 import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
-import org.apache.causeway.core.metamodel.facets.SingleValueFacet;
 import 
org.apache.causeway.core.metamodel.facets.object.tabledec.TableDecoratorFacet;
+import 
org.apache.causeway.core.metamodel.facets.object.tabledec.TableDecoratorFacetAbstract;
 
-/**
- * Determines how dependent parameter values should be updated,
- * if one of the earlier parameter values is changed.
- * <p>
- * Corresponds to annotating the action method {@link 
Parameter#dependentDefaultsPolicy()}.
- *
- * @since 2.0
- */
-public interface DomainObjectLayoutTableDecoratorFacet
-extends TableDecoratorFacet {
+import java.util.Optional;
+
+public class TableDecoratorFacetForDomainObjectLayoutAnnotation
+extends TableDecoratorFacetAbstract {
+
+    TableDecoratorFacetForDomainObjectLayoutAnnotation(
+            final Class<? extends TableDecorator> value, final FacetHolder 
holder) {
+        super(value, holder);
+    }
 
-    static Optional<DomainObjectLayoutTableDecoratorFacet> create(
+    public static Optional<TableDecoratorFacet> create(
             final Optional<DomainObjectLayout> domainObjectLayoutIfAny,
             final FacetHolder holder) {
 
@@ -48,11 +44,11 @@ extends TableDecoratorFacet {
 
         domainObjectLayoutIfAny
         .map(DomainObjectLayout::tableDecorator)
-        .<DomainObjectLayoutTableDecoratorFacet>map(tableDecorator ->
-                new 
DomainObjectLayoutTableDecoratorFacetForDomainObjectLayoutAnnotation(
+        .<TableDecoratorFacet>map(tableDecorator ->
+                new TableDecoratorFacetForDomainObjectLayoutAnnotation(
                         tableDecorator, holder))
         ,
-        () -> new DomainObjectLayoutTableDecoratorFacetFromConfiguration(
+        () -> new TableDecoratorFacetFromConfiguration(
                 
holder.getConfiguration().getApplib().getAnnotation().getDomainObjectLayout().getTableDecorator(),
                 holder));
     }
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/tabledec/DomainObjectLayoutTableDecoratorFacetForDomainObjectLayoutXml.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/tabledec/TableDecoratorFacetForDomainObjectLayoutXml.java
similarity index 85%
rename from 
core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/tabledec/DomainObjectLayoutTableDecoratorFacetForDomainObjectLayoutXml.java
rename to 
core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/tabledec/TableDecoratorFacetForDomainObjectLayoutXml.java
index 84956ceede..aaabc6e428 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/tabledec/DomainObjectLayoutTableDecoratorFacetForDomainObjectLayoutXml.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/tabledec/TableDecoratorFacetForDomainObjectLayoutXml.java
@@ -27,8 +27,8 @@ import 
org.apache.causeway.core.metamodel.facetapi.FacetHolder;
 import 
org.apache.causeway.core.metamodel.facets.object.tabledec.TableDecoratorFacet;
 import 
org.apache.causeway.core.metamodel.facets.object.tabledec.TableDecoratorFacetAbstract;
 
-public class DomainObjectLayoutTableDecoratorFacetForDomainObjectLayoutXml
-extends DomainObjectLayoutTableDecoratorFacetAbstract {
+public class TableDecoratorFacetForDomainObjectLayoutXml
+extends TableDecoratorFacetAbstract {
 
     public static Optional<TableDecoratorFacet> create(
             final DomainObjectLayoutData domainObjectLayout,
@@ -38,10 +38,10 @@ extends DomainObjectLayoutTableDecoratorFacetAbstract {
         return Optional.ofNullable(domainObjectLayout)
         .map(DomainObjectLayoutData::getTableDecorator)
         .map(tableDecorator->
-            new 
DomainObjectLayoutTableDecoratorFacetForDomainObjectLayoutXml(tableDecorator, 
holder, precedence));
+            new TableDecoratorFacetForDomainObjectLayoutXml(tableDecorator, 
holder, precedence));
     }
 
-    private DomainObjectLayoutTableDecoratorFacetForDomainObjectLayoutXml(
+    private TableDecoratorFacetForDomainObjectLayoutXml(
             final Class<? extends TableDecorator> value,
             final FacetHolder holder,
             final Facet.Precedence precedence) {
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/tabledec/DomainObjectLayoutTableDecoratorFacetForDomainObjectLayoutAnnotation.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/tabledec/TableDecoratorFacetFromConfiguration.java
similarity index 83%
rename from 
core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/tabledec/DomainObjectLayoutTableDecoratorFacetForDomainObjectLayoutAnnotation.java
rename to 
core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/tabledec/TableDecoratorFacetFromConfiguration.java
index 2e796f1aeb..76079513c7 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/tabledec/DomainObjectLayoutTableDecoratorFacetForDomainObjectLayoutAnnotation.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobjectlayout/tabledec/TableDecoratorFacetFromConfiguration.java
@@ -21,11 +21,12 @@ package 
org.apache.causeway.core.metamodel.facets.object.domainobjectlayout.tabl
 
 import org.apache.causeway.applib.annotation.TableDecorator;
 import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
+import 
org.apache.causeway.core.metamodel.facets.object.tabledec.TableDecoratorFacetAbstract;
 
-public class 
DomainObjectLayoutTableDecoratorFacetForDomainObjectLayoutAnnotation
-extends DomainObjectLayoutTableDecoratorFacetAbstract {
+public class TableDecoratorFacetFromConfiguration
+extends TableDecoratorFacetAbstract {
 
-    DomainObjectLayoutTableDecoratorFacetForDomainObjectLayoutAnnotation(
+    TableDecoratorFacetFromConfiguration(
             final Class<? extends TableDecorator> value, final FacetHolder 
holder) {
         super(value, holder);
     }
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/tabledec/TableDecoratorFacetAbstract.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/tabledec/TableDecoratorFacetAbstract.java
index bce8ca5ce4..bd23aaa8fb 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/tabledec/TableDecoratorFacetAbstract.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/tabledec/TableDecoratorFacetAbstract.java
@@ -20,11 +20,8 @@ package 
org.apache.causeway.core.metamodel.facets.object.tabledec;
 
 import org.apache.causeway.applib.annotation.TableDecorator;
 import org.apache.causeway.core.metamodel.facetapi.Facet;
-import org.apache.causeway.core.metamodel.facetapi.FacetAbstract;
 import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
 import org.apache.causeway.core.metamodel.facets.SingleValueFacetAbstract;
-import 
org.apache.causeway.core.metamodel.facets.object.domainobjectlayout.tabledec.DomainObjectLayoutTableDecoratorFacet;
-import org.apache.causeway.core.metamodel.facets.object.paged.PagedFacet;
 
 import java.util.function.BiConsumer;
 
@@ -36,6 +33,7 @@ implements TableDecoratorFacet {
         return TableDecoratorFacet.class;
     }
 
+
     protected TableDecoratorFacetAbstract(
             final Class<? extends TableDecorator> value,
             final FacetHolder holder,
@@ -54,4 +52,5 @@ implements TableDecoratorFacet {
         super.visitAttributes(visitor);
         visitor.accept("value", value());
     }
+
 }
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/services/grid/GridSystemServiceAbstract.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/services/grid/GridSystemServiceAbstract.java
index 7638622a62..69f1966c5a 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/services/grid/GridSystemServiceAbstract.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/services/grid/GridSystemServiceAbstract.java
@@ -55,7 +55,7 @@ import 
org.apache.causeway.core.metamodel.facets.collections.layout.MemberDescri
 import 
org.apache.causeway.core.metamodel.facets.collections.layout.MemberNamedFacetForCollectionLayoutXml;
 import 
org.apache.causeway.core.metamodel.facets.collections.layout.PagedFacetForCollectionLayoutXml;
 import 
org.apache.causeway.core.metamodel.facets.collections.layout.SortedByFacetForCollectionLayoutXml;
-import 
org.apache.causeway.core.metamodel.facets.collections.layout.tabledec.CollectionLayoutTableDecoratorFacetForCollectionLayoutXml;
+import 
org.apache.causeway.core.metamodel.facets.collections.layout.tabledec.TableDecoratorFacetForCollectionLayoutXml;
 import 
org.apache.causeway.core.metamodel.facets.members.layout.group.GroupIdAndName;
 import 
org.apache.causeway.core.metamodel.facets.members.layout.group.LayoutGroupFacetForLayoutXml;
 import 
org.apache.causeway.core.metamodel.facets.members.layout.order.LayoutOrderFacetForLayoutXml;
@@ -64,7 +64,7 @@ import 
org.apache.causeway.core.metamodel.facets.object.domainobjectlayout.CssCl
 import 
org.apache.causeway.core.metamodel.facets.object.domainobjectlayout.CssClassFacetForDomainObjectLayoutXml;
 import 
org.apache.causeway.core.metamodel.facets.object.domainobjectlayout.ObjectDescribedFacetForDomainObjectLayoutXml;
 import 
org.apache.causeway.core.metamodel.facets.object.domainobjectlayout.ObjectNamedFacetForDomainObjectLayoutXml;
-import 
org.apache.causeway.core.metamodel.facets.object.domainobjectlayout.tabledec.DomainObjectLayoutTableDecoratorFacetForDomainObjectLayoutXml;
+import 
org.apache.causeway.core.metamodel.facets.object.domainobjectlayout.tabledec.TableDecoratorFacetForDomainObjectLayoutXml;
 import 
org.apache.causeway.core.metamodel.facets.properties.propertylayout.CssClassFacetForPropertyLayoutXml;
 import 
org.apache.causeway.core.metamodel.facets.properties.propertylayout.HiddenFacetForPropertyLayoutXml;
 import 
org.apache.causeway.core.metamodel.facets.properties.propertylayout.LabelAtFacetForPropertyLayoutXml;
@@ -183,7 +183,7 @@ implements GridSystemService<G> {
                         ObjectNamedFacetForDomainObjectLayoutXml
                             .create(domainObjectLayoutData, objectSpec, 
precedence));
                 updateFacetIfPresent(
-                        
DomainObjectLayoutTableDecoratorFacetForDomainObjectLayoutXml
+                        TableDecoratorFacetForDomainObjectLayoutXml
                             .create(domainObjectLayoutData, objectSpec, 
precedence));
             }
 
@@ -346,7 +346,7 @@ implements GridSystemService<G> {
                             .create(collectionLayoutData, 
oneToManyAssociation, precedence));
 
                 updateFacetIfPresent(
-                        
CollectionLayoutTableDecoratorFacetForCollectionLayoutXml
+                        TableDecoratorFacetForCollectionLayoutXml
                             .create(collectionLayoutData, 
oneToManyAssociation, precedence));
 
                 updateFacetIfPresent(
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/feature/ObjectMember.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/feature/ObjectMember.java
index ecafa00340..32164e214e 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/feature/ObjectMember.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/feature/ObjectMember.java
@@ -259,10 +259,9 @@ public interface ObjectMember extends ObjectFeature {
     }
 
     default Optional<TableDecorator> getTableDecorator() {
-        return FacetUtil.lookupFacetIn(TableDecoratorFacet.class, this, 
getElementType())
+        return FacetUtil.lookupFacetInButExcluding(TableDecoratorFacet.class, 
o -> o == TableDecorator.Default.class, getElementType())
             .stream()
             .map(SingleValueFacet::value)
-            .filter(x -> x != TableDecorator.Default.class)
             .map(decoratorClass -> {
                 val decorator = _InstanceUtil.createInstance(decoratorClass, 
decoratorClass, _Constants.emptyObjects);
                 return injectServicesInto(decorator);
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/util/Facets.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/util/Facets.java
index 11bebae81f..d5994a61cf 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/util/Facets.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/util/Facets.java
@@ -18,29 +18,20 @@
  */
 package org.apache.causeway.core.metamodel.util;
 
-import java.util.Optional;
-import java.util.OptionalInt;
-import java.util.function.Predicate;
-import java.util.stream.Stream;
-
-import org.springframework.lang.Nullable;
-import org.springframework.util.ClassUtils;
-
+import lombok.experimental.UtilityClass;
+import lombok.val;
 import org.apache.causeway.applib.annotation.BookmarkPolicy;
 import org.apache.causeway.applib.annotation.DomainServiceLayout.MenuBar;
 import org.apache.causeway.applib.annotation.LabelPosition;
 import org.apache.causeway.applib.annotation.PromptStyle;
-import org.apache.causeway.applib.annotation.TableDecorator;
 import org.apache.causeway.applib.annotation.Where;
 import org.apache.causeway.applib.id.LogicalType;
 import org.apache.causeway.applib.layout.grid.bootstrap.BSGrid;
 import org.apache.causeway.applib.value.semantics.ValueSemanticsProvider;
 import org.apache.causeway.commons.collections.Can;
-import org.apache.causeway.commons.internal._Constants;
 import org.apache.causeway.commons.internal.base._Casts;
 import org.apache.causeway.commons.internal.base._NullSafe;
 import org.apache.causeway.commons.internal.exceptions._Exceptions;
-import org.apache.causeway.commons.internal.factory._InstanceUtil;
 import org.apache.causeway.core.config.metamodel.facets.ParameterConfigOptions;
 import org.apache.causeway.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.causeway.core.metamodel.facetapi.Facet;
@@ -49,11 +40,9 @@ import 
org.apache.causeway.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
 import org.apache.causeway.core.metamodel.facets.all.hide.HiddenFacet;
 import org.apache.causeway.core.metamodel.facets.collections.CollectionFacet;
 import 
org.apache.causeway.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacet;
-import 
org.apache.causeway.core.metamodel.facets.collections.layout.tabledec.CollectionLayoutTableDecoratorFacet;
 import 
org.apache.causeway.core.metamodel.facets.members.cssclass.CssClassFacet;
 import 
org.apache.causeway.core.metamodel.facets.object.autocomplete.AutoCompleteFacet;
 import 
org.apache.causeway.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet;
-import 
org.apache.causeway.core.metamodel.facets.object.domainobjectlayout.tabledec.DomainObjectLayoutTableDecoratorFacet;
 import 
org.apache.causeway.core.metamodel.facets.object.domainservice.DomainServiceFacet;
 import 
org.apache.causeway.core.metamodel.facets.object.domainservicelayout.DomainServiceLayoutFacet;
 import org.apache.causeway.core.metamodel.facets.object.grid.GridFacet;
@@ -81,9 +70,13 @@ import 
org.apache.causeway.core.metamodel.spec.TypeOfAnyCardinality;
 import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
 import org.apache.causeway.core.metamodel.spec.feature.ObjectActionParameter;
 import org.apache.causeway.core.metamodel.spec.feature.ObjectFeature;
+import org.springframework.lang.Nullable;
+import org.springframework.util.ClassUtils;
 
-import lombok.val;
-import lombok.experimental.UtilityClass;
+import java.util.Optional;
+import java.util.OptionalInt;
+import java.util.function.Predicate;
+import java.util.stream.Stream;
 
 /**
  * Facet utility.


Reply via email to