You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2022/08/18 06:25:18 UTC

[isis] branch master updated: ISIS-3123: converts short,byte,double,float showcase to generated

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

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


The following commit(s) were added to refs/heads/master by this push:
     new b7ddb71c0f ISIS-3123: converts short,byte,double,float showcase to generated
b7ddb71c0f is described below

commit b7ddb71c0fba96fe42029b1bced497cf07ec5572
Author: andi-huber <ah...@apache.org>
AuthorDate: Thu Aug 18 08:25:11 2022 +0200

    ISIS-3123: converts short,byte,double,float showcase to generated
---
 .../primitive/bytes/PrimitiveBytes-common.adoc     | 14 +++++-
 .../bytes/PrimitiveBytes-description.adoc          |  7 +--
 .../dom/types/primitive/bytes/PrimitiveBytes.java  | 15 +++---
 .../primitive/bytes/PrimitiveBytes.layout.xml      |  2 +
 .../bytes/holder/PrimitiveByteHolder.java          |  1 +
 .../bytes/holder/PrimitiveByteHolder2.java         |  5 +-
 .../PrimitiveByteHolder_actionReturning.java       |  2 +-
 .../PrimitiveByteHolder_actionReturningArray.java  |  7 ++-
 .../holder/PrimitiveByteHolder_mixinProperty.java  |  2 +-
 ...PrimitiveByteHolder_updateReadOnlyProperty.java |  1 +
 ...teHolder_updateReadOnlyPropertyWithChoices.java | 12 ++---
 .../bytes/jdo/PrimitiveByteJdo-description.adoc    |  8 ++--
 .../primitive/bytes/jdo/PrimitiveByteJdo.java      |  7 +--
 .../bytes/jdo/PrimitiveByteJdoEntities.java        |  7 +--
 .../bytes/jpa/PrimitiveByteJpa-description.adoc    | 15 +++---
 .../primitive/bytes/jpa/PrimitiveByteJpa.java      |  7 +--
 .../bytes/jpa/PrimitiveByteJpaEntities.java        |  7 +--
 .../bytes/persistence/PrimitiveByteEntity.java     |  5 +-
 .../persistence/PrimitiveByteEntity.layout.xml     |  3 ++
 .../bytes/persistence/PrimitiveByteSeeding.java    |  6 ++-
 .../bytes/vm/PrimitiveByteVm-description.adoc      |  9 ++--
 .../types/primitive/bytes/vm/PrimitiveByteVm.java  |  7 +--
 .../primitive/bytes/vm/PrimitiveByteVm.layout.xml  |  3 ++
 .../primitive/doubles/PrimitiveDoubles-common.adoc | 12 +++++
 .../doubles/PrimitiveDoubles-description.adoc      |  6 ++-
 .../types/primitive/doubles/PrimitiveDoubles.java  | 15 +++---
 .../primitive/doubles/PrimitiveDoubles.layout.xml  |  2 +
 .../doubles/holder/PrimitiveDoubleHolder.java      |  1 +
 .../doubles/holder/PrimitiveDoubleHolder2.java     |  3 +-
 .../PrimitiveDoubleHolder_actionReturning.java     |  2 +-
 ...PrimitiveDoubleHolder_actionReturningArray.java |  7 ++-
 .../PrimitiveDoubleHolder_mixinProperty.java       |  2 +-
 ...imitiveDoubleHolder_updateReadOnlyProperty.java |  1 +
 ...leHolder_updateReadOnlyPropertyWithChoices.java | 13 ++---
 .../jdo/PrimitiveDoubleJdo-description.adoc        |  9 ++--
 .../primitive/doubles/jdo/PrimitiveDoubleJdo.java  |  7 +--
 .../doubles/jdo/PrimitiveDoubleJdoEntities.java    |  7 +--
 .../jpa/PrimitiveDoubleJpa-description.adoc        | 16 +++----
 .../primitive/doubles/jpa/PrimitiveDoubleJpa.java  |  7 +--
 .../doubles/jpa/PrimitiveDoubleJpaEntities.java    |  7 +--
 .../doubles/persistence/PrimitiveDoubleEntity.java |  5 +-
 .../persistence/PrimitiveDoubleEntity.layout.xml   | 11 +++--
 .../persistence/PrimitiveDoubleSeeding.java        |  6 ++-
 .../doubles/vm/PrimitiveDoubleVm-description.adoc  | 10 ++--
 .../primitive/doubles/vm/PrimitiveDoubleVm.java    |  7 +--
 .../doubles/vm/PrimitiveDoubleVm.layout.xml        | 11 +++--
 .../primitive/floats/PrimitiveFloats-common.adoc   | 12 +++++
 .../floats/PrimitiveFloats-description.adoc        |  6 ++-
 .../types/primitive/floats/PrimitiveFloats.java    | 15 +++---
 .../primitive/floats/PrimitiveFloats.layout.xml    |  2 +
 .../floats/holder/PrimitiveFloatHolder.java        |  1 +
 .../floats/holder/PrimitiveFloatHolder2.java       |  3 +-
 .../PrimitiveFloatHolder_actionReturning.java      |  2 +-
 .../PrimitiveFloatHolder_actionReturningArray.java |  7 ++-
 .../holder/PrimitiveFloatHolder_mixinProperty.java |  2 +-
 ...rimitiveFloatHolder_updateReadOnlyProperty.java |  1 +
 ...atHolder_updateReadOnlyPropertyWithChoices.java | 13 ++---
 .../floats/jdo/PrimitiveFloatJdo-description.adoc  |  9 ++--
 .../primitive/floats/jdo/PrimitiveFloatJdo.java    |  7 +--
 .../floats/jdo/PrimitiveFloatJdoEntities.java      |  7 +--
 .../floats/jpa/PrimitiveFloatJpa-description.adoc  | 16 +++----
 .../primitive/floats/jpa/PrimitiveFloatJpa.java    |  7 +--
 .../floats/jpa/PrimitiveFloatJpaEntities.java      |  7 +--
 .../floats/persistence/PrimitiveFloatEntity.java   |  5 +-
 .../persistence/PrimitiveFloatEntity.layout.xml    | 11 +++--
 .../floats/persistence/PrimitiveFloatSeeding.java  |  6 ++-
 .../floats/vm/PrimitiveFloatVm-description.adoc    | 10 ++--
 .../primitive/floats/vm/PrimitiveFloatVm.java      |  7 +--
 .../floats/vm/PrimitiveFloatVm.layout.xml          | 11 +++--
 .../primitive/shorts/PrimitiveShorts-common.adoc   | 12 +++++
 .../shorts/PrimitiveShorts-description.adoc        |  6 ++-
 .../types/primitive/shorts/PrimitiveShorts.java    | 15 +++---
 .../primitive/shorts/PrimitiveShorts.layout.xml    |  2 +
 .../shorts/holder/PrimitiveShortHolder.java        |  1 +
 .../shorts/holder/PrimitiveShortHolder2.java       |  3 +-
 .../PrimitiveShortHolder_actionReturning.java      |  2 +-
 .../PrimitiveShortHolder_actionReturningArray.java |  7 ++-
 .../holder/PrimitiveShortHolder_mixinProperty.java |  2 +-
 ...rimitiveShortHolder_updateReadOnlyProperty.java |  1 +
 ...rtHolder_updateReadOnlyPropertyWithChoices.java | 12 ++---
 .../shorts/jdo/PrimitiveShortJdo-description.adoc  |  9 ++--
 .../primitive/shorts/jdo/PrimitiveShortJdo.java    |  7 +--
 .../shorts/jdo/PrimitiveShortJdoEntities.java      |  7 +--
 .../shorts/jpa/PrimitiveShortJpa-description.adoc  | 16 +++----
 .../primitive/shorts/jpa/PrimitiveShortJpa.java    |  7 +--
 .../shorts/jpa/PrimitiveShortJpaEntities.java      |  7 +--
 .../shorts/persistence/PrimitiveShortEntity.java   |  5 +-
 .../persistence/PrimitiveShortEntity.layout.xml    | 11 +++--
 .../shorts/persistence/PrimitiveShortSeeding.java  |  6 ++-
 .../shorts/vm/PrimitiveShortVm-description.adoc    | 10 ++--
 .../primitive/shorts/vm/PrimitiveShortVm.java      |  7 +--
 .../shorts/vm/PrimitiveShortVm.layout.xml          | 11 +++--
 .../demoshowcases/value/ValueShowCase.java         | 56 ++++++++++++++++------
 93 files changed, 426 insertions(+), 282 deletions(-)

diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/PrimitiveBytes-common.adoc b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/PrimitiveBytes-common.adoc
index 302ab96b65..e42b1a2d31 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/PrimitiveBytes-common.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/PrimitiveBytes-common.adoc
@@ -1,5 +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 [...]
 
+// // This file was GENERATED by the showcase generator (tooling). Do NOT edit!
+
 == Mixin actions
 
 A number of mixin actions contribute through the `PrimitiveByteHolder` interface, demonstrate the use of `byte` as a parameter and as a return type.
@@ -19,6 +21,14 @@ include::holder/PrimitiveByteHolder_updateReadOnlyProperty.java[tags=class]
 include::holder/PrimitiveByteHolder_actionReturning.java[tags=class]
 ----
 
+
+* the `actionReturningArray` action is:
++
+[source,java]
+----
+include::holder/PrimitiveByteHolder_actionReturningArray.java[tags=class]
+----
+
 == Mixin properties
 
 We also use the interface to contribute a mixin property:
@@ -30,9 +40,10 @@ We also use the interface to contribute a mixin property:
 include::holder/PrimitiveByteHolder_mixinProperty.java[tags=class]
 ----
 
+
 == @PropertyLayout(labelPosition=...)
 
-The `PrimitiveByteHolder2` interface is used to demonstrate support for label positions using `@PropertyLayout(labelPosition=...)`:
+To demonstrate support for label positions using `@PropertyLayout(labelPosition=...)`, the entity and view model objects both implement the extended `PrimitiveByteHolder2` interface:
 
 [source,java]
 ----
@@ -47,3 +58,4 @@ include::holder/PrimitiveByteHolder2.java[tags=class]
 +
 CAUTION: currently not supported
 <.> Hide the label completely.
+
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/PrimitiveBytes-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/PrimitiveBytes-description.adoc
index 5006fe5e97..bfec33a562 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/PrimitiveBytes-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/PrimitiveBytes-description.adoc
@@ -1,6 +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 [...]
 
-The framework has built-in support for all of the primitive data types, including `byte`.
+// // This file was GENERATED by the showcase generator (tooling). Do NOT edit!
+
+The framework has built-in support for the (primitive) `byte` data type.
 
 From here you can:
 
@@ -22,9 +24,8 @@ The `PrimitiveByteHolder` interface is used to contribute a number of mixins to
 include::holder/PrimitiveByteHolder.java[tags=class]
 ----
 
-
 === PrimitiveByteHolder2
 
 The `PrimitiveByteHolder2` interface is used to demonstrate support for label positions using `@PropertyLayout(labelPosition=...)`.
 
-Further details, along with the effect of this annotation, can be seen on the entity and view model object pages.
\ No newline at end of file
+Further details, along with the effect of this annotation, can be seen on the entity and view model object pages.
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/PrimitiveBytes.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/PrimitiveBytes.java
index 8e98f09206..2e3bbe14e4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/PrimitiveBytes.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/PrimitiveBytes.java
@@ -41,21 +41,21 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 
 import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 import demoapp.dom._infra.values.ValueHolderRepository;
+import demoapp.dom.types.Samples;
 import demoapp.dom.types.primitive.bytes.persistence.PrimitiveByteEntity;
 import demoapp.dom.types.primitive.bytes.vm.PrimitiveByteVm;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
 @Named("demo.PrimitiveBytes")
