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

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

commit 8bb0c117b646d28d7a5bf2fc2acdf8c74b853620
Author: danhaywood <[email protected]>
AuthorDate: Sun Apr 16 14:30:28 2023 +0100

    CAUSEWAY-2485: removes @Action#hidden, @Property#hidden, @Collection#hidden
---
 .../src/main/java/demoapp/dom/DemoModuleJpa.java   |  4 -
 .../dom/domain/actions/Action/ActionMenu.java      |  7 --
 .../Action/hidden/ActionHidden-description.adoc    | 48 -----------
 .../domain/actions/Action/hidden/ActionHidden.java | 49 ------------
 .../actions/Action/hidden/ActionHidden.layout.xml  | 90 ---------------------
 .../hidden/ActionHiddenPage-description.adoc       | 68 ----------------
 .../actions/Action/hidden/ActionHiddenPage.java    | 53 -------------
 .../Action/hidden/ActionHiddenPage.layout.xml      | 53 -------------
 .../Action/hidden/ActionHiddenPage_objects.java    | 28 -------
 .../Action/hidden/ActionHiddenRepository.java      | 26 ------
 .../actions/Action/hidden/ActionHiddenSeeding.java | 38 ---------
 .../Action/hidden/ActionHidden_changeName.java     | 47 -----------
 .../ActionHidden_changeNameHiddenAllTables.java    | 50 ------------
 .../ActionHidden_changeNameHiddenEverywhere.java   | 50 ------------
 .../ActionHidden_changeNameHiddenObjectForms.java  | 50 ------------
 .../hidden/jpa/ActionHiddenJpa-description.adoc    |  3 -
 .../actions/Action/hidden/jpa/ActionHiddenJpa.java | 69 ----------------
 .../Action/hidden/jpa/ActionHiddenJpaEntities.java | 55 -------------
 .../collections/Collection/CollectionMenu.java     |  7 --
 .../hidden/CollectionHiddenPage-description.adoc   |  6 --
 .../Collection/hidden/CollectionHiddenPage.java    | 69 ----------------
 .../hidden/CollectionHiddenPage.layout.xml         | 61 --------------
 .../domain/properties/Property/PropertyMenu.java   |  7 --
 .../hidden/PropertyHidden-description.adoc         | 42 ----------
 .../properties/Property/hidden/PropertyHidden.java | 77 ------------------
 .../Property/hidden/PropertyHidden.layout.xml      | 88 ---------------------
 .../hidden/PropertyHiddenPage-description.adoc     | 57 --------------
 .../Property/hidden/PropertyHiddenPage.java        | 53 -------------
 .../Property/hidden/PropertyHiddenPage.layout.xml  | 53 -------------
 .../hidden/PropertyHiddenPage_objects.java         | 28 -------
 .../Property/hidden/PropertyHiddenRepository.java  | 26 ------
 .../Property/hidden/PropertyHiddenSeeding.java     | 40 ----------
 .../hidden/jpa/PropertyHiddenJpa-description.adoc  |  3 -
 .../Property/hidden/jpa/PropertyHiddenJpa.java     | 92 ----------------------
 .../hidden/jpa/PropertyHiddenJpaEntities.java      | 55 -------------
 .../src/main/java/demoapp/dom/menubars.layout.xml  |  3 -
 36 files changed, 1555 deletions(-)

diff --git a/examples/demo/domain/src/main/java/demoapp/dom/DemoModuleJpa.java 
b/examples/demo/domain/src/main/java/demoapp/dom/DemoModuleJpa.java
index 3c64a86084..47a060579b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/DemoModuleJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/DemoModuleJpa.java
@@ -29,7 +29,6 @@ import 
org.apache.causeway.persistence.jpa.eclipselink.CausewayModulePersistence
 import demoapp.dom.domain.actions.Action.choicesFrom.jpa.ActionChoicesFromJpa;
 import 
demoapp.dom.domain.actions.Action.commandPublishing.jpa.ActionCommandPublishingJpa;
 import 
demoapp.dom.domain.actions.Action.executionPublishing.jpa.ActionExecutionPublishingJpa;
-import demoapp.dom.domain.actions.Action.hidden.jpa.ActionHiddenJpa;
 import 
demoapp.dom.domain.actions.ActionLayout.hidden.jpa.ActionLayoutHiddenJpa;
 import 
demoapp.dom.domain.objects.DomainObject.aliased.jpa.DomainObjectAliasedJpa;
 import 
demoapp.dom.domain.objects.DomainObject.autoComplete.jpa.DomainObjectAutoCompleteJpa;
@@ -54,7 +53,6 @@ import 
demoapp.dom.domain.objects.DomainObjectLayout.xxxUiEvent.jpa.DomainObject
 import 
demoapp.dom.domain.progmodel.objects.embedded.embedded.jpa.NumberConstantJpa;
 import 
demoapp.dom.domain.properties.Property.commandPublishing.jpa.PropertyCommandPublishingJpa;
 import 
demoapp.dom.domain.properties.Property.executionPublishing.jpa.PropertyExecutionPublishingJpa;
-import demoapp.dom.domain.properties.Property.hidden.jpa.PropertyHiddenJpa;
 import 
demoapp.dom.domain.properties.Property.projecting.jpa.PropertyProjectingChildJpa;
 import 
demoapp.dom.domain.properties.PropertyLayout.hidden.jpa.PropertyLayoutHiddenJpa;
 import demoapp.dom.services.core.eventbusservice.EventLogEntryJpa;
@@ -135,14 +133,12 @@ import 
demoapp.dom.types.primitive.shorts.jpa.PrimitiveShortJpa;
         ActionChoicesFromJpa.class,
         ActionCommandPublishingJpa.class,
         ActionExecutionPublishingJpa.class,
-        ActionHiddenJpa.class,
 
         ActionLayoutHiddenJpa.class,
 
         PropertyCommandPublishingJpa.class,
         PropertyExecutionPublishingJpa.class,
         PropertyProjectingChildJpa.class,
-        PropertyHiddenJpa.class,
 
         PropertyLayoutHiddenJpa.class,
 
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/ActionMenu.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/ActionMenu.java
index f73efbdd55..d35c452507 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/ActionMenu.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/ActionMenu.java
@@ -36,7 +36,6 @@ import 
demoapp.dom.domain.actions.Action.choicesFrom.ActionChoicesFromPage;
 import 
demoapp.dom.domain.actions.Action.commandPublishing.ActionCommandPublishingPage;
 import demoapp.dom.domain.actions.Action.domainEvent.ActionDomainEventPage;
 import 
demoapp.dom.domain.actions.Action.executionPublishing.ActionExecutionPublishingPage;
-import demoapp.dom.domain.actions.Action.hidden.ActionHiddenPage;
 import demoapp.dom.domain.actions.Action.restrictTo.ActionRestrictToPage;
 import demoapp.dom.domain.actions.Action.semantics.ActionSemanticsPage;
 import demoapp.dom.domain.actions.Action.typeOf.ActionTypeOfPage;
