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

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

commit 2f0c05d13c728adfb52941dae0e67a8cec1720a4
Author: danhaywood <[email protected]>
AuthorDate: Mon Apr 24 12:15:03 2023 +0100

    CAUSEWAY-2485: simplifies @PropertyLayout#typicalLength
---
 .../PropertyLayout/PropertyLayoutMenu.java         |  10 +-
 ...ropertyLayoutTypicalLengthPage-description.adoc | 123 +++------------------
 .../PropertyLayoutTypicalLengthPage.java           |  38 +------
 .../PropertyLayoutTypicalLengthPage.layout.xml     |  11 +-
 ...pertyLayoutTypicalLengthPage_mixinProperty.java |  47 --------
 ...LengthPage_mixinPropertyWithMetaAnnotation.java |  47 --------
 ..._mixinPropertyWithMetaAnnotationOverridden.java |  48 --------
 ...ropertyLayoutTypicalLengthPage_updateName.java} |  18 +--
 ...TypicalLengthPage_updateWithMetaAnnotation.java |  58 ----------
 ...gthPage_updateWithMetaAnnotationOverridden.java |  60 ----------
 .../typicalLength/TypicalLengthMetaAnnotation.java |  43 -------
 11 files changed, 38 insertions(+), 465 deletions(-)

diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/PropertyLayoutMenu.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/PropertyLayoutMenu.java
index 1ba39c7162..57260086b0 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/PropertyLayoutMenu.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/PropertyLayoutMenu.java
@@ -144,12 +144,10 @@ public class PropertyLayoutMenu {
     @Action(semantics = SemanticsOf.SAFE)
     @ActionLayout(cssClassFa="fa-ruler-horizontal", describedAs = "Length of 
text fields")
     public PropertyLayoutTypicalLengthPage typicalLength(){
-        val vm = new PropertyLayoutTypicalLengthPage();
-        vm.setPropertyUsingAnnotation("abcdefghij");
-        vm.setPropertyUsingLayout("abcdefghij");
-        vm.setPropertyUsingMetaAnnotation("abcdefghij");
-        vm.setPropertyUsingMetaAnnotationButOverridden("abcdefghij");
-        return vm;
+        val page = new PropertyLayoutTypicalLengthPage();
+        page.setName("abcdefghij");
+        page.setNotes("abcdefghij");
+        return page;
     }
 
 
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage-description.adoc
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage-description.adoc
index c25e45a9ac..0d4ece3c51 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage-description.adoc
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage-description.adoc
@@ -2,9 +2,11 @@
 
 The `typicalLength` attribute is intended to indicate the size that a 
textfield should be rendered as a visual indicator of the expected length:
 
-* for properties, the attribute can be specified using either the 
`@PropertyLayout` annotation, or using the `Xxx.layout.xml` layout file.
+* for properties, the typical length can be specified using the 
link:https://causeway.apache.org/refguide/2.0.0-RC1/applib/index/annotation/PropertyLayout.html#typicallength[@PropertyLayout#typicalLength]
 attribute, or using the 
link:https://causeway.apache.org/userguide/2.0.0-RC1/fun/ui.html#by-example[.layout.xml]
 layout file.
 
-* for parameters, the attribute can be specified using either the 
`@ParameterLayout` annotation.
+* for parameters, the typical length can be specified using the 
link:https://causeway.apache.org/refguide/2.0.0-RC1/applib/index/annotation/PropertyLayout.html#typicallength[@ParameterLayout#typicalLength]
 annotation.
+
+Note that 
link:https://causeway.apache.org/refguide/2.0.0-RC1/applib/index/annotation/PropertyLayout.html#maxlength[@PropertyLayout#maxLength]
 and `@PropertyLayout#typicalLength()` are not related - the first prevents the 
property from holding more than the specified number of characters, the latter 
is a layout hint relating to the size of the textfield.
 
 [CAUTION]
 ====
@@ -13,36 +15,33 @@ The Wicket viewer does not use this hint, instead 
preferring to render all textf
 In other words, providing this hint has no impact on the UI (as rendered by 
the Wicket viewer, at least).
 ====
 
-[NOTE]
-====
-`@Property#maxLength()` and `@PropertyLayout#typicalLength()` are not related 
- the first prevents the property from holding more than the specified number 
of characters, the latter is a layout hint relating to the size of the 
textfield.
-====
+== How this demo works
 
-== Annotated
+This page has two editable properties, `name` and `notes`.
+Both have the `typicalLength` attribute, using either an annotation or the 
`.layout.xml` file.
+The `name` property can also be updated using an action, where the action 
parameter also specifies the typical length.
 
-The `typicalLength` attribute can be specified explicitly using an annotation:
+In terms of code:
 
-* for properties, using `@PropertyLayout#typicalLength()`:
+* for the `name` property:
 +
 [source,java,indent=0]
 ----
 include::PropertyLayoutTypicalLengthPage.java[tags=annotation]
 ----
-<.> explicitly specifies that the property should use a textbox
+<.> explicitly specifies the typical length
 
-* for parameters, using `@ParameterLayout#typicalLength()`:
+* for the action that updates the `name` property:
 +
 [source,java,indent=0]
 ----
-include::PropertyLayoutTypicalLengthPage_updateWithParameterLayout.java[tags=annotation]
+include::PropertyLayoutTypicalLengthPage_updateName.java[tags=annotation]
 ----
-<.> explicitly specifies that the parameter should use a textbox
-
-== Layout File
+<.> explicitly specifies the typical length
 
-For properties (not parameters), the `typicalLength` attribute can be 
specified using the `Xxx.layout.xml` file:
+* for the `notes` property:
 
-* property definition:
+** the property has no annotations:
 +
 [source,java,indent=0]
 ----
@@ -50,98 +49,12 @@ 
include::PropertyLayoutTypicalLengthPage.java[tags=layout-file]
 ----
 <.> `typicalLength` hint is _not_ present.
 
-* layout file snippet:
+** instead, the attribute is specified in the layout file:
 +
 [source,xml,indent=0,tabsize=4]
 ----
-<cpt:property id="propertyUsingLayout" typicalLength="10"/>
+<cpt:property id="notes" typicalLength="10"/>
 ----
-// TODO: for some reason this doesn't include correctly in the app...
-//include::PropertyLayoutTypicalLengthPage.layout.xml[tags=layout-file]
 
 One advantage of the layout file over the annotation is that the layout file 
is dynamic: it can be modified and the changes reloaded in a running 
application.
 
-TIP: It is sometimes necessary to invoke the `Rebuild Metamodel` action to see 
this take effect.
-
-== Contributed
-
-The `@PropertyLayout` can also be applied at the class-level to mixin 
properties:.
-
-[source,java,indent=0]
-----
-include::PropertyLayoutTypicalLengthPage_mixinProperty.java[tags=class]
-----
-<.> explicitly specifies that the contributed property should use a textbox
-
-== Meta-annotated
-
-The `typicalLength` attribute can also be specified using a custom 
meta-annotation:
-
-* the meta-annotation is defined as:
-+
-[source,java]
-----
-include::TypicalLengthMetaAnnotation.java[tags=class]
-----
-<.> annotated for a property ...
-<.> \... and for a parameter.
-<.> annotation can be applied to a property (either its getter or the field 
directly)
-<.> annotation can be applied to a parameter
-<.> annotation can be applied to a type (ie, meta-meta annotations recursively)
-
-* and can be applied to a property:
-+
-[source,java,indent=0]
-----
-include::PropertyLayoutTypicalLengthPage.java[tags=meta-annotated]
-----
-<.> hint is inherited from the meta-annotation
-
-* or can be applied to a parameter:
-+
-[source,java,indent=0]
-----
-include::PropertyLayoutTypicalLengthPage_updateWithMetaAnnotation.java[tags=meta-annotation]
-----
-<.> hint is inherited from the meta-annotation
-
-* or can be applied to mixin:
-+
-[source,java,indent=0]
-----
-include::PropertyLayoutTypicalLengthPage_mixinPropertyWithMetaAnnotation.java[tags=class]
-----
-<.> hint is inherited from the meta-annotation
-
-=== Meta-annotated Overridden
-
-The meta-annotation can itself be overridden:
-
-* in a property:
-+
-[source,java,indent=0]
-----
-include::PropertyLayoutTypicalLengthPage.java[tags=meta-annotated-overridden]
-----
-<.> hint from meta-annotation ...
-<.> \... is overridden by the `@PropertyLayout` annotation
-
-* or a parameter:
-+
-[source,java,indent=0]
-----
-include::PropertyLayoutTypicalLengthPage_updateWithMetaAnnotationOverridden.java[tags=meta-annotation-overridden]
-----
-<.> hint from meta-annotation ...
-<.> \... is overridden by the `@ParameterLayout` annotation
-
-
-* or a mixin:
-+
-[source,java,indent=0]
-----
-include::PropertyLayoutTypicalLengthPage_mixinPropertyWithMetaAnnotationOverridden.java[tags=meta-annotation-overridden]
-----
-<.> hint from meta-annotation ...
-<.> \... is overridden by the `@PropertyLayout` annotation
-
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage.java
index 2862f2d8fc..ef4e5639ec 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage.java
@@ -42,7 +42,7 @@ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 @XmlRootElement(name = "root")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@Named("demo.PropertyLayoutTypicalLengthVm")
+@Named("demo.PropertyLayoutTypicalLengthPage")
 @DomainObject(
         nature=Nature.VIEW_MODEL,
         editing = Editing.ENABLED)
@@ -56,48 +56,20 @@ public class PropertyLayoutTypicalLengthPage implements 
HasAsciiDocDescription {
     @Property(optionality = Optionality.OPTIONAL)
     @PropertyLayout(
         typicalLength = 10                                  // <.>
-        , describedAs =
-            "@PropertyLayout(typicalLength = 10)",
-        fieldSetId = "annotation", sequence = "1")
+    )
     @XmlElement(required = false)
     @Getter @Setter
-    private String propertyUsingAnnotation;
+    private String name;
 //end::annotation[]
 
 //tag::layout-file[]
     @Property(optionality = Optionality.OPTIONAL)
-    @PropertyLayout(                                        // <.>
-        describedAs =
-            "<cpt:property id=\"...\" typicalLength=\"10\"/>",
-        fieldSetId = "layout-file", sequence = "1")
+    @PropertyLayout(multiLine = 5)                          // <.>
     @XmlElement(required = false)
     @Getter @Setter
-    private String propertyUsingLayout;
+    private String notes;
 //end::layout-file[]
 
-//tag::meta-annotated[]
-    @TypicalLengthMetaAnnotation                            // <.>
-    @Property(optionality = Optionality.OPTIONAL)
-    @PropertyLayout(
-        describedAs = "@TypicalLengthMetaAnnotation",
-        fieldSetId = "meta-annotated", sequence = "1")
-    @XmlElement(required = false)
-    @Getter @Setter
-    private String propertyUsingMetaAnnotation;
-//end::meta-annotated[]
-
-//tag::meta-annotated-overridden[]
-    @TypicalLengthMetaAnnotation                            // <.>
-    @Property(optionality = Optionality.OPTIONAL)
-    @PropertyLayout(
-        typicalLength = 5                                   // <.>
-        , describedAs =
-            "@TypicalLengthMetaAnnotation @PropertyLayout(...)",
-        fieldSetId = "meta-annotated-overridden", sequence = "1")
-    @XmlElement(required = false)
-    @Getter @Setter
-    private String propertyUsingMetaAnnotationButOverridden;
-//end::meta-annotated-overridden[]
 
 }
 //end::class[]
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage.layout.xml
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage.layout.xml
index 75f7be6cd1..5fe5edf350 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage.layout.xml
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage.layout.xml
@@ -26,15 +26,14 @@
 
        <bs3:row>
                <bs3:col span="6">
-                       <cpt:fieldSet name="Annotated" id="annotation"/>
-                       <cpt:fieldSet name="Layout File" id="layout-file">
+                       <cpt:fieldSet name="General" id="general">
+                <cpt:property id="name"/>
+            </cpt:fieldSet>
+                       <cpt:fieldSet name="Detail" id="detail">
 <!-- tag::layout-file[] -->
-                               <cpt:property id="propertyUsingLayout" 
typicalLength="10"/>
+                               <cpt:property id="notes" typicalLength="10"/>
 <!-- end::layout-file[] -->
                        </cpt:fieldSet>
-                       <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"/>
                </bs3:col>
                <bs3:col span="6">
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage_mixinProperty.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage_mixinProperty.java
deleted file mode 100644
index dd0bbd8e26..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage_mixinProperty.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.properties.PropertyLayout.typicalLength;
-
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-
-import lombok.RequiredArgsConstructor;
-
-//tag::class[]
-@Property()
-@PropertyLayout(
-    typicalLength = 10                      // <.>
-    , describedAs =
-        "@PropertyLayout(typicalLength = 10)",
-    fieldSetId = "contributed", sequence = "1"
-)
-@RequiredArgsConstructor
-public class PropertyLayoutTypicalLengthPage_mixinProperty {
-    // ...
-//end::class[]
-
-    private final PropertyLayoutTypicalLengthPage page;
-
-    public String prop() {
-        return page.getPropertyUsingAnnotation();
-    }
-
-//tag::class[]
-}
-//end::class[]
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage_mixinPropertyWithMetaAnnotation.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage_mixinPropertyWithMetaAnnotation.java
deleted file mode 100644
index 117fce777f..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage_mixinPropertyWithMetaAnnotation.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.properties.PropertyLayout.typicalLength;
-
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-
-import lombok.RequiredArgsConstructor;
-
-//tag::class[]
-@Property()
-@TypicalLengthMetaAnnotation            // <.>
-@PropertyLayout(
-    describedAs =
-        "@TypicalLengthMetaAnnotation",
-    fieldSetId = "meta-annotated", sequence = "2"
-)
-@RequiredArgsConstructor
-public class PropertyLayoutTypicalLengthPage_mixinPropertyWithMetaAnnotation {
-    // ...
-//end::class[]
-
-    private final PropertyLayoutTypicalLengthPage page;
-
-    public String prop() {
-        return page.getPropertyUsingAnnotation();
-    }
-
-//tag::class[]
-}
-//end::class[]
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage_mixinPropertyWithMetaAnnotationOverridden.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage_mixinPropertyWithMetaAnnotationOverridden.java
deleted file mode 100644
index 8d98fd473c..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage_mixinPropertyWithMetaAnnotationOverridden.java
+++ /dev/null
@@ -1,48 +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.PropertyLayout.typicalLength;
-
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-
-import lombok.RequiredArgsConstructor;
-
-//tag::meta-annotation-overridden[]
-@TypicalLengthMetaAnnotation                                // <.>
-@Property()
-@PropertyLayout(
-    typicalLength = 3                                       // <.>
-    , describedAs =
-        "@TypicalLengthMetaAnnotation @PropertyLayout(...)",
-    fieldSetId = "meta-annotated-overridden", sequence = "2"
-)
-@RequiredArgsConstructor
-public class 
PropertyLayoutTypicalLengthPage_mixinPropertyWithMetaAnnotationOverridden {
-    // ...
-//end::meta-annotation-overridden[]
-
-    private final PropertyLayoutTypicalLengthPage page;
-
-    public String prop() {
-        return page.getPropertyUsingAnnotation();
-    }
-
-//tag::meta-annotation-overridden[]
-}
-//end::meta-annotation-overridden[]
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage_updateWithParameterLayout.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage_updateName.java
similarity index 79%
rename from 
examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage_updateWithParameterLayout.java
rename to 
examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage_updateName.java
index 36b2b1b46c..3e78fc3500 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage_updateWithParameterLayout.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage_updateName.java
@@ -28,14 +28,10 @@ import org.apache.causeway.applib.annotation.SemanticsOf;
 
 import lombok.RequiredArgsConstructor;
 
-@Action(
-    semantics = SemanticsOf.IDEMPOTENT
-)
-@ActionLayout(
-    associateWith = "propertyUsingAnnotation"
-    , sequence = "1")
+@Action(semantics = SemanticsOf.IDEMPOTENT)
+@ActionLayout(associateWith = "name", sequence = "1")
 @RequiredArgsConstructor
-public class PropertyLayoutTypicalLengthPage_updateWithParameterLayout {
+public class PropertyLayoutTypicalLengthPage_updateName {
 
     private final PropertyLayoutTypicalLengthPage page;
 
@@ -44,16 +40,14 @@ public class 
PropertyLayoutTypicalLengthPage_updateWithParameterLayout {
             @Parameter(optionality = Optionality.OPTIONAL)
             @ParameterLayout(
                 typicalLength = 10                                 // <.>
-                , describedAs =
-                    "@ParameterLayout(typicalLength = 10)"
             )
-            final String parameterUsingAnnotation) {
-        page.setPropertyUsingAnnotation(parameterUsingAnnotation);
+            final String name) {
+        page.setName(name);
         return page;
     }
 //end::annotation[]
     @MemberSupport public String default0Act() {
-        return page.getPropertyUsingAnnotation();
+        return page.getName();
     }
 
 }
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage_updateWithMetaAnnotation.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage_updateWithMetaAnnotation.java
deleted file mode 100644
index 7051a49d52..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage_updateWithMetaAnnotation.java
+++ /dev/null
@@ -1,58 +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.PropertyLayout.typicalLength;
-
-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.Optionality;
-import org.apache.causeway.applib.annotation.Parameter;
-import org.apache.causeway.applib.annotation.ParameterLayout;
-import org.apache.causeway.applib.annotation.SemanticsOf;
-
-import lombok.RequiredArgsConstructor;
-
-@Action(
-    semantics = SemanticsOf.IDEMPOTENT
-)
-@ActionLayout(
-    associateWith = "propertyUsingMetaAnnotation"
-    , sequence = "1")
-@RequiredArgsConstructor
-public class PropertyLayoutTypicalLengthPage_updateWithMetaAnnotation {
-
-    private final PropertyLayoutTypicalLengthPage page;
-
-//tag::meta-annotation[]
-    @MemberSupport public PropertyLayoutTypicalLengthPage act(
-            @Parameter(optionality = Optionality.OPTIONAL)
-            @TypicalLengthMetaAnnotation                            // <.>
-            @ParameterLayout(
-                describedAs = "@TypicalLengthMetaAnnotation"
-            )
-            final String parameterUsingMetaAnnotation) {
-        page.setPropertyUsingMetaAnnotation(parameterUsingMetaAnnotation);
-        return page;
-    }
-//end::meta-annotation[]
-    @MemberSupport public String default0Act() {
-        return page.getPropertyUsingMetaAnnotation();
-    }
-
-}
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage_updateWithMetaAnnotationOverridden.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage_updateWithMetaAnnotationOverridden.java
deleted file mode 100644
index c58c07909b..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthPage_updateWithMetaAnnotationOverridden.java
+++ /dev/null
@@ -1,60 +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.PropertyLayout.typicalLength;
-
-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.Optionality;
-import org.apache.causeway.applib.annotation.Parameter;
-import org.apache.causeway.applib.annotation.ParameterLayout;
-import org.apache.causeway.applib.annotation.SemanticsOf;
-
-import lombok.RequiredArgsConstructor;
-
-@Action(
-    semantics = SemanticsOf.IDEMPOTENT
-)
-@ActionLayout(
-    associateWith = "propertyUsingMetaAnnotationButOverridden"
-    , sequence = "1")
-@RequiredArgsConstructor
-public class 
PropertyLayoutTypicalLengthPage_updateWithMetaAnnotationOverridden {
-
-    private final PropertyLayoutTypicalLengthPage page;
-
-//tag::meta-annotation-overridden[]
-    @MemberSupport public PropertyLayoutTypicalLengthPage act(
-            @TypicalLengthMetaAnnotation                            // <.>
-            @Parameter(optionality = Optionality.OPTIONAL)
-            @ParameterLayout(
-                typicalLength = 3                                   // <.>
-                , describedAs =
-                    "@TypicalLengthMetaAnnotation @ParameterLayout(...)"
-            )
-            final String parameterUsingMetaAnnotationButOverridden) {
-        
page.setPropertyUsingMetaAnnotationButOverridden(parameterUsingMetaAnnotationButOverridden);
-        return page;
-    }
-//end::meta-annotation-overridden[]
-    @MemberSupport public String default0Act() {
-        return page.getPropertyUsingMetaAnnotationButOverridden();
-    }
-
-}
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/TypicalLengthMetaAnnotation.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/TypicalLengthMetaAnnotation.java
deleted file mode 100644
index 27e95c1b9e..0000000000
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/TypicalLengthMetaAnnotation.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 demoapp.dom.domain.properties.PropertyLayout.typicalLength;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.apache.causeway.applib.annotation.ParameterLayout;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-
-//tag::class[]
-@PropertyLayout(typicalLength = 10)                 // <.>
-@ParameterLayout(typicalLength = 10)                // <.>
-@Inherited
-@Target({
-        ElementType.METHOD, ElementType.FIELD,      // <.>
-        ElementType.PARAMETER,                      // <.>
-        ElementType.TYPE                            // <.>
-})
-@Retention(RetentionPolicy.RUNTIME)
-public @interface TypicalLengthMetaAnnotation {
-
-}
-//end::class[]

Reply via email to