-@DomainObject(
-        nature=Nature.VIEW_MODEL,
-        editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
 //@Log4j2
 public class PrimitiveBytes implements HasAsciiDocDescription {
 
     @ObjectSupport public String title() {
-        return "byte (primitive) data type";
+        return "byte data type";
     }
 
     @Action(semantics = SemanticsOf.SAFE)
@@ -64,7 +64,7 @@ public class PrimitiveBytes implements HasAsciiDocDescription {
         return new PrimitiveByteVm(initialValue);
     }
     @MemberSupport public byte default0OpenViewModel() {
-        return (byte)123;
+        return samples.single();
     }
 
     @Collection
@@ -74,7 +74,10 @@ public class PrimitiveBytes implements HasAsciiDocDescription {
 
     @Inject
     @XmlTransient
-    ValueHolderRepository<Byte, ? extends PrimitiveByteEntity> entities;
+    ValueHolderRepository<java.lang.Byte, ? extends PrimitiveByteEntity> entities;
 
+    @Inject
+    @XmlTransient
+    Samples<java.lang.Byte> samples;
 
 }
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/PrimitiveBytes.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/PrimitiveBytes.layout.xml
index 74e0160a87..247ed17506 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/PrimitiveBytes.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/PrimitiveBytes.layout.xml
@@ -15,6 +15,8 @@
         xmlns:cpt="http://isis.apache.org/applib/layout/component"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
+	<!-- This file was GENERATED by the showcase generator (tooling). Do NOT edit! -->
+
 	<bs3:row>
 		<bs3:col span="10" unreferencedActions="true">
 			<cpt:domainObject />
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder.java
index 20065a03d7..4090ffbafb 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder.java
@@ -20,6 +20,7 @@ package demoapp.dom.types.primitive.bytes.holder;
 
 import javax.inject.Named;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Named("demo.PrimitiveByteHolder")
 //tag::class[]
 public interface PrimitiveByteHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder2.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder2.java
index 6c980779c3..df32a2edc1 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder2.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder2.java
@@ -23,8 +23,9 @@ import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
 import org.apache.isis.applib.annotation.Where;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
-public interface PrimitiveByteHolder2 extends PrimitiveByteHolder{
+public interface PrimitiveByteHolder2 extends PrimitiveByteHolder {
 
     @Property                                               // <.>
     @PropertyLayout(
@@ -32,7 +33,7 @@ public interface PrimitiveByteHolder2 extends PrimitiveByteHolder{
         describedAs =
             "@PropertyLayout(labelPosition=LEFT)",
         hidden = Where.ALL_TABLES,
-        fieldSetId = "label-positions", sequence = "1")  // <.>
+        fieldSetId = "label-positions", sequence = "1")     // <.>
     default byte getReadOnlyPropertyDerivedLabelPositionLeft() {
         return getReadOnlyProperty();
     }
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder_actionReturning.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder_actionReturning.java
index 6c1522f1a7..8f32e40ec6 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder_actionReturning.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder_actionReturning.java
@@ -23,7 +23,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 
 import lombok.RequiredArgsConstructor;
 
-
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(semantics = SemanticsOf.SAFE)
 @RequiredArgsConstructor
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder_actionReturningArray.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder_actionReturningArray.java
index 1566caf7e1..d0f49d5fdb 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder_actionReturningArray.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder_actionReturningArray.java
@@ -24,12 +24,11 @@ import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.commons.functional.IndexedConsumer;
 
+import demoapp.dom.types.Samples;
 import lombok.RequiredArgsConstructor;
 import lombok.val;
 
-import demoapp.dom.types.Samples;
-
-@SuppressWarnings("unused")
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(semantics = SemanticsOf.SAFE)
 @RequiredArgsConstructor
@@ -45,7 +44,7 @@ public class PrimitiveByteHolder_actionReturningArray {
     }
 
     @Inject
-    Samples<Byte> samples;
+    Samples<java.lang.Byte> samples;
 
 }
 //end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder_mixinProperty.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder_mixinProperty.java
index bd47dc539e..e850f64479 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder_mixinProperty.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder_mixinProperty.java
@@ -24,7 +24,7 @@ import org.apache.isis.applib.annotation.Where;
 
 import lombok.RequiredArgsConstructor;
 
-
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Property()
 @PropertyLayout(hidden = Where.ALL_TABLES, fieldSetId = "contributed", sequence = "1")
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder_updateReadOnlyProperty.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder_updateReadOnlyProperty.java
index e635d739ce..7fd0595891 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder_updateReadOnlyProperty.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder_updateReadOnlyProperty.java
@@ -26,6 +26,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 
 import lombok.RequiredArgsConstructor;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(
         semantics = SemanticsOf.IDEMPOTENT
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder_updateReadOnlyPropertyWithChoices.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder_updateReadOnlyPropertyWithChoices.java
index 6fd4f79e81..90a68291b0 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder_updateReadOnlyPropertyWithChoices.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder_updateReadOnlyPropertyWithChoices.java
@@ -29,10 +29,10 @@ import org.apache.isis.applib.annotation.MemberSupport;
 import org.apache.isis.applib.annotation.PromptStyle;
 import org.apache.isis.applib.annotation.SemanticsOf;
 
-import lombok.RequiredArgsConstructor;
-
 import demoapp.dom.types.Samples;
+import lombok.RequiredArgsConstructor;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(
         semantics = SemanticsOf.IDEMPOTENT
@@ -56,17 +56,13 @@ public class PrimitiveByteHolder_updateReadOnlyPropertyWithChoices {
         return holder.getReadOnlyProperty();
     }
 
-    @MemberSupport public List<Byte> choices0Act() {
+    @MemberSupport public List<java.lang.Byte> choices0Act() {
         return samples.stream()
                 .collect(Collectors.toList());
     }
 
-    @MemberSupport public boolean hideAct() {
-        return true; // TODO: choices doesn't seem to work for this datatype
-    }
-
     @Inject
-    Samples<Byte> samples;
+    Samples<java.lang.Byte> samples;
 
 }
 //end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jdo/PrimitiveByteJdo-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jdo/PrimitiveByteJdo-description.adoc
index 5971f66904..f6d125f271 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jdo/PrimitiveByteJdo-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jdo/PrimitiveByteJdo-description.adoc
@@ -1,13 +1,15 @@
 :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 [...]
 
-JDO supports `byte` link:http://www.datanucleus.org:15080/products/accessplatform_5_2/jdo/mapping.html#_primitive_and_java_lang_types[out-of-the-box], so no special annotations are required.
+// // This file was GENERATED by the showcase generator (tooling). Do NOT edit!
+
+JDO supports `byte` out-of-the-box, so no special annotations are required. see link:https://www.datanucleus.org/products/accessplatform_6_0/jdo/mapping.html#_primitive_and_java_lang_types[DataNucleus]
 
 [source,java]
 ----
-include::PrimitiveByteJdo.java[tags="class"]
+include::PrimitiveByteJdo.java[tags=class]
 ----
 <.> a no-arg constructor is introduced by JDO enhancer
 <.> no additional JDO annotations required.
 
 
-include::../PrimitiveBytes-common.adoc[]
\ No newline at end of file
+include::../PrimitiveBytes-common.adoc[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jdo/PrimitiveByteJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jdo/PrimitiveByteJdo.java
index aa571e1f68..ce95e8452f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jdo/PrimitiveByteJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jdo/PrimitiveByteJdo.java
@@ -37,13 +37,14 @@ import lombok.Setter;
 
 import demoapp.dom.types.primitive.bytes.persistence.PrimitiveByteEntity;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Profile("demo-jdo")
 //tag::class[]
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @Named("demo.PrimitiveByteEntity")
 @DomainObject
-public class PrimitiveByteJdo                                       // <.>
+public class PrimitiveByteJdo                                          // <.>
         extends PrimitiveByteEntity {
 
 //end::class[]
@@ -56,9 +57,9 @@ public class PrimitiveByteJdo                                       // <.>
     @Title(prepend = "byte (primitive) JDO entity: ")
     @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
     @Getter @Setter
-    private byte readOnlyProperty;                                  // <.>
+    private byte readOnlyProperty;                             // <.>
 
-    @Property(editing = Editing.ENABLED)
+    @Property(editing = Editing.ENABLED)                                        
     @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
     @Getter @Setter
     private byte readWriteProperty;
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jdo/PrimitiveByteJdoEntities.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jdo/PrimitiveByteJdoEntities.java
index 81abf4f746..d6b6e6b1ee 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jdo/PrimitiveByteJdoEntities.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jdo/PrimitiveByteJdoEntities.java
@@ -23,18 +23,19 @@ import org.springframework.stereotype.Service;
 
 import demoapp.dom._infra.values.ValueHolderRepository;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Profile("demo-jdo")
 @Service
 public class PrimitiveByteJdoEntities
-extends ValueHolderRepository<Byte, PrimitiveByteJdo> {
+extends ValueHolderRepository<java.lang.Byte, PrimitiveByteJdo> {
 
     protected PrimitiveByteJdoEntities() {
         super(PrimitiveByteJdo.class);
     }
 
     @Override
-    protected PrimitiveByteJdo newDetachedEntity(Byte value) {
+    protected PrimitiveByteJdo newDetachedEntity(java.lang.Byte value) {
         return new PrimitiveByteJdo(value);
     }
 
-}
\ No newline at end of file
+}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jpa/PrimitiveByteJpa-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jpa/PrimitiveByteJpa-description.adoc
index 29d13a958d..358551de97 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jpa/PrimitiveByteJpa-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jpa/PrimitiveByteJpa-description.adoc
@@ -1,18 +1,15 @@
 :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]
-==== 
-TODO this yet is just a copy from JDO
-====
+// // This file was GENERATED by the showcase generator (tooling). Do NOT edit!
 
-JDO supports `byte` link:http://www.datanucleus.org:15080/products/accessplatform_5_2/jdo/mapping.html#_primitive_and_java_lang_types[out-of-the-box], so no special annotations are required.
+JDO supports `byte` out-of-the-box, so no special annotations are required. see link:https://www.objectdb.com/java/jpa/entity/types#simple_java_data_types[ObjectDB]
 
 [source,java]
 ----
-include::PrimitiveByteJpa.java[tags="class"]
+include::PrimitiveByteJpa.java[tags=class]
 ----
-<.> a no-arg constructor is introduced by JDO enhancer
-<.> no additional JDO annotations required.
+<.> a no-arg constructor for convenience
+<.> no additional JPA annotations required.
 
 
-include::../PrimitiveBytes-common.adoc[]
\ No newline at end of file
+include::../PrimitiveBytes-common.adoc[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jpa/PrimitiveByteJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jpa/PrimitiveByteJpa.java
index 5b613b45b0..9db1a5ba1a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jpa/PrimitiveByteJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jpa/PrimitiveByteJpa.java
@@ -40,6 +40,7 @@ import lombok.Setter;
 
 import demoapp.dom.types.primitive.bytes.persistence.PrimitiveByteEntity;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Profile("demo-jpa")
 //tag::class[]
 @Entity
@@ -50,7 +51,7 @@ import demoapp.dom.types.primitive.bytes.persistence.PrimitiveByteEntity;
 @EntityListeners(IsisEntityListener.class)
 @Named("demo.PrimitiveByteEntity")
 @DomainObject
-@NoArgsConstructor
+@NoArgsConstructor                                                             // <.>
 public class PrimitiveByteJpa
         extends PrimitiveByteEntity {
 
@@ -68,9 +69,9 @@ public class PrimitiveByteJpa
     @Title(prepend = "byte (primitive) JPA entity: ")
     @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
     @Getter @Setter
-    private byte readOnlyProperty;                                  // <.>
+    private byte readOnlyProperty;                              // <.>
 
-    @Property(editing = Editing.ENABLED)
+    @Property(editing = Editing.ENABLED)                                        
     @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
     @Getter @Setter
     private byte readWriteProperty;
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jpa/PrimitiveByteJpaEntities.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jpa/PrimitiveByteJpaEntities.java
index 87bbfb2eca..16bb92a1cc 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jpa/PrimitiveByteJpaEntities.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jpa/PrimitiveByteJpaEntities.java
@@ -23,18 +23,19 @@ import org.springframework.stereotype.Service;
 
 import demoapp.dom._infra.values.ValueHolderRepository;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Profile("demo-jpa")
 @Service
 public class PrimitiveByteJpaEntities
-extends ValueHolderRepository<Byte, PrimitiveByteJpa> {
+extends ValueHolderRepository<java.lang.Byte, PrimitiveByteJpa> {
 
     protected PrimitiveByteJpaEntities() {
         super(PrimitiveByteJpa.class);
     }
 
     @Override
-    protected PrimitiveByteJpa newDetachedEntity(Byte value) {
+    protected PrimitiveByteJpa newDetachedEntity(java.lang.Byte value) {
         return new PrimitiveByteJpa(value);
     }
 
-}
\ No newline at end of file
+}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/persistence/PrimitiveByteEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/persistence/PrimitiveByteEntity.java
index 5e76861246..b45152dffc 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/persistence/PrimitiveByteEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/persistence/PrimitiveByteEntity.java
@@ -26,16 +26,17 @@ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.primitive.bytes.holder.PrimitiveByteHolder2;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Named("demo.PrimitiveByteEntity") // shared permissions with concrete sub class
 @DomainObject
 public abstract class PrimitiveByteEntity
 implements
     HasAsciiDocDescription,
     PrimitiveByteHolder2,
-    ValueHolder<Byte> {
+    ValueHolder<java.lang.Byte> {
 
     @Override
-    public Byte value() {
+    public java.lang.Byte value() {
         return getReadOnlyProperty();
     }
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/persistence/PrimitiveByteEntity.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/persistence/PrimitiveByteEntity.layout.xml
index d01899a6f0..bf6c6ddd0c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/persistence/PrimitiveByteEntity.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/persistence/PrimitiveByteEntity.layout.xml
@@ -15,10 +15,13 @@
         xmlns:cpt="http://isis.apache.org/applib/layout/component"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
+	<!-- This file was GENERATED by the showcase generator (tooling). Do NOT edit! -->
+
 	<bs3:row>
 		<bs3:col span="10" unreferencedActions="true">
 			<cpt:domainObject />
 			<cpt:action id="actionReturning"/>
+			<cpt:action id="actionReturningArray"/>
 		</bs3:col>
 		<bs3:col span="2">
 			<cpt:fieldSet name="" id="sources" />
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/persistence/PrimitiveByteSeeding.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/persistence/PrimitiveByteSeeding.java
index 90c86105c0..b02d2b018c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/persistence/PrimitiveByteSeeding.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/persistence/PrimitiveByteSeeding.java
@@ -25,11 +25,13 @@ import org.springframework.stereotype.Service;
 import demoapp.dom._infra.seed.SeedServiceAbstract;
 import demoapp.dom._infra.values.ValueHolderRepository;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Service
-public class PrimitiveByteSeeding extends SeedServiceAbstract {
+public class PrimitiveByteSeeding
+extends SeedServiceAbstract {
 
     @Inject
-    public PrimitiveByteSeeding(ValueHolderRepository<Byte, ? extends PrimitiveByteEntity> entities) {
+    public PrimitiveByteSeeding(ValueHolderRepository<java.lang.Byte, ? extends PrimitiveByteEntity> entities) {
         super(entities);
     }
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/vm/PrimitiveByteVm-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/vm/PrimitiveByteVm-description.adoc
index 1f2c0e14d5..3f0d27ffe4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/vm/PrimitiveByteVm-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/vm/PrimitiveByteVm-description.adoc
@@ -1,13 +1,14 @@
 :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 [...]
 
-JAXB supports `byte` link:https://docs.oracle.com/cd/E12840_01/wls/docs103/webserv/data_types.html#wp223908[out-of-the-box], so no special annotations are required.
+// // This file was GENERATED by the showcase generator (tooling). Do NOT edit!
+
+JAXB supports `byte` out-of-the-box, so no special annotations are required. see link:https://docs.oracle.com/cd/E12840_01/wls/docs103/webserv/data_types.html#wp223908[Oracle]
 
 [source,java]
 ----
-include::PrimitiveByteVm.java[tags="class"]
+include::PrimitiveByteVm.java[tags=class]
 ----
 <.> a no-arg constructor is required by JAXB
 <.> no additional JAXB annotations required.
 
-
-include::../PrimitiveBytes-common.adoc[]
\ No newline at end of file
+include::../PrimitiveBytes-common.adoc[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/vm/PrimitiveByteVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/vm/PrimitiveByteVm.java
index 77914c6bd7..443dafe206 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/vm/PrimitiveByteVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/vm/PrimitiveByteVm.java
@@ -37,6 +37,7 @@ import lombok.Setter;
 import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 import demoapp.dom.types.primitive.bytes.holder.PrimitiveByteHolder2;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @XmlRootElement(name = "root")
 @XmlType
@@ -44,7 +45,7 @@ import demoapp.dom.types.primitive.bytes.holder.PrimitiveByteHolder2;
 @Named("demo.PrimitiveByteVm")
 @DomainObject(
         nature=Nature.VIEW_MODEL)
-@lombok.NoArgsConstructor                                           // <.>
+@lombok.NoArgsConstructor                                                       // <.>
 public class PrimitiveByteVm
         implements HasAsciiDocDescription, PrimitiveByteHolder2 {
 
@@ -58,9 +59,9 @@ public class PrimitiveByteVm
     @Title(prepend = "byte (primitive) view model: ")
     @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
     @Getter @Setter
-    private byte readOnlyProperty;                                  // <.>
+    private byte readOnlyProperty;                              // <.>
 
-    @Property(editing = Editing.ENABLED)
+    @Property(editing = Editing.ENABLED)                                        
     @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
     @Getter @Setter
     private byte readWriteProperty;
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/vm/PrimitiveByteVm.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/vm/PrimitiveByteVm.layout.xml
index d01899a6f0..bf6c6ddd0c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/vm/PrimitiveByteVm.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/vm/PrimitiveByteVm.layout.xml
@@ -15,10 +15,13 @@
         xmlns:cpt="http://isis.apache.org/applib/layout/component"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
+	<!-- This file was GENERATED by the showcase generator (tooling). Do NOT edit! -->
+
 	<bs3:row>
 		<bs3:col span="10" unreferencedActions="true">
 			<cpt:domainObject />
 			<cpt:action id="actionReturning"/>
+			<cpt:action id="actionReturningArray"/>
 		</bs3:col>
 		<bs3:col span="2">
 			<cpt:fieldSet name="" id="sources" />
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/PrimitiveDoubles-common.adoc b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/PrimitiveDoubles-common.adoc
index b2c5aff35b..cc4300e582 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/PrimitiveDoubles-common.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/PrimitiveDoubles-common.adoc
@@ -1,5 +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 [...]
 
+// // This file was GENERATED by the showcase generator (tooling). Do NOT edit!
+
 == Mixin actions
 
 A number of mixin actions contribute through the `PrimitiveDoubleHolder` interface, demonstrate the use of `double` as a parameter and as a return type.
@@ -19,6 +21,14 @@ include::holder/PrimitiveDoubleHolder_updateReadOnlyProperty.java[tags=class]
 include::holder/PrimitiveDoubleHolder_actionReturning.java[tags=class]
 ----
 
+
+* the `actionReturningArray` action is:
++
+[source,java]
+----
+include::holder/PrimitiveDoubleHolder_actionReturningArray.java[tags=class]
+----
+
 == Mixin properties
 
 We also use the interface to contribute a mixin property:
@@ -30,6 +40,7 @@ We also use the interface to contribute a mixin property:
 include::holder/PrimitiveDoubleHolder_mixinProperty.java[tags=class]
 ----
 
+
 == @PropertyLayout(labelPosition=...)
 
 To demonstrate support for label positions using `@PropertyLayout(labelPosition=...)`, the entity and view model objects both implement the extended `PrimitiveDoubleHolder2` interface:
@@ -47,3 +58,4 @@ include::holder/PrimitiveDoubleHolder2.java[tags=class]
 +
 CAUTION: currently not supported
 <.> Hide the label completely.
+
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/PrimitiveDoubles-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/PrimitiveDoubles-description.adoc
index 0c16759c9a..d9f35d3220 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/PrimitiveDoubles-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/PrimitiveDoubles-description.adoc
@@ -1,6 +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 [...]
 
-The framework has built-in support for all of the primitive data types, including `double`.
+// // This file was GENERATED by the showcase generator (tooling). Do NOT edit!
+
+The framework has built-in support for the (primitive) `double` data type.
 
 From here you can:
 
@@ -26,4 +28,4 @@ include::holder/PrimitiveDoubleHolder.java[tags=class]
 
 The `PrimitiveDoubleHolder2` interface is used to demonstrate support for label positions using `@PropertyLayout(labelPosition=...)`.
 
-Further details, along with the effect of this annotation, can be seen on the entity and view model object pages.
\ No newline at end of file
+Further details, along with the effect of this annotation, can be seen on the entity and view model object pages.
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/PrimitiveDoubles.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/PrimitiveDoubles.java
index 738817d7cd..8bf1619281 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/PrimitiveDoubles.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/PrimitiveDoubles.java
@@ -41,21 +41,21 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 
 import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 import demoapp.dom._infra.values.ValueHolderRepository;
+import demoapp.dom.types.Samples;
 import demoapp.dom.types.primitive.doubles.persistence.PrimitiveDoubleEntity;
 import demoapp.dom.types.primitive.doubles.vm.PrimitiveDoubleVm;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
 @Named("demo.PrimitiveDoubles")
-@DomainObject(
-        nature=Nature.VIEW_MODEL,
-        editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
 //@Log4j2
 public class PrimitiveDoubles implements HasAsciiDocDescription {
 
     @ObjectSupport public String title() {
-        return "double (primitive) data type";
+        return "double data type";
     }
 
     @Action(semantics = SemanticsOf.SAFE)
@@ -64,7 +64,7 @@ public class PrimitiveDoubles implements HasAsciiDocDescription {
         return new PrimitiveDoubleVm(initialValue);
     }
     @MemberSupport public double default0OpenViewModel() {
-        return 1234.5678;
+        return samples.single();
     }
 
     @Collection
@@ -74,7 +74,10 @@ public class PrimitiveDoubles implements HasAsciiDocDescription {
 
     @Inject
     @XmlTransient
-    ValueHolderRepository<Double, ? extends PrimitiveDoubleEntity> entities;
+    ValueHolderRepository<java.lang.Double, ? extends PrimitiveDoubleEntity> entities;
 
+    @Inject
+    @XmlTransient
+    Samples<java.lang.Double> samples;
 
 }
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/PrimitiveDoubles.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/PrimitiveDoubles.layout.xml
index 74e0160a87..247ed17506 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/PrimitiveDoubles.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/PrimitiveDoubles.layout.xml
@@ -15,6 +15,8 @@
         xmlns:cpt="http://isis.apache.org/applib/layout/component"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
+	<!-- This file was GENERATED by the showcase generator (tooling). Do NOT edit! -->
+
 	<bs3:row>
 		<bs3:col span="10" unreferencedActions="true">
 			<cpt:domainObject />
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder.java
index 7de5894403..17fa1ea0a9 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder.java
@@ -20,6 +20,7 @@ package demoapp.dom.types.primitive.doubles.holder;
 
 import javax.inject.Named;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Named("demo.PrimitiveDoubleHolder")
 //tag::class[]
 public interface PrimitiveDoubleHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder2.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder2.java
index 7a17998f9d..569d9d2f5f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder2.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder2.java
@@ -23,6 +23,7 @@ import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
 import org.apache.isis.applib.annotation.Where;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 public interface PrimitiveDoubleHolder2 extends PrimitiveDoubleHolder {
 
@@ -32,7 +33,7 @@ public interface PrimitiveDoubleHolder2 extends PrimitiveDoubleHolder {
         describedAs =
             "@PropertyLayout(labelPosition=LEFT)",
         hidden = Where.ALL_TABLES,
-        fieldSetId = "label-positions", sequence = "1")  // <.>
+        fieldSetId = "label-positions", sequence = "1")     // <.>
     default double getReadOnlyPropertyDerivedLabelPositionLeft() {
         return getReadOnlyProperty();
     }
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder_actionReturning.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder_actionReturning.java
index 83aee8f1a3..387645096c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder_actionReturning.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder_actionReturning.java
@@ -23,7 +23,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 
 import lombok.RequiredArgsConstructor;
 
-
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(semantics = SemanticsOf.SAFE)
 @RequiredArgsConstructor
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder_actionReturningArray.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder_actionReturningArray.java
index 62c68b1434..f7e3540cf6 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder_actionReturningArray.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder_actionReturningArray.java
@@ -24,12 +24,11 @@ import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.commons.functional.IndexedConsumer;
 
+import demoapp.dom.types.Samples;
 import lombok.RequiredArgsConstructor;
 import lombok.val;
 
-import demoapp.dom.types.Samples;
-
-@SuppressWarnings("unused")
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(semantics = SemanticsOf.SAFE)
 @RequiredArgsConstructor
@@ -45,7 +44,7 @@ public class PrimitiveDoubleHolder_actionReturningArray {
     }
 
     @Inject
-    Samples<Double> samples;
+    Samples<java.lang.Double> samples;
 
 }
 //end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder_mixinProperty.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder_mixinProperty.java
index 31279dbfc2..6829a57a67 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder_mixinProperty.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder_mixinProperty.java
@@ -24,7 +24,7 @@ import org.apache.isis.applib.annotation.Where;
 
 import lombok.RequiredArgsConstructor;
 
-
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Property()
 @PropertyLayout(hidden = Where.ALL_TABLES, fieldSetId = "contributed", sequence = "1")
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder_updateReadOnlyProperty.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder_updateReadOnlyProperty.java
index 878d6b491e..908c80d439 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder_updateReadOnlyProperty.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder_updateReadOnlyProperty.java
@@ -26,6 +26,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 
 import lombok.RequiredArgsConstructor;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(
         semantics = SemanticsOf.IDEMPOTENT
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder_updateReadOnlyPropertyWithChoices.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder_updateReadOnlyPropertyWithChoices.java
index 67e43e32a6..aaa7619d19 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder_updateReadOnlyPropertyWithChoices.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/holder/PrimitiveDoubleHolder_updateReadOnlyPropertyWithChoices.java
@@ -29,10 +29,10 @@ import org.apache.isis.applib.annotation.MemberSupport;
 import org.apache.isis.applib.annotation.PromptStyle;
 import org.apache.isis.applib.annotation.SemanticsOf;
 
-import lombok.RequiredArgsConstructor;
-
 import demoapp.dom.types.Samples;
+import lombok.RequiredArgsConstructor;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(
         semantics = SemanticsOf.IDEMPOTENT
@@ -56,16 +56,13 @@ public class PrimitiveDoubleHolder_updateReadOnlyPropertyWithChoices {
         return holder.getReadOnlyProperty();
     }
 
-    @MemberSupport public List<Double> choices0Act() {
+    @MemberSupport public List<java.lang.Double> choices0Act() {
         return samples.stream()
                 .collect(Collectors.toList());
     }
 
-    @MemberSupport public boolean hideAct() {
-        return true; // TODO: choices doesn't seem to work for this datatype
-    }
-
     @Inject
-    Samples<Double> samples;
+    Samples<java.lang.Double> samples;
+
 }
 //end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jdo/PrimitiveDoubleJdo-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jdo/PrimitiveDoubleJdo-description.adoc
index af5fbe1b10..d6b84de6ae 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jdo/PrimitiveDoubleJdo-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jdo/PrimitiveDoubleJdo-description.adoc
@@ -1,14 +1,15 @@
 :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 [...]
 
-JDO supports `double` link:http://www.datanucleus.org:15080/products/accessplatform_5_2/jdo/mapping.html#_primitive_and_java_lang_types[out-of-the-box], so no special annotations are required.
+// // This file was GENERATED by the showcase generator (tooling). Do NOT edit!
+
+JDO supports `double` out-of-the-box, so no special annotations are required. see link:https://www.datanucleus.org/products/accessplatform_6_0/jdo/mapping.html#_primitive_and_java_lang_types[DataNucleus]
 
 [source,java]
 ----
-include::PrimitiveDoubleJdo.java[tags="class"]
+include::PrimitiveDoubleJdo.java[tags=class]
 ----
 <.> a no-arg constructor is introduced by JDO enhancer
 <.> no additional JDO annotations required.
 
 
-
-include::../PrimitiveDoubles-common.adoc[]
\ No newline at end of file
+include::../PrimitiveDoubles-common.adoc[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jdo/PrimitiveDoubleJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jdo/PrimitiveDoubleJdo.java
index 74592c5546..938011b645 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jdo/PrimitiveDoubleJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jdo/PrimitiveDoubleJdo.java
@@ -37,13 +37,14 @@ import lombok.Setter;
 
 import demoapp.dom.types.primitive.doubles.persistence.PrimitiveDoubleEntity;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Profile("demo-jdo")
 //tag::class[]
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @Named("demo.PrimitiveDoubleEntity")
 @DomainObject
-public class PrimitiveDoubleJdo                                     // <.>
+public class PrimitiveDoubleJdo                                          // <.>
         extends PrimitiveDoubleEntity {
 
 //end::class[]
@@ -56,9 +57,9 @@ public class PrimitiveDoubleJdo                                     // <.>
     @Title(prepend = "double (primitive) JDO entity: ")
     @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
     @Getter @Setter
-    private double readOnlyProperty;                                // <.>
+    private double readOnlyProperty;                             // <.>
 
-    @Property(editing = Editing.ENABLED)
+    @Property(editing = Editing.ENABLED)                                        
     @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
     @Getter @Setter
     private double readWriteProperty;
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jdo/PrimitiveDoubleJdoEntities.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jdo/PrimitiveDoubleJdoEntities.java
index b0e520d61b..53ef501109 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jdo/PrimitiveDoubleJdoEntities.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jdo/PrimitiveDoubleJdoEntities.java
@@ -23,18 +23,19 @@ import org.springframework.stereotype.Service;
 
 import demoapp.dom._infra.values.ValueHolderRepository;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Profile("demo-jdo")
 @Service
 public class PrimitiveDoubleJdoEntities
-extends ValueHolderRepository<Double, PrimitiveDoubleJdo> {
+extends ValueHolderRepository<java.lang.Double, PrimitiveDoubleJdo> {
 
     protected PrimitiveDoubleJdoEntities() {
         super(PrimitiveDoubleJdo.class);
     }
 
     @Override
-    protected PrimitiveDoubleJdo newDetachedEntity(Double value) {
+    protected PrimitiveDoubleJdo newDetachedEntity(java.lang.Double value) {
         return new PrimitiveDoubleJdo(value);
     }
 
-}
\ No newline at end of file
+}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jpa/PrimitiveDoubleJpa-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jpa/PrimitiveDoubleJpa-description.adoc
index 7aa0fc5177..adee6d0ac5 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jpa/PrimitiveDoubleJpa-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jpa/PrimitiveDoubleJpa-description.adoc
@@ -1,19 +1,15 @@
 :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]
-==== 
-TODO this yet is just a copy from JDO
-====
+// // This file was GENERATED by the showcase generator (tooling). Do NOT edit!
 
-JDO supports `double` link:http://www.datanucleus.org:15080/products/accessplatform_5_2/jdo/mapping.html#_primitive_and_java_lang_types[out-of-the-box], so no special annotations are required.
+JDO supports `double` out-of-the-box, so no special annotations are required. see link:https://www.objectdb.com/java/jpa/entity/types#simple_java_data_types[ObjectDB]
 
 [source,java]
 ----
-include::PrimitiveDoubleJpa.java[tags="class"]
+include::PrimitiveDoubleJpa.java[tags=class]
 ----
-<.> a no-arg constructor is introduced by JDO enhancer
-<.> no additional JDO annotations required.
+<.> a no-arg constructor for convenience
+<.> no additional JPA annotations required.
 
 
-
-include::../PrimitiveDoubles-common.adoc[]
\ No newline at end of file
+include::../PrimitiveDoubles-common.adoc[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jpa/PrimitiveDoubleJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jpa/PrimitiveDoubleJpa.java
index 2162324ce9..98ac0453d6 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jpa/PrimitiveDoubleJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jpa/PrimitiveDoubleJpa.java
@@ -40,6 +40,7 @@ import lombok.Setter;
 
 import demoapp.dom.types.primitive.doubles.persistence.PrimitiveDoubleEntity;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Profile("demo-jpa")
 //tag::class[]
 @Entity
@@ -50,7 +51,7 @@ import demoapp.dom.types.primitive.doubles.persistence.PrimitiveDoubleEntity;
 @EntityListeners(IsisEntityListener.class)
 @Named("demo.PrimitiveDoubleEntity")
 @DomainObject
-@NoArgsConstructor
+@NoArgsConstructor                                                             // <.>
 public class PrimitiveDoubleJpa
         extends PrimitiveDoubleEntity {
 
@@ -68,9 +69,9 @@ public class PrimitiveDoubleJpa
     @Title(prepend = "double (primitive) JPA entity: ")
     @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
     @Getter @Setter
-    private double readOnlyProperty;                                // <.>
+    private double readOnlyProperty;                              // <.>
 
-    @Property(editing = Editing.ENABLED)
+    @Property(editing = Editing.ENABLED)                                        
     @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
     @Getter @Setter
     private double readWriteProperty;
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jpa/PrimitiveDoubleJpaEntities.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jpa/PrimitiveDoubleJpaEntities.java
index 08ab168d5f..e27b01df46 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jpa/PrimitiveDoubleJpaEntities.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jpa/PrimitiveDoubleJpaEntities.java
@@ -23,18 +23,19 @@ import org.springframework.stereotype.Service;
 
 import demoapp.dom._infra.values.ValueHolderRepository;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Profile("demo-jpa")
 @Service
 public class PrimitiveDoubleJpaEntities
-extends ValueHolderRepository<Double, PrimitiveDoubleJpa> {
+extends ValueHolderRepository<java.lang.Double, PrimitiveDoubleJpa> {
 
     protected PrimitiveDoubleJpaEntities() {
         super(PrimitiveDoubleJpa.class);
     }
 
     @Override
-    protected PrimitiveDoubleJpa newDetachedEntity(Double value) {
+    protected PrimitiveDoubleJpa newDetachedEntity(java.lang.Double value) {
         return new PrimitiveDoubleJpa(value);
     }
 
-}
\ No newline at end of file
+}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/persistence/PrimitiveDoubleEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/persistence/PrimitiveDoubleEntity.java
index 36fef4e677..58a7767daf 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/persistence/PrimitiveDoubleEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/persistence/PrimitiveDoubleEntity.java
@@ -26,16 +26,17 @@ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.primitive.doubles.holder.PrimitiveDoubleHolder2;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Named("demo.PrimitiveDoubleEntity") // shared permissions with concrete sub class
 @DomainObject
 public abstract class PrimitiveDoubleEntity
 implements
     HasAsciiDocDescription,
     PrimitiveDoubleHolder2,
-    ValueHolder<Double> {
+    ValueHolder<java.lang.Double> {
 
     @Override
-    public Double value() {
+    public java.lang.Double value() {
         return getReadOnlyProperty();
     }
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/persistence/PrimitiveDoubleEntity.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/persistence/PrimitiveDoubleEntity.layout.xml
index c4a5e15c62..bf6c6ddd0c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/persistence/PrimitiveDoubleEntity.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/persistence/PrimitiveDoubleEntity.layout.xml
@@ -10,15 +10,18 @@
 	OF ANY KIND, either express or implied. See the License for the specific
 	language governing permissions and limitations under the License. -->
 <bs3:grid
-		xsi:schemaLocation="http://isis.apache.org/applib/layout/component http://isis.apache.org/applib/layout/component/component.xsd   http://isis.apache.org/applib/layout/grid/bootstrap3 http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd"
-		xmlns:bs3="http://isis.apache.org/applib/layout/grid/bootstrap3"
-		xmlns:cpt="http://isis.apache.org/applib/layout/component"
-		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+        xsi:schemaLocation="http://isis.apache.org/applib/layout/component http://isis.apache.org/applib/layout/component/component.xsd   http://isis.apache.org/applib/layout/grid/bootstrap3 http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd"
+        xmlns:bs3="http://isis.apache.org/applib/layout/grid/bootstrap3"
+        xmlns:cpt="http://isis.apache.org/applib/layout/component"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+	<!-- This file was GENERATED by the showcase generator (tooling). Do NOT edit! -->
 
 	<bs3:row>
 		<bs3:col span="10" unreferencedActions="true">
 			<cpt:domainObject />
 			<cpt:action id="actionReturning"/>
+			<cpt:action id="actionReturningArray"/>
 		</bs3:col>
 		<bs3:col span="2">
 			<cpt:fieldSet name="" id="sources" />
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/persistence/PrimitiveDoubleSeeding.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/persistence/PrimitiveDoubleSeeding.java
index b8e2d24b89..a5f10a14ca 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/persistence/PrimitiveDoubleSeeding.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/persistence/PrimitiveDoubleSeeding.java
@@ -25,11 +25,13 @@ import org.springframework.stereotype.Service;
 import demoapp.dom._infra.seed.SeedServiceAbstract;
 import demoapp.dom._infra.values.ValueHolderRepository;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Service
-public class PrimitiveDoubleSeeding extends SeedServiceAbstract {
+public class PrimitiveDoubleSeeding
+extends SeedServiceAbstract {
 
     @Inject
-    public PrimitiveDoubleSeeding(ValueHolderRepository<Double, ? extends PrimitiveDoubleEntity> entities) {
+    public PrimitiveDoubleSeeding(ValueHolderRepository<java.lang.Double, ? extends PrimitiveDoubleEntity> entities) {
         super(entities);
     }
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/vm/PrimitiveDoubleVm-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/vm/PrimitiveDoubleVm-description.adoc
index 22708d0865..6e60ba2463 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/vm/PrimitiveDoubleVm-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/vm/PrimitiveDoubleVm-description.adoc
@@ -1,14 +1,14 @@
 :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 [...]
 
-JAXB supports `double` link:https://docs.oracle.com/cd/E12840_01/wls/docs103/webserv/data_types.html#wp223908[out-of-the-box], so no special annotations are required.
+// // This file was GENERATED by the showcase generator (tooling). Do NOT edit!
+
+JAXB supports `double` out-of-the-box, so no special annotations are required. see link:https://docs.oracle.com/cd/E12840_01/wls/docs103/webserv/data_types.html#wp223908[Oracle]
 
 [source,java]
 ----
-include::PrimitiveDoubleVm.java[tags="class"]
+include::PrimitiveDoubleVm.java[tags=class]
 ----
 <.> a no-arg constructor is required by JAXB
 <.> no additional JAXB annotations required.
 
-
-
-include::../PrimitiveDoubles-common.adoc[]
\ No newline at end of file
+include::../PrimitiveDoubles-common.adoc[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/vm/PrimitiveDoubleVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/vm/PrimitiveDoubleVm.java
index 31914c8d46..cad6cf252e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/vm/PrimitiveDoubleVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/vm/PrimitiveDoubleVm.java
@@ -37,6 +37,7 @@ import lombok.Setter;
 import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 import demoapp.dom.types.primitive.doubles.holder.PrimitiveDoubleHolder2;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @XmlRootElement(name = "root")
 @XmlType
@@ -44,7 +45,7 @@ import demoapp.dom.types.primitive.doubles.holder.PrimitiveDoubleHolder2;
 @Named("demo.PrimitiveDoubleVm")
 @DomainObject(
         nature=Nature.VIEW_MODEL)
-@lombok.NoArgsConstructor                                           // <.>
+@lombok.NoArgsConstructor                                                       // <.>
 public class PrimitiveDoubleVm
         implements HasAsciiDocDescription, PrimitiveDoubleHolder2 {
 
@@ -58,9 +59,9 @@ public class PrimitiveDoubleVm
     @Title(prepend = "double (primitive) view model: ")
     @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
     @Getter @Setter
-    private double readOnlyProperty;                                // <.>
+    private double readOnlyProperty;                              // <.>
 
-    @Property(editing = Editing.ENABLED)
+    @Property(editing = Editing.ENABLED)                                        
     @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
     @Getter @Setter
     private double readWriteProperty;
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/vm/PrimitiveDoubleVm.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/vm/PrimitiveDoubleVm.layout.xml
index c4a5e15c62..bf6c6ddd0c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/vm/PrimitiveDoubleVm.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/vm/PrimitiveDoubleVm.layout.xml
@@ -10,15 +10,18 @@
 	OF ANY KIND, either express or implied. See the License for the specific
 	language governing permissions and limitations under the License. -->
 <bs3:grid
-		xsi:schemaLocation="http://isis.apache.org/applib/layout/component http://isis.apache.org/applib/layout/component/component.xsd   http://isis.apache.org/applib/layout/grid/bootstrap3 http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd"
-		xmlns:bs3="http://isis.apache.org/applib/layout/grid/bootstrap3"
-		xmlns:cpt="http://isis.apache.org/applib/layout/component"
-		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+        xsi:schemaLocation="http://isis.apache.org/applib/layout/component http://isis.apache.org/applib/layout/component/component.xsd   http://isis.apache.org/applib/layout/grid/bootstrap3 http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd"
+        xmlns:bs3="http://isis.apache.org/applib/layout/grid/bootstrap3"
+        xmlns:cpt="http://isis.apache.org/applib/layout/component"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+	<!-- This file was GENERATED by the showcase generator (tooling). Do NOT edit! -->
 
 	<bs3:row>
 		<bs3:col span="10" unreferencedActions="true">
 			<cpt:domainObject />
 			<cpt:action id="actionReturning"/>
+			<cpt:action id="actionReturningArray"/>
 		</bs3:col>
 		<bs3:col span="2">
 			<cpt:fieldSet name="" id="sources" />
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/PrimitiveFloats-common.adoc b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/PrimitiveFloats-common.adoc
index e92dfb02e1..2e5ee82a13 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/PrimitiveFloats-common.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/PrimitiveFloats-common.adoc
@@ -1,5 +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 [...]
 
+// // This file was GENERATED by the showcase generator (tooling). Do NOT edit!
+
 == Mixin actions
 
 A number of mixin actions contribute through the `PrimitiveFloatHolder` interface, demonstrate the use of `float` as a parameter and as a return type.
@@ -19,6 +21,14 @@ include::holder/PrimitiveFloatHolder_updateReadOnlyProperty.java[tags=class]
 include::holder/PrimitiveFloatHolder_actionReturning.java[tags=class]
 ----
 
+
+* the `actionReturningArray` action is:
++
+[source,java]
+----
+include::holder/PrimitiveFloatHolder_actionReturningArray.java[tags=class]
+----
+
 == Mixin properties
 
 We also use the interface to contribute a mixin property:
@@ -30,6 +40,7 @@ We also use the interface to contribute a mixin property:
 include::holder/PrimitiveFloatHolder_mixinProperty.java[tags=class]
 ----
 
+
 == @PropertyLayout(labelPosition=...)
 
 To demonstrate support for label positions using `@PropertyLayout(labelPosition=...)`, the entity and view model objects both implement the extended `PrimitiveFloatHolder2` interface:
@@ -47,3 +58,4 @@ include::holder/PrimitiveFloatHolder2.java[tags=class]
 +
 CAUTION: currently not supported
 <.> Hide the label completely.
+
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/PrimitiveFloats-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/PrimitiveFloats-description.adoc
index aeb9ee44a6..bd24bcd67c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/PrimitiveFloats-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/PrimitiveFloats-description.adoc
@@ -1,6 +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 [...]
 
-The framework has built-in support for all of the primitive data types, including `float`.
+// // This file was GENERATED by the showcase generator (tooling). Do NOT edit!
+
+The framework has built-in support for the (primitive) `float` data type.
 
 From here you can:
 
@@ -26,4 +28,4 @@ include::holder/PrimitiveFloatHolder.java[tags=class]
 
 The `PrimitiveFloatHolder2` interface is used to demonstrate support for label positions using `@PropertyLayout(labelPosition=...)`.
 
-Further details, along with the effect of this annotation, can be seen on the entity and view model object pages.
\ No newline at end of file
+Further details, along with the effect of this annotation, can be seen on the entity and view model object pages.
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/PrimitiveFloats.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/PrimitiveFloats.java
index 22bac31ce6..8323ab1017 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/PrimitiveFloats.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/PrimitiveFloats.java
@@ -41,21 +41,21 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 
 import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 import demoapp.dom._infra.values.ValueHolderRepository;
+import demoapp.dom.types.Samples;
 import demoapp.dom.types.primitive.floats.persistence.PrimitiveFloatEntity;
 import demoapp.dom.types.primitive.floats.vm.PrimitiveFloatVm;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
 @Named("demo.PrimitiveFloats")
-@DomainObject(
-        nature=Nature.VIEW_MODEL,
-        editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
 //@Log4j2
 public class PrimitiveFloats implements HasAsciiDocDescription {
 
     @ObjectSupport public String title() {
-        return "float (primitive) data type";
+        return "float data type";
     }
 
     @Action(semantics = SemanticsOf.SAFE)
@@ -64,7 +64,7 @@ public class PrimitiveFloats implements HasAsciiDocDescription {
         return new PrimitiveFloatVm(initialValue);
     }
     @MemberSupport public float default0OpenViewModel() {
-        return 1.23f;
+        return samples.single();
     }
 
     @Collection
@@ -74,7 +74,10 @@ public class PrimitiveFloats implements HasAsciiDocDescription {
 
     @Inject
     @XmlTransient
-    ValueHolderRepository<Float, ? extends PrimitiveFloatEntity> entities;
+    ValueHolderRepository<java.lang.Float, ? extends PrimitiveFloatEntity> entities;
 
+    @Inject
+    @XmlTransient
+    Samples<java.lang.Float> samples;
 
 }
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/PrimitiveFloats.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/PrimitiveFloats.layout.xml
index 74e0160a87..247ed17506 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/PrimitiveFloats.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/PrimitiveFloats.layout.xml
@@ -15,6 +15,8 @@
         xmlns:cpt="http://isis.apache.org/applib/layout/component"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
+	<!-- This file was GENERATED by the showcase generator (tooling). Do NOT edit! -->
+
 	<bs3:row>
 		<bs3:col span="10" unreferencedActions="true">
 			<cpt:domainObject />
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder.java
index ee95abcfe8..d80ab29fef 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder.java
@@ -20,6 +20,7 @@ package demoapp.dom.types.primitive.floats.holder;
 
 import javax.inject.Named;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Named("demo.PrimitiveFloatHolder")
 //tag::class[]
 public interface PrimitiveFloatHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder2.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder2.java
index ec331d88b8..2af41fb33d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder2.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder2.java
@@ -23,6 +23,7 @@ import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
 import org.apache.isis.applib.annotation.Where;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 public interface PrimitiveFloatHolder2 extends PrimitiveFloatHolder {
 
@@ -32,7 +33,7 @@ public interface PrimitiveFloatHolder2 extends PrimitiveFloatHolder {
         describedAs =
             "@PropertyLayout(labelPosition=LEFT)",
         hidden = Where.ALL_TABLES,
-        fieldSetId = "label-positions", sequence = "1")  // <.>
+        fieldSetId = "label-positions", sequence = "1")     // <.>
     default float getReadOnlyPropertyDerivedLabelPositionLeft() {
         return getReadOnlyProperty();
     }
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder_actionReturning.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder_actionReturning.java
index 7e787e49d6..99285b3282 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder_actionReturning.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder_actionReturning.java
@@ -23,7 +23,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 
 import lombok.RequiredArgsConstructor;
 
-
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(semantics = SemanticsOf.SAFE)
 @RequiredArgsConstructor
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder_actionReturningArray.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder_actionReturningArray.java
index c137d4dc95..7be059ab40 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder_actionReturningArray.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder_actionReturningArray.java
@@ -24,12 +24,11 @@ import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.commons.functional.IndexedConsumer;
 
+import demoapp.dom.types.Samples;
 import lombok.RequiredArgsConstructor;
 import lombok.val;
 
-import demoapp.dom.types.Samples;
-
-@SuppressWarnings("unused")
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(semantics = SemanticsOf.SAFE)
 @RequiredArgsConstructor
@@ -45,7 +44,7 @@ public class PrimitiveFloatHolder_actionReturningArray {
     }
 
     @Inject
-    Samples<Float> samples;
+    Samples<java.lang.Float> samples;
 
 }
 //end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder_mixinProperty.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder_mixinProperty.java
index 610cd4bf13..c2dd778e4c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder_mixinProperty.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder_mixinProperty.java
@@ -24,7 +24,7 @@ import org.apache.isis.applib.annotation.Where;
 
 import lombok.RequiredArgsConstructor;
 
-
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Property()
 @PropertyLayout(hidden = Where.ALL_TABLES, fieldSetId = "contributed", sequence = "1")
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder_updateReadOnlyProperty.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder_updateReadOnlyProperty.java
index 6f02e8cf9a..8d0450ddcf 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder_updateReadOnlyProperty.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder_updateReadOnlyProperty.java
@@ -26,6 +26,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 
 import lombok.RequiredArgsConstructor;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(
         semantics = SemanticsOf.IDEMPOTENT
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder_updateReadOnlyPropertyWithChoices.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder_updateReadOnlyPropertyWithChoices.java
index 481ba24552..a8bd6ad2f8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder_updateReadOnlyPropertyWithChoices.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/holder/PrimitiveFloatHolder_updateReadOnlyPropertyWithChoices.java
@@ -29,10 +29,10 @@ import org.apache.isis.applib.annotation.MemberSupport;
 import org.apache.isis.applib.annotation.PromptStyle;
 import org.apache.isis.applib.annotation.SemanticsOf;
 
-import lombok.RequiredArgsConstructor;
-
 import demoapp.dom.types.Samples;
+import lombok.RequiredArgsConstructor;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(
         semantics = SemanticsOf.IDEMPOTENT
@@ -56,16 +56,13 @@ public class PrimitiveFloatHolder_updateReadOnlyPropertyWithChoices {
         return holder.getReadOnlyProperty();
     }
 
-    @MemberSupport public List<Float> choices0Act() {
+    @MemberSupport public List<java.lang.Float> choices0Act() {
         return samples.stream()
                 .collect(Collectors.toList());
     }
 
-    @MemberSupport public boolean hideAct() {
-        return true; // TODO: choices doesn't seem to work for this datatype
-    }
-
     @Inject
-    Samples<Float> samples;
+    Samples<java.lang.Float> samples;
+
 }
 //end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jdo/PrimitiveFloatJdo-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jdo/PrimitiveFloatJdo-description.adoc
index ca27f1ad22..11b54c9d5d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jdo/PrimitiveFloatJdo-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jdo/PrimitiveFloatJdo-description.adoc
@@ -1,14 +1,15 @@
 :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 [...]
 
-JDO supports `float` link:http://www.datanucleus.org:15080/products/accessplatform_5_2/jdo/mapping.html#_primitive_and_java_lang_types[out-of-the-box], so no special annotations are required.
+// // This file was GENERATED by the showcase generator (tooling). Do NOT edit!
+
+JDO supports `float` out-of-the-box, so no special annotations are required. see link:https://www.datanucleus.org/products/accessplatform_6_0/jdo/mapping.html#_primitive_and_java_lang_types[DataNucleus]
 
 [source,java]
 ----
-include::PrimitiveFloatJdo.java[tags="class"]
+include::PrimitiveFloatJdo.java[tags=class]
 ----
 <.> a no-arg constructor is introduced by JDO enhancer
 <.> no additional JDO annotations required.
 
 
-
-include::../PrimitiveFloats-common.adoc[]
\ No newline at end of file
+include::../PrimitiveFloats-common.adoc[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jdo/PrimitiveFloatJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jdo/PrimitiveFloatJdo.java
index 79e9339c99..234be58abf 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jdo/PrimitiveFloatJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jdo/PrimitiveFloatJdo.java
@@ -37,13 +37,14 @@ import lombok.Setter;
 
 import demoapp.dom.types.primitive.floats.persistence.PrimitiveFloatEntity;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Profile("demo-jdo")
 //tag::class[]
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @Named("demo.PrimitiveFloatEntity")
 @DomainObject
-public class PrimitiveFloatJdo                                      // <.>
+public class PrimitiveFloatJdo                                          // <.>
         extends PrimitiveFloatEntity {
 
 //end::class[]
@@ -56,9 +57,9 @@ public class PrimitiveFloatJdo                                      // <.>
     @Title(prepend = "float (primitive) JDO entity: ")
     @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
     @Getter @Setter
-    private float readOnlyProperty;                                 // <.>
+    private float readOnlyProperty;                             // <.>
 
-    @Property(editing = Editing.ENABLED)
+    @Property(editing = Editing.ENABLED)                                        
     @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
     @Getter @Setter
     private float readWriteProperty;
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jdo/PrimitiveFloatJdoEntities.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jdo/PrimitiveFloatJdoEntities.java
index c820d1a2ee..ba17bad867 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jdo/PrimitiveFloatJdoEntities.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jdo/PrimitiveFloatJdoEntities.java
@@ -23,18 +23,19 @@ import org.springframework.stereotype.Service;
 
 import demoapp.dom._infra.values.ValueHolderRepository;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Profile("demo-jdo")
 @Service
 public class PrimitiveFloatJdoEntities
-extends ValueHolderRepository<Float, PrimitiveFloatJdo> {
+extends ValueHolderRepository<java.lang.Float, PrimitiveFloatJdo> {
 
     protected PrimitiveFloatJdoEntities() {
         super(PrimitiveFloatJdo.class);
     }
 
     @Override
-    protected PrimitiveFloatJdo newDetachedEntity(Float value) {
+    protected PrimitiveFloatJdo newDetachedEntity(java.lang.Float value) {
         return new PrimitiveFloatJdo(value);
     }
 
-}
\ No newline at end of file
+}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jpa/PrimitiveFloatJpa-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jpa/PrimitiveFloatJpa-description.adoc
index 96b09f2445..fbe4466e16 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jpa/PrimitiveFloatJpa-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jpa/PrimitiveFloatJpa-description.adoc
@@ -1,19 +1,15 @@
 :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]
-==== 
-TODO this yet is just a copy from JDO
-====
+// // This file was GENERATED by the showcase generator (tooling). Do NOT edit!
 
-JDO supports `float` link:http://www.datanucleus.org:15080/products/accessplatform_5_2/jdo/mapping.html#_primitive_and_java_lang_types[out-of-the-box], so no special annotations are required.
+JDO supports `float` out-of-the-box, so no special annotations are required. see link:https://www.objectdb.com/java/jpa/entity/types#simple_java_data_types[ObjectDB]
 
 [source,java]
 ----
-include::PrimitiveFloatJpa.java[tags="class"]
+include::PrimitiveFloatJpa.java[tags=class]
 ----
-<.> a no-arg constructor is introduced by JDO enhancer
-<.> no additional JDO annotations required.
+<.> a no-arg constructor for convenience
+<.> no additional JPA annotations required.
 
 
-
-include::../PrimitiveFloats-common.adoc[]
\ No newline at end of file
+include::../PrimitiveFloats-common.adoc[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jpa/PrimitiveFloatJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jpa/PrimitiveFloatJpa.java
index 7ceb6a9bbb..9fb760f462 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jpa/PrimitiveFloatJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jpa/PrimitiveFloatJpa.java
@@ -40,6 +40,7 @@ import lombok.Setter;
 
 import demoapp.dom.types.primitive.floats.persistence.PrimitiveFloatEntity;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Profile("demo-jpa")
 //tag::class[]
 @Entity
@@ -50,7 +51,7 @@ import demoapp.dom.types.primitive.floats.persistence.PrimitiveFloatEntity;
 @EntityListeners(IsisEntityListener.class)
 @Named("demo.PrimitiveFloatEntity")
 @DomainObject
-@NoArgsConstructor
+@NoArgsConstructor                                                             // <.>
 public class PrimitiveFloatJpa
         extends PrimitiveFloatEntity {
 
@@ -68,9 +69,9 @@ public class PrimitiveFloatJpa
     @Title(prepend = "float (primitive) JPA entity: ")
     @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
     @Getter @Setter
-    private float readOnlyProperty;                                 // <.>
+    private float readOnlyProperty;                              // <.>
 
-    @Property(editing = Editing.ENABLED)
+    @Property(editing = Editing.ENABLED)                                        
     @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
     @Getter @Setter
     private float readWriteProperty;
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jpa/PrimitiveFloatJpaEntities.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jpa/PrimitiveFloatJpaEntities.java
index 96f2bcb6bc..e9fa7c5a00 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jpa/PrimitiveFloatJpaEntities.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jpa/PrimitiveFloatJpaEntities.java
@@ -23,18 +23,19 @@ import org.springframework.stereotype.Service;
 
 import demoapp.dom._infra.values.ValueHolderRepository;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Profile("demo-jpa")
 @Service
 public class PrimitiveFloatJpaEntities
-extends ValueHolderRepository<Float, PrimitiveFloatJpa> {
+extends ValueHolderRepository<java.lang.Float, PrimitiveFloatJpa> {
 
     protected PrimitiveFloatJpaEntities() {
         super(PrimitiveFloatJpa.class);
     }
 
     @Override
-    protected PrimitiveFloatJpa newDetachedEntity(Float value) {
+    protected PrimitiveFloatJpa newDetachedEntity(java.lang.Float value) {
         return new PrimitiveFloatJpa(value);
     }
 
-}
\ No newline at end of file
+}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/persistence/PrimitiveFloatEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/persistence/PrimitiveFloatEntity.java
index 84af9ee2b4..89accec23f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/persistence/PrimitiveFloatEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/persistence/PrimitiveFloatEntity.java
@@ -26,16 +26,17 @@ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.primitive.floats.holder.PrimitiveFloatHolder2;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Named("demo.PrimitiveFloatEntity") // shared permissions with concrete sub class
 @DomainObject
 public abstract class PrimitiveFloatEntity
 implements
     HasAsciiDocDescription,
     PrimitiveFloatHolder2,
-    ValueHolder<Float> {
+    ValueHolder<java.lang.Float> {
 
     @Override
-    public Float value() {
+    public java.lang.Float value() {
         return getReadOnlyProperty();
     }
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/persistence/PrimitiveFloatEntity.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/persistence/PrimitiveFloatEntity.layout.xml
index c4a5e15c62..bf6c6ddd0c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/persistence/PrimitiveFloatEntity.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/persistence/PrimitiveFloatEntity.layout.xml
@@ -10,15 +10,18 @@
 	OF ANY KIND, either express or implied. See the License for the specific
 	language governing permissions and limitations under the License. -->
 <bs3:grid
-		xsi:schemaLocation="http://isis.apache.org/applib/layout/component http://isis.apache.org/applib/layout/component/component.xsd   http://isis.apache.org/applib/layout/grid/bootstrap3 http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd"
-		xmlns:bs3="http://isis.apache.org/applib/layout/grid/bootstrap3"
-		xmlns:cpt="http://isis.apache.org/applib/layout/component"
-		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+        xsi:schemaLocation="http://isis.apache.org/applib/layout/component http://isis.apache.org/applib/layout/component/component.xsd   http://isis.apache.org/applib/layout/grid/bootstrap3 http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd"
+        xmlns:bs3="http://isis.apache.org/applib/layout/grid/bootstrap3"
+        xmlns:cpt="http://isis.apache.org/applib/layout/component"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+	<!-- This file was GENERATED by the showcase generator (tooling). Do NOT edit! -->
 
 	<bs3:row>
 		<bs3:col span="10" unreferencedActions="true">
 			<cpt:domainObject />
 			<cpt:action id="actionReturning"/>
+			<cpt:action id="actionReturningArray"/>
 		</bs3:col>
 		<bs3:col span="2">
 			<cpt:fieldSet name="" id="sources" />
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/persistence/PrimitiveFloatSeeding.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/persistence/PrimitiveFloatSeeding.java
index bd959e3012..7ba65af189 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/persistence/PrimitiveFloatSeeding.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/persistence/PrimitiveFloatSeeding.java
@@ -25,11 +25,13 @@ import org.springframework.stereotype.Service;
 import demoapp.dom._infra.seed.SeedServiceAbstract;
 import demoapp.dom._infra.values.ValueHolderRepository;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Service
-public class PrimitiveFloatSeeding extends SeedServiceAbstract {
+public class PrimitiveFloatSeeding
+extends SeedServiceAbstract {
 
     @Inject
-    public PrimitiveFloatSeeding(ValueHolderRepository<Float, ? extends PrimitiveFloatEntity> entities) {
+    public PrimitiveFloatSeeding(ValueHolderRepository<java.lang.Float, ? extends PrimitiveFloatEntity> entities) {
         super(entities);
     }
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/vm/PrimitiveFloatVm-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/vm/PrimitiveFloatVm-description.adoc
index 395fb08dde..810cbd6e36 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/vm/PrimitiveFloatVm-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/vm/PrimitiveFloatVm-description.adoc
@@ -1,14 +1,14 @@
 :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 [...]
 
-JAXB supports `float` link:https://docs.oracle.com/cd/E12840_01/wls/docs103/webserv/data_types.html#wp223908[out-of-the-box], so no special annotations are required.
+// // This file was GENERATED by the showcase generator (tooling). Do NOT edit!
+
+JAXB supports `float` out-of-the-box, so no special annotations are required. see link:https://docs.oracle.com/cd/E12840_01/wls/docs103/webserv/data_types.html#wp223908[Oracle]
 
 [source,java]
 ----
-include::PrimitiveFloatVm.java[tags="class"]
+include::PrimitiveFloatVm.java[tags=class]
 ----
 <.> a no-arg constructor is required by JAXB
 <.> no additional JAXB annotations required.
 
-
-
-include::../PrimitiveFloats-common.adoc[]
\ No newline at end of file
+include::../PrimitiveFloats-common.adoc[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/vm/PrimitiveFloatVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/vm/PrimitiveFloatVm.java
index 2f48be2e51..410466081c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/vm/PrimitiveFloatVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/vm/PrimitiveFloatVm.java
@@ -37,6 +37,7 @@ import lombok.Setter;
 import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 import demoapp.dom.types.primitive.floats.holder.PrimitiveFloatHolder2;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @XmlRootElement(name = "root")
 @XmlType
@@ -44,7 +45,7 @@ import demoapp.dom.types.primitive.floats.holder.PrimitiveFloatHolder2;
 @Named("demo.PrimitiveFloatVm")
 @DomainObject(
         nature=Nature.VIEW_MODEL)
-@lombok.NoArgsConstructor                                           // <.>
+@lombok.NoArgsConstructor                                                       // <.>
 public class PrimitiveFloatVm
         implements HasAsciiDocDescription, PrimitiveFloatHolder2 {
 
@@ -58,9 +59,9 @@ public class PrimitiveFloatVm
     @Title(prepend = "float (primitive) view model: ")
     @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
     @Getter @Setter
-    private float readOnlyProperty;                                 // <.>
+    private float readOnlyProperty;                              // <.>
 
-    @Property(editing = Editing.ENABLED)
+    @Property(editing = Editing.ENABLED)                                        
     @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
     @Getter @Setter
     private float readWriteProperty;
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/vm/PrimitiveFloatVm.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/vm/PrimitiveFloatVm.layout.xml
index c4a5e15c62..bf6c6ddd0c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/vm/PrimitiveFloatVm.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/vm/PrimitiveFloatVm.layout.xml
@@ -10,15 +10,18 @@
 	OF ANY KIND, either express or implied. See the License for the specific
 	language governing permissions and limitations under the License. -->
 <bs3:grid
-		xsi:schemaLocation="http://isis.apache.org/applib/layout/component http://isis.apache.org/applib/layout/component/component.xsd   http://isis.apache.org/applib/layout/grid/bootstrap3 http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd"
-		xmlns:bs3="http://isis.apache.org/applib/layout/grid/bootstrap3"
-		xmlns:cpt="http://isis.apache.org/applib/layout/component"
-		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+        xsi:schemaLocation="http://isis.apache.org/applib/layout/component http://isis.apache.org/applib/layout/component/component.xsd   http://isis.apache.org/applib/layout/grid/bootstrap3 http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd"
+        xmlns:bs3="http://isis.apache.org/applib/layout/grid/bootstrap3"
+        xmlns:cpt="http://isis.apache.org/applib/layout/component"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+	<!-- This file was GENERATED by the showcase generator (tooling). Do NOT edit! -->
 
 	<bs3:row>
 		<bs3:col span="10" unreferencedActions="true">
 			<cpt:domainObject />
 			<cpt:action id="actionReturning"/>
+			<cpt:action id="actionReturningArray"/>
 		</bs3:col>
 		<bs3:col span="2">
 			<cpt:fieldSet name="" id="sources" />
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/PrimitiveShorts-common.adoc b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/PrimitiveShorts-common.adoc
index f87eb75420..8047d617e7 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/PrimitiveShorts-common.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/PrimitiveShorts-common.adoc
@@ -1,5 +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 [...]
 
+// // This file was GENERATED by the showcase generator (tooling). Do NOT edit!
+
 == Mixin actions
 
 A number of mixin actions contribute through the `PrimitiveShortHolder` interface, demonstrate the use of `short` as a parameter and as a return type.
@@ -19,6 +21,14 @@ include::holder/PrimitiveShortHolder_updateReadOnlyProperty.java[tags=class]
 include::holder/PrimitiveShortHolder_actionReturning.java[tags=class]
 ----
 
+
+* the `actionReturningArray` action is:
++
+[source,java]
+----
+include::holder/PrimitiveShortHolder_actionReturningArray.java[tags=class]
+----
+
 == Mixin properties
 
 We also use the interface to contribute a mixin property:
@@ -30,6 +40,7 @@ We also use the interface to contribute a mixin property:
 include::holder/PrimitiveShortHolder_mixinProperty.java[tags=class]
 ----
 
+
 == @PropertyLayout(labelPosition=...)
 
 To demonstrate support for label positions using `@PropertyLayout(labelPosition=...)`, the entity and view model objects both implement the extended `PrimitiveShortHolder2` interface:
@@ -47,3 +58,4 @@ include::holder/PrimitiveShortHolder2.java[tags=class]
 +
 CAUTION: currently not supported
 <.> Hide the label completely.
+
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/PrimitiveShorts-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/PrimitiveShorts-description.adoc
index c74a9c6985..e9537f013a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/PrimitiveShorts-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/PrimitiveShorts-description.adoc
@@ -1,6 +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 [...]
 
-The framework has built-in support for all of the primitive data types, including `short`.
+// // This file was GENERATED by the showcase generator (tooling). Do NOT edit!
+
+The framework has built-in support for the (primitive) `short` data type.
 
 From here you can:
 
@@ -26,4 +28,4 @@ include::holder/PrimitiveShortHolder.java[tags=class]
 
 The `PrimitiveShortHolder2` interface is used to demonstrate support for label positions using `@PropertyLayout(labelPosition=...)`.
 
-Further details, along with the effect of this annotation, can be seen on the entity and view model object pages.
\ No newline at end of file
+Further details, along with the effect of this annotation, can be seen on the entity and view model object pages.
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/PrimitiveShorts.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/PrimitiveShorts.java
index c4ee7aa515..380041f804 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/PrimitiveShorts.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/PrimitiveShorts.java
@@ -41,21 +41,21 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 
 import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 import demoapp.dom._infra.values.ValueHolderRepository;
+import demoapp.dom.types.Samples;
 import demoapp.dom.types.primitive.shorts.persistence.PrimitiveShortEntity;
 import demoapp.dom.types.primitive.shorts.vm.PrimitiveShortVm;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
 @Named("demo.PrimitiveShorts")
-@DomainObject(
-        nature=Nature.VIEW_MODEL,
-        editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, editing=Editing.ENABLED)
 //@Log4j2
 public class PrimitiveShorts implements HasAsciiDocDescription {
 
     @ObjectSupport public String title() {
-        return "short (primitive) data type";
+        return "short data type";
     }
 
     @Action(semantics = SemanticsOf.SAFE)
@@ -64,7 +64,7 @@ public class PrimitiveShorts implements HasAsciiDocDescription {
         return new PrimitiveShortVm(initialValue);
     }
     @MemberSupport public short default0OpenViewModel() {
-        return 12345;
+        return samples.single();
     }
 
     @Collection
@@ -74,7 +74,10 @@ public class PrimitiveShorts implements HasAsciiDocDescription {
 
     @Inject
     @XmlTransient
-    ValueHolderRepository<Short, ? extends PrimitiveShortEntity> entities;
+    ValueHolderRepository<java.lang.Short, ? extends PrimitiveShortEntity> entities;
 
+    @Inject
+    @XmlTransient
+    Samples<java.lang.Short> samples;
 
 }
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/PrimitiveShorts.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/PrimitiveShorts.layout.xml
index 74e0160a87..247ed17506 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/PrimitiveShorts.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/PrimitiveShorts.layout.xml
@@ -15,6 +15,8 @@
         xmlns:cpt="http://isis.apache.org/applib/layout/component"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
+	<!-- This file was GENERATED by the showcase generator (tooling). Do NOT edit! -->
+
 	<bs3:row>
 		<bs3:col span="10" unreferencedActions="true">
 			<cpt:domainObject />
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder.java
index 77fee11203..935bda28a3 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder.java
@@ -20,6 +20,7 @@ package demoapp.dom.types.primitive.shorts.holder;
 
 import javax.inject.Named;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Named("demo.PrimitiveShortHolder")
 //tag::class[]
 public interface PrimitiveShortHolder {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder2.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder2.java
index cd6f1daed4..e707a3db31 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder2.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder2.java
@@ -23,6 +23,7 @@ import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
 import org.apache.isis.applib.annotation.Where;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 public interface PrimitiveShortHolder2 extends PrimitiveShortHolder {
 
@@ -32,7 +33,7 @@ public interface PrimitiveShortHolder2 extends PrimitiveShortHolder {
         describedAs =
             "@PropertyLayout(labelPosition=LEFT)",
         hidden = Where.ALL_TABLES,
-        fieldSetId = "label-positions", sequence = "1")  // <.>
+        fieldSetId = "label-positions", sequence = "1")     // <.>
     default short getReadOnlyPropertyDerivedLabelPositionLeft() {
         return getReadOnlyProperty();
     }
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder_actionReturning.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder_actionReturning.java
index 72b80652fb..88cfb93898 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder_actionReturning.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder_actionReturning.java
@@ -23,7 +23,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 
 import lombok.RequiredArgsConstructor;
 
-
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(semantics = SemanticsOf.SAFE)
 @RequiredArgsConstructor
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder_actionReturningArray.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder_actionReturningArray.java
index eaa04febb0..a28884400e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder_actionReturningArray.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder_actionReturningArray.java
@@ -24,12 +24,11 @@ import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.commons.functional.IndexedConsumer;
 
+import demoapp.dom.types.Samples;
 import lombok.RequiredArgsConstructor;
 import lombok.val;
 
-import demoapp.dom.types.Samples;
-
-@SuppressWarnings("unused")
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(semantics = SemanticsOf.SAFE)
 @RequiredArgsConstructor
@@ -45,7 +44,7 @@ public class PrimitiveShortHolder_actionReturningArray {
     }
 
     @Inject
-    Samples<Short> samples;
+    Samples<java.lang.Short> samples;
 
 }
 //end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder_mixinProperty.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder_mixinProperty.java
index 50ef8f3dcb..daf1b22d6c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder_mixinProperty.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder_mixinProperty.java
@@ -24,7 +24,7 @@ import org.apache.isis.applib.annotation.Where;
 
 import lombok.RequiredArgsConstructor;
 
-
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Property()
 @PropertyLayout(hidden = Where.ALL_TABLES, fieldSetId = "contributed", sequence = "1")
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder_updateReadOnlyProperty.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder_updateReadOnlyProperty.java
index fdc0c8aad8..7028622de5 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder_updateReadOnlyProperty.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder_updateReadOnlyProperty.java
@@ -26,6 +26,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 
 import lombok.RequiredArgsConstructor;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(
         semantics = SemanticsOf.IDEMPOTENT
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder_updateReadOnlyPropertyWithChoices.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder_updateReadOnlyPropertyWithChoices.java
index ef36b84760..8b9631f6eb 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder_updateReadOnlyPropertyWithChoices.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/holder/PrimitiveShortHolder_updateReadOnlyPropertyWithChoices.java
@@ -29,10 +29,10 @@ import org.apache.isis.applib.annotation.MemberSupport;
 import org.apache.isis.applib.annotation.PromptStyle;
 import org.apache.isis.applib.annotation.SemanticsOf;
 
-import lombok.RequiredArgsConstructor;
-
 import demoapp.dom.types.Samples;
+import lombok.RequiredArgsConstructor;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @Action(
         semantics = SemanticsOf.IDEMPOTENT
@@ -56,17 +56,13 @@ public class PrimitiveShortHolder_updateReadOnlyPropertyWithChoices {
         return holder.getReadOnlyProperty();
     }
 
-    @MemberSupport public List<Short> choices0Act() {
+    @MemberSupport public List<java.lang.Short> choices0Act() {
         return samples.stream()
                 .collect(Collectors.toList());
     }
 
-    @MemberSupport public boolean hideAct() {
-        return true; // TODO: choices doesn't seem to work for this datatype
-    }
-
     @Inject
-    Samples<Short> samples;
+    Samples<java.lang.Short> samples;
 
 }
 //end::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jdo/PrimitiveShortJdo-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jdo/PrimitiveShortJdo-description.adoc
index f5308c1402..521fd5f1bd 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jdo/PrimitiveShortJdo-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jdo/PrimitiveShortJdo-description.adoc
@@ -1,14 +1,15 @@
 :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 [...]
 
-JDO supports `short` link:http://www.datanucleus.org:15080/products/accessplatform_5_2/jdo/mapping.html#_primitive_and_java_lang_types[out-of-the-box], so no special annotations are required.
+// // This file was GENERATED by the showcase generator (tooling). Do NOT edit!
+
+JDO supports `short` out-of-the-box, so no special annotations are required. see link:https://www.datanucleus.org/products/accessplatform_6_0/jdo/mapping.html#_primitive_and_java_lang_types[DataNucleus]
 
 [source,java]
 ----
-include::PrimitiveShortJdo.java[tags="class"]
+include::PrimitiveShortJdo.java[tags=class]
 ----
 <.> a no-arg constructor is introduced by JDO enhancer
 <.> no additional JDO annotations required.
 
 
-
-include::../PrimitiveShorts-common.adoc[]
\ No newline at end of file
+include::../PrimitiveShorts-common.adoc[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jdo/PrimitiveShortJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jdo/PrimitiveShortJdo.java
index f466a85005..ab364ce5b1 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jdo/PrimitiveShortJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jdo/PrimitiveShortJdo.java
@@ -37,13 +37,14 @@ import lombok.Setter;
 
 import demoapp.dom.types.primitive.shorts.persistence.PrimitiveShortEntity;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Profile("demo-jdo")
 //tag::class[]
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @Named("demo.PrimitiveShortEntity")
 @DomainObject
-public class PrimitiveShortJdo                                      // <.>
+public class PrimitiveShortJdo                                          // <.>
         extends PrimitiveShortEntity {
 
 //end::class[]
@@ -56,9 +57,9 @@ public class PrimitiveShortJdo                                      // <.>
     @Title(prepend = "short (primitive) JDO entity: ")
     @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
     @Getter @Setter
-    private short readOnlyProperty;                                 // <.>
+    private short readOnlyProperty;                             // <.>
 
-    @Property(editing = Editing.ENABLED)
+    @Property(editing = Editing.ENABLED)                                        
     @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
     @Getter @Setter
     private short readWriteProperty;
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jdo/PrimitiveShortJdoEntities.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jdo/PrimitiveShortJdoEntities.java
index 3f282b3419..1e0c176dff 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jdo/PrimitiveShortJdoEntities.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jdo/PrimitiveShortJdoEntities.java
@@ -23,18 +23,19 @@ import org.springframework.stereotype.Service;
 
 import demoapp.dom._infra.values.ValueHolderRepository;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Profile("demo-jdo")
 @Service
 public class PrimitiveShortJdoEntities
-extends ValueHolderRepository<Short, PrimitiveShortJdo> {
+extends ValueHolderRepository<java.lang.Short, PrimitiveShortJdo> {
 
     protected PrimitiveShortJdoEntities() {
         super(PrimitiveShortJdo.class);
     }
 
     @Override
-    protected PrimitiveShortJdo newDetachedEntity(Short value) {
+    protected PrimitiveShortJdo newDetachedEntity(java.lang.Short value) {
         return new PrimitiveShortJdo(value);
     }
 
-}
\ No newline at end of file
+}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jpa/PrimitiveShortJpa-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jpa/PrimitiveShortJpa-description.adoc
index 25a5b009c2..5fbbe13848 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jpa/PrimitiveShortJpa-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jpa/PrimitiveShortJpa-description.adoc
@@ -1,19 +1,15 @@
 :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]
-==== 
-TODO this yet is just a copy from JDO
-====
+// // This file was GENERATED by the showcase generator (tooling). Do NOT edit!
 
-JDO supports `short` link:http://www.datanucleus.org:15080/products/accessplatform_5_2/jdo/mapping.html#_primitive_and_java_lang_types[out-of-the-box], so no special annotations are required.
+JDO supports `short` out-of-the-box, so no special annotations are required. see link:https://www.objectdb.com/java/jpa/entity/types#simple_java_data_types[ObjectDB]
 
 [source,java]
 ----
-include::PrimitiveShortJpa.java[tags="class"]
+include::PrimitiveShortJpa.java[tags=class]
 ----
-<.> a no-arg constructor is introduced by JDO enhancer
-<.> no additional JDO annotations required.
+<.> a no-arg constructor for convenience
+<.> no additional JPA annotations required.
 
 
-
-include::../PrimitiveShorts-common.adoc[]
\ No newline at end of file
+include::../PrimitiveShorts-common.adoc[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jpa/PrimitiveShortJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jpa/PrimitiveShortJpa.java
index fa1a186f1a..8b3fc06171 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jpa/PrimitiveShortJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jpa/PrimitiveShortJpa.java
@@ -40,6 +40,7 @@ import lombok.Setter;
 
 import demoapp.dom.types.primitive.shorts.persistence.PrimitiveShortEntity;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Profile("demo-jpa")
 //tag::class[]
 @Entity
@@ -50,7 +51,7 @@ import demoapp.dom.types.primitive.shorts.persistence.PrimitiveShortEntity;
 @EntityListeners(IsisEntityListener.class)
 @Named("demo.PrimitiveShortEntity")
 @DomainObject
-@NoArgsConstructor
+@NoArgsConstructor                                                             // <.>
 public class PrimitiveShortJpa
         extends PrimitiveShortEntity {
 
@@ -68,9 +69,9 @@ public class PrimitiveShortJpa
     @Title(prepend = "short (primitive) JPA entity: ")
     @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
     @Getter @Setter
-    private short readOnlyProperty;                                 // <.>
+    private short readOnlyProperty;                              // <.>
 
-    @Property(editing = Editing.ENABLED)
+    @Property(editing = Editing.ENABLED)                                        
     @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
     @Getter @Setter
     private short readWriteProperty;
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jpa/PrimitiveShortJpaEntities.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jpa/PrimitiveShortJpaEntities.java
index e2727ed87e..c501a426cf 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jpa/PrimitiveShortJpaEntities.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jpa/PrimitiveShortJpaEntities.java
@@ -23,18 +23,19 @@ import org.springframework.stereotype.Service;
 
 import demoapp.dom._infra.values.ValueHolderRepository;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Profile("demo-jpa")
 @Service
 public class PrimitiveShortJpaEntities
-extends ValueHolderRepository<Short, PrimitiveShortJpa> {
+extends ValueHolderRepository<java.lang.Short, PrimitiveShortJpa> {
 
     protected PrimitiveShortJpaEntities() {
         super(PrimitiveShortJpa.class);
     }
 
     @Override
-    protected PrimitiveShortJpa newDetachedEntity(Short value) {
+    protected PrimitiveShortJpa newDetachedEntity(java.lang.Short value) {
         return new PrimitiveShortJpa(value);
     }
 
-}
\ No newline at end of file
+}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/persistence/PrimitiveShortEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/persistence/PrimitiveShortEntity.java
index ff6522ffd6..f21777885b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/persistence/PrimitiveShortEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/persistence/PrimitiveShortEntity.java
@@ -26,16 +26,17 @@ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.primitive.shorts.holder.PrimitiveShortHolder2;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Named("demo.PrimitiveShortEntity") // shared permissions with concrete sub class
 @DomainObject
 public abstract class PrimitiveShortEntity
 implements
     HasAsciiDocDescription,
     PrimitiveShortHolder2,
-    ValueHolder<Short> {
+    ValueHolder<java.lang.Short> {
 
     @Override
-    public Short value() {
+    public java.lang.Short value() {
         return getReadOnlyProperty();
     }
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/persistence/PrimitiveShortEntity.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/persistence/PrimitiveShortEntity.layout.xml
index c4a5e15c62..bf6c6ddd0c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/persistence/PrimitiveShortEntity.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/persistence/PrimitiveShortEntity.layout.xml
@@ -10,15 +10,18 @@
 	OF ANY KIND, either express or implied. See the License for the specific
 	language governing permissions and limitations under the License. -->
 <bs3:grid
-		xsi:schemaLocation="http://isis.apache.org/applib/layout/component http://isis.apache.org/applib/layout/component/component.xsd   http://isis.apache.org/applib/layout/grid/bootstrap3 http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd"
-		xmlns:bs3="http://isis.apache.org/applib/layout/grid/bootstrap3"
-		xmlns:cpt="http://isis.apache.org/applib/layout/component"
-		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+        xsi:schemaLocation="http://isis.apache.org/applib/layout/component http://isis.apache.org/applib/layout/component/component.xsd   http://isis.apache.org/applib/layout/grid/bootstrap3 http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd"
+        xmlns:bs3="http://isis.apache.org/applib/layout/grid/bootstrap3"
+        xmlns:cpt="http://isis.apache.org/applib/layout/component"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+	<!-- This file was GENERATED by the showcase generator (tooling). Do NOT edit! -->
 
 	<bs3:row>
 		<bs3:col span="10" unreferencedActions="true">
 			<cpt:domainObject />
 			<cpt:action id="actionReturning"/>
+			<cpt:action id="actionReturningArray"/>
 		</bs3:col>
 		<bs3:col span="2">
 			<cpt:fieldSet name="" id="sources" />
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/persistence/PrimitiveShortSeeding.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/persistence/PrimitiveShortSeeding.java
index 4034ca6856..5b604f57ee 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/persistence/PrimitiveShortSeeding.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/persistence/PrimitiveShortSeeding.java
@@ -25,11 +25,13 @@ import org.springframework.stereotype.Service;
 import demoapp.dom._infra.seed.SeedServiceAbstract;
 import demoapp.dom._infra.values.ValueHolderRepository;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 @Service
-public class PrimitiveShortSeeding extends SeedServiceAbstract {
+public class PrimitiveShortSeeding
+extends SeedServiceAbstract {
 
     @Inject
-    public PrimitiveShortSeeding(ValueHolderRepository<Short, ? extends PrimitiveShortEntity> entities) {
+    public PrimitiveShortSeeding(ValueHolderRepository<java.lang.Short, ? extends PrimitiveShortEntity> entities) {
         super(entities);
     }
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/vm/PrimitiveShortVm-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/vm/PrimitiveShortVm-description.adoc
index 9a768c25e4..f1e3a84fd6 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/vm/PrimitiveShortVm-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/vm/PrimitiveShortVm-description.adoc
@@ -1,14 +1,14 @@
 :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 [...]
 
-JAXB supports `short` link:https://docs.oracle.com/cd/E12840_01/wls/docs103/webserv/data_types.html#wp223908[out-of-the-box], so no special annotations are required.
+// // This file was GENERATED by the showcase generator (tooling). Do NOT edit!
+
+JAXB supports `short` out-of-the-box, so no special annotations are required. see link:https://docs.oracle.com/cd/E12840_01/wls/docs103/webserv/data_types.html#wp223908[Oracle]
 
 [source,java]
 ----
-include::PrimitiveShortVm.java[tags="class"]
+include::PrimitiveShortVm.java[tags=class]
 ----
 <.> a no-arg constructor is required by JAXB
 <.> no additional JAXB annotations required.
 
-
-
-include::../PrimitiveShorts-common.adoc[]
\ No newline at end of file
+include::../PrimitiveShorts-common.adoc[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/vm/PrimitiveShortVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/vm/PrimitiveShortVm.java
index e5d5808e63..0fad46a88d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/vm/PrimitiveShortVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/vm/PrimitiveShortVm.java
@@ -37,6 +37,7 @@ import lombok.Setter;
 import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 import demoapp.dom.types.primitive.shorts.holder.PrimitiveShortHolder2;
 
+/* This file was GENERATED by the showcase generator (tooling). Do NOT edit! */
 //tag::class[]
 @XmlRootElement(name = "root")
 @XmlType
@@ -44,7 +45,7 @@ import demoapp.dom.types.primitive.shorts.holder.PrimitiveShortHolder2;
 @Named("demo.PrimitiveShortVm")
 @DomainObject(
         nature=Nature.VIEW_MODEL)
-@lombok.NoArgsConstructor                                           // <.>
+@lombok.NoArgsConstructor                                                       // <.>
 public class PrimitiveShortVm
         implements HasAsciiDocDescription, PrimitiveShortHolder2 {
 
@@ -58,9 +59,9 @@ public class PrimitiveShortVm
     @Title(prepend = "short (primitive) view model: ")
     @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
     @Getter @Setter
-    private short readOnlyProperty;                                 // <.>
+    private short readOnlyProperty;                              // <.>
 
-    @Property(editing = Editing.ENABLED)
+    @Property(editing = Editing.ENABLED)                                        
     @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
     @Getter @Setter
     private short readWriteProperty;
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/vm/PrimitiveShortVm.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/vm/PrimitiveShortVm.layout.xml
index c4a5e15c62..bf6c6ddd0c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/vm/PrimitiveShortVm.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/vm/PrimitiveShortVm.layout.xml
@@ -10,15 +10,18 @@
 	OF ANY KIND, either express or implied. See the License for the specific
 	language governing permissions and limitations under the License. -->
 <bs3:grid
-		xsi:schemaLocation="http://isis.apache.org/applib/layout/component http://isis.apache.org/applib/layout/component/component.xsd   http://isis.apache.org/applib/layout/grid/bootstrap3 http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd"
-		xmlns:bs3="http://isis.apache.org/applib/layout/grid/bootstrap3"
-		xmlns:cpt="http://isis.apache.org/applib/layout/component"
-		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+        xsi:schemaLocation="http://isis.apache.org/applib/layout/component http://isis.apache.org/applib/layout/component/component.xsd   http://isis.apache.org/applib/layout/grid/bootstrap3 http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd"
+        xmlns:bs3="http://isis.apache.org/applib/layout/grid/bootstrap3"
+        xmlns:cpt="http://isis.apache.org/applib/layout/component"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+	<!-- This file was GENERATED by the showcase generator (tooling). Do NOT edit! -->
 
 	<bs3:row>
 		<bs3:col span="10" unreferencedActions="true">
 			<cpt:domainObject />
 			<cpt:action id="actionReturning"/>
+			<cpt:action id="actionReturningArray"/>
 		</bs3:col>
 		<bs3:col span="2">
 			<cpt:fieldSet name="" id="sources" />
diff --git a/tooling/metaprog/src/main/java/org/apache/isis/tooling/metaprog/demoshowcases/value/ValueShowCase.java b/tooling/metaprog/src/main/java/org/apache/isis/tooling/metaprog/demoshowcases/value/ValueShowCase.java
index 32c0a7fc4c..fd08299664 100644
--- a/tooling/metaprog/src/main/java/org/apache/isis/tooling/metaprog/demoshowcases/value/ValueShowCase.java
+++ b/tooling/metaprog/src/main/java/org/apache/isis/tooling/metaprog/demoshowcases/value/ValueShowCase.java
@@ -35,30 +35,58 @@ public enum ValueShowCase {
             .javaPackage("demoapp.dom.types.javautil.uuids")
             .showcaseValueType("java.util.UUID")
             .showcaseValueSemantics("org.apache.isis.core.metamodel.valuesemantics.UUIDValueSemantics")),
+    PLONG(fundamentalTypeSupportNotice()
+            .showcaseName("PrimitiveLong")
+            .javaPackage("demoapp.dom.types.primitive.longs")
+            .showcaseValueType("long")
+            .showcaseValueSemantics("org.apache.isis.core.metamodel.valuesemantics.LongValueSemantics")
+            .templates(Template.PRIMITIVE_SET)
+            .templateVariant(TemplateVariant.PRIMITIVE)),
+    PINT(fundamentalTypeSupportNotice()
+            .showcaseName("PrimitiveInt")
+            .javaPackage("demoapp.dom.types.primitive.ints")
+            .showcaseValueType("int")
+            .showcaseValueSemantics("org.apache.isis.core.metamodel.valuesemantics.IntValueSemantics")
+            .templates(Template.PRIMITIVE_SET)
+            .templateVariant(TemplateVariant.PRIMITIVE)),
+    PSHORT(fundamentalTypeSupportNotice()
+            .showcaseName("PrimitiveShort")
+            .javaPackage("demoapp.dom.types.primitive.shorts")
+            .showcaseValueType("short")
+            .showcaseValueSemantics("org.apache.isis.core.metamodel.valuesemantics.ShortValueSemantics")
+            .templates(Template.PRIMITIVE_SET)
+            .templateVariant(TemplateVariant.PRIMITIVE)),
+    PBYTE(fundamentalTypeSupportNotice()
+            .showcaseName("PrimitiveByte")
+            .javaPackage("demoapp.dom.types.primitive.bytes")
+            .showcaseValueType("byte")
+            .showcaseValueSemantics("org.apache.isis.core.metamodel.valuesemantics.ByteValueSemantics")
+            .templates(Template.PRIMITIVE_SET)
+            .templateVariant(TemplateVariant.PRIMITIVE)),
+    PDOUBLE(fundamentalTypeSupportNotice()
+            .showcaseName("PrimitiveDouble")
+            .javaPackage("demoapp.dom.types.primitive.doubles")
+            .showcaseValueType("double")
+            .showcaseValueSemantics("org.apache.isis.core.metamodel.valuesemantics.DoubleValueSemantics")
+            .templates(Template.PRIMITIVE_SET)
+            .templateVariant(TemplateVariant.PRIMITIVE)),
+    PFLOAT(fundamentalTypeSupportNotice()
+            .showcaseName("PrimitiveFloat")
+            .javaPackage("demoapp.dom.types.primitive.floats")
+            .showcaseValueType("float")
+            .showcaseValueSemantics("org.apache.isis.core.metamodel.valuesemantics.FloatValueSemantics")
+            .templates(Template.PRIMITIVE_SET)
+            .templateVariant(TemplateVariant.PRIMITIVE)),
     WLONG(fundamentalTypeSupportNotice()
                 .showcaseName("WrapperLong")
                 .javaPackage("demoapp.dom.types.javalang.longs")
                 .showcaseValueType("java.lang.Long")
                 .showcaseValueSemantics("org.apache.isis.core.metamodel.valuesemantics.LongValueSemantics")),
-    PLONG(fundamentalTypeSupportNotice()
-                .showcaseName("PrimitiveLong")
-                .javaPackage("demoapp.dom.types.primitive.longs")
-                .showcaseValueType("long")
-                .showcaseValueSemantics("org.apache.isis.core.metamodel.valuesemantics.LongValueSemantics")
-                .templates(Template.PRIMITIVE_SET)
-                .templateVariant(TemplateVariant.PRIMITIVE)),
     WINT(fundamentalTypeSupportNotice()
                 .showcaseName("WrapperInteger")
                 .javaPackage("demoapp.dom.types.javalang.integers")
                 .showcaseValueType("java.lang.Integer")
                 .showcaseValueSemantics("org.apache.isis.core.metamodel.valuesemantics.IntValueSemantics")),
-    PINT(fundamentalTypeSupportNotice()
-            .showcaseName("PrimitiveInt")
-            .javaPackage("demoapp.dom.types.primitive.ints")
-            .showcaseValueType("int")
-            .showcaseValueSemantics("org.apache.isis.core.metamodel.valuesemantics.IntValueSemantics")
-            .templates(Template.PRIMITIVE_SET)
-            .templateVariant(TemplateVariant.PRIMITIVE)),
     WSHORT(fundamentalTypeSupportNotice()
                 .showcaseName("WrapperShort")
                 .javaPackage("demoapp.dom.types.javalang.shorts")