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
The following commit(s) were added to refs/heads/master by this push:
new 4ae2d0f7d5 CAUSEWAY-2485: simplifies @Property#maxLength
4ae2d0f7d5 is described below
commit 4ae2d0f7d58be5609025c009b83adcd3ab05f112
Author: danhaywood <[email protected]>
AuthorDate: Thu Apr 20 06:55:06 2023 +0100
CAUSEWAY-2485: simplifies @Property#maxLength
and changes 'element' to 'attribute' throughout
---
.../ActionChoicesFromPage-description.adoc | 4 +-
.../ActionDomainEventPage-description.adoc | 2 +-
.../ActionRestrictToPage-description.adoc | 6 +-
.../semantics/ActionSemanticsPage-description.adoc | 8 +--
.../typeOf/ActionTypeOfPage-description.adoc | 2 +-
.../ActionLayoutAssociateWithPage-description.adoc | 2 +-
.../ActionLayoutCssClassFaPage-description.adoc | 2 +-
.../hidden/ActionLayoutHidden-description.adoc | 2 +-
.../hidden/ActionLayoutHiddenPage-description.adoc | 2 +-
.../named/ActionLayoutNamedPage-description.adoc | 2 +-
.../ActionLayoutPromptStylePage-description.adoc | 2 +-
...ActionLayoutRedirectPolicyPage-description.adoc | 2 +-
.../ActionLayoutSequencePage-description.adoc | 8 +--
.../CollectionDomainEventPage-description.adoc | 2 +-
.../domain/properties/Property/PropertyMenu.java | 5 +-
.../PropertyFileAcceptPage-description.adoc | 5 +-
.../maxLength/MaxLength10MetaAnnotation.java | 42 -----------
.../PropertyMaxLengthPage-description.adoc | 83 ++++------------------
.../Property/maxLength/PropertyMaxLengthPage.java | 38 ++--------
.../maxLength/PropertyMaxLengthPage.layout.xml | 7 +-
....java => PropertyMaxLengthPage_updateName.java} | 22 ++----
...ertyMaxLengthPage_updateWithMetaAnnotation.java | 57 ---------------
...gthPage_updateWithMetaAnnotationOverridden.java | 61 ----------------
.../PropertyMustSatisfyPage-description.adoc | 10 +--
.../PropertyOptionalityPage-description.adoc | 10 +--
.../PropertyProjectingPage-description.adoc | 4 +-
.../PropertyRegexPatternPage-description.adoc | 10 +--
.../snapshot/PropertySnapshotPage-description.adoc | 2 +-
.../PropertyLayoutCssClassPage-description.adoc | 12 ++--
.../PropertyLayoutHiddenPage-description.adoc | 2 +-
...ropertyLayoutLabelPositionPage-description.adoc | 10 +--
.../PropertyLayoutMultiLinePage-description.adoc | 14 ++--
.../navigable/FileNodeVm-description.adoc | 6 +-
.../PropertyLayoutRenderDayPage-description.adoc | 16 ++---
.../PropertyLayoutRepaintingPage-description.adoc | 10 +--
...ropertyLayoutTypicalLengthPage-description.adoc | 16 ++---
.../XmlSnapshotParentVm-description.adoc | 2 +-
37 files changed, 119 insertions(+), 371 deletions(-)
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/choicesFrom/ActionChoicesFromPage-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/choicesFrom/ActionChoicesFromPage-description.adoc
index d7faa457d1..a3b959c31d 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/choicesFrom/ActionChoicesFromPage-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/choicesFrom/ActionChoicesFromPage-description.adoc
@@ -36,7 +36,7 @@ Reference type
|===
-The `choicesFrom` element specifies an action has a multi-value reference type
parameter whose choices should be obtained from the specified collection.
+The `choicesFrom` attribute specifies an action has a multi-value reference
type parameter whose choices should be obtained from the specified collection.
The end-user can select the choices using checkboxes rendered with the
collection.
@@ -75,7 +75,7 @@ include::ActionChoicesFromPage_objects.java[tags=class]
----
include::ActionChoicesFromPage_makeLowerCase.java[tags=class]
----
-<.> The `choicesFrom` element causes checkboxes to be rendered for each of the
objects in the "objects" collection.
+<.> The `choicesFrom` attribute causes checkboxes to be rendered for each of
the objects in the "objects" collection.
+
It also means that no `choices0Act()` or `autoComplete0Act()` is required.
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/domainEvent/ActionDomainEventPage-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/domainEvent/ActionDomainEventPage-description.adoc
index e65b4501e3..a95625295a 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/domainEvent/ActionDomainEventPage-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/domainEvent/ActionDomainEventPage-description.adoc
@@ -9,7 +9,7 @@ Domain service subscribers can influence this interaction,
either by:
* performing arbitrary operations before the action has been invoked
(including modifying the argument values to be used)
* performing arbitrary operations after the action has been invoked (including
changing the apparent return value of the action)
-The
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/Action.html#domainevent[@Action#actionDomainEvent]
element specifies the class to be emitted; the class specified must be a
subclass of the abstract
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/events/domain/ActionDomainEvent.html[ActionDomainEvent]
class.
+The
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/Action.html#domainevent[@Action#actionDomainEvent]
attribute specifies the class to be emitted; the class specified must be a
subclass of the abstract
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/events/domain/ActionDomainEvent.html[ActionDomainEvent]
class.
If no `domainEvent` is specified on the action itself, then the domain event
class can be specified at the class level using
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/DomainObject.html#actiondomainevent[@DomainObject#actionDomainEvent].
And if not specified at the class level, then an instance of
`o.a.c.applib.events.domain.ActionDomainEvent.Default` is emitted as the
fallback.
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/restrictTo/ActionRestrictToPage-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/restrictTo/ActionRestrictToPage-description.adoc
index 5ae2b94970..97dba274ef 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/restrictTo/ActionRestrictToPage-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/restrictTo/ActionRestrictToPage-description.adoc
@@ -1,6 +1,6 @@
:Notice: Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with this work
for additional information regarding copyright ownership. The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by
applicable law or ag [...]
-The
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/Action.html#restrictto[@Action#restrictTo]
element specifies whether the action should be available only in prototype
mode, or at all times.
+The
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/Action.html#restrictto[@Action#restrictTo]
attribute specifies whether the action should be available only in prototype
mode, or at all times.
Prototype actions are useful in the early stages of development, typically
make it easier to explore the domain objects and their relationships.
For example (when using a test database with a small amount of data), an
action could return all instances of a domain object such as `Customer`.
@@ -16,7 +16,7 @@ export PROTOTYPING=true
== How this demo works
-This page is a view model that defines three actions, each of which defines a
different `restrictTo` element:
+This page is a view model that defines three actions, each of which defines a
different `restrictTo` attribute:
* no annotation
+
@@ -24,7 +24,7 @@ This page is a view model that defines three actions, each of
which defines a di
----
include::ActionRestrictToPage.java[tags=action-no-annotation]
----
-<.> does not indicate any `restrictTo` element; will be available in both
prototype and production mode
+<.> does not indicate any `restrictTo` attribute; will be available in both
prototype and production mode
* explicitly restricted to prototype mode:
+
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/semantics/ActionSemanticsPage-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/semantics/ActionSemanticsPage-description.adoc
index 13184d6c6f..d1317e0ad8 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/semantics/ActionSemanticsPage-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/semantics/ActionSemanticsPage-description.adoc
@@ -1,6 +1,6 @@
:Notice: Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with this work
for additional information regarding copyright ownership. The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by
applicable law or ag [...]
-The
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/Action.html#semantics[@Action#semantics]
element specifies whether invoking the action will change the state of the
system, and if so, how:
+The
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/Action.html#semantics[@Action#semantics]
attribute specifies whether invoking the action will change the state of the
system, and if so, how:
* `SAFE` (sometimes also called "query-only") means no side-effects, that is,
no permanent change in state of the system
@@ -12,7 +12,7 @@ If the action is not annotated, then non-idempotent is
assumed.
The REST API interprets these semantics by mapping to different HTTP verbs:
GET, PUT and POST, respectively.
-Each of these three basic `semantics` element have a variant:
+Each of these three basic `semantics` attribute have a variant:
* `SAFE_AND_REQUEST_CACHEABLE` means that the framework will automatically
cache the result of a first invocation and use the
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/services/queryresultscache/QueryResultsCache.html[QueryResultsCache]
to return the result subsequently.
+
@@ -28,13 +28,13 @@ This page provides actions with different semantics.
=== No annotations
-If the `semantics` element is omitted completely, then the action is assumed
to be non-idempotent:
+If the `semantics` attribute is omitted completely, then the action is assumed
to be non-idempotent:
[source,java,indent=0]
----
include::ActionSemanticsPage.java[tags=action-no-annotation]
----
-<.> does not indicate any `semantic` element, and so non-idempotent is assumed
+<.> does not indicate any `semantic` attribute, and so non-idempotent is
assumed
=== Annotated as Safe
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/typeOf/ActionTypeOfPage-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/typeOf/ActionTypeOfPage-description.adoc
index a98f0d84e9..1c09c2e9ff 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/typeOf/ActionTypeOfPage-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/typeOf/ActionTypeOfPage-description.adoc
@@ -6,7 +6,7 @@ Actions that return lists of objects are usually parameterized,
for example, ret
The framework uses the generic parameter to ensure that the list is rendered
appropriately for that element type.
In some rare scenarios though it may be necessary to return only a raw
(non-parameterized) `List`.
-In these cases the
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/Action.html#typeof[@Action#typeOf]
element can be used to indicate the element type of the returned `List`.
+In these cases the
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/Action.html#typeof[@Action#typeOf]
attribute can be used to indicate the element type of the returned `List`.
== How this demo works
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/associateWith/ActionLayoutAssociateWithPage-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/associateWith/ActionLayoutAssociateWithPage-description.adoc
index ba33392c36..7ec9a2e4c1 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/associateWith/ActionLayoutAssociateWithPage-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/associateWith/ActionLayoutAssociateWithPage-description.adoc
@@ -4,7 +4,7 @@ It's quite common for a domain object action to only change one
part of a domain
For example, an action might be used to change a name, or a pair of actions be
used to add or remove elements from a collection.
In such cases, it generally makes sense for the action's button to be close to
the property or collection to which it relates.
-One way to specify this is with the `.layout.xml` files, but another option is
to use the
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/ActionLayout.html#associatewith[@ActionLayout#associateWith]
element (along with
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/ActionLayout.html#associatewith[@ActionLayout#sequence]
if there are several actions associated with the property/collection).
+One way to specify this is with the `.layout.xml` files, but another option is
to use the
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/ActionLayout.html#associatewith[@ActionLayout#associateWith]
attribute (along with
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/ActionLayout.html#associatewith[@ActionLayout#sequence]
if there are several actions associated with the property/collection).
== How this demo works
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/cssClassFa/ActionLayoutCssClassFaPage-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/cssClassFa/ActionLayoutCssClassFaPage-description.adoc
index f9e4025be9..d472ccd6aa 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/cssClassFa/ActionLayoutCssClassFaPage-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/cssClassFa/ActionLayoutCssClassFaPage-description.adoc
@@ -2,7 +2,7 @@
To help the end-user navigate a page, it can sometimes be helpful to decorate
individual actions within icons so that their purpose is more obvious.
-The
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/ActionLayout.html#cssclassfa[@ActionLayout#cssClassFa]
element allows this to be done by specifying the _Font Awesome_ CSS class (or
classes) with which to decorate an action.
+The
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/ActionLayout.html#cssclassfa[@ActionLayout#cssClassFa]
attribute allows this to be done by specifying the _Font Awesome_ CSS class
(or classes) with which to decorate an action.
This is used for whether the action is rendered as a button or as a menu item.
== How this demo works
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/hidden/ActionLayoutHidden-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/hidden/ActionLayoutHidden-description.adoc
index be20343544..f9ce16946e 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/hidden/ActionLayoutHidden-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/hidden/ActionLayoutHidden-description.adoc
@@ -15,7 +15,7 @@ From this page, you can inspect the visibility of the actions
from the context o
----
include::ActionLayoutHidden_changeName.java[tags=class]
----
-<.> no `hidden` element specified, so implicitly visible
+<.> no `hidden` attribute specified, so implicitly visible
* `hidden` on object forms (but not necessarily on collections):
+
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/hidden/ActionLayoutHiddenPage-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/hidden/ActionLayoutHiddenPage-description.adoc
index d401f4d882..0ea6e16d82 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/hidden/ActionLayoutHiddenPage-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/hidden/ActionLayoutHiddenPage-description.adoc
@@ -1,6 +1,6 @@
:Notice: Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with this work
for additional information regarding copyright ownership. The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by
applicable law or ag [...]
-The
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/ActionLayout.html#hidden[@ActionLayout#hidden]
element specifies whether an action should be visible in the UI or not.
+The
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/ActionLayout.html#hidden[@ActionLayout#hidden]
attribute specifies whether an action should be visible in the UI or not.
== How this demo works
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/named/ActionLayoutNamedPage-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/named/ActionLayoutNamedPage-description.adoc
index 1ce616501c..bdbf02b3e9 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/named/ActionLayoutNamedPage-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/named/ActionLayoutNamedPage-description.adoc
@@ -3,7 +3,7 @@
Sometimes the desired name of an action coincides with a reserved Java
keyword, for example "default" or "package".
You will therefore need to use some other method name to implement the action.
-The
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/ActionLayout.html#named[@ActionLayout#named]
element allows you to override the name (as used for rendering) from that
derived from the action's method name).
+The
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/ActionLayout.html#named[@ActionLayout#named]
attribute allows you to override the name (as used for rendering) from that
derived from the action's method name).
This can also be used if you want the name to include characters such as
brackets `()[]` or quotation marks `' "`.
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/promptStyle/ActionLayoutPromptStylePage-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/promptStyle/ActionLayoutPromptStylePage-description.adoc
index a16afaaa19..f353dd21bb 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/promptStyle/ActionLayoutPromptStylePage-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/promptStyle/ActionLayoutPromptStylePage-description.adoc
@@ -1,7 +1,7 @@
: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 [...]
Most actions take parameters, and so the framework renders a prompt to allow
the parameter arguments to be specified.
-The
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/ActionLayout.html#promptstyle[@ActionLayout#promptStyle]
element allows the position of this prompt to be specified.
+The
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/ActionLayout.html#promptstyle[@ActionLayout#promptStyle]
attribute allows the position of this prompt to be specified.
== How this demo works
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/redirectPolicy/ActionLayoutRedirectPolicyPage-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/redirectPolicy/ActionLayoutRedirectPolicyPage-description.adoc
index d76a3d64c3..fb3d381999 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/redirectPolicy/ActionLayoutRedirectPolicyPage-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/redirectPolicy/ActionLayoutRedirectPolicyPage-description.adoc
@@ -26,7 +26,7 @@ include::ActionLayoutRedirectPolicyPage.java[tags=class]
[NOTE]
====
-In this demo we are somewhat misusing the `@PropertyLayout#repainting`
element; normally this is used for components that are expensive to render
_and_ which are generally unchanging.
+In this demo we are somewhat misusing the `@PropertyLayout#repainting`
attribute; normally this is used for components that are expensive to render
_and_ which are generally unchanging.
The most common example of such a property would be a PDF, rendered using the
link:https://causeway.apache.org/vw/2.0.0-RC1/pdfjs/about.html[PDF.js]
extension (the
link:https://causeway.apache.org/refguide/2.0.0-RC1/extensions/index/pdfjs/applib/annotations/PdfJsViewer.html#section-top[@PdfJsViewer]
annotation).
====
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/sequence/ActionLayoutSequencePage-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/sequence/ActionLayoutSequencePage-description.adoc
index 71067e8e7c..d490dfd813 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/sequence/ActionLayoutSequencePage-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/sequence/ActionLayoutSequencePage-description.adoc
@@ -1,9 +1,9 @@
: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 [...]
-It's common to lay out a domain objects' members using the
`@ActionLayout#associateWith` element, which places an action's button close to
a property or collection.
-If there are more than one such action associated with an object, then the
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/ActionLayout.html#sequence[@ActionLayout#sequence]
element can additionally be used to specify the order of those action buttons.
+It's common to lay out a domain objects' members using the
`@ActionLayout#associateWith` attribute, which places an action's button close
to a property or collection.
+If there are more than one such action associated with an object, then the
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/ActionLayout.html#sequence[@ActionLayout#sequence]
attribute can additionally be used to specify the order of those action
buttons.
-The value of the `sequence` element is a string, interpreted as a
Dewey-decimal value, meaning:
+The value of the `sequence` attribute is a string, interpreted as a
Dewey-decimal value, meaning:
"1" < "1.0" < "1.1" < "1.1.1" < "1.1.2" < "1.2" < "1.3" < "2"
@@ -160,7 +160,7 @@ The top-level actions are:
include::ActionLayoutSequencePage_noopSeqY.java[tags=class]
----
+
-Note there is no "associateWith" element
+Note there is no "associateWith" attribute.
* second:
+
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/CollectionDomainEventPage-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/CollectionDomainEventPage-description.adoc
index e7cd446425..b3a1f3b1e4 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/CollectionDomainEventPage-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/CollectionDomainEventPage-description.adoc
@@ -4,7 +4,7 @@ Usually a domain event is emitted by the framework to emit
whenever the user int
Domain service subscribers can influence these interaction by subscribing to
these events, allowing them to hide the collection.
(Contrasting this with properties or actions, there are no other interactions
that can be influenced because collections cannot be modified directly).
-The
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/Collection.html#domainevent
element specifies the class to be emitted; this must be a subclass of the
abstract
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/events/domain/CollectionDomainEvent.html[CollectionDomainEvent]
class.
+The
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/Collection.html#domainevent
attribute specifies the class to be emitted; this must be a subclass of the
abstract
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/events/domain/CollectionDomainEvent.html[CollectionDomainEvent]
class.
If no `domainEvent` is specified on the property itself, then the domain event
class can be specified at the class level using
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/DomainObject.html#collectiondomainevent[@DomainObject#collectionDomainEvent]..
And if not specified at the class level, then an instance of
`oa.c..applib.events.domain.CollectionDomainEvent.Default` is emitted as the
fallback.
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/PropertyMenu.java
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/PropertyMenu.java
index b78e9b7887..2697746f14 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/PropertyMenu.java
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/PropertyMenu.java
@@ -63,6 +63,7 @@ public class PropertyMenu {
final ValueHolderRepository<String, ? extends
PropertyProjectingChildEntity> propertyProjectingChildEntities;
final Samples<Blob> blobSamples;
final Samples<Clob> clobSamples;
+ final Samples<String> stringSamples;
@Action(semantics = SemanticsOf.SAFE)
@ActionLayout(cssClassFa="fa-terminal", describedAs = "Action invocation
intentions as XML")
@@ -101,9 +102,7 @@ public class PropertyMenu {
@ActionLayout(cssClassFa="fa-ruler-horizontal", describedAs = "Length of
text fields")
public PropertyMaxLengthPage maxLength(){
val vm = new PropertyMaxLengthPage();
- vm.setPropertyUsingAnnotation("abcdefghij");
- vm.setPropertyUsingMetaAnnotation("abcdefghij");
- vm.setPropertyUsingMetaAnnotationButOverridden("abc");
+ vm.setName(stringSamples.single());
return vm;
}
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/fileAccept/PropertyFileAcceptPage-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/fileAccept/PropertyFileAcceptPage-description.adoc
index eece6a29f8..ccbe179487 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/fileAccept/PropertyFileAcceptPage-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/fileAccept/PropertyFileAcceptPage-description.adoc
@@ -2,9 +2,9 @@
The
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/Property.html#fileaccept[@Property#fileAccept]
attribute is used to indicate a file extension when browsing for a file to
upload:
-* for properties, the element can be specified using either the `@Property`
annotation, or a meta-annotation
+* for properties, the attribute can be specified using the `@Property`
annotation
-* for parameters, the element can be specified using either the `@Parameter`
annotation, or a meta-annotation.
+* for parameters, the attribute can be specified using the `@Parameter`
annotation
This attribute applies only to ``Blob``s and ``Clob``s.
@@ -15,6 +15,7 @@ This page object has two properties, `pdfProperty` and
`txtProperty`.
The first is a `Blob` which is intended to hold only PDF files, while the
second is a `Clob` that is intended to hold just `.txt` files.
Both properties can be edited directly, and can also be updated using an
action.
+Either way, the file extension that is acceptable is specified.
* for the `pdfProperty`:
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/MaxLength10MetaAnnotation.java
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/MaxLength10MetaAnnotation.java
deleted file mode 100644
index c7d4fa0847..0000000000
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/MaxLength10MetaAnnotation.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package demoapp.dom.domain.properties.Property.maxLength;
-
-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.Parameter;
-import org.apache.causeway.applib.annotation.Property;
-
-//tag::class[]
-@Property(maxLength = 10) // <.>
-@Parameter(maxLength = 10) // <.>
-@Inherited
-@Target({
- ElementType.METHOD, ElementType.FIELD, // <.>
- ElementType.PARAMETER, // <.>
-})
-@Retention(RetentionPolicy.RUNTIME)
-public @interface MaxLength10MetaAnnotation {
-
-}
-//end::class[]
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthPage-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthPage-description.adoc
index 161bd6a5bd..33a2fef81b 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthPage-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthPage-description.adoc
@@ -1,13 +1,13 @@
:Notice: Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with this work
for additional information regarding copyright ownership. The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by
applicable law or ag [...]
-The `maxLength` element specifies the maximum length of the value that can be
held by the property.
+The
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/Property.html#maxlength[@Property#maxLength]
attribute specifies the maximum length of the value that can be held by the
property.
This corresponds to the number of characters that can be entered through the
text field:
-* for properties, the element can be specified using either the `@Property`
annotation, or a meta-annotation
+* for properties, the attribute can be specified using the `@Property`
annotation
-* for parameters, the element can be specified using either the `@Parameter`
annotation, or a meta-annotation.
+* for parameters, the attribute can be specified using the `@Parameter`
annotation
-This semantic applies only to strings.
+This attribute applies only to strings.
[IMPORTANT]
====
@@ -16,83 +16,30 @@ For domain entities this semantic should be accompanied
with `@Column(maxLength=
[NOTE]
====
-`@Property#maxLength()` and `@PropertyLayout#typicalLength()` are not related
- the first is an element that 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.
+`@Property#maxLength()` and `@PropertyLayout#typicalLength()` are not related
- the first is an attribute that 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
+This page object has a single `name` property.
+This can be edited directly, and can also be updated using an action.
+Either way, a maximum length for the string is enforced.
-== Annotated
+To edit the property directly:
-The `maxLength` element can be specified explicitly using an annotation:
-
-* for properties, using `@Property#maxLength()`:
-+
[source,java,indent=0]
+.PropertyMaxLengthPage.java
----
-include::PropertyMaxLengthPage.java[tags=annotation]
+include::PropertyMaxLengthPage.java[tags=name]
----
<.> explicitly specifies the maximum length that can be entered for the
property
-* for parameters, using `@Parameter#maxLength()`:
-+
-[source,java,indent=0]
-----
-include::PropertyMaxLengthPage_updateWithParameterLayout.java[tags=annotation]
-----
-<.> explicitly specifies the maximum length that can be entered for the
property
-
-The annotation could also be applied to a mixin, but would have little effect
because mixin properties are always read-only.
-
-== Meta-annotated
-The `maxLength` element can also be specified using a custom meta-annotation:
+To update using an action:
-* the meta-annotation is defined as:
-+
-[source,java]
-----
-include::MaxLength10MetaAnnotation.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
-
-* and can be applied to a property:
-+
[source,java,indent=0]
----
-include::PropertyMaxLengthPage.java[tags=meta-annotated]
-----
-<.> semantic is inherited from the meta-annotation
-
-* or can be applied to a parameter:
-+
-[source,java,indent=0]
+include::PropertyMaxLengthPage_updateName.java[tags=annotation]
----
-include::PropertyMaxLengthPage_updateWithMetaAnnotation.java[tags=meta-annotation]
-----
-<.> semantic is inherited from the meta-annotation
-
-
-=== Meta-annotated Overridden
-
-The meta-annotation can itself be overridden:
-
-* in a property:
-+
-[source,java,indent=0]
-----
-include::PropertyMaxLengthPage.java[tags=meta-annotated-overridden]
-----
-<.> semantic from meta-annotation ...
-<.> \... is overridden by the `@Property` annotation
+<.> explicitly specifies the maximum length that can be entered for the
property
-* or a parameter:
-+
-[source,java,indent=0]
-----
-include::PropertyMaxLengthPage_updateWithMetaAnnotationOverridden.java[tags=meta-annotation-overridden]
-----
-<.> semantic from meta-annotation ...
-<.> \... is overridden by the `@Parameter` annotation
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthPage.java
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthPage.java
index 83625d73b1..325e77edc3 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthPage.java
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthPage.java
@@ -51,44 +51,14 @@ public class PropertyMaxLengthPage implements
HasAsciiDocDescription {
return "@Property#maxLength";
}
-//tag::annotation[]
+//tag::name[]
@Property(
- maxLength = 10 // <.>
+ maxLength = 10 // <.>
)
- @PropertyLayout(
- describedAs =
- "@Property(maxLength = 10)",
- fieldSetId = "annotation", sequence = "1")
@XmlElement(required = true)
@Getter @Setter
- private String propertyUsingAnnotation;
-//end::annotation[]
-
-//tag::meta-annotated[]
- @MaxLength10MetaAnnotation // <.>
- @Property()
- @PropertyLayout(
- describedAs = "@MaxLength10MetaAnnotation",
- fieldSetId = "meta-annotated", sequence = "1")
- @XmlElement(required = true)
- @Getter @Setter
- private String propertyUsingMetaAnnotation;
-//end::meta-annotated[]
-
-//tag::meta-annotated-overridden[]
- @MaxLength10MetaAnnotation // <.>
- @Property(
- maxLength = 3 // <.>
- )
- @PropertyLayout(
- describedAs =
- "@MaxLength10MetaAnnotation " +
- "@PropertyLayout(maxLength = 3)",
- fieldSetId = "meta-annotated-overridden", sequence = "1")
- @XmlElement(required = true)
- @Getter @Setter
- private String propertyUsingMetaAnnotationButOverridden;
-//end::meta-annotated-overridden[]
+ private String name;
+//end::name[]
}
//end::class[]
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthPage.layout.xml
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthPage.layout.xml
index 790c10145c..81b0535888 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthPage.layout.xml
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthPage.layout.xml
@@ -26,10 +26,9 @@
<bs3:row>
<bs3:col span="6">
- <cpt:fieldSet name="Annotated" id="annotation"/>
- <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="General" id="general">
+ <cpt:property id="name"/>
+ </cpt:fieldSet>
<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/Property/maxLength/PropertyMaxLengthPage_updateWithParameterLayout.java
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthPage_updateName.java
similarity index 73%
rename from
examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthPage_updateWithParameterLayout.java
rename to
examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthPage_updateName.java
index c75b7ef50c..b8e4089f57 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthPage_updateWithParameterLayout.java
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthPage_updateName.java
@@ -27,33 +27,25 @@ 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 PropertyMaxLengthPage_updateWithParameterLayout {
+public class PropertyMaxLengthPage_updateName {
private final PropertyMaxLengthPage page;
//tag::annotation[]
@MemberSupport public PropertyMaxLengthPage act(
@Parameter(
- maxLength = 10 // <.>
+ maxLength = 10 // <.>
)
- @ParameterLayout(
- describedAs =
- "@Parameter(maxLength = 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/Property/maxLength/PropertyMaxLengthPage_updateWithMetaAnnotation.java
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthPage_updateWithMetaAnnotation.java
deleted file mode 100644
index ab8d4461be..0000000000
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthPage_updateWithMetaAnnotation.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 demoapp.dom.domain.properties.Property.maxLength;
-
-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.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 PropertyMaxLengthPage_updateWithMetaAnnotation {
-
- private final PropertyMaxLengthPage page;
-
-//tag::meta-annotation[]
- @MemberSupport public PropertyMaxLengthPage act(
- @MaxLength10MetaAnnotation // <.>
- @Parameter()
- @ParameterLayout(
- describedAs = "@MaxLength10MetaAnnotation"
- )
- 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/Property/maxLength/PropertyMaxLengthPage_updateWithMetaAnnotationOverridden.java
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthPage_updateWithMetaAnnotationOverridden.java
deleted file mode 100644
index 2eab3630c3..0000000000
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthPage_updateWithMetaAnnotationOverridden.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package demoapp.dom.domain.properties.Property.maxLength;
-
-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.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 PropertyMaxLengthPage_updateWithMetaAnnotationOverridden {
-
- private final PropertyMaxLengthPage page;
-
-//tag::meta-annotation-overridden[]
- @MemberSupport public PropertyMaxLengthPage act(
- @MaxLength10MetaAnnotation // <.>
- @Parameter(
- maxLength = 3 // <.>
- )
- @ParameterLayout(
- describedAs =
- "@MaxLength10MetaAnnotation " +
- "@PropertyLayout(maxLength = 3)"
- )
- 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/Property/mustSatisfy/PropertyMustSatisfyPage-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/mustSatisfy/PropertyMustSatisfyPage-description.adoc
index 5bf5e047ae..cefe9846f4 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/mustSatisfy/PropertyMustSatisfyPage-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/mustSatisfy/PropertyMustSatisfyPage-description.adoc
@@ -1,10 +1,10 @@
:Notice: Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with this work
for additional information regarding copyright ownership. The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by
applicable law or ag [...]
-The `mustSatisfy` element specifies an arbitrary constraint that the value
entered into the property must satisfy:
+The `mustSatisfy` attribute specifies an arbitrary constraint that the value
entered into the property must satisfy:
-* for properties, the element can be specified using either the `@Property`
annotation, or a meta-annotation
+* for properties, the attribute can be specified using the `@Property`
annotation
-* for parameters, the element can be specified using either the `@Parameter`
annotation, or a meta-annotation.
+* for parameters, the attribute can be specified using the `@Parameter`
annotation
The constraint is provided as a concrete class that implements the
`org.apache.causeway.applib.spec.Specification` interface.
This is usually done by subclassing `AbstractSpecification` or
`AbstractSpecification2`:
@@ -21,7 +21,7 @@ This semantic can apply to all types, although the provided
`Specification` must
== Annotated
-The `mustSatisfy` element can be specified explicitly using an annotation:
+The `mustSatisfy` attribute can be specified explicitly using an annotation:
* for properties, using `@Property#mustSatisfy()`:
+
@@ -52,7 +52,7 @@ The annotation could also be applied to a mixin, but would
have little effect be
CAUTION: this feature is currently broken, see
link:https://issues.apache.org/jira/browse/CAUSEWAY-2415[CAUSEWAY-2415].
-The `mustSatisfy` element can also be specified using a custom meta-annotation:
+The `mustSatisfy` attribute can also be specified using a custom
meta-annotation:
* the meta-annotation is defined as:
+
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/optionality/PropertyOptionalityPage-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/optionality/PropertyOptionalityPage-description.adoc
index e568c8b54f..dcebc08415 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/optionality/PropertyOptionalityPage-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/optionality/PropertyOptionalityPage-description.adoc
@@ -2,11 +2,11 @@
CAUTION: TODO: can also use `@Nullable`, for parameters at least.
-The `optionality` element specifies that a property or parameter is either
optional or mandatory:
+The `optionality` attribute specifies that a property or parameter is either
optional or mandatory:
-* for properties, the element can be specified using either the `@Property`
annotation, or a meta-annotation
+* for properties, the attribute can be specified using the `@Property`
annotation
-* for parameters, the element can be specified using either the `@Parameter`
annotation, or a meta-annotation
+* for parameters, the attribute can be specified using the `@Parameter`
annotation
Without an annotation, the framework assumes that the property or parameter is
mandatory, ie required.
@@ -23,7 +23,7 @@ Also note that JDO and JAXB assume a property is not required
by default, wherea
== Annotated
-The `optionality` element can be specified explicitly using an annotation:
+The `optionality` attribute can be specified explicitly using an annotation:
* for properties, using `@Property#optionality()`:
+
@@ -45,7 +45,7 @@ The annotation could also be applied to a mixin, but would
have little effect be
== Meta-annotated
-The `optionality` element can also be specified using a custom meta-annotation:
+The `optionality` attribute can also be specified using a custom
meta-annotation:
* the meta-annotation is defined as:
+
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/PropertyProjectingPage-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/PropertyProjectingPage-description.adoc
index c860c71624..3a39570f3a 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/PropertyProjectingPage-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/PropertyProjectingPage-description.adoc
@@ -6,9 +6,9 @@ Sometimes though the columns to be shown will vary depending
upon the use case w
One way to fine-tune the columns shown is to implement the
`TableColumnOrderService` SPI.
An alternative is to define a view model as a projection of that entity, and
return a collection of that view model instead.
However, this view model requires the end-user to have to click first to the
view model, and then to the backing entity instance that it wraps.
-The `projecting` element allows this extra hop to be eliminated.
+The `projecting` attribute allows this extra hop to be eliminated.
-The `projecting` element can only be used on a view model, and only on a
single property of that view model, and that property must return a reference
to an entity (the backing entity).
+The `projecting` attribute can only be used on a view model, and only on a
single property of that view model, and that property must return a reference
to an entity (the backing entity).
Rather than render links to the view model, the viewer instead renders links
directly to the entity.
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/regexPattern/PropertyRegexPatternPage-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/regexPattern/PropertyRegexPatternPage-description.adoc
index ce430862a8..19b57f1e9c 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/regexPattern/PropertyRegexPatternPage-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/regexPattern/PropertyRegexPatternPage-description.adoc
@@ -1,16 +1,16 @@
:Notice: Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with this work
for additional information regarding copyright ownership. The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by
applicable law or ag [...]
-The `regexPattern` element specifies a regular expression that the value
entered into the property must match:
+The `regexPattern` attribute specifies a regular expression that the value
entered into the property must match:
-* for properties, the element can be specified using either the `@Property`
annotation, or a meta-annotation
+* for properties, the attribute can be specified using the `@Property`
annotation
-* for parameters, the element can be specified using either the `@Parameter`
annotation, or a meta-annotation.
+* for parameters, the attribute can be specified using the `@Parameter`
annotation
This semantic applies only to strings.
== Annotated
-The `regexPattern` element can be specified explicitly using an annotation:
+The `regexPattern` attribute can be specified explicitly using an annotation:
* for properties, using `@Property#regexPattern()`:
+
@@ -32,7 +32,7 @@ The annotation could also be applied to a mixin, but would
have little effect be
== Meta-annotated
-The `regexPattern` element can also be specified using a custom
meta-annotation:
+The `regexPattern` attribute can also be specified using a custom
meta-annotation:
* the meta-annotation is defined as:
+
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/snapshot/PropertySnapshotPage-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/snapshot/PropertySnapshotPage-description.adoc
index d5d3975eb8..7795934585 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/snapshot/PropertySnapshotPage-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/snapshot/PropertySnapshotPage-description.adoc
@@ -1,6 +1,6 @@
:Notice: Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with this work
for additional information regarding copyright ownership. The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by
applicable law or ag [...]
-The `snapshot` element of the `@Property` annotation specifies whether a
property should be included in an XML snapshot, as created by the
`XmlSnapshotService`.
+The `snapshot` attribute of the `@Property` annotation specifies whether a
property should be included in an XML snapshot, as created by the
`XmlSnapshotService`.
== Annotations and Meta-annotations
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/cssClass/PropertyLayoutCssClassPage-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/cssClass/PropertyLayoutCssClassPage-description.adoc
index 9ef5fc809a..81bd47155e 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/cssClass/PropertyLayoutCssClassPage-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/cssClass/PropertyLayoutCssClassPage-description.adoc
@@ -1,16 +1,16 @@
:Notice: Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with this work
for additional information regarding copyright ownership. The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by
applicable law or ag [...]
-The `cssClass` element indicates that the `<div>` containing the property or
parameter component within the UI should set the specified CSS class:
+The `cssClass` attribute indicates that the `<div>` containing the property or
parameter component within the UI should set the specified CSS class:
-* for properties, the element can be specified using either the
`@PropertyLayout` annotation, or a meta-annotation, or using the
`Xxx.layout.xml` layout file.
+* for properties, the attribute can be specified using either the
`@PropertyLayout` annotation, or using the `Xxx.layout.xml` layout file.
-* for parameters, the element can be specified using either the
`@ParameterLayout` annotation, or a meta-annotation.
+* for parameters, the attribute can be specified using the `@ParameterLayout`
annotation
The `application.css` file can then be used to apply styling to that CSS class
== Annotated
-The `cssClass` element can be specified explicitly using an annotation:
+The `cssClass` attribute can be specified explicitly using an annotation:
* for properties, using `@PropertyLayout#cssClass()`:
+
@@ -59,9 +59,9 @@ The `@PropertyLayout` can also be applied at the class-level
to mixin properties
[source,java,indent=0]
----
-include::PropertyLayoutCssClassVm_mixinProperty.java[tags=class]
+include::PropertyLayoutCssClassPage_mixinProperty.java[tags=class]
----
-<.> explicitly specifies the CSS class element for the contributed property
+<.> explicitly specifies the CSS class for the contributed property
== Meta-annotated
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/PropertyLayoutHiddenPage-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/PropertyLayoutHiddenPage-description.adoc
index ed2ae294f6..efbc405dc8 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/PropertyLayoutHiddenPage-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/PropertyLayoutHiddenPage-description.adoc
@@ -1,6 +1,6 @@
:Notice: Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with this work
for additional information regarding copyright ownership. The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by
applicable law or ag [...]
-The
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/PropertyLayout.html#hidden[@PropertyLayout#hidden]
element specifies whether a property should be visible in the UI or not.
+The
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/PropertyLayout.html#hidden[@PropertyLayout#hidden]
attribute specifies whether a property should be visible in the UI or not.
== How this demo works
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/labelPosition/PropertyLayoutLabelPositionPage-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/labelPosition/PropertyLayoutLabelPositionPage-description.adoc
index 8ad755b5d3..7a69b3d254 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/labelPosition/PropertyLayoutLabelPositionPage-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/labelPosition/PropertyLayoutLabelPositionPage-description.adoc
@@ -1,10 +1,10 @@
:Notice: Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with this work
for additional information regarding copyright ownership. The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by
applicable law or ag [...]
-The `labelPosition` element indicates where the label for a property to be
rendered: typically to the left or the top, or sometimes none:
+The `labelPosition` attribute indicates where the label for a property to be
rendered: typically to the left or the top, or sometimes none:
-* for properties, the element can be specified using either the
`@PropertyLayout` annotation, or a meta-annotation, or using the
`Xxx.layout.xml` layout file.
+* for properties, the attribute can be specified using either the
`@PropertyLayout` annotation, or using the `Xxx.layout.xml` layout file.
-* for parameters, the element can be specified using either the
`@ParameterLayout` annotation, or a meta-annotation.
+* for parameters, the attribute can be specified using the `@ParameterLayout`
annotation
Some data types also support the label being rendered to the right (support
for this is shown on each of the demo pages for each of the data types).
@@ -12,7 +12,7 @@ Some data types also support the label being rendered to the
right (support for
== Annotated
-The `labelPosition` element can be specified explicitly using an annotation:
+The `labelPosition` attribute can be specified explicitly using an annotation:
* for properties, using `@PropertyLayout#labelPosition()`:
+
@@ -32,7 +32,7 @@
include::PropertyLayoutLabelPositionPage_updateWithParameterLayout.java[tags=ann
== Layout File
-For properties (not parameters), the CSS class element can be specified using
the `Xxx.layout.xml` file:
+For properties (not parameters), the CSS class can be specified using the
`Xxx.layout.xml` file:
* property definition:
+
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/multiLine/PropertyLayoutMultiLinePage-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/multiLine/PropertyLayoutMultiLinePage-description.adoc
index 5b4085a293..5f5d4d10f8 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/multiLine/PropertyLayoutMultiLinePage-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/multiLine/PropertyLayoutMultiLinePage-description.adoc
@@ -1,16 +1,16 @@
:Notice: Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with this work
for additional information regarding copyright ownership. The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by
applicable law or ag [...]
-The `multiLine` element indicates that a textbox of the specified number of
lines should be used to render a property or parameter:
+The `multiLine` attribute indicates that a textbox of the specified number of
lines should be used to render a property or parameter:
-* for properties, the element can be specified using either the
`@PropertyLayout` annotation, or a meta-annotation, or using the
`Xxx.layout.xml` layout file.
+* for properties, the attribute can be specified using the `@PropertyLayout`
annotation, or using the `Xxx.layout.xml` layout file.
-* for parameters, the element can be specified using either the
`@ParameterLayout` annotation, or a meta-annotation.
+* for parameters, the attribute can be specified using the `@ParameterLayout`
annotation.
-The element is currently supported only for properties and parameters of type
``String``s.
+The attribute is currently supported only for properties and parameters of
type ``String``s.
== Annotated
-The `multiline` element can be specified explicitly using an annotation:
+The `multiline` attribute can be specified explicitly using an annotation:
* for properties, using `@PropertyLayout#multiLine()`:
+
@@ -30,7 +30,7 @@
include::PropertyLayoutMultiLinePage_updateWithParameterLayout.java[tags=annotat
== Layout File
-For properties (not parameters), the `multiline` element can be specified
using the `Xxx.layout.xml` file:
+For properties (not parameters), the `multiline` attribute can be specified
using the `Xxx.layout.xml` file:
* property definition:
+
@@ -65,7 +65,7 @@
include::PropertyLayoutMultiLinePage_mixinProperty.java[tags=class]
== Meta-annotated
-The `multiline` element can also be specified using a custom meta-annotation:
+The `multiline` attribute can also be specified using a custom meta-annotation:
* the meta-annotation is defined as:
+
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/navigable/FileNodeVm-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/navigable/FileNodeVm-description.adoc
index 4afce76c94..61efeb3264 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/navigable/FileNodeVm-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/navigable/FileNodeVm-description.adoc
@@ -1,6 +1,6 @@
:Notice: Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with this work
for additional information regarding copyright ownership. The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by
applicable law or ag [...]
-The `navigable` element allows the viewer to construct a breadcrumb trail.
+The `navigable` attribute allows the viewer to construct a breadcrumb trail.
It is commonly used with objects forming a hierarchy, and so often is used in
conjunction with the `TreeNode` value type.
This app uses the filesystem of the host computer to illustrate the idea:
@@ -11,14 +11,14 @@ This app uses the filesystem of the host computer to
illustrate the idea:
This allows the user to drill into the tree and inspect the individual files,
without "losing their place".
The mechanics of creating the tree are shown below.
-But first, let's discuss the `navigable` element as a means to construct
breadcrumbs.
+But first, let's discuss the `navigable` attribute as a means to construct
breadcrumbs.
== Navigable (Breadcrumbs)
For all ``FileNode``s a breadcrumb trail is rendered.
The one node where this is not visible is the initial root node (see the
`path` property), because it has no parent.
-The framework constructs the breadcrumbs using the value returned by the
property with the `navigable` element.
+The framework constructs the breadcrumbs using the value returned by the
property with the `navigable` attribute.
This hint should be used on no more than one property of the object, and
points back to the logical parent of the domain object:
[source,java,indent=0]
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayPage-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayPage-description.adoc
index 0c2e674664..0e6e4cb09f 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayPage-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayPage-description.adoc
@@ -1,6 +1,6 @@
:Notice: Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with this work
for additional information regarding copyright ownership. The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by
applicable law or ag [...]
-The `renderDay` element applies to date fields, and indicates that the date
rendered should be one day before the day actually held in the property.
+The `renderDay` attribute applies to date fields, and indicates that the date
rendered should be one day before the day actually held in the property.
The typical use case for this is when two date properties together model an
interval, namely a "startDate" and an "endDate".
@@ -14,13 +14,13 @@ For example, ['Mon 1 Jan', 'Mon 8 Jan'), then ['Mon 8
Jan', 'Mon 15 Jan')`.
This UI hint therefore allows the domain object to use an exclusive end date,
thus simplifying business logic, but to be rendered the day before, as if with
an inclusive end date.
-The element applies to both properties and parameters:
+The attribute applies to both properties and parameters:
-* for properties, the element can be specified using either the
`@PropertyLayout` annotation, or a meta-annotation, or using the
`Xxx.layout.xml` layout file.
+* for properties, the attribute can be specified using either the
`@PropertyLayout` annotation, or using the `Xxx.layout.xml` layout file.
-* for parameters, the element can be specified using either the
`@ParameterLayout` annotation, or a meta-annotation.
+* for parameters, the attribute can be specified using the `@ParameterLayout`
annotation.
-The element is supported only for properties and parameters representing
dates/times.
+The attribute is supported only for properties and parameters representing
dates/times.
// TODO: java.time datatypes not yet supported.
@@ -28,7 +28,7 @@ TIP: You can inspect the "raw" data of the domain object,
using the "download as
== Annotated
-The `renderDay` element can be specified explicitly using an annotation:
+The `renderDay` attribute can be specified explicitly using an annotation:
* for properties, using `@PropertyLayout#renderDay()`:
+
@@ -48,7 +48,7 @@
include::PropertyLayoutRenderDayVm_updateEndDateWithParameterLayout.java[tags=an
== Layout File
-For properties (not parameters), the `renderDay` element can be specified
using the `Xxx.layout.xml` file:
+For properties (not parameters), the `renderDay` attribute can be specified
using the `Xxx.layout.xml` file:
* property definition:
+
@@ -81,7 +81,7 @@
include::PropertyLayoutRenderDayVm_mixinEndDateWithPropertyLayout.java[tags=clas
== Meta-annotated
-The `renderDay` element can also be specified using a custom meta-annotation:
+The `renderDay` attribute can also be specified using a custom meta-annotation:
* the meta-annotation is defined as:
+
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 6b749dd3e6..5e2e11145c 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,11 +1,11 @@
:Notice: Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with this work
for additional information regarding copyright ownership. The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by
applicable law or ag [...]
-The `repainting` element indicates that the value held by the property never
changes over time, even when other properties of the object do change.
+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 element can be specified using either the
`@PropertyLayout` annotation, or a meta-annotation, or using the
`Xxx.layout.xml` layout file.
+* for properties, the attribute can be specified using either the
`@PropertyLayout` annotation, or using the `Xxx.layout.xml` layout file.
-The element does _not_ apply for action parameters.
+The attribute does _not_ apply for action parameters.
The primarily use case for performance, eg can improve the user experience
when rendering PDFs/blobs.
@@ -14,7 +14,7 @@ Said another way: if only one blob/clob property requires a
repaint, then all wi
== Annotated
-The (no) repainting element can be specified explicitly using an annotation:
+The (no) repainting hint can be specified explicitly using an annotation:
* for properties, using `@PropertyLayout#repainting()`:
+
@@ -27,7 +27,7 @@ include::PropertyLayoutRepaintingPage.java[tags=annotation]
== Layout File
-For properties (not parameters), the `renderDay` element can be specified
using the `Xxx.layout.xml` file:
+For properties (not parameters), the `renderDay` attribute can be specified
using the `Xxx.layout.xml` file:
* property definition:
+
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 030555f011..54b2763832 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
@@ -1,16 +1,16 @@
:Notice: Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with this work
for additional information regarding copyright ownership. The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by
applicable law or ag [...]
-The `typicalLength` element is intended to indicate the size that a textfield
should be rendered as a visual indicator of the expected length:
+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 element can be specified using either the
`@PropertyLayout` annotation, or a meta-annotation, or using the
`Xxx.layout.xml` layout file.
+* for properties, the attribute can be specified using either the
`@PropertyLayout` annotation, or using the `Xxx.layout.xml` layout file.
-* for parameters, the element can be specified using either the
`@ParameterLayout` annotation, or a meta-annotation.
+* for parameters, the attribute can be specified using either the
`@ParameterLayout` annotation.
[CAUTION]
====
-The Wicket viewer does not use this element, instead preferring to render all
textfields as the same size irrespective.
+The Wicket viewer does not use this hint, instead preferring to render all
textfields as the same size irrespective.
-In other words, providing this element has no impact on the UI (as rendered by
the Wicket viewer, at least).
+In other words, providing this hint has no impact on the UI (as rendered by
the Wicket viewer, at least).
====
[NOTE]
@@ -20,7 +20,7 @@ In other words, providing this element has no impact on the
UI (as rendered by t
== Annotated
-The `typicalLength` element can be specified explicitly using an annotation:
+The `typicalLength` attribute can be specified explicitly using an annotation:
* for properties, using `@PropertyLayout#typicalLength()`:
+
@@ -40,7 +40,7 @@
include::PropertyLayoutTypicalLengthVm_updateWithParameterLayout.java[tags=annot
== Layout File
-For properties (not parameters), the `typicalLength` element can be specified
using the `Xxx.layout.xml` file:
+For properties (not parameters), the `typicalLength` attribute can be
specified using the `Xxx.layout.xml` file:
* property definition:
+
@@ -75,7 +75,7 @@
include::PropertyLayoutTypicalLengthVm_mixinProperty.java[tags=class]
== Meta-annotated
-The `typicalLength` element can also be specified using a custom
meta-annotation:
+The `typicalLength` attribute can also be specified using a custom
meta-annotation:
* the meta-annotation is defined as:
+
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/XmlSnapshotParentVm-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/XmlSnapshotParentVm-description.adoc
index 506951e7ff..2dacd61774 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/XmlSnapshotParentVm-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/XmlSnapshotParentVm-description.adoc
@@ -8,7 +8,7 @@ This XML could for example be hashed and digitally signed, to
form the basis of
[TIP]
====
-It is possible to explicitly exclude properties from the snapshot using the
`@Property(snapshot=...)` element.
+It is possible to explicitly exclude properties from the snapshot using the
`@Property(snapshot=...)` attribute.
====
In addition to generating XML, the service can also generate an XSD schema
that the XML will be conformant with.