@@ -74,12 +73,6 @@ public class ActionMenu {
         return new ActionExecutionPublishingPage();
     }
 
-    @Action(semantics = SemanticsOf.SAFE)
-    @ActionLayout(cssClassFa="fa-glasses", describedAs = "Visibility of 
actions in different contexts")
-    public ActionHiddenPage hidden(){
-        return new ActionHiddenPage();
-    }
-
     @Action(semantics = SemanticsOf.SAFE)
     @ActionLayout(cssClassFa="fa-paper-plane", describedAs = "Availability of 
actions per environment")
     public ActionRestrictToPage restrictTo(){
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHidden-description.adoc
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHidden-description.adoc
deleted file mode 100644
index 9020e184b7..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHidden-description.adoc
+++ /dev/null
@@ -1,48 +0,0 @@
-:Notice: Licensed to the Apache 1Software 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 a [...]
-
-This domain class is used in the demo of `@Action#hidden`.
-
-=== How this demo works
-
-This entity defines four actions, and depending upon context, they may be 
visible on an object form or when rendered in a collection.
-
-From this page, you can inspect the visibility of the actions from the context 
of an object form:
-
-* `hidden` not specified:
-+
-[source,java]
-.ActionHidden_changeName.java
-----
-include::ActionHidden_changeName.java[tags=class]
-----
-<.> no `hidden` element specified, so implicitly visible
-
-* `hidden` on object forms (but not necessarily on collections):
-+
-[source,java]
-.ActionHidden_changeNameHiddenObjectForms.java
-----
-include::ActionHidden_changeNameHiddenObjectForms.java[tags=class]
-----
-<.> action should _NOT_ be visible for this entity.
-
-* `hidden` on collections (but not necessarily on object forms):
-+
-[source,java]
-.ActionHidden_changeNameHiddenAllTables.java
-----
-include::ActionHidden_changeNameHiddenAllTables.java[tags=class]
-----
-<.> action _should_ be visible for this entity.
-
-* `hidden` everywhere:
-+
-[source,java]
-.ActionHidden_changeNameHiddenEverywhere.java
-----
-include::ActionHidden_changeNameHiddenEverywhere.java[tags=class]
-----
-<.> action should _NOT_ be visible for this entity.
-
-
-
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHidden.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHidden.java
deleted file mode 100644
index a79fd59d57..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHidden.java
+++ /dev/null
@@ -1,49 +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 demoapp.dom.domain.actions.Action.hidden;
-
-import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
-import demoapp.dom._infra.values.ValueHolder;
-
-//tag::class[]
-public abstract class ActionHidden
-//end::class[]
-        implements
-        HasAsciiDocDescription,
-        ValueHolder<String>
-//tag::class[]
-{
-    // ...
-//end::class[]
-
-    public String title() {
-        return value();
-    }
-
-    @Override
-    public String value() {
-        return getName();
-    }
-
-    public abstract String getName();
-    public abstract void setName(String value);
-
-//tag::class[]
-}
-//end::class[]
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHidden.layout.xml
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHidden.layout.xml
deleted file mode 100644
index f58f5d3cd2..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHidden.layout.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!-- 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. -->
-<bs3:grid
-        
xsi:schemaLocation="https://causeway.apache.org/applib/layout/component 
https://causeway.apache.org/applib/layout/component/component.xsd   
https://causeway.apache.org/applib/layout/grid/bootstrap3 
https://causeway.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd";
-        xmlns:bs3="https://causeway.apache.org/applib/layout/grid/bootstrap3";
-        xmlns:cpt="https://causeway.apache.org/applib/layout/component";
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
-
-       <bs3:row>
-               <bs3:col span="10" unreferencedActions="true">
-                       <cpt:domainObject />
-               </bs3:col>
-               <bs3:col span="2">
-                       <cpt:fieldSet name="" id="sources" />
-               </bs3:col>
-       </bs3:row>
-
-       <bs3:row>
-               <bs3:col span="6">
-                       <bs3:tabGroup>
-                               <bs3:tab name="General">
-                                       <bs3:row>
-                                               <bs3:col span="12">
-                                                       <cpt:fieldSet 
name="General" id="general" >
-                                                               <cpt:property 
id="name">
-                                                                       
<cpt:action id="changeName"/>
-                                                                       
<cpt:action id="changeNameHiddenAllTables"/>
-                                                                       
<cpt:action id="changeNameHiddenEverywhere"/>
-                                                                       
<cpt:action id="changeNameHiddenObjectForms"/>
-                                                               </cpt:property>
-                                                       </cpt:fieldSet>
-                                               </bs3:col>
-                                       </bs3:row>
-                               </bs3:tab>
-                               <bs3:tab name="Metadata">
-                                       <bs3:row>
-                                               <bs3:col span="12">
-                                                       <cpt:fieldSet 
name="Metadata" id="metadata" >
-                                                               <cpt:property 
id="id"/>
-                                                               <cpt:property 
id="logicalTypeName"/>
-                                                               <cpt:property 
id="version"/>
-                                                       </cpt:fieldSet>
-                                               </bs3:col>
-                                       </bs3:row>
-                               </bs3:tab>
-                               <bs3:tab name="Other">
-                                       <bs3:row>
-                                               <bs3:col span="12">
-                                                       <cpt:fieldSet 
name="Other" id="other" unreferencedProperties="true"/>
-                                               </bs3:col>
-                                       </bs3:row>
-                               </bs3:tab>
-                       </bs3:tabGroup>
-               </bs3:col>
-               <bs3:col span="6">
-                       <cpt:fieldSet name="Description" id="description" >
-                               <cpt:action id="clearHints" position="PANEL" />
-                               <cpt:action id="rebuildMetamodel" 
position="PANEL"/>
-                               <cpt:action id="downloadLayout"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="inspectMetamodel"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="downloadMetamodelXml"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="downloadJdoMetamodel"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="recentCommands"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="recentExecutions"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="recentAuditTrailEntries"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="impersonateWithRoles"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="openRestApi" 
position="PANEL_DROPDOWN" />
-                               <cpt:property id="description"/>
-                       </cpt:fieldSet>
-               </bs3:col>
-       </bs3:row>
-       <bs3:row>
-               <bs3:col span="12">
-                       <cpt:collection id="publishedCommands"/>
-               </bs3:col>
-       </bs3:row>
-       <bs3:row>
-               <bs3:col span="12" unreferencedCollections="true"/>
-       </bs3:row>
-
-</bs3:grid>
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHiddenPage-description.adoc
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHiddenPage-description.adoc
deleted file mode 100644
index cc61a05fc6..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHiddenPage-description.adoc
+++ /dev/null
@@ -1,68 +0,0 @@
-:Notice: 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 ag [...]
-
-The 
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/Action.html#hidden[@Action#hidden]
 element specifies whether an action should be visible in the UI or not.
-
-=== How this demo works
-
-The collection on the left hand side shows a set of domain objects.
-That domain object defines four actions, and depending upon context, they may 
be visible on an object form or when rendered in a collection.
-From this page, you can inspect the visibility of the actions from the context 
of a parented collection.
-
-Navigate into each domain object to inspect the visibility of the actions on 
an object form.
-
-The four actions are:
-
-* `hidden` not specified:
-+
-[source,java]
-.ActionHidden_changeName.java
-----
-include::ActionHidden_changeName.java[tags=class]
-----
-<.> action _should_ be visible for this entity.
-+
-However, the Wicket viewer does _not_ render actions on instances of 
collections, so the action will not in fact be shown as visible.
-
-* `hidden` on object forms (but not necessarily on collections):
-+
-[source,java]
-.ActionHidden_changeNameHiddenObjectForms.java
-----
-include::ActionHidden_changeNameHiddenObjectForms.java[tags=class]
-----
-<.> action should be visible for this entity.
-+
-However, the Wicket viewer does _not_ render actions on instances of 
collections, so the action will not in fact be shown as visible.
-
-* `hidden` on collections (but not necessarily on object forms):
-+
-[source,java]
-.ActionHidden_changeNameHiddenAllTables.java
-----
-include::ActionHidden_changeNameHiddenAllTables.java[tags=class]
-----
-<.> action should _NOT_ be visible for this entity.
-
-Currently the Wicket viewer does _not_ render actions of instances of 
collections, and so none of these actions will be visible on this page.
-However, if you navigate into these domain objects then some of these actions 
will be visible.
-
-* `hidden` everywhere:
-+
-[source,java]
-.ActionHidden_changeNameHiddenEverywhere.java
-----
-include::ActionHidden_changeNameHiddenEverywhere.java[tags=class]
-----
-<.> action should _NOT_ be visible for this entity.
-
-Currently the Wicket viewer does _not_ render actions of instances of 
collections, and so none of these actions will be visible on this page.
-However, if you navigate into these domain objects then some of these actions 
will be visible.
-
-[TIP]
-.What is the difference between a hidden action and one annotated with 
`@Programmatic` ?
-====
-Although there is no difference in the UI, a hidden action _is_ part of the 
metadamodel while a 
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/Programmatic.html#hidden[@Programmatic]
 property is not.
-
-A rare (but valid) use case is to invoke such a hidden action using the 
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/services/wrapper/WrapperFactory.html#wrap(t,-synccontrol)[WrapperFactory]
 (skipping rules).
-This can be for example to publish executions to any registered 
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/services/publishing/spi/ExecutionSubscriber.html[ExecutionSubscriber]s.
-====
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHiddenPage.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHiddenPage.java
deleted file mode 100644
index 4dbd5ecf25..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHiddenPage.java
+++ /dev/null
@@ -1,53 +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 demoapp.dom.domain.actions.Action.hidden;
-
-import javax.inject.Named;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-import org.apache.causeway.applib.annotation.ObjectSupport;
-
-import lombok.NoArgsConstructor;
-
-import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
-
-@XmlRootElement(name = "root")
-@XmlType
-@XmlAccessorType(XmlAccessType.FIELD)
-@Named("demo.ActionHiddenPage")
-@DomainObject(
-    nature=Nature.VIEW_MODEL)
-@NoArgsConstructor
-//tag::class[]
-public class ActionHiddenPage implements HasAsciiDocDescription {
-    // ...
-//end::class[]
-
-    @ObjectSupport public String title() {
-        return "@Action#hidden";
-    }
-
-//tag::class[]
-}
-//end::class[]
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHiddenPage.layout.xml
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHiddenPage.layout.xml
deleted file mode 100644
index d3f19a9c14..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHiddenPage.layout.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!-- 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. -->
-<bs3:grid
-        
xsi:schemaLocation="https://causeway.apache.org/applib/layout/component 
https://causeway.apache.org/applib/layout/component/component.xsd   
https://causeway.apache.org/applib/layout/grid/bootstrap3 
https://causeway.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd";
-        xmlns:bs3="https://causeway.apache.org/applib/layout/grid/bootstrap3";
-        xmlns:cpt="https://causeway.apache.org/applib/layout/component";
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
-
-       <bs3:row>
-               <bs3:col span="10" unreferencedActions="true">
-                       <cpt:domainObject />
-               </bs3:col>
-               <bs3:col span="2">
-                       <cpt:fieldSet name="" id="sources" />
-               </bs3:col>
-       </bs3:row>
-
-       <bs3:row>
-               <bs3:col span="6">
-                       <cpt:fieldSet name="Other" id="other" 
unreferencedProperties="true"/>
-                       <cpt:collection id="objects"/>
-               </bs3:col>
-               <bs3:col span="6">
-                       <cpt:fieldSet name="Description" id="description" >
-                               <cpt:action id="clearHints" position="PANEL" />
-                               <cpt:action id="rebuildMetamodel" 
position="PANEL"/>
-                               <cpt:action id="downloadLayout"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="inspectMetamodel"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="downloadMetamodelXml"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="downloadJdoMetamodel"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="recentCommands"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="recentExecutions"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="recentAuditTrailEntries"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="impersonateWithRoles"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="openRestApi" 
position="PANEL_DROPDOWN" />
-                               <cpt:property id="description"/>
-                       </cpt:fieldSet>
-               </bs3:col>
-       </bs3:row>
-       <bs3:row>
-               <bs3:col span="12" unreferencedCollections="true"/>
-       </bs3:row>
-
-</bs3:grid>
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHiddenPage_objects.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHiddenPage_objects.java
deleted file mode 100644
index fbb3fd60ef..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHiddenPage_objects.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package demoapp.dom.domain.actions.Action.hidden;
-
-import java.util.List;
-
-import javax.inject.Inject;
-
-import org.apache.causeway.applib.annotation.Collection;
-import org.apache.causeway.applib.annotation.MemberSupport;
-
-import lombok.RequiredArgsConstructor;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-//tag::class[]
-@Collection()
-@RequiredArgsConstructor
-public class ActionHiddenPage_objects {
-
-    @SuppressWarnings("unused")
-    private final ActionHiddenPage page;
-
-    @MemberSupport public List<? extends ActionHidden> coll() {
-        return objectRepository.all();
-    }
-
-    @Inject ValueHolderRepository<String, ? extends ActionHidden> 
objectRepository;
-}
-//end::class[]
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHiddenRepository.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHiddenRepository.java
deleted file mode 100644
index 1fda20dc41..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHiddenRepository.java
+++ /dev/null
@@ -1,26 +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 demoapp.dom.domain.actions.Action.hidden;
-
-import java.util.List;
-
-public interface ActionHiddenRepository {
-
-    List<? extends ActionHidden> allInstances();
-}
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHiddenSeeding.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHiddenSeeding.java
deleted file mode 100644
index f8dbd42a54..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHiddenSeeding.java
+++ /dev/null
@@ -1,38 +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 demoapp.dom.domain.actions.Action.hidden;
-
-import javax.inject.Inject;
-
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.seed.SeedServiceAbstract;
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Service
-public class ActionHiddenSeeding
-extends SeedServiceAbstract {
-
-    @Inject
-    public ActionHiddenSeeding(
-            ValueHolderRepository<String, ? extends ActionHidden> entities) {
-        super(entities);
-    }
-
-}
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHidden_changeName.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHidden_changeName.java
deleted file mode 100644
index 9edecd490d..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHidden_changeName.java
+++ /dev/null
@@ -1,47 +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 demoapp.dom.domain.actions.Action.hidden;
-
-import org.apache.causeway.applib.annotation.Action;
-import org.apache.causeway.applib.annotation.MemberSupport;
-
-import lombok.RequiredArgsConstructor;
-
-//tag::class[]
-@Action()                    // <.>
-@RequiredArgsConstructor
-public class ActionHidden_changeName {
-    // ...
-//end::class[]
-
-    private final ActionHidden entity;
-
-    @MemberSupport public ActionHidden act(
-            final String newName) {
-        entity.setName(newName);
-        return entity;
-    }
-
-    public String default0Act() {
-        return entity.getName();
-    }
-//tag::class[]
-}
-//end::class[]
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHidden_changeNameHiddenAllTables.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHidden_changeNameHiddenAllTables.java
deleted file mode 100644
index 5088a8ada0..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHidden_changeNameHiddenAllTables.java
+++ /dev/null
@@ -1,50 +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 demoapp.dom.domain.actions.Action.hidden;
-
-import org.apache.causeway.applib.annotation.Action;
-import org.apache.causeway.applib.annotation.ActionLayout;
-import org.apache.causeway.applib.annotation.MemberSupport;
-import org.apache.causeway.applib.annotation.Where;
-
-import lombok.RequiredArgsConstructor;
-
-//tag::class[]
-@Action // TODO Actions's hidden attribute will be removed in 2.0
-@ActionLayout(hidden = Where.ALL_TABLES)                    // <.>
-@RequiredArgsConstructor
-public class ActionHidden_changeNameHiddenAllTables {
-    // ...
-//end::class[]
-
-    private final ActionHidden entity;
-
-    @MemberSupport public ActionHidden act(
-            final String newName) {
-        entity.setName(newName);
-        return entity;
-    }
-
-    public String default0Act() {
-        return entity.getName();
-    }
-//tag::class[]
-}
-//end::class[]
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHidden_changeNameHiddenEverywhere.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHidden_changeNameHiddenEverywhere.java
deleted file mode 100644
index 4bc0d0ee4a..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHidden_changeNameHiddenEverywhere.java
+++ /dev/null
@@ -1,50 +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 demoapp.dom.domain.actions.Action.hidden;
-
-import org.apache.causeway.applib.annotation.Action;
-import org.apache.causeway.applib.annotation.ActionLayout;
-import org.apache.causeway.applib.annotation.MemberSupport;
-import org.apache.causeway.applib.annotation.Where;
-
-import lombok.RequiredArgsConstructor;
-
-//tag::class[]
-@Action // TODO Actions's hidden attribute will be removed in 2.0
-@ActionLayout(hidden = Where.EVERYWHERE)                    // <.>
-@RequiredArgsConstructor
-public class ActionHidden_changeNameHiddenEverywhere {
-    // ...
-//end::class[]
-
-    private final ActionHidden entity;
-
-    @MemberSupport public ActionHidden act(
-            final String newName) {
-        entity.setName(newName);
-        return entity;
-    }
-
-    public String default0Act() {
-        return entity.getName();
-    }
-//tag::class[]
-}
-//end::class[]
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHidden_changeNameHiddenObjectForms.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHidden_changeNameHiddenObjectForms.java
deleted file mode 100644
index 5cac2d9bca..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHidden_changeNameHiddenObjectForms.java
+++ /dev/null
@@ -1,50 +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 demoapp.dom.domain.actions.Action.hidden;
-
-import org.apache.causeway.applib.annotation.Action;
-import org.apache.causeway.applib.annotation.ActionLayout;
-import org.apache.causeway.applib.annotation.MemberSupport;
-import org.apache.causeway.applib.annotation.Where;
-
-import lombok.RequiredArgsConstructor;
-
-//tag::class[]
-@Action // TODO Actions's hidden attribute will be removed in 2.0
-@ActionLayout(hidden = Where.OBJECT_FORMS)                    // <.>
-@RequiredArgsConstructor
-public class ActionHidden_changeNameHiddenObjectForms {
-    // ...
-//end::class[]
-
-    private final ActionHidden entity;
-
-    @MemberSupport public ActionHidden act(
-            final String newName) {
-        entity.setName(newName);
-        return entity;
-    }
-
-    public String default0Act() {
-        return entity.getName();
-    }
-//tag::class[]
-}
-//end::class[]
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/jpa/ActionHiddenJpa-description.adoc
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/jpa/ActionHiddenJpa-description.adoc
deleted file mode 100644
index 6252938d12..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/jpa/ActionHiddenJpa-description.adoc
+++ /dev/null
@@ -1,3 +0,0 @@
-:Notice: 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 ag [...]
-
-include::../ActionHidden-description.adoc[]
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/jpa/ActionHiddenJpa.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/jpa/ActionHiddenJpa.java
deleted file mode 100644
index 52c76392fb..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/jpa/ActionHiddenJpa.java
+++ /dev/null
@@ -1,69 +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 demoapp.dom.domain.actions.Action.hidden.jpa;
-
-import javax.inject.Named;
-import javax.persistence.Entity;
-import javax.persistence.EntityListeners;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.Table;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-import 
org.apache.causeway.persistence.jpa.applib.integration.CausewayEntityListener;
-
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-import demoapp.dom.domain.actions.Action.hidden.ActionHidden;
-
-@Profile("demo-jpa")
-@Entity
-@Table(
-    schema = "demo",
-    name = "ActionHiddenJpa"
-)
-@EntityListeners(CausewayEntityListener.class)
-@Named("demo.ActionHiddenJpa")
-@NoArgsConstructor
-//tag::class[]
-// ...
-@DomainObject(nature = Nature.ENTITY)
-public class ActionHiddenJpa extends ActionHidden {
-    // ...
-//end::class[]
-
-    public ActionHiddenJpa(String value) {
-        setName(value);
-    }
-
-    @Id
-    @GeneratedValue
-    private Long id;
-
-    @Getter @Setter
-    private String name;
-
-//tag::class[]
-}
-//end::class[]
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/jpa/ActionHiddenJpaEntities.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/jpa/ActionHiddenJpaEntities.java
deleted file mode 100644
index fe5725bcfd..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/jpa/ActionHiddenJpaEntities.java
+++ /dev/null
@@ -1,55 +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 demoapp.dom.domain.actions.Action.hidden.jpa;
-
-import java.util.List;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-import demoapp.dom.domain.actions.Action.hidden.ActionHidden;
-import demoapp.dom.domain.actions.Action.hidden.ActionHiddenRepository;
-
-@Profile("demo-jpa")
-@Service
-public class ActionHiddenJpaEntities
-extends ValueHolderRepository<String, ActionHiddenJpa> implements 
ActionHiddenRepository {
-
-    protected ActionHiddenJpaEntities() {
-        super(ActionHiddenJpa.class);
-    }
-
-    @Override
-    protected ActionHiddenJpa newDetachedEntity(String value) {
-        return new ActionHiddenJpa(value);
-    }
-
-    @Override
-    public List<? extends ActionHidden> allInstances() {
-        return all();
-    }
-
-    public List<? extends ActionHidden> allMatches(final String s) {
-        return all();
-    }
-    public List<? extends ActionHidden> allMatches() {
-        return all();
-    }
-}
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/CollectionMenu.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/CollectionMenu.java
index ae90553da6..c3dc86488a 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/CollectionMenu.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/CollectionMenu.java
@@ -33,7 +33,6 @@ import lombok.RequiredArgsConstructor;
 import lombok.val;
 
 import 
demoapp.dom.domain.collections.Collection.domainEvent.CollectionDomainEventPage;
-import demoapp.dom.domain.collections.Collection.hidden.CollectionHiddenPage;
 import demoapp.dom.domain.collections.Collection.typeOf.CollectionTypeOfPage;
 
 @Named("demo.CollectionMenu")
@@ -60,12 +59,6 @@ public class CollectionMenu {
         return page;
     }
 
-    @Action(semantics = SemanticsOf.SAFE)
-    @ActionLayout(cssClassFa="fa-glasses", describedAs = "Visibility of 
collections")
-    public CollectionHiddenPage hidden(){
-        return new CollectionHiddenPage();
-    }
-
     @Action(semantics = SemanticsOf.SAFE)
     @ActionLayout(cssClassFa="fa-shapes", describedAs = "Element type of 
collections")
     public CollectionTypeOfPage typeOf(){
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/hidden/CollectionHiddenPage-description.adoc
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/hidden/CollectionHiddenPage-description.adoc
deleted file mode 100644
index 74e984fb70..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/hidden/CollectionHiddenPage-description.adoc
+++ /dev/null
@@ -1,6 +0,0 @@
-:Notice: 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 ag [...]
-
-The `hidden` attribute ...
-
-WARNING: TODO[CAUSEWAY-3311]
-Indicates when the collection is not visible to the user.
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/hidden/CollectionHiddenPage.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/hidden/CollectionHiddenPage.java
deleted file mode 100644
index f9c268968e..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/hidden/CollectionHiddenPage.java
+++ /dev/null
@@ -1,69 +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 demoapp.dom.domain.collections.Collection.hidden;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.inject.Named;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-
-import org.apache.causeway.applib.annotation.Collection;
-import org.apache.causeway.applib.annotation.CollectionLayout;
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.Nature;
-import org.apache.causeway.applib.annotation.ObjectSupport;
-import org.apache.causeway.applib.annotation.Where;
-
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
-import demoapp.dom.domain._entities.DemoEntity;
-
-//tag::class[]
-@DomainObject(
-        nature=Nature.VIEW_MODEL,
-        editing = Editing.ENABLED)
-@Named("demo.CollectionHiddenVm")
-@XmlRootElement(name = "root")
-@XmlType
-@XmlAccessorType(XmlAccessType.FIELD)
-@NoArgsConstructor
-public class CollectionHiddenPage implements HasAsciiDocDescription {
-
-    @ObjectSupport public String title() {
-        return "@Collection#hidden";
-    }
-
-//tag::collection[]
-    @Collection // TODO Collection's hidden attribute will be removed in 2.0
-    @CollectionLayout(hidden = Where.PARENTED_TABLES)
-    @XmlTransient
-    @Getter @Setter
-    private List<DemoEntity> collection = new ArrayList<>();
-//end::collection[]
-}
-//end::class[]
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/hidden/CollectionHiddenPage.layout.xml
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/hidden/CollectionHiddenPage.layout.xml
deleted file mode 100644
index e6cee971cc..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/hidden/CollectionHiddenPage.layout.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!-- 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. -->
-<bs3:grid
-        
xsi:schemaLocation="https://causeway.apache.org/applib/layout/component 
https://causeway.apache.org/applib/layout/component/component.xsd   
https://causeway.apache.org/applib/layout/grid/bootstrap3 
https://causeway.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd";
-        xmlns:bs3="https://causeway.apache.org/applib/layout/grid/bootstrap3";
-        xmlns:cpt="https://causeway.apache.org/applib/layout/component";
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
-
-
-       <bs3:row>
-               <bs3:col span="10" unreferencedActions="true">
-                       <cpt:domainObject />
-               </bs3:col>
-               <bs3:col span="2">
-                       <cpt:fieldSet name="" id="sources" />
-               </bs3:col>
-       </bs3:row>
-
-       <bs3:row>
-               <bs3:col span="6">
-                       <cpt:fieldSet name="Annotated" id="annotation"/>
-                       <cpt:fieldSet name="Variants" id="variants"/>
-                       <cpt:fieldSet name="Contributed" id="contributed"/>
-                       <cpt:fieldSet name="Meta-annotated" 
id="meta-annotated"/>
-                       <cpt:fieldSet name="Meta-annotated Overridden" 
id="meta-annotated-overridden"/>
-                       <cpt:fieldSet name="Other" id="other" 
unreferencedProperties="true"/>
-                       <cpt:collection id="children">
-                               <cpt:action id="returnsChildren"/>
-                       </cpt:collection>
-               </bs3:col>
-               <bs3:col span="6">
-                       <cpt:fieldSet name="Description" id="description" >
-                               <cpt:action id="clearHints" position="PANEL" />
-                               <cpt:action id="rebuildMetamodel" 
position="PANEL"/>
-                               <cpt:action id="downloadLayout"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="inspectMetamodel"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="downloadMetamodelXml"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="downloadJdoMetamodel"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="recentCommands"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="recentExecutions"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="recentAuditTrailEntries"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="impersonateWithRoles"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="openRestApi" 
position="PANEL_DROPDOWN" />
-                               <cpt:property id="description"/>
-                       </cpt:fieldSet>
-               </bs3:col>
-       </bs3:row>
-       <bs3:row>
-               <bs3:col span="12" unreferencedCollections="true"/>
-       </bs3:row>
-
-</bs3:grid>
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/PropertyMenu.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/PropertyMenu.java
index 45b22a4e15..f01a01db81 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/PropertyMenu.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/PropertyMenu.java
@@ -42,7 +42,6 @@ import 
demoapp.dom.domain.properties.Property.editing.PropertyEditingPage;
 import 
demoapp.dom.domain.properties.Property.editingReasonDisabled.PropertyEditingReasonDisabledPage;
 import 
demoapp.dom.domain.properties.Property.executionPublishing.PropertyExecutionPublishingPage;
 import 
demoapp.dom.domain.properties.Property.fileAccept.PropertyFileAcceptPage;
-import demoapp.dom.domain.properties.Property.hidden.PropertyHiddenPage;
 import demoapp.dom.domain.properties.Property.maxLength.PropertyMaxLengthPage;
 import 
demoapp.dom.domain.properties.Property.mustSatisfy.PropertyMustSatisfyPage;
 import 
demoapp.dom.domain.properties.Property.optionality.PropertyOptionalityPage;
@@ -118,12 +117,6 @@ public class PropertyMenu {
         return vm;
     }
 
-    @Action(semantics = SemanticsOf.SAFE)
-    @ActionLayout(cssClassFa="fa-glasses", describedAs = "Visibility of 
properties in different contexts")
-    public PropertyHiddenPage hidden() {
-        return new PropertyHiddenPage();
-    }
-
     @Action(semantics = SemanticsOf.SAFE)
     @ActionLayout(cssClassFa="fa-ruler-horizontal", describedAs = "Length of 
text fields")
     public PropertyMaxLengthPage maxLength(){
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHidden-description.adoc
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHidden-description.adoc
deleted file mode 100644
index 1d51454731..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHidden-description.adoc
+++ /dev/null
@@ -1,42 +0,0 @@
-:Notice: Licensed to the Apache 1Software 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 a [...]
-
-This domain class is used in the demo of `@Property#hidden`.
-
-=== How this demo works
-
-This entity defines four properties, and depending upon context, they may be 
visible on an object form or when rendered in a collection.
-
-From this page, you can inspect the visibility of the actions from the context 
of an object form:
-
-* `hidden` not specified:
-+
-[source,java,indent=0]
-----
-include::PropertyHidden.java[tags=none]
-----
-<.> property _should_ be visible for this entity on both object forms and 
collections.
-
-* `hidden` on object forms, but not hidden in collections:
-+
-[source,java,indent=0]
-----
-include::PropertyHidden.java[tags=object-forms]
-----
-<.> property should _NOT_ be visible on this page
-
-* `hidden` on collections:
-+
-[source,java,indent=0]
-----
-include::PropertyHidden.java[tags=all-tables]
-----
-<.> property _should_ be visible on this page.
-
-* `hidden` everywhere:
-+
-[source,java,indent=0]
-----
-include::PropertyHidden.java[tags=everywhere]
-----
-<.> property should never be visible for this entity
-
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHidden.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHidden.java
deleted file mode 100644
index 7d32769709..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHidden.java
+++ /dev/null
@@ -1,77 +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 demoapp.dom.domain.properties.Property.hidden;
-
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.Where;
-
-import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
-import demoapp.dom._infra.values.ValueHolder;
-
-//tag::class[]
-public abstract class PropertyHidden
-//end::class[]
-        implements
-        HasAsciiDocDescription,
-        ValueHolder<String>
-//tag::class[]
-{
-    // ...
-//end::class[]
-    public String title() {
-        return value();
-    }
-
-    @Override
-    public String value() {
-        return getName();
-    }
-
-
-//tag::none[]
-    @Property()                                     // <.>
-    public abstract String getName();
-    public abstract void setName(String value);
-//end::none[]
-
-//tag::object-forms[]
-    @Property //TODO property's hidden attribute will be removed in 2.0-final
-    @PropertyLayout(hidden = Where.OBJECT_FORMS)          // <.>
-    public abstract String getNameHiddenObjectForms();
-    public abstract void setNameHiddenObjectForms(String value);
-//end::object-forms[]
-
-//tag::all-tables[]
-    @Property //TODO property's hidden attribute will be removed in 2.0-final
-    @PropertyLayout(hidden = Where.ALL_TABLES)            // <.>
-    public abstract String getNameHiddenAllTables();
-    public abstract void setNameHiddenAllTables(String value);
-//end::all-tables[]
-
-//tag::everywhere[]
-    @Property //TODO property's hidden attribute will be removed in 2.0-final
-    @PropertyLayout(hidden = Where.EVERYWHERE)            // <.>
-    public abstract String getNameHiddenEverywhere();
-    public abstract void setNameHiddenEverywhere(String value);
-//end::everywhere[]
-
-//tag::class[]
-}
-//end::class[]
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHidden.layout.xml
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHidden.layout.xml
deleted file mode 100644
index 3b16f6bd2c..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHidden.layout.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!-- 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. -->
-<bs3:grid
-        
xsi:schemaLocation="https://causeway.apache.org/applib/layout/component 
https://causeway.apache.org/applib/layout/component/component.xsd   
https://causeway.apache.org/applib/layout/grid/bootstrap3 
https://causeway.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd";
-        xmlns:bs3="https://causeway.apache.org/applib/layout/grid/bootstrap3";
-        xmlns:cpt="https://causeway.apache.org/applib/layout/component";
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
-
-       <bs3:row>
-               <bs3:col span="10" unreferencedActions="true">
-                       <cpt:domainObject />
-               </bs3:col>
-               <bs3:col span="2">
-                       <cpt:fieldSet name="" id="sources" />
-               </bs3:col>
-       </bs3:row>
-
-       <bs3:row>
-               <bs3:col span="6">
-                       <bs3:tabGroup>
-                               <bs3:tab name="General">
-                                       <bs3:row>
-                                               <bs3:col span="12">
-                                                       <cpt:fieldSet 
name="General" id="general" >
-                                                               <cpt:property 
id="name"/>
-                                                               <cpt:property 
id="nameHiddenObjectForms"/>
-                                                               <cpt:property 
id="nameHiddenAllTables"/>
-                                                               <cpt:property 
id="nameHiddenEverywhere"/>
-                                                       </cpt:fieldSet>
-                                               </bs3:col>
-                                       </bs3:row>
-                               </bs3:tab>
-                               <bs3:tab name="Metadata">
-                                       <bs3:row>
-                                               <bs3:col span="12">
-                                                       <cpt:fieldSet 
name="Metadata" id="metadata" >
-                                                               <cpt:property 
id="id"/>
-                                                               <cpt:property 
id="logicalTypeName"/>
-                                                               <cpt:property 
id="version"/>
-                                                       </cpt:fieldSet>
-                                               </bs3:col>
-                                       </bs3:row>
-                               </bs3:tab>
-                               <bs3:tab name="Other">
-                                       <bs3:row>
-                                               <bs3:col span="12">
-                                                       <cpt:fieldSet 
name="Other" id="other" unreferencedProperties="true"/>
-                                               </bs3:col>
-                                       </bs3:row>
-                               </bs3:tab>
-                       </bs3:tabGroup>
-               </bs3:col>
-               <bs3:col span="6">
-                       <cpt:fieldSet name="Description" id="description" >
-                               <cpt:action id="clearHints" position="PANEL" />
-                               <cpt:action id="rebuildMetamodel" 
position="PANEL"/>
-                               <cpt:action id="downloadLayout"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="inspectMetamodel"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="downloadMetamodelXml"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="downloadJdoMetamodel"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="recentCommands"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="recentExecutions"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="recentAuditTrailEntries"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="impersonateWithRoles"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="openRestApi" 
position="PANEL_DROPDOWN" />
-                               <cpt:property id="description"/>
-                       </cpt:fieldSet>
-               </bs3:col>
-       </bs3:row>
-       <bs3:row>
-               <bs3:col span="12">
-                       <cpt:collection id="publishedCommands"/>
-               </bs3:col>
-       </bs3:row>
-       <bs3:row>
-               <bs3:col span="12" unreferencedCollections="true"/>
-       </bs3:row>
-
-</bs3:grid>
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHiddenPage-description.adoc
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHiddenPage-description.adoc
deleted file mode 100644
index 203662c738..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHiddenPage-description.adoc
+++ /dev/null
@@ -1,57 +0,0 @@
-:Notice: 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 ag [...]
-
-The 
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/Property.html#hidden[@Property#hidden]
 element specifies whether a property should be visible in the UI or not.
-
-=== How this demo works
-
-The collection on the left hand side shows a set of domain objects.
-That domain object defines four properties, and depending upon context, they 
may be visible on an object form or when rendered in a collection.
-From this page, you can inspect the visibility of the actions from the context 
of a parented collection.
-
-Navigate into each domain object to inspect the visibility of the actions on 
an object form.
-
-The four properties are:
-
-* `hidden` not specified:
-+
-[source,java,indent=0]
-----
-include::PropertyHidden.java[tags=none]
-----
-<.> property should be visible for this entity on both object forms and 
collections.
-
-* `hidden` on object forms, but not hidden in collections:
-+
-[source,java,indent=0]
-----
-include::PropertyHidden.java[tags=object-forms]
-----
-<.> property _should_ be visible in the table
-
-* `hidden` on collections:
-+
-[source,java,indent=0]
-----
-include::PropertyHidden.java[tags=all-tables]
-----
-<.> property should _NOT_ be visible in the table.
-
-* `hidden` everywhere:
-+
-[source,java,indent=0]
-----
-include::PropertyHidden.java[tags=everywhere]
-----
-<.> property should never be visible for this entity
-
-If you navigate into these domain objects then different properties will be 
visble due to the changed context.
-
-[TIP]
-.What is the difference between a hidden property and one annotated with 
`@Programmatic` ?
-====
-Although there is no difference in the UI, a hidden property _is_ part of the 
metadamodel while a 
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/Programmatic.html#hidden[@Programmatic]
 property is not.
-
-A rare (but valid) use case is to invoke such a hidden property using the 
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/services/wrapper/WrapperFactory.html#wrap(t,-synccontrol)[WrapperFactory]
 (skipping rules).
-This can be for example to publish executions to any registered 
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/services/publishing/spi/ExecutionSubscriber.html[ExecutionSubscriber]s.
-====
-
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHiddenPage.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHiddenPage.java
deleted file mode 100644
index b81e348dd1..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHiddenPage.java
+++ /dev/null
@@ -1,53 +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 demoapp.dom.domain.properties.Property.hidden;
-
-import javax.inject.Named;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-import org.apache.causeway.applib.annotation.ObjectSupport;
-
-import lombok.NoArgsConstructor;
-
-import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
-
-@XmlRootElement(name = "root")
-@XmlType
-@XmlAccessorType(XmlAccessType.FIELD)
-@Named("demo.PropertyHiddenPage")
-@DomainObject(
-    nature=Nature.VIEW_MODEL)
-@NoArgsConstructor
-//tag::class[]
-public class PropertyHiddenPage implements HasAsciiDocDescription {
-    // ...
-//end::class[]
-
-    @ObjectSupport public String title() {
-        return "@Property#hidden";
-    }
-
-//tag::class[]
-}
-//end::class[]
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHiddenPage.layout.xml
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHiddenPage.layout.xml
deleted file mode 100644
index d3f19a9c14..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHiddenPage.layout.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!-- 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. -->
-<bs3:grid
-        
xsi:schemaLocation="https://causeway.apache.org/applib/layout/component 
https://causeway.apache.org/applib/layout/component/component.xsd   
https://causeway.apache.org/applib/layout/grid/bootstrap3 
https://causeway.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd";
-        xmlns:bs3="https://causeway.apache.org/applib/layout/grid/bootstrap3";
-        xmlns:cpt="https://causeway.apache.org/applib/layout/component";
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
-
-       <bs3:row>
-               <bs3:col span="10" unreferencedActions="true">
-                       <cpt:domainObject />
-               </bs3:col>
-               <bs3:col span="2">
-                       <cpt:fieldSet name="" id="sources" />
-               </bs3:col>
-       </bs3:row>
-
-       <bs3:row>
-               <bs3:col span="6">
-                       <cpt:fieldSet name="Other" id="other" 
unreferencedProperties="true"/>
-                       <cpt:collection id="objects"/>
-               </bs3:col>
-               <bs3:col span="6">
-                       <cpt:fieldSet name="Description" id="description" >
-                               <cpt:action id="clearHints" position="PANEL" />
-                               <cpt:action id="rebuildMetamodel" 
position="PANEL"/>
-                               <cpt:action id="downloadLayout"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="inspectMetamodel"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="downloadMetamodelXml"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="downloadJdoMetamodel"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="recentCommands"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="recentExecutions"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="recentAuditTrailEntries"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="impersonateWithRoles"  
position="PANEL_DROPDOWN"/>
-                               <cpt:action id="openRestApi" 
position="PANEL_DROPDOWN" />
-                               <cpt:property id="description"/>
-                       </cpt:fieldSet>
-               </bs3:col>
-       </bs3:row>
-       <bs3:row>
-               <bs3:col span="12" unreferencedCollections="true"/>
-       </bs3:row>
-
-</bs3:grid>
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHiddenPage_objects.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHiddenPage_objects.java
deleted file mode 100644
index 5d207174b2..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHiddenPage_objects.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package demoapp.dom.domain.properties.Property.hidden;
-
-import java.util.List;
-
-import javax.inject.Inject;
-
-import org.apache.causeway.applib.annotation.Collection;
-import org.apache.causeway.applib.annotation.MemberSupport;
-
-import lombok.RequiredArgsConstructor;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-//tag::class[]
-@Collection()
-@RequiredArgsConstructor
-public class PropertyHiddenPage_objects {
-
-    @SuppressWarnings("unused")
-    private final PropertyHiddenPage page;
-
-    @MemberSupport public List<? extends PropertyHidden> coll() {
-        return objectRepository.all();
-    }
-
-    @Inject ValueHolderRepository<String, ? extends PropertyHidden> 
objectRepository;
-}
-//end::class[]
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHiddenRepository.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHiddenRepository.java
deleted file mode 100644
index 98db0955b3..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHiddenRepository.java
+++ /dev/null
@@ -1,26 +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 demoapp.dom.domain.properties.Property.hidden;
-
-import java.util.List;
-
-public interface PropertyHiddenRepository {
-
-    List<? extends PropertyHidden> allInstances();
-}
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHiddenSeeding.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHiddenSeeding.java
deleted file mode 100644
index 93a06a8417..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHiddenSeeding.java
+++ /dev/null
@@ -1,40 +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 demoapp.dom.domain.properties.Property.hidden;
-
-import javax.inject.Inject;
-
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.seed.SeedServiceAbstract;
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Service
-public class PropertyHiddenSeeding
-extends SeedServiceAbstract {
-
-    @Inject
-    public PropertyHiddenSeeding(
-            ValueHolderRepository<String, ? extends PropertyHidden> entities) {
-        super(entities);
-    }
-
-
-
-}
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/jpa/PropertyHiddenJpa-description.adoc
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/jpa/PropertyHiddenJpa-description.adoc
deleted file mode 100644
index 8ce21fa386..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/jpa/PropertyHiddenJpa-description.adoc
+++ /dev/null
@@ -1,3 +0,0 @@
-:Notice: 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 ag [...]
-
-include::../PropertyHidden-description.adoc[]
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/jpa/PropertyHiddenJpa.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/jpa/PropertyHiddenJpa.java
deleted file mode 100644
index 244db1706e..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/jpa/PropertyHiddenJpa.java
+++ /dev/null
@@ -1,92 +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 demoapp.dom.domain.properties.Property.hidden.jpa;
-
-import javax.inject.Named;
-import javax.persistence.Entity;
-import javax.persistence.EntityListeners;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.Table;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.Where;
-import 
org.apache.causeway.persistence.jpa.applib.integration.CausewayEntityListener;
-
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-import demoapp.dom.domain.properties.Property.hidden.PropertyHidden;
-
-@Profile("demo-jpa")
-@Entity
-@Table(
-    schema = "demo",
-    name = "PropertyHiddenJpa"
-)
-@EntityListeners(CausewayEntityListener.class)
-@Named("demo.PropertyHiddenJpa")
-@NoArgsConstructor
-//tag::class[]
-// ...
-@DomainObject(nature = Nature.ENTITY)
-public class PropertyHiddenJpa extends PropertyHidden {
-    // ...
-//end::class[]
-
-    public PropertyHiddenJpa(final String value) {
-        setName(value);
-        setNameHiddenAllTables(value);
-        setNameHiddenEverywhere(value);
-        setNameHiddenObjectForms(value);
-    }
-
-    @Id
-    @GeneratedValue
-    private Long id;
-
-    @Property()
-    @Getter @Setter
-    private String name;
-
-    @Property // TODO Property's hidden attribute will be removed in 2.0
-    @PropertyLayout(hidden = Where.ALL_TABLES)
-    @Getter @Setter
-    private String nameHiddenAllTables;
-
-    @Property // TODO Property's hidden attribute will be removed in 2.0
-    @PropertyLayout(hidden = Where.EVERYWHERE)
-    @Getter @Setter
-    private String nameHiddenEverywhere;
-
-    @Property // TODO Property's hidden attribute will be removed in 2.0
-    @PropertyLayout(hidden = Where.OBJECT_FORMS)
-    @Getter @Setter
-    private String nameHiddenObjectForms;
-
-
-//tag::class[]
-}
-//end::class[]
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/jpa/PropertyHiddenJpaEntities.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/jpa/PropertyHiddenJpaEntities.java
deleted file mode 100644
index f6cde70b51..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/jpa/PropertyHiddenJpaEntities.java
+++ /dev/null
@@ -1,55 +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 demoapp.dom.domain.properties.Property.hidden.jpa;
-
-import java.util.List;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-import demoapp.dom.domain.properties.Property.hidden.PropertyHidden;
-import demoapp.dom.domain.properties.Property.hidden.PropertyHiddenRepository;
-
-@Profile("demo-jpa")
-@Service
-public class PropertyHiddenJpaEntities
-extends ValueHolderRepository<String, PropertyHiddenJpa> implements 
PropertyHiddenRepository {
-
-    protected PropertyHiddenJpaEntities() {
-        super(PropertyHiddenJpa.class);
-    }
-
-    @Override
-    protected PropertyHiddenJpa newDetachedEntity(String value) {
-        return new PropertyHiddenJpa(value);
-    }
-
-    @Override
-    public List<? extends PropertyHidden> allInstances() {
-        return all();
-    }
-
-    public List<? extends PropertyHidden> allMatches(final String s) {
-        return all();
-    }
-    public List<? extends PropertyHidden> allMatches() {
-        return all();
-    }
-}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/menubars.layout.xml 
b/examples/demo/domain/src/main/java/demoapp/dom/menubars.layout.xml
index fc6f55b071..95943b0dc4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/menubars.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/menubars.layout.xml
@@ -58,7 +58,6 @@ For latest we use: 
https://raw.githubusercontent.com/apache/causeway/master/anto
                 <mb3:serviceAction objectType="demo.ActionMenu" 
id="commandPublishing"/>
                 <mb3:serviceAction objectType="demo.ActionMenu" 
id="domainEvent"/>
                 <mb3:serviceAction objectType="demo.ActionMenu" 
id="executionPublishing"/>
-                <mb3:serviceAction objectType="demo.ActionMenu" id="hidden"/>
                 <mb3:serviceAction objectType="demo.ActionMenu" 
id="restrictTo"/>
                 <mb3:serviceAction objectType="demo.ActionMenu" 
id="semantics"/>
                 <mb3:serviceAction objectType="demo.ActionMenu" id="typeOf"/>
@@ -89,7 +88,6 @@ For latest we use: 
https://raw.githubusercontent.com/apache/causeway/master/anto
                 <mb3:serviceAction objectType="demo.PropertyMenu" 
id="editingReasonDisabled"/>
                 <mb3:serviceAction objectType="demo.PropertyMenu" 
id="executionPublishing"/>
                 <mb3:serviceAction objectType="demo.PropertyMenu" 
id="fileAccept"/>
-                <mb3:serviceAction objectType="demo.PropertyMenu" id="hidden"/>
                 <mb3:serviceAction objectType="demo.PropertyMenu" 
id="maxLength"/>
                 <mb3:serviceAction objectType="demo.PropertyMenu" 
id="mustSatisfy"/>
                 <mb3:serviceAction objectType="demo.PropertyMenu" 
id="optionality"/>
@@ -117,7 +115,6 @@ For latest we use: 
https://raw.githubusercontent.com/apache/causeway/master/anto
             <mb3:section>
                 <mb3:named>@Collection</mb3:named>
                 <mb3:serviceAction objectType="demo.CollectionMenu" 
id="domainEvent"/>
-                <mb3:serviceAction objectType="demo.CollectionMenu" 
id="hidden"/>
                 <mb3:serviceAction objectType="demo.CollectionMenu" 
id="typeOf"/>
             </mb3:section>
             <mb3:section>

Reply via email to