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

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


The following commit(s) were added to refs/heads/master by this push:
     new fb7049c15a ISIS-3085: removes deprecated RenderDay and 
Parameter-/PropertyLayout#renderDay
fb7049c15a is described below

commit fb7049c15a89e7fef8cae2c73befd24b2c17bb8c
Author: andi-huber <[email protected]>
AuthorDate: Sun Jul 24 16:10:53 2022 +0200

    ISIS-3085: removes deprecated RenderDay and
    Parameter-/PropertyLayout#renderDay
---
 .../applib/pages/index/annotation/RenderDay.adoc   | 41 ---------------
 .../isis/applib/annotation/ParameterLayout.java    | 32 ------------
 .../isis/applib/annotation/PropertyLayout.java     | 32 ------------
 .../apache/isis/applib/annotation/RenderDay.java   | 47 ------------------
 .../param/layout/ParameterLayoutFacetFactory.java  |  3 --
 ...dAdjustedFacetForParameterLayoutAnnotation.java | 58 ----------------------
 .../propertylayout/PropertyLayoutFacetFactory.java |  5 --
 ...edAdjustedFacetForPropertyLayoutAnnotation.java | 57 ---------------------
 .../PropertyLayoutRenderDayVm-description.adoc     |  3 +-
 .../renderDay/PropertyLayoutRenderDayVm.java       | 30 +++++------
 ...m_mixinEndDateWithMetaAnnotationOverridden.java |  7 ++-
 ...RenderDayVm_mixinEndDateWithPropertyLayout.java |  9 ++--
 ..._updateEndDateWithMetaAnnotationOverridden.java |  9 ++--
 ...nderDayVm_updateEndDateWithParameterLayout.java | 10 ++--
 .../RenderDayMetaAnnotationEndDateExclusive.java   |  7 +--
 .../RenderDayMetaAnnotationStartDateInclusive.java |  7 +--
 .../javasqldate/holder/JavaSqlDateHolder3.java     | 14 +++---
 .../holder/JavaSqlTimestampHolder3.java            | 15 +++---
 .../holder/JavaTimeLocalDateHolder3.java           | 14 +++---
 .../holder/JavaTimeLocalDateTimeHolder3.java       | 14 +++---
 .../holder/JavaTimeLocalTimeHolder3.java           | 14 +++---
 .../holder/JavaTimeOffsetDateTimeHolder3.java      | 14 +++---
 .../holder/JavaTimeOffsetTimeHolder3.java          | 14 +++---
 .../holder/JavaTimeZonedDateTimeHolder3.java       | 14 +++---
 .../javautildate/holder/JavaUtilDateHolder3.java   | 14 +++---
 .../jodadatetime/holder/JodaDateTimeHolder3.java   | 14 +++---
 .../jodalocaldate/holder/JodaLocalDateHolder3.java | 12 ++---
 .../holder/JodaLocalDateTimeHolder3.java           | 15 +++---
 28 files changed, 115 insertions(+), 410 deletions(-)

diff --git 
a/antora/components/refguide-index/modules/applib/pages/index/annotation/RenderDay.adoc
 
