This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch CAUSEWAY-2485
in repository https://gitbox.apache.org/repos/asf/causeway.git
The following commit(s) were added to refs/heads/CAUSEWAY-2485 by this push:
new 2546ada7a7 CAUSEWAY-2485: simplifies @Property#repainting
2546ada7a7 is described below
commit 2546ada7a7f6e6e4ea4cc4e3cfabd043ed00b6f7
Author: danhaywood <[email protected]>
AuthorDate: Sun Apr 23 18:11:12 2023 +0100
CAUSEWAY-2485: simplifies @Property#repainting
---
.../PropertyLayout/PropertyLayoutMenu.java | 5 +-
.../PropertyLayoutRepaintingPage-description.adoc | 104 +++------------------
.../repainting/PropertyLayoutRepaintingPage.java | 58 ++----------
.../PropertyLayoutRepaintingPage.layout.xml | 8 +-
...PropertyLayoutRepaintingPage_mixinProperty.java | 50 ----------
...intingPage_mixinPropertyWithMetaAnnotation.java | 49 ----------
..._mixinPropertyWithMetaAnnotationOverridden.java | 52 -----------
.../RepaintingNoRepaintMetaAnnotation.java | 41 --------
.../RepaintingRepaintMetaAnnotation.java | 41 --------
...anticsDateRenderAdjustDaysPage-description.adoc | 4 +-
10 files changed, 32 insertions(+), 380 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 4514365239..1ba39c7162 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
@@ -134,10 +134,7 @@ public class PropertyLayoutMenu {
.filter(x -> CommonMimeType.PDF.matches(x.getMimeType()))
.findFirst()
.ifPresent(pdfBlob -> {
- vm.setPropertyUsingAnnotation(pdfBlob);
- vm.setPropertyUsingLayout(pdfBlob);
- vm.setPropertyUsingMetaAnnotation(pdfBlob);
- vm.setPropertyUsingMetaAnnotationButOverridden(pdfBlob);
+ vm.setBlob(pdfBlob);
});
return vm;
}
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PropertyLayoutRepaintingPage-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PropertyLayoutRepaintingPage-description.adoc
index 2ed9b11343..5ef1fa2c7c 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PropertyLayoutRepaintingPage-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PropertyLayoutRepaintingPage-description.adoc
@@ -1,114 +1,38 @@
: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: this functionality is currently *not* supported by the Wicket viewer;
see link:https://issues.apache.org/jira/browse/CAUSEWAY-1659[CAUSEWAY-1659].
+
The `repainting` attribute indicates that the value held by the property never
changes over time, even when other properties of the object do change.
When set to "no repaint", the viewer uses this element to not repaint the
property after an AJAX update even if some other property/ies of the object
have changed.
-* for properties, the attribute can be specified using either the
`@PropertyLayout` annotation, or using the `Xxx.layout.xml` layout file.
+* for properties, the attribute can be specified using either the
link:https://causeway.apache.org/refguide/2.0.0-RC1/applib/index/annotation/PropertyLayout.html#repainting[@PropertyLayout#repainting]
annotation, or using the
link:https://causeway.apache.org/userguide/2.0.0-RC1/fun/ui.html#by-example[.layout.xml]
layout file.
The attribute does _not_ apply for action parameters.
-The primarily use case for performance, eg can improve the user experience
when rendering PDFs/blobs.
+The primary use case for performance, for example so that large PDFs/blobs do
not need to be re-rendered.
IMPORTANT: if there are multiple blobs or clobs, then _all_ must specify "NO
REPAINT".
Said another way: if only one blob/clob property requires a repaint, then all
will be repainted.
-== Annotated
-
-The (no) repainting hint can be specified explicitly using an annotation:
-
-* for properties, using `@PropertyLayout#repainting()`:
-+
-[source,java,indent=0]
-----
-include::PropertyLayoutRepaintingPage.java[tags=annotation]
-----
-<.> explicitly specifies that the property should not be repainted
-<.> The Wicket pdf.js extension will render this Blob as a PDF
-
-== Layout File
-
-For properties (not parameters), the `renderDay` attribute can be specified
using the `Xxx.layout.xml` file:
+== How this demo works
-* property definition:
-+
-[source,java,indent=0]
-----
-include::PropertyLayoutRepaintingPage.java[tags=layout-file]
-----
-<.> `repainting` hint is _not_ present.
-
-* layout file snippet:
-+
-[source,xml,indent=0,tabsize=4]
-----
-<cpt:property id="propertyUsingLayout" repainting="NO_REPAINT"/>
-----
+This page contains two properties.
-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.
+* The `editMe` property is to demonstrate a change in state can be made.
-TIP: It is sometimes necessary to invoke the `Rebuild Metamodel` action to see
this take effect.
+* The `blob` property holds a PDF and moreover is annotated with
link:https://causeway.apache.org/refguide/2.0.0-RC1/extensions/index/pdfjs/applib/annotations/PdfJsViewer.html[@PdfJsViewer]
so that it is rendered using PDF.js.
+From a usability perspective, we don't want the page to redraw - in
particluar, the `blob` property - if all that has changed is the `editMe`
property.
-== Contributed
-
-The `@PropertyLayout` can also be applied at the class-level to mixin
properties:.
+The (no) repainting hint is specified explicitly using
`@PropertyLayout#repainting()`:
[source,java,indent=0]
----
-include::PropertyLayoutRepaintingPage_mixinProperty.java[tags=class]
-----
-<.> explicitly specifies that the contributed property should not be repainted.
-
-== Meta-annotated
-
-The (no) repainting element can also be specified using a custom
meta-annotation:
-
-* the meta-annotation is defined as:
-+
-[source,java]
-----
-include::RepaintingNoRepaintMetaAnnotation.java[tags=class]
-----
-<.> annotated for a property (there is no equivalent for parameters)
-<.> annotation can be applied to a property (either its getter or the field
directly)
-<.> annotation can be applied to a type (ie, meta-meta annotations recursively)
-
-* and can be applied to a property:
-+
-[source,java,indent=0]
-----
-include::PropertyLayoutRepaintingPage.java[tags=meta-annotated]
-----
-<.> hint is inherited from the meta-annotation
-
-* or can be applied to mixin:
-+
-[source,java,indent=0]
-----
-include::PropertyLayoutRepaintingPage_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::PropertyLayoutRepaintingPage.java[tags=meta-annotated-overridden]
+include::PropertyLayoutRepaintingPage.java[tags=annotation]
----
-<.> hint from meta-annotation ...
-<.> \... is overridden by the `@PropertyLayout` annotation
+<.> explicitly specifies that the property should not be repainted
+<.> The Wicket pdf.js extension will render this Blob as a PDF
+TIP: this annotation can also be combined with
link:https://causeway.apache.org/refguide/2.0.0-RC1/applib/index/annotation/ActionLayout.html#redirectpolicy[@ActionLayout#redirectPolicy].
-* or a mixin:
-+
-[source,java,indent=0]
-----
-include::PropertyLayoutRepaintingPage_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/repainting/PropertyLayoutRepaintingPage.java
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PropertyLayoutRepaintingPage.java
index 3c481bf995..ec71271178 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PropertyLayoutRepaintingPage.java
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PropertyLayoutRepaintingPage.java
@@ -42,12 +42,11 @@ import lombok.Setter;
import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
//tag::class[]
+@Named("demo.PropertyLayoutRepaintingPage")
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@Named("demo.PropertyLayoutRepaintingVm")
-@DomainObject(
- nature=Nature.VIEW_MODEL)
+@DomainObject(nature=Nature.VIEW_MODEL)
public class PropertyLayoutRepaintingPage implements HasAsciiDocDescription {
@ObjectSupport public String title() {
@@ -57,9 +56,8 @@ public class PropertyLayoutRepaintingPage implements
HasAsciiDocDescription {
@Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
@PropertyLayout(
describedAs =
- "Editable property " +
- "(PDFs should not repaint if it changes)",
- fieldSetId = "edit", sequence = "1")
+ "Editable property (PDF should not repaint if it changes)"
+ )
@XmlElement(required = false)
@Getter @Setter
private String editMe;
@@ -67,53 +65,13 @@ public class PropertyLayoutRepaintingPage implements
HasAsciiDocDescription {
//tag::annotation[]
@Property()
@PropertyLayout(
- repainting = Repainting.NO_REPAINT // <.>
- , describedAs =
- "@PropertyLayout(repainting = NO_REPAINT)",
- fieldSetId = "annotation", sequence = "1")
+ repainting = Repainting.NO_REPAINT // <.>
+ )
@XmlElement(required = true)
- @PdfJsViewer // <.>
+ @PdfJsViewer // <.>
@Getter @Setter
- private Blob propertyUsingAnnotation;
+ private Blob blob;
//end::annotation[]
-//tag::layout-file[]
- @Property(optionality = Optionality.OPTIONAL)
- @PropertyLayout( // <.>
- describedAs =
- "<cpt:property id=\"...\" repainting = \"NO_REPAINT\"/>",
- fieldSetId = "layout-file", sequence = "1")
- @XmlElement(required = false)
-// @PdfJsViewer
- @Getter @Setter
- private Blob propertyUsingLayout;
-//end::layout-file[]
-
-//tag::meta-annotated[]
- @RepaintingNoRepaintMetaAnnotation // <.>
- @Property(optionality = Optionality.OPTIONAL)
- @PropertyLayout(
- describedAs = "@RepaintingNoRepaintMetaAnnotation",
- fieldSetId = "meta-annotated", sequence = "1")
- @XmlElement(required = false)
-// @PdfJsViewer
- @Getter @Setter
- private Blob propertyUsingMetaAnnotation;
-//end::meta-annotated[]
-
-//tag::meta-annotated-overridden[]
- @RepaintingRepaintMetaAnnotation // <.>
- @Property(optionality = Optionality.OPTIONAL)
- @PropertyLayout(
- repainting = Repainting.NO_REPAINT // <.>
- , describedAs =
- "@RepaintingRepaintMetaAnnotation @PropertyLayout(...)",
- fieldSetId = "meta-annotated-overridden", sequence = "1")
- @XmlElement(required = false)
-// @PdfJsViewer
- @Getter @Setter
- private Blob propertyUsingMetaAnnotationButOverridden;
-//end::meta-annotated-overridden[]
-
}
//end::class[]
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PropertyLayoutRepaintingPage.layout.xml
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PropertyLayoutRepaintingPage.layout.xml
index 65865b8072..652f933f51 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PropertyLayoutRepaintingPage.layout.xml
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PropertyLayoutRepaintingPage.layout.xml
@@ -26,8 +26,12 @@
<bs3:row>
<bs3:col span="6">
- <cpt:fieldSet name="Edit" id="edit" />
- <cpt:fieldSet name="Annotated" id="annotation"/>
+ <cpt:fieldSet name="Edit" id="edit" >
+ <cpt:property id="editMe"/>
+ </cpt:fieldSet>
+ <cpt:fieldSet name="Annotated" id="annotation">
+ <cpt:property id="blob"/>
+ </cpt:fieldSet>
<cpt:fieldSet name="Layout File" id="layout-file">
<!-- tag::layout-file[] -->
<cpt:property id="propertyUsingLayout"
repainting="NO_REPAINT"/>
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PropertyLayoutRepaintingPage_mixinProperty.java
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PropertyLayoutRepaintingPage_mixinProperty.java
deleted file mode 100644
index 49e5023aa3..0000000000
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PropertyLayoutRepaintingPage_mixinProperty.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package demoapp.dom.domain.properties.PropertyLayout.repainting;
-
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.Repainting;
-import org.apache.causeway.applib.value.Blob;
-
-import lombok.RequiredArgsConstructor;
-
-//tag::class[]
-@Property()
-@PropertyLayout(
- repainting = Repainting.NO_REPAINT // <.>
- , describedAs =
- "@PropertyLayout(repainting = NO_REPAINT)",
- fieldSetId = "contributed", sequence = "1"
-)
-@RequiredArgsConstructor
-public class PropertyLayoutRepaintingPage_mixinProperty {
- // ...
-//end::class[]
-
- private final PropertyLayoutRepaintingPage page;
-
-// @PdfJsViewer
- public Blob prop() {
- return page.getPropertyUsingAnnotation();
- }
-
-//tag::class[]
-}
-//end::class[]
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PropertyLayoutRepaintingPage_mixinPropertyWithMetaAnnotation.java
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PropertyLayoutRepaintingPage_mixinPropertyWithMetaAnnotation.java
deleted file mode 100644
index d2232f0229..0000000000
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PropertyLayoutRepaintingPage_mixinPropertyWithMetaAnnotation.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package demoapp.dom.domain.properties.PropertyLayout.repainting;
-
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.value.Blob;
-
-import lombok.RequiredArgsConstructor;
-
-//tag::class[]
-@RepaintingNoRepaintMetaAnnotation // <.>
-@Property()
-@PropertyLayout(
- describedAs =
- "@RepaintingNoRepaintMetaAnnotation",
- fieldSetId = "meta-annotated", sequence = "2"
-)
-@RequiredArgsConstructor
-public class PropertyLayoutRepaintingPage_mixinPropertyWithMetaAnnotation {
- // ...
-//end::class[]
-
- private final PropertyLayoutRepaintingPage page;
-
-// @PdfJsViewer
- public Blob prop() {
- return page.getPropertyUsingAnnotation();
- }
-
-//tag::class[]
-}
-//end::class[]
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PropertyLayoutRepaintingPage_mixinPropertyWithMetaAnnotationOverridden.java
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PropertyLayoutRepaintingPage_mixinPropertyWithMetaAnnotationOverridden.java
deleted file mode 100644
index ea2c563a70..0000000000
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PropertyLayoutRepaintingPage_mixinPropertyWithMetaAnnotationOverridden.java
+++ /dev/null
@@ -1,52 +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.repainting;
-
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.Repainting;
-import org.apache.causeway.applib.value.Blob;
-
-import lombok.RequiredArgsConstructor;
-
-//tag::meta-annotation-overridden[]
-@RepaintingRepaintMetaAnnotation // <.>
-@Property()
-@PropertyLayout(
- repainting = Repainting.NO_REPAINT // <.>
- , describedAs =
- "@RepaintingRepaintMetaAnnotation " +
- "@PropertyLayout(repainting = NO_REPAINT)",
- fieldSetId = "meta-annotated-overridden", sequence = "2"
-)
-@RequiredArgsConstructor
-public class
PropertyLayoutRepaintingPage_mixinPropertyWithMetaAnnotationOverridden {
- // ...
-//end::meta-annotation-overridden[]
-
- private final PropertyLayoutRepaintingPage page;
-
-// @PdfJsViewer
- public Blob 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/repainting/RepaintingNoRepaintMetaAnnotation.java
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/RepaintingNoRepaintMetaAnnotation.java
deleted file mode 100644
index 71e50a49a0..0000000000
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/RepaintingNoRepaintMetaAnnotation.java
+++ /dev/null
@@ -1,41 +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.repainting;
-
-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.PropertyLayout;
-import org.apache.causeway.applib.annotation.Repainting;
-
-//tag::class[]
-@PropertyLayout(repainting = Repainting.NO_REPAINT) // <.>
-@Inherited
-@Target({
- ElementType.METHOD, ElementType.FIELD, // <.>
- ElementType.TYPE // <.>
-})
-@Retention(RetentionPolicy.RUNTIME)
-public @interface RepaintingNoRepaintMetaAnnotation {
-
-}
-//end::class[]
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/RepaintingRepaintMetaAnnotation.java
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/RepaintingRepaintMetaAnnotation.java
deleted file mode 100644
index 2ca9e226ed..0000000000
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/RepaintingRepaintMetaAnnotation.java
+++ /dev/null
@@ -1,41 +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.repainting;
-
-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.PropertyLayout;
-import org.apache.causeway.applib.annotation.Repainting;
-
-//tag::class[]
-@PropertyLayout(repainting = Repainting.REPAINT) // <.>
-@Inherited
-@Target({
- ElementType.METHOD, ElementType.FIELD, // <.>
- ElementType.TYPE // <.>
-})
-@Retention(RetentionPolicy.RUNTIME)
-public @interface RepaintingRepaintMetaAnnotation {
-
-}
-//end::class[]
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/ValueSemantics/dateRenderAdjustDays/ValueSemanticsDateRenderAdjustDaysPage-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/ValueSemantics/dateRenderAdjustDays/ValueSemanticsDateRenderAdjustDaysPage-description.adoc
index 81cfa30ab0..cfa81bc047 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/ValueSemantics/dateRenderAdjustDays/ValueSemanticsDateRenderAdjustDaysPage-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/ValueSemantics/dateRenderAdjustDays/ValueSemanticsDateRenderAdjustDaysPage-description.adoc
@@ -1,5 +1,8 @@
: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: this functionality is currently *not* supported by the Wicket viewer;
see link:https://issues.apache.org/jira/browse/CAUSEWAY-3445[CAUSEWAY-3445].
+
+
When dealing with date ranges, sometimes it can be easier to define ranges
that use a combination of inclusive-exclusive limits -- that is `[startDate,
endDate)` -- so that the dates within the range meet the constraint `startDate
<= date < endDate`.
However, in the user interface your users may prefer inclusive ranges for both
the _startDate_ _and_ the `endDate`.
@@ -9,7 +12,6 @@ The
link:https://causeway.apache.org/refguide/2.0.0-RC1/applib/index/annotation/
The attribute can be applied to both properties and parameters:
-WARNING: this functionality is currently broken; the attribute does nothing;
see link:https://issues.apache.org/jira/browse/CAUSEWAY-3445[CAUSEWAY-3445].