b/antora/components/refguide-index/modules/applib/pages/index/annotation/RenderDay.adoc
deleted file mode 100644
index 876eee4b12..0000000000
--- 
a/antora/components/refguide-index/modules/applib/pages/index/annotation/RenderDay.adoc
+++ /dev/null
@@ -1,41 +0,0 @@
-= RenderDay _(enum)_
-: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 [...]
-
-WARNING: [red]#_deprecated:_#
-
-How to render days.
-
-== API
-
-[source,java]
-.RenderDay.java
-----
-enum RenderDay {
-  AS_DAY
-  AS_DAY_BEFORE     // <.>
-  NOT_SPECIFIED     // <.>
-}
-----
-
-<.> xref:#AS_DAY_BEFORE[AS_DAY_BEFORE]
-+
---
-Equivalent to `@PropertyLayout(renderAsDayBefore=true)` prior to Isis 2.x
---
-<.> xref:#NOT_SPECIFIED[NOT_SPECIFIED]
-+
---
-Ignore the value provided by this annotation (meaning that the framework will 
keep searching, in meta annotations or superclasses/interfaces).
---
-
-== Members
-
-[#AS_DAY_BEFORE]
-=== AS_DAY_BEFORE
-
-Equivalent to `@PropertyLayout(renderAsDayBefore=true)` prior to Isis 2.x
-
-[#NOT_SPECIFIED]
-=== NOT_SPECIFIED
-
-Ignore the value provided by this annotation (meaning that the framework will 
keep searching, in meta annotations or superclasses/interfaces).
diff --git 
a/api/applib/src/main/java/org/apache/isis/applib/annotation/ParameterLayout.java
 
b/api/applib/src/main/java/org/apache/isis/applib/annotation/ParameterLayout.java
index 6732a4a0d4..5c2007b792 100644
--- 
a/api/applib/src/main/java/org/apache/isis/applib/annotation/ParameterLayout.java
+++ 
b/api/applib/src/main/java/org/apache/isis/applib/annotation/ParameterLayout.java
@@ -115,38 +115,6 @@ public @interface ParameterLayout {
     int multiLine()
             default -1;
 
-    /**
-     * For date parameters (and properties) only, instructs the viewer that 
the date should be rendered as one day
-     * prior to the actually stored date.
-     *
-     * <p>
-     * This is intended to be used so that an exclusive end date of an interval
-     * can be rendered as 1 day before the actual value stored.
-     * </p>
-     *
-     * <p>
-     * For example:
-     * </p>
-     * <pre>
-     * public void updateDates(
-     *     &#64;ParameterLayout(named="From") LocalDate startDate,
-     *     &#64;ParameterLayout(named="To"), 
renderDay=RenderDay.AS_DAY_BEFORE) LocalDate endDate) { ... }
-     * </pre>
-     *
-     * <p>
-     * Here, the interval of the [1-may-2013,1-jun-2013) would be rendered as 
the dates
-     * 1-may-2013 for the start date but using 31-may-2013 (the day before) 
for the end date.  What is stored
-     * In the domain object, itself, however, the value stored is 1-jun-2013.
-     * </p>
-     *
-     * @deprecated instead use {@link ValueSemantics#dateRenderAdjustDays()}
-     * @see PropertyLayout#renderDay()
-     */
-   @Deprecated(forRemoval = true, since = "2.0.0-M7")
-   RenderDay renderDay()
-           default RenderDay.NOT_SPECIFIED;
-
-
     /**
      * The typical entry length of a field, use to determine the optimum width 
for display
      *
diff --git 
a/api/applib/src/main/java/org/apache/isis/applib/annotation/PropertyLayout.java
 
b/api/applib/src/main/java/org/apache/isis/applib/annotation/PropertyLayout.java
index 04664fbf05..fba713c589 100644
--- 
a/api/applib/src/main/java/org/apache/isis/applib/annotation/PropertyLayout.java
+++ 
b/api/applib/src/main/java/org/apache/isis/applib/annotation/PropertyLayout.java
@@ -203,38 +203,6 @@ public @interface PropertyLayout {
     PromptStyle promptStyle()
             default PromptStyle.NOT_SPECIFIED;
 
-    /**
-     * For date properties (and parameters) only, instructs the viewer that 
the date should be rendered as one day
-     * prior to the actually stored date.
-     *
-     * <p>
-     * This is intended to be used so that an exclusive end date of an interval
-     * can be rendered as 1 day before the actual value stored.
-     * </p>
-     *
-     * <p>
-     * For example:
-     * </p>
-     * <pre>
-     * public LocalDate getStartDate() { ... }
-     *
-     * &#64;PropertyLayout(renderDay=RenderDay.AS_DAY_BEFORE)
-     * public LocalDate getEndDate() { ... }
-     * </pre>
-     *
-     * <p>
-     * Here, the interval of the [1-may-2013,1-jun-2013) would be rendered as 
the dates
-     * 1-may-2013 for the start date but using 31-may-2013 (the day before) 
for the end date.  What is stored
-     * In the domain object, itself, however, the value stored is 1-jun-2013.
-     * </p>
-     *
-     * @deprecated instead use {@link ValueSemantics#dateRenderAdjustDays()}
-     * @see ParameterLayout#renderDay()
-     */
-    @Deprecated(forRemoval = true, since = "2.0.0-M7")
-    RenderDay renderDay()
-            default RenderDay.NOT_SPECIFIED;
-
     /**
      * Indicates that the value held by the property never changes over time, 
even when other properties of the object
      * do change.
diff --git 
a/api/applib/src/main/java/org/apache/isis/applib/annotation/RenderDay.java 
b/api/applib/src/main/java/org/apache/isis/applib/annotation/RenderDay.java
deleted file mode 100644
index aa69872458..0000000000
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/RenderDay.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 org.apache.isis.applib.annotation;
-
-import javax.xml.bind.annotation.XmlType;
-
-/**
- * How to render days.
- * @since 1.x {@index}
- * @deprecated
- */
-@XmlType(
-        namespace = "http://isis.apache.org/applib/layout/component";
-        )
-@Deprecated(forRemoval = true, since = "2.0.0-M7")
-public enum RenderDay {
-
-    AS_DAY,
-
-    /**
-     * Equivalent to <tt>@PropertyLayout(renderAsDayBefore=true)</tt> prior to 
Isis 2.x
-     */
-    AS_DAY_BEFORE,
-
-    /**
-     * Ignore the value provided by this annotation (meaning that the 
framework will keep searching, in meta
-     * annotations or superclasses/interfaces).
-     */
-    NOT_SPECIFIED
-
-}
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/layout/ParameterLayoutFacetFactory.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/layout/ParameterLayoutFacetFactory.java
index a2046d227f..dddb2fbf10 100644
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/layout/ParameterLayoutFacetFactory.java
+++ 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/layout/ParameterLayoutFacetFactory.java
@@ -69,9 +69,6 @@ extends FacetFactoryAbstract {
                 NamedFacetForParameterLayoutAnnotation
                 .create(parameterLayoutIfAny, facetHolder));
 
-        addFacetIfPresent(RenderedAdjustedFacetForParameterLayoutAnnotation
-                .create(parameterLayoutIfAny, facetHolder));
-
         addFacetIfPresent(TypicalLengthFacetForParameterLayoutAnnotation
                 .create(parameterLayoutIfAny, facetHolder));
 
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/layout/RenderedAdjustedFacetForParameterLayoutAnnotation.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/layout/RenderedAdjustedFacetForParameterLayoutAnnotation.java
deleted file mode 100644
index 7f15cd9c03..0000000000
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/layout/RenderedAdjustedFacetForParameterLayoutAnnotation.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 org.apache.isis.core.metamodel.facets.param.layout;
-
-import java.util.Optional;
-
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.RenderDay;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import 
org.apache.isis.core.metamodel.facets.objectvalue.daterenderedadjust.DateRenderAdjustFacet;
-import 
org.apache.isis.core.metamodel.facets.objectvalue.daterenderedadjust.DateRenderAdjustFacetAbstract;
-
-@Deprecated(forRemoval = true, since = "2.0.0-M7")
-public class RenderedAdjustedFacetForParameterLayoutAnnotation
-extends DateRenderAdjustFacetAbstract {
-
-    public static Optional<DateRenderAdjustFacet> create(
-            final Optional<ParameterLayout> parameterLayoutIfAny,
-            final FacetHolder holder) {
-
-        return parameterLayoutIfAny
-                .map(ParameterLayout::renderDay)
-                .filter(renderDay -> renderDay != RenderDay.NOT_SPECIFIED)
-                .map(renderDay -> {
-                    switch (renderDay) {
-                    case AS_DAY:
-                        return null;
-                    case AS_DAY_BEFORE:
-                        return new 
RenderedAdjustedFacetForParameterLayoutAnnotation(holder);
-                    default:
-                    }
-                    throw new IllegalStateException("renderDay '" + renderDay 
+ "' not recognised");
-                });
-    }
-
-    public static final int ADJUST_BY = -1;
-
-    private RenderedAdjustedFacetForParameterLayoutAnnotation(final 
FacetHolder holder) {
-        super(ADJUST_BY, holder);
-    }
-
-}
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/PropertyLayoutFacetFactory.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/PropertyLayoutFacetFactory.java
index 616d33ae2e..579e61dd6f 100644
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/PropertyLayoutFacetFactory.java
+++ 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/PropertyLayoutFacetFactory.java
@@ -84,10 +84,6 @@ extends FacetFactoryAbstract {
                 PromptStyleFacetForPropertyLayoutAnnotation
                 .create(propertyLayoutIfAny, getConfiguration(), facetHolder));
 
-        addFacetIfPresent(
-                RenderedAdjustedFacetForPropertyLayoutAnnotation
-                .create(propertyLayoutIfAny, facetHolder));
-
         addFacetIfPresent(TypicalLengthFacetForPropertyLayoutAnnotation
                 .create(propertyLayoutIfAny, facetHolder));
 
@@ -96,5 +92,4 @@ extends FacetFactoryAbstract {
 
     }
 
-
 }
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/RenderedAdjustedFacetForPropertyLayoutAnnotation.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/RenderedAdjustedFacetForPropertyLayoutAnnotation.java
deleted file mode 100644
index e51b5b4833..0000000000
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/RenderedAdjustedFacetForPropertyLayoutAnnotation.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.core.metamodel.facets.properties.propertylayout;
-
-import java.util.Optional;
-
-import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.applib.annotation.RenderDay;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import 
org.apache.isis.core.metamodel.facets.objectvalue.daterenderedadjust.DateRenderAdjustFacetAbstract;
-
-@Deprecated(forRemoval = true, since = "2.0.0-M7")
-public class RenderedAdjustedFacetForPropertyLayoutAnnotation
-extends DateRenderAdjustFacetAbstract {
-
-    public static Optional<RenderedAdjustedFacetForPropertyLayoutAnnotation> 
create(
-            final Optional<PropertyLayout> propertyLayoutIfAny,
-            final FacetHolder holder) {
-
-        return propertyLayoutIfAny
-        .map(PropertyLayout::renderDay)
-        .filter(renderDay -> renderDay != RenderDay.NOT_SPECIFIED)
-        .map(renderDay -> {
-            switch (renderDay) {
-            case AS_DAY:
-                return null;
-            case AS_DAY_BEFORE:
-                return new 
RenderedAdjustedFacetForPropertyLayoutAnnotation(holder);
-            default:
-            }
-            throw new IllegalStateException("renderDay '" + renderDay + "' not 
recognised");
-        });
-    }
-
-    public static final int ADJUST_BY = -1;
-
-    private RenderedAdjustedFacetForPropertyLayoutAnnotation(final FacetHolder 
holder) {
-        super(ADJUST_BY, holder);
-    }
-
-}
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm-description.adoc
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm-description.adoc
index c6799f102d..68dd70a6fc 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm-description.adoc
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm-description.adoc
@@ -89,8 +89,7 @@ The `renderDay` element can also be specified using a custom 
meta-annotation:
 ----
 include::RenderDayMetaAnnotationEndDateExclusive.java[tags=class]
 ----
-<.> annotated for a property ...
-<.> \... and for a parameter.
+<.> annotated for a property or 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)
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm.java
index 84b3161284..da339c2ab9 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm.java
@@ -35,15 +35,14 @@ import org.apache.isis.applib.annotation.ObjectSupport;
 import org.apache.isis.applib.annotation.Optionality;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.applib.annotation.RenderDay;
+import org.apache.isis.applib.annotation.ValueSemantics;
 import org.apache.isis.applib.jaxb.JavaTimeJaxbAdapters;
 
+import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 import lombok.Getter;
 import lombok.NoArgsConstructor;
 import lombok.Setter;
 
-import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
-
 //tag::class[]
 @XmlRootElement(name = "root")
 @XmlType
@@ -66,10 +65,8 @@ public class PropertyLayoutRenderDayVm implements 
HasAsciiDocDescription {
 
 //tag::render-not-specified[]
     @Property(optionality = Optionality.OPTIONAL)
-    @PropertyLayout(
-        renderDay = RenderDay.NOT_SPECIFIED         // <.>
-        , describedAs =
-            "@PropertyLayout(renderDay = NOT_SPECIFIED)",
+    @ValueSemantics                                 // <.>
+    @PropertyLayout(describedAs = "@ValueSemantics",
         fieldSetId = "annotation", sequence = "1")
     @XmlElement(required = false)
     @XmlJavaTypeAdapter(JavaTimeJaxbAdapters.LocalDateToStringAdapter.class)
@@ -79,10 +76,9 @@ public class PropertyLayoutRenderDayVm implements 
HasAsciiDocDescription {
 
 //tag::render-as-day-before[]
     @Property(optionality = Optionality.OPTIONAL)
-    @PropertyLayout(
-        renderDay = RenderDay.AS_DAY_BEFORE         // <.>
-        , describedAs =
-            "@PropertyLayout(renderDay = AS_DAY_BEFORE)",
+    @ValueSemantics(dateRenderAdjustDays = -1)                    // <.>
+    @PropertyLayout(describedAs =
+            "@ValueSemantics(dateRenderAdjustDays = -1)",
         fieldSetId = "annotation", sequence = "2")
     @XmlElement(required = false)
     @XmlJavaTypeAdapter(JavaTimeJaxbAdapters.LocalDateToStringAdapter.class)
@@ -92,10 +88,9 @@ public class PropertyLayoutRenderDayVm implements 
HasAsciiDocDescription {
 
 //tag::render-as-day[]
     @Property(optionality = Optionality.OPTIONAL)
-    @PropertyLayout(
-        renderDay = RenderDay.AS_DAY             // <.>
-        , describedAs =
-            "Value of getEndDate(), but @PropertyLayout(renderDay = AS_DAY)",
+    @ValueSemantics(dateRenderAdjustDays = 0)                     // <.>
+    @PropertyLayout(describedAs =
+            "Value of getEndDate(), but @ValueSemantics(dateRenderAdjustDays = 
0)",
         fieldSetId = "annotation", sequence = "3")
     public LocalDate getEndDateRaw() {
         return getEndDate();
@@ -131,9 +126,8 @@ public class PropertyLayoutRenderDayVm implements 
HasAsciiDocDescription {
 //tag::meta-annotation-overridden[]
     @RenderDayMetaAnnotationStartDateInclusive      // <.>
     @Property(optionality = Optionality.OPTIONAL)
-    @PropertyLayout(
-        renderDay = RenderDay.AS_DAY_BEFORE
-        , describedAs =
+    @ValueSemantics(dateRenderAdjustDays = -1)
+    @PropertyLayout(describedAs =
             "@RenderDayMetaAnnotationEndDateExclusive",
         fieldSetId = "meta-annotated-overridden", sequence = "1")
     @XmlElement(required = false)
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm_mixinEndDateWithMetaAnnotationOverridden.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm_mixinEndDateWithMetaAnnotationOverridden.java
index bc6778882e..3e35b5b18b 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm_mixinEndDateWithMetaAnnotationOverridden.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm_mixinEndDateWithMetaAnnotationOverridden.java
@@ -22,7 +22,7 @@ import java.time.LocalDate;
 
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.applib.annotation.RenderDay;
+import org.apache.isis.applib.annotation.ValueSemantics;
 
 import lombok.RequiredArgsConstructor;
 
@@ -30,9 +30,8 @@ import lombok.RequiredArgsConstructor;
 // deliberately incorrectly annotated
 @RenderDayMetaAnnotationStartDateInclusive          // <.>
 @Property()
-@PropertyLayout(
-    renderDay = RenderDay.AS_DAY_BEFORE             // <.>
-    , describedAs =
+@ValueSemantics(dateRenderAdjustDays = -1)          // <.>
+@PropertyLayout(describedAs =
         "@RenderDayMetaAnnotationStartDateInclusive" +
         " @PropertyLayout(renderDay = AS_DAY_BEFORE",
     fieldSetId = "meta-annotated-overridden", sequence = "2"
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm_mixinEndDateWithPropertyLayout.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm_mixinEndDateWithPropertyLayout.java
index f965bef1a4..20438eb805 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm_mixinEndDateWithPropertyLayout.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm_mixinEndDateWithPropertyLayout.java
@@ -22,16 +22,15 @@ import java.time.LocalDate;
 
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.applib.annotation.RenderDay;
+import org.apache.isis.applib.annotation.ValueSemantics;
 
 import lombok.RequiredArgsConstructor;
 
 //tag::class[]
 @Property()
-@PropertyLayout(
-    renderDay = RenderDay.AS_DAY_BEFORE         // <.>
-    , describedAs =
-        "@PropertyLayout(renderDay = AS_DAY_BEFORE)",
+@ValueSemantics(dateRenderAdjustDays = -1)      // <.>
+@PropertyLayout(describedAs =
+        "@ValueSemantics(dateRenderAdjustDays = -1)",
     fieldSetId = "contributed", sequence = "1"
 )
 @RequiredArgsConstructor
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm_updateEndDateWithMetaAnnotationOverridden.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm_updateEndDateWithMetaAnnotationOverridden.java
index dab55592ff..c99d6c7647 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm_updateEndDateWithMetaAnnotationOverridden.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm_updateEndDateWithMetaAnnotationOverridden.java
@@ -26,8 +26,8 @@ import org.apache.isis.applib.annotation.MemberSupport;
 import org.apache.isis.applib.annotation.Optionality;
 import org.apache.isis.applib.annotation.Parameter;
 import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.RenderDay;
 import org.apache.isis.applib.annotation.SemanticsOf;
+import org.apache.isis.applib.annotation.ValueSemantics;
 
 import lombok.RequiredArgsConstructor;
 
@@ -46,11 +46,10 @@ public class 
PropertyLayoutRenderDayVm_updateEndDateWithMetaAnnotationOverridden
     @MemberSupport public PropertyLayoutRenderDayVm act(
             @RenderDayMetaAnnotationStartDateInclusive          // <.>
             @Parameter(optionality = Optionality.OPTIONAL)
-            @ParameterLayout(
-                renderDay = RenderDay.AS_DAY_BEFORE             // <.>
-                , describedAs =
+            @ValueSemantics(dateRenderAdjustDays = -1)          // <.>
+            @ParameterLayout(describedAs =
                     "@RenderDayMetaAnnotationStartDateInclusive " +
-                    "@ParameterLayout(renderDay = AS_DAY_BEFORE)"
+                    "@ValueSemantics(dateRenderAdjustDays = -1)"
             )
             final LocalDate endDate) {
         
propertyLayoutRenderDayVm.setEndDateUsingMetaAnnotationButOverridden(endDate);
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm_updateEndDateWithParameterLayout.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm_updateEndDateWithParameterLayout.java
index 632434e912..14daaf1094 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm_updateEndDateWithParameterLayout.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm_updateEndDateWithParameterLayout.java
@@ -26,8 +26,8 @@ import org.apache.isis.applib.annotation.MemberSupport;
 import org.apache.isis.applib.annotation.Optionality;
 import org.apache.isis.applib.annotation.Parameter;
 import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.RenderDay;
 import org.apache.isis.applib.annotation.SemanticsOf;
+import org.apache.isis.applib.annotation.ValueSemantics;
 
 import lombok.RequiredArgsConstructor;
 
@@ -45,11 +45,9 @@ public class 
PropertyLayoutRenderDayVm_updateEndDateWithParameterLayout {
 //tag::annotation[]
     @MemberSupport public PropertyLayoutRenderDayVm act(
             @Parameter(optionality = Optionality.OPTIONAL)
-            @ParameterLayout(
-                renderDay = RenderDay.AS_DAY_BEFORE             // <.>
-                , describedAs =
-                    "@ParameterLayout(renderDay = AS_DAY_BEFORE)"
-            )
+            @ValueSemantics(dateRenderAdjustDays = -1)          // <.>
+            @ParameterLayout(describedAs =
+                    "@ValueSemantics(dateRenderAdjustDays = -1)")
             final LocalDate endDate) {
         propertyLayoutRenderDayVm.setEndDate(endDate);
         return propertyLayoutRenderDayVm;
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/RenderDayMetaAnnotationEndDateExclusive.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/RenderDayMetaAnnotationEndDateExclusive.java
index 1a62d367a8..00b74c5940 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/RenderDayMetaAnnotationEndDateExclusive.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/RenderDayMetaAnnotationEndDateExclusive.java
@@ -24,13 +24,10 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.applib.annotation.RenderDay;
+import org.apache.isis.applib.annotation.ValueSemantics;
 
 //tag::class[]
-@PropertyLayout(renderDay = RenderDay.AS_DAY_BEFORE)    // <.>
-@ParameterLayout(renderDay = RenderDay.AS_DAY_BEFORE)   // <.>
+@ValueSemantics(dateRenderAdjustDays = -1)              // <.>
 @Inherited
 @Target({
         ElementType.METHOD, ElementType.FIELD,          // <.>
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/RenderDayMetaAnnotationStartDateInclusive.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/RenderDayMetaAnnotationStartDateInclusive.java
index 8beb3fe6dd..27e04e4a28 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/RenderDayMetaAnnotationStartDateInclusive.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/RenderDayMetaAnnotationStartDateInclusive.java
@@ -24,13 +24,10 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import org.apache.isis.applib.annotation.ParameterLayout;
-import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.applib.annotation.RenderDay;
+import org.apache.isis.applib.annotation.ValueSemantics;
 
 //tag::class[]
-@PropertyLayout(renderDay = RenderDay.AS_DAY)           // <.>
-@ParameterLayout(renderDay = RenderDay.AS_DAY)          // <.>
+@ValueSemantics(dateRenderAdjustDays = 0)               // <.>
 @Inherited
 @Target({
         ElementType.METHOD, ElementType.FIELD,          // <.>
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/holder/JavaSqlDateHolder3.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/holder/JavaSqlDateHolder3.java
index 333b900be4..aa0ac3cda5 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/holder/JavaSqlDateHolder3.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/holder/JavaSqlDateHolder3.java
@@ -21,16 +21,16 @@ package demoapp.dom.types.javasql.javasqldate.holder;
 import org.apache.isis.applib.annotation.LabelPosition;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.applib.annotation.RenderDay;
+import org.apache.isis.applib.annotation.ValueSemantics;
 import org.apache.isis.applib.annotation.Where;
 
 //tag::class[]
 public interface JavaSqlDateHolder3 extends JavaSqlDateHolder2 {
 
     @Property
+    @ValueSemantics(dateRenderAdjustDays = -1)                    // <.>
     @PropertyLayout(
-            renderDay = RenderDay.AS_DAY_BEFORE,                 // <.>
-            describedAs = "@PropertyLayout(renderDay=AS_DAY_BEFORE)",
+            describedAs = "@ValueSemantics(dateRenderAdjustDays = -1)",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "1")            // <.>
@@ -39,9 +39,9 @@ public interface JavaSqlDateHolder3 extends 
JavaSqlDateHolder2 {
     }
 
     @Property
+    @ValueSemantics(dateRenderAdjustDays = 0)                     // <.>
     @PropertyLayout(
-            renderDay = RenderDay.AS_DAY,                        // <.>
-            describedAs = "@PropertyLayout(renderDay=AS_DAY)",
+            describedAs = "@ValueSemantics(dateRenderAdjustDays = 0)",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "2")
@@ -50,9 +50,9 @@ public interface JavaSqlDateHolder3 extends 
JavaSqlDateHolder2 {
     }
 
     @Property
+    @ValueSemantics                                               // <.>
     @PropertyLayout(
-            renderDay = RenderDay.NOT_SPECIFIED,                // <.>
-            describedAs = "@PropertyLayout(renderDay=NOT_SPECIFIED)",
+            describedAs = "@ValueSemantics",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "3")
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/holder/JavaSqlTimestampHolder3.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/holder/JavaSqlTimestampHolder3.java
index 73bf1eb435..f02cedc818 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/holder/JavaSqlTimestampHolder3.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/holder/JavaSqlTimestampHolder3.java
@@ -21,16 +21,16 @@ package demoapp.dom.types.javasql.javasqltimestamp.holder;
 import org.apache.isis.applib.annotation.LabelPosition;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.applib.annotation.RenderDay;
+import org.apache.isis.applib.annotation.ValueSemantics;
 import org.apache.isis.applib.annotation.Where;
 
 //tag::class[]
 public interface JavaSqlTimestampHolder3 extends JavaSqlTimestampHolder2 {
 
     @Property
+    @ValueSemantics(dateRenderAdjustDays = -1)                    // <.>
     @PropertyLayout(
-            renderDay = RenderDay.AS_DAY_BEFORE,                 // <.>
-            describedAs = "@PropertyLayout(renderDay=AS_DAY_BEFORE)",
+            describedAs = "@ValueSemantics(dateRenderAdjustDays = -1)",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "1")            // <.>
@@ -39,9 +39,9 @@ public interface JavaSqlTimestampHolder3 extends 
JavaSqlTimestampHolder2 {
     }
 
     @Property
+    @ValueSemantics(dateRenderAdjustDays = 0)                     // <.>
     @PropertyLayout(
-            renderDay = RenderDay.AS_DAY,                        // <.>
-            describedAs = "@PropertyLayout(renderDay=AS_DAY)",
+            describedAs = "@ValueSemantics(dateRenderAdjustDays = 0)",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "2")
@@ -50,9 +50,9 @@ public interface JavaSqlTimestampHolder3 extends 
JavaSqlTimestampHolder2 {
     }
 
     @Property
+    @ValueSemantics                                               // <.>
     @PropertyLayout(
-            renderDay = RenderDay.NOT_SPECIFIED,                // <.>
-            describedAs = "@PropertyLayout(renderDay=NOT_SPECIFIED)",
+            describedAs = "@ValueSemantics",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "3")
@@ -60,6 +60,5 @@ public interface JavaSqlTimestampHolder3 extends 
JavaSqlTimestampHolder2 {
         return getReadOnlyProperty();
     }
 
-
 }
 //end::class[]
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/holder/JavaTimeLocalDateHolder3.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/holder/JavaTimeLocalDateHolder3.java
index a7cab09b0f..88fc02eaa6 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/holder/JavaTimeLocalDateHolder3.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/holder/JavaTimeLocalDateHolder3.java
@@ -21,16 +21,16 @@ package demoapp.dom.types.javatime.javatimelocaldate.holder;
 import org.apache.isis.applib.annotation.LabelPosition;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.applib.annotation.RenderDay;
+import org.apache.isis.applib.annotation.ValueSemantics;
 import org.apache.isis.applib.annotation.Where;
 
 //tag::class[]
 public interface JavaTimeLocalDateHolder3 extends JavaTimeLocalDateHolder2 {
 
     @Property
+    @ValueSemantics(dateRenderAdjustDays = -1)                    // <.>
     @PropertyLayout(
-            renderDay = RenderDay.AS_DAY_BEFORE,                 // <.>
-            describedAs = "@PropertyLayout(renderDay=AS_DAY_BEFORE)",
+            describedAs = "@ValueSemantics(dateRenderAdjustDays = -1)",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "1")            // <.>
@@ -39,9 +39,9 @@ public interface JavaTimeLocalDateHolder3 extends 
JavaTimeLocalDateHolder2 {
     }
 
     @Property
+    @ValueSemantics(dateRenderAdjustDays = 0)                     // <.>
     @PropertyLayout(
-            renderDay = RenderDay.AS_DAY,                        // <.>
-            describedAs = "@PropertyLayout(renderDay=AS_DAY)",
+            describedAs = "@ValueSemantics(dateRenderAdjustDays = 0)",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "2")
@@ -50,9 +50,9 @@ public interface JavaTimeLocalDateHolder3 extends 
JavaTimeLocalDateHolder2 {
     }
 
     @Property
+    @ValueSemantics                                               // <.>
     @PropertyLayout(
-            renderDay = RenderDay.NOT_SPECIFIED,                // <.>
-            describedAs = "@PropertyLayout(renderDay=NOT_SPECIFIED)",
+            describedAs = "@ValueSemantics",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "3")
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/holder/JavaTimeLocalDateTimeHolder3.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/holder/JavaTimeLocalDateTimeHolder3.java
index 28ba4d999c..2ac79ee69c 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/holder/JavaTimeLocalDateTimeHolder3.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/holder/JavaTimeLocalDateTimeHolder3.java
@@ -21,16 +21,16 @@ package 
demoapp.dom.types.javatime.javatimelocaldatetime.holder;
 import org.apache.isis.applib.annotation.LabelPosition;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.applib.annotation.RenderDay;
+import org.apache.isis.applib.annotation.ValueSemantics;
 import org.apache.isis.applib.annotation.Where;
 
 //tag::class[]
 public interface JavaTimeLocalDateTimeHolder3 extends 
JavaTimeLocalDateTimeHolder2 {
 
     @Property
+    @ValueSemantics(dateRenderAdjustDays = -1)                    // <.>
     @PropertyLayout(
-            renderDay = RenderDay.AS_DAY_BEFORE,                 // <.>
-            describedAs = "@PropertyLayout(renderDay=AS_DAY_BEFORE)",
+            describedAs = "@ValueSemantics(dateRenderAdjustDays = -1)",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "1")            // <.>
@@ -39,9 +39,9 @@ public interface JavaTimeLocalDateTimeHolder3 extends 
JavaTimeLocalDateTimeHolde
     }
 
     @Property
+    @ValueSemantics(dateRenderAdjustDays = 0)                     // <.>
     @PropertyLayout(
-            renderDay = RenderDay.AS_DAY,                        // <.>
-            describedAs = "@PropertyLayout(renderDay=AS_DAY)",
+            describedAs = "@ValueSemantics(dateRenderAdjustDays = 0)",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "2")
@@ -50,9 +50,9 @@ public interface JavaTimeLocalDateTimeHolder3 extends 
JavaTimeLocalDateTimeHolde
     }
 
     @Property
+    @ValueSemantics                                               // <.>
     @PropertyLayout(
-            renderDay = RenderDay.NOT_SPECIFIED,                // <.>
-            describedAs = "@PropertyLayout(renderDay=NOT_SPECIFIED)",
+            describedAs = "@ValueSemantics",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "3")
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaltime/holder/JavaTimeLocalTimeHolder3.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaltime/holder/JavaTimeLocalTimeHolder3.java
index 11ced498f9..a345994a71 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaltime/holder/JavaTimeLocalTimeHolder3.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaltime/holder/JavaTimeLocalTimeHolder3.java
@@ -21,16 +21,16 @@ package demoapp.dom.types.javatime.javatimelocaltime.holder;
 import org.apache.isis.applib.annotation.LabelPosition;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.applib.annotation.RenderDay;
+import org.apache.isis.applib.annotation.ValueSemantics;
 import org.apache.isis.applib.annotation.Where;
 
 //tag::class[]
 public interface JavaTimeLocalTimeHolder3 extends JavaTimeLocalTimeHolder2 {
 
     @Property
+    @ValueSemantics(dateRenderAdjustDays = -1)                    // <.>
     @PropertyLayout(
-            renderDay = RenderDay.AS_DAY_BEFORE,                 // <.>
-            describedAs = "@PropertyLayout(renderDay=AS_DAY_BEFORE)",
+            describedAs = "@ValueSemantics(dateRenderAdjustDays = -1)",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "1")            // <.>
@@ -39,9 +39,9 @@ public interface JavaTimeLocalTimeHolder3 extends 
JavaTimeLocalTimeHolder2 {
     }
 
     @Property
+    @ValueSemantics(dateRenderAdjustDays = 0)                     // <.>
     @PropertyLayout(
-            renderDay = RenderDay.AS_DAY,                        // <.>
-            describedAs = "@PropertyLayout(renderDay=AS_DAY)",
+            describedAs = "@ValueSemantics(dateRenderAdjustDays = 0)",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "2")
@@ -50,9 +50,9 @@ public interface JavaTimeLocalTimeHolder3 extends 
JavaTimeLocalTimeHolder2 {
     }
 
     @Property
+    @ValueSemantics                                               // <.>
     @PropertyLayout(
-            renderDay = RenderDay.NOT_SPECIFIED,                // <.>
-            describedAs = "@PropertyLayout(renderDay=NOT_SPECIFIED)",
+            describedAs = "@ValueSemantics",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "3")
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/holder/JavaTimeOffsetDateTimeHolder3.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/holder/JavaTimeOffsetDateTimeHolder3.java
index ce045559cb..22bc306d13 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/holder/JavaTimeOffsetDateTimeHolder3.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/holder/JavaTimeOffsetDateTimeHolder3.java
@@ -21,16 +21,16 @@ package 
demoapp.dom.types.javatime.javatimeoffsetdatetime.holder;
 import org.apache.isis.applib.annotation.LabelPosition;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.applib.annotation.RenderDay;
+import org.apache.isis.applib.annotation.ValueSemantics;
 import org.apache.isis.applib.annotation.Where;
 
 //tag::class[]
 public interface JavaTimeOffsetDateTimeHolder3 extends 
JavaTimeOffsetDateTimeHolder2 {
 
     @Property
+    @ValueSemantics(dateRenderAdjustDays = -1)                    // <.>
     @PropertyLayout(
-            renderDay = RenderDay.AS_DAY_BEFORE,                 // <.>
-            describedAs = "@PropertyLayout(renderDay=AS_DAY_BEFORE)",
+            describedAs = "@ValueSemantics(dateRenderAdjustDays = -1)",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "1")            // <.>
@@ -39,9 +39,9 @@ public interface JavaTimeOffsetDateTimeHolder3 extends 
JavaTimeOffsetDateTimeHol
     }
 
     @Property
+    @ValueSemantics(dateRenderAdjustDays = 0)                     // <.>
     @PropertyLayout(
-            renderDay = RenderDay.AS_DAY,                        // <.>
-            describedAs = "@PropertyLayout(renderDay=AS_DAY)",
+            describedAs = "@ValueSemantics(dateRenderAdjustDays = 0)",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "2")
@@ -50,9 +50,9 @@ public interface JavaTimeOffsetDateTimeHolder3 extends 
JavaTimeOffsetDateTimeHol
     }
 
     @Property
+    @ValueSemantics                                               // <.>
     @PropertyLayout(
-            renderDay = RenderDay.NOT_SPECIFIED,                // <.>
-            describedAs = "@PropertyLayout(renderDay=NOT_SPECIFIED)",
+            describedAs = "@ValueSemantics",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "3")
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/holder/JavaTimeOffsetTimeHolder3.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/holder/JavaTimeOffsetTimeHolder3.java
index 4c9efb0c03..280cd0847f 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/holder/JavaTimeOffsetTimeHolder3.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/holder/JavaTimeOffsetTimeHolder3.java
@@ -21,16 +21,16 @@ package 
demoapp.dom.types.javatime.javatimeoffsettime.holder;
 import org.apache.isis.applib.annotation.LabelPosition;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.applib.annotation.RenderDay;
+import org.apache.isis.applib.annotation.ValueSemantics;
 import org.apache.isis.applib.annotation.Where;
 
 //tag::class[]
 public interface JavaTimeOffsetTimeHolder3 extends JavaTimeOffsetTimeHolder2 {
 
     @Property
+    @ValueSemantics(dateRenderAdjustDays = -1)                    // <.>
     @PropertyLayout(
-            renderDay = RenderDay.AS_DAY_BEFORE,                 // <.>
-            describedAs = "@PropertyLayout(renderDay=AS_DAY_BEFORE)",
+            describedAs = "@ValueSemantics(dateRenderAdjustDays = -1)",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "1")            // <.>
@@ -39,9 +39,9 @@ public interface JavaTimeOffsetTimeHolder3 extends 
JavaTimeOffsetTimeHolder2 {
     }
 
     @Property
+    @ValueSemantics(dateRenderAdjustDays = 0)                     // <.>
     @PropertyLayout(
-            renderDay = RenderDay.AS_DAY,                        // <.>
-            describedAs = "@PropertyLayout(renderDay=AS_DAY)",
+            describedAs = "@ValueSemantics(dateRenderAdjustDays = 0)",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "2")
@@ -50,9 +50,9 @@ public interface JavaTimeOffsetTimeHolder3 extends 
JavaTimeOffsetTimeHolder2 {
     }
 
     @Property
+    @ValueSemantics                                               // <.>
     @PropertyLayout(
-            renderDay = RenderDay.NOT_SPECIFIED,                // <.>
-            describedAs = "@PropertyLayout(renderDay=NOT_SPECIFIED)",
+            describedAs = "@ValueSemantics",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "3")
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/holder/JavaTimeZonedDateTimeHolder3.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/holder/JavaTimeZonedDateTimeHolder3.java
index ff5df49205..0af168dc1b 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/holder/JavaTimeZonedDateTimeHolder3.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/holder/JavaTimeZonedDateTimeHolder3.java
@@ -21,16 +21,16 @@ package 
demoapp.dom.types.javatime.javatimezoneddatetime.holder;
 import org.apache.isis.applib.annotation.LabelPosition;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.applib.annotation.RenderDay;
+import org.apache.isis.applib.annotation.ValueSemantics;
 import org.apache.isis.applib.annotation.Where;
 
 //tag::class[]
 public interface JavaTimeZonedDateTimeHolder3 extends 
JavaTimeZonedDateTimeHolder2 {
 
     @Property
+    @ValueSemantics(dateRenderAdjustDays = -1)                    // <.>
     @PropertyLayout(
-            renderDay = RenderDay.AS_DAY_BEFORE,                 // <.>
-            describedAs = "@PropertyLayout(renderDay=AS_DAY_BEFORE)",
+            describedAs = "@ValueSemantics(dateRenderAdjustDays = -1)",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "1")            // <.>
@@ -39,9 +39,9 @@ public interface JavaTimeZonedDateTimeHolder3 extends 
JavaTimeZonedDateTimeHolde
     }
 
     @Property
+    @ValueSemantics(dateRenderAdjustDays = 0)                     // <.>
     @PropertyLayout(
-            renderDay = RenderDay.AS_DAY,                        // <.>
-            describedAs = "@PropertyLayout(renderDay=AS_DAY)",
+            describedAs = "@ValueSemantics(dateRenderAdjustDays = 0)",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "2")
@@ -50,9 +50,9 @@ public interface JavaTimeZonedDateTimeHolder3 extends 
JavaTimeZonedDateTimeHolde
     }
 
     @Property
+    @ValueSemantics                                               // <.>
     @PropertyLayout(
-            renderDay = RenderDay.NOT_SPECIFIED,                // <.>
-            describedAs = "@PropertyLayout(renderDay=NOT_SPECIFIED)",
+            describedAs = "@ValueSemantics",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "3")
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/holder/JavaUtilDateHolder3.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/holder/JavaUtilDateHolder3.java
index f26457a83c..045e291b72 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/holder/JavaUtilDateHolder3.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/holder/JavaUtilDateHolder3.java
@@ -21,16 +21,16 @@ package demoapp.dom.types.javautil.javautildate.holder;
 import org.apache.isis.applib.annotation.LabelPosition;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.applib.annotation.RenderDay;
+import org.apache.isis.applib.annotation.ValueSemantics;
 import org.apache.isis.applib.annotation.Where;
 
 //tag::class[]
 public interface JavaUtilDateHolder3 extends JavaUtilDateHolder2 {
 
     @Property
+    @ValueSemantics(dateRenderAdjustDays = -1)                    // <.>
     @PropertyLayout(
-            renderDay = RenderDay.AS_DAY_BEFORE,                 // <.>
-            describedAs = "@PropertyLayout(renderDay=AS_DAY_BEFORE)",
+            describedAs = "@ValueSemantics(dateRenderAdjustDays = -1)",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "1")            // <.>
@@ -39,9 +39,9 @@ public interface JavaUtilDateHolder3 extends 
JavaUtilDateHolder2 {
     }
 
     @Property
+    @ValueSemantics(dateRenderAdjustDays = 0)                     // <.>
     @PropertyLayout(
-            renderDay = RenderDay.AS_DAY,                        // <.>
-            describedAs = "@PropertyLayout(renderDay=AS_DAY)",
+            describedAs = "@ValueSemantics(dateRenderAdjustDays = 0)",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "2")
@@ -50,9 +50,9 @@ public interface JavaUtilDateHolder3 extends 
JavaUtilDateHolder2 {
     }
 
     @Property
+    @ValueSemantics                                               // <.>
     @PropertyLayout(
-            renderDay = RenderDay.NOT_SPECIFIED,                // <.>
-            describedAs = "@PropertyLayout(renderDay=NOT_SPECIFIED)",
+            describedAs = "@ValueSemantics",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "3")
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/holder/JodaDateTimeHolder3.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/holder/JodaDateTimeHolder3.java
index 1550ad5cb6..9514d7180f 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/holder/JodaDateTimeHolder3.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/holder/JodaDateTimeHolder3.java
@@ -21,16 +21,16 @@ package demoapp.dom.types.jodatime.jodadatetime.holder;
 import org.apache.isis.applib.annotation.LabelPosition;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.applib.annotation.RenderDay;
+import org.apache.isis.applib.annotation.ValueSemantics;
 import org.apache.isis.applib.annotation.Where;
 
 //tag::class[]
 public interface JodaDateTimeHolder3 extends JodaDateTimeHolder2 {
 
     @Property
+    @ValueSemantics(dateRenderAdjustDays = -1)                    // <.>
     @PropertyLayout(
-            renderDay = RenderDay.AS_DAY_BEFORE,                 // <.>
-            describedAs = "@PropertyLayout(renderDay=AS_DAY_BEFORE)",
+            describedAs = "@ValueSemantics(dateRenderAdjustDays = -1)",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "1")            // <.>
@@ -39,9 +39,9 @@ public interface JodaDateTimeHolder3 extends 
JodaDateTimeHolder2 {
     }
 
     @Property
+    @ValueSemantics(dateRenderAdjustDays = 0)                     // <.>
     @PropertyLayout(
-            renderDay = RenderDay.AS_DAY,                        // <.>
-            describedAs = "@PropertyLayout(renderDay=AS_DAY)",
+            describedAs = "@ValueSemantics(dateRenderAdjustDays = 0)",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "2")
@@ -50,9 +50,9 @@ public interface JodaDateTimeHolder3 extends 
JodaDateTimeHolder2 {
     }
 
     @Property
+    @ValueSemantics                                               // <.>
     @PropertyLayout(
-            renderDay = RenderDay.NOT_SPECIFIED,                // <.>
-            describedAs = "@PropertyLayout(renderDay=NOT_SPECIFIED)",
+            describedAs = "@ValueSemantics",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "3")
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/holder/JodaLocalDateHolder3.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/holder/JodaLocalDateHolder3.java
index 2e075c2135..29383c3373 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/holder/JodaLocalDateHolder3.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/holder/JodaLocalDateHolder3.java
@@ -21,15 +21,15 @@ package demoapp.dom.types.jodatime.jodalocaldate.holder;
 import org.apache.isis.applib.annotation.LabelPosition;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.applib.annotation.RenderDay;
+import org.apache.isis.applib.annotation.ValueSemantics;
 import org.apache.isis.applib.annotation.Where;
 
 //tag::class[]
 public interface JodaLocalDateHolder3 extends JodaLocalDateHolder2 {
 
     @Property
+    @ValueSemantics(dateRenderAdjustDays = -1)                    // <.>
     @PropertyLayout(
-            renderDay = RenderDay.AS_DAY_BEFORE,                 // <.>
             describedAs = "@PropertyLayout(renderDay=AS_DAY_BEFORE)",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
@@ -39,9 +39,9 @@ public interface JodaLocalDateHolder3 extends 
JodaLocalDateHolder2 {
     }
 
     @Property
+    @ValueSemantics(dateRenderAdjustDays = 0)                     // <.>
     @PropertyLayout(
-            renderDay = RenderDay.AS_DAY,                        // <.>
-            describedAs = "@PropertyLayout(renderDay=AS_DAY)",
+            describedAs = "@ValueSemantics(dateRenderAdjustDays = 0)",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "2")
@@ -50,9 +50,9 @@ public interface JodaLocalDateHolder3 extends 
JodaLocalDateHolder2 {
     }
 
     @Property
+    @ValueSemantics                                               // <.>
     @PropertyLayout(
-            renderDay = RenderDay.NOT_SPECIFIED,                // <.>
-            describedAs = "@PropertyLayout(renderDay=NOT_SPECIFIED)",
+            describedAs = "@ValueSemantics",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "3")
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/holder/JodaLocalDateTimeHolder3.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/holder/JodaLocalDateTimeHolder3.java
index 2e6b81b037..0fb3ed69b5 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/holder/JodaLocalDateTimeHolder3.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/holder/JodaLocalDateTimeHolder3.java
@@ -21,16 +21,16 @@ package demoapp.dom.types.jodatime.jodalocaldatetime.holder;
 import org.apache.isis.applib.annotation.LabelPosition;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.applib.annotation.RenderDay;
+import org.apache.isis.applib.annotation.ValueSemantics;
 import org.apache.isis.applib.annotation.Where;
 
 //tag::class[]
 public interface JodaLocalDateTimeHolder3 extends JodaLocalDateTimeHolder2 {
 
     @Property
+    @ValueSemantics(dateRenderAdjustDays = -1)                    // <.>
     @PropertyLayout(
-            renderDay = RenderDay.AS_DAY_BEFORE,                 // <.>
-            describedAs = "@PropertyLayout(renderDay=AS_DAY_BEFORE)",
+            describedAs = "@ValueSemantics(dateRenderAdjustDays = -1)",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "1")            // <.>
@@ -39,9 +39,9 @@ public interface JodaLocalDateTimeHolder3 extends 
JodaLocalDateTimeHolder2 {
     }
 
     @Property
+    @ValueSemantics(dateRenderAdjustDays = 0)                     // <.>
     @PropertyLayout(
-            renderDay = RenderDay.AS_DAY,                        // <.>
-            describedAs = "@PropertyLayout(renderDay=AS_DAY)",
+            describedAs = "@ValueSemantics(dateRenderAdjustDays = 0)",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "2")
@@ -50,9 +50,9 @@ public interface JodaLocalDateTimeHolder3 extends 
JodaLocalDateTimeHolder2 {
     }
 
     @Property
+    @ValueSemantics                                               // <.>
     @PropertyLayout(
-            renderDay = RenderDay.NOT_SPECIFIED,                // <.>
-            describedAs = "@PropertyLayout(renderDay=NOT_SPECIFIED)",
+            describedAs = "@ValueSemantics",
             labelPosition = LabelPosition.TOP,
             hidden = Where.ALL_TABLES,
             fieldSetId = "render-day", sequence = "3")
@@ -60,6 +60,5 @@ public interface JodaLocalDateTimeHolder3 extends 
JodaLocalDateTimeHolder2 {
         return getReadOnlyProperty();
     }
 
-
 }
 //end::class[]

Reply via email to