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 2021/12/10 23:03:51 UTC

[isis] branch master updated: ISIS-2916: [Demo] fix security type mapping issue with value-type holders

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 d94740a  ISIS-2916: [Demo] fix security type mapping issue with value-type holders
d94740a is described below

commit d94740a084e9740d78be1aff3a9ffa9fef44adf0
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sat Dec 11 00:03:40 2021 +0100

    ISIS-2916: [Demo] fix security type mapping issue with value-type
    holders
---
 .../domain/src/main/java/demoapp/dom/_infra/values/ValueHolder.java    | 3 +++
 .../main/java/demoapp/dom/domain/objects/other/mixins/CountHolder.java | 3 +++
 .../main/java/demoapp/dom/types/isis/blobs/holder/IsisBlobHolder.java  | 2 ++
 .../main/java/demoapp/dom/types/isis/clobs/holder/IsisClobHolder.java  | 2 ++
 .../isis/localresourcepaths/holder/IsisLocalResourcePathHolder.java    | 2 ++
 .../java/demoapp/dom/types/isis/markups/holder/IsisMarkupHolder.java   | 2 ++
 .../demoapp/dom/types/isis/passwords/holder/IsisPasswordHolder.java    | 2 ++
 .../demoapp/dom/types/isisext/asciidocs/holder/IsisAsciiDocHolder.java | 2 ++
 .../demoapp/dom/types/isisext/cal/holder/IsisCalendarEventHolder.java  | 2 ++
 .../demoapp/dom/types/isisext/markdowns/holder/IsisMarkdownHolder.java | 2 ++
 .../dom/types/javaawt/images/holder/JavaAwtBufferedImageHolder.java    | 3 +++
 .../dom/types/javalang/booleans/holder/WrapperBooleanHolder.java       | 3 +++
 .../demoapp/dom/types/javalang/bytes/holder/WrapperByteHolder.java     | 3 +++
 .../dom/types/javalang/characters/holder/WrapperCharacterHolder.java   | 3 +++
 .../demoapp/dom/types/javalang/doubles/holder/WrapperDoubleHolder.java | 3 +++
 .../demoapp/dom/types/javalang/floats/holder/WrapperFloatHolder.java   | 3 +++
 .../dom/types/javalang/integers/holder/WrapperIntegerHolder.java       | 3 +++
 .../demoapp/dom/types/javalang/longs/holder/WrapperLongHolder.java     | 3 +++
 .../demoapp/dom/types/javalang/shorts/holder/WrapperShortHolder.java   | 3 +++
 .../dom/types/javalang/strings/holder/JavaLangStringHolder.java        | 3 +++
 .../types/javamath/bigdecimals/holder/JavaMathBigDecimalHolder.java    | 3 +++
 .../types/javamath/bigintegers/holder/JavaMathBigIntegerHolder.java    | 3 +++
 .../java/demoapp/dom/types/javanet/urls/holder/JavaNetUrlHolder.java   | 3 +++
 .../dom/types/javasql/javasqldate/holder/JavaSqlDateHolder.java        | 3 +++
 .../types/javasql/javasqltimestamp/holder/JavaSqlTimestampHolder.java  | 3 +++
 .../javatime/javatimelocaldate/holder/JavaTimeLocalDateHolder.java     | 3 +++
 .../javatimelocaldatetime/holder/JavaTimeLocalDateTimeHolder.java      | 3 +++
 .../javatimeoffsetdatetime/holder/JavaTimeOffsetDateTimeHolder.java    | 3 +++
 .../javatime/javatimeoffsettime/holder/JavaTimeOffsetTimeHolder.java   | 3 +++
 .../javatimezoneddatetime/holder/JavaTimeZonedDateTimeHolder.java      | 3 +++
 .../dom/types/javautil/javautildate/holder/JavaUtilDateHolder.java     | 3 +++
 .../demoapp/dom/types/javautil/uuids/holder/JavaUtilUuidHolder.java    | 3 +++
 .../dom/types/jodatime/jodadatetime/holder/JodaDateTimeHolder.java     | 3 +++
 .../dom/types/jodatime/jodalocaldate/holder/JodaLocalDateHolder.java   | 3 +++
 .../jodatime/jodalocaldatetime/holder/JodaLocalDateTimeHolder.java     | 3 +++
 .../dom/types/jodatime/jodalocaltime/holder/JodaLocalTimeHolder.java   | 3 +++
 .../dom/types/primitive/booleans/holder/PrimitiveBooleanHolder.java    | 2 ++
 .../demoapp/dom/types/primitive/bytes/holder/PrimitiveByteHolder.java  | 3 +++
 .../demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder.java  | 3 +++
 .../dom/types/primitive/doubles/holder/PrimitiveDoubleHolder.java      | 3 +++
 .../dom/types/primitive/floats/holder/PrimitiveFloatHolder.java        | 3 +++
 .../demoapp/dom/types/primitive/ints/holder/PrimitiveIntHolder.java    | 3 +++
 .../demoapp/dom/types/primitive/longs/holder/PrimitiveLongHolder.java  | 3 +++
 .../dom/types/primitive/shorts/holder/PrimitiveShortHolder.java        | 3 +++
 44 files changed, 123 insertions(+)

diff --git a/examples/demo/domain/src/main/java/demoapp/dom/_infra/values/ValueHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/_infra/values/ValueHolder.java
index 4436bd6..78341ec 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/_infra/values/ValueHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/_infra/values/ValueHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom._infra.values;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.ValueHolder")
 public interface ValueHolder<T> {
 
     T value();
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/mixins/CountHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/mixins/CountHolder.java
index b8c6d9e..08df39e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/mixins/CountHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/mixins/CountHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.domain.objects.other.mixins;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.CountHolder")
 //tag::class[]
 public interface CountHolder {
     int getCount();
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/holder/IsisBlobHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/holder/IsisBlobHolder.java
index cc4fae9..ede24fa 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/holder/IsisBlobHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/holder/IsisBlobHolder.java
@@ -18,8 +18,10 @@
  */
 package demoapp.dom.types.isis.blobs.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
 import org.apache.isis.applib.value.Blob;
 
+@LogicalTypeName("demo.IsisBlobHolder")
 //tag::class[]
 public interface IsisBlobHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/holder/IsisClobHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/holder/IsisClobHolder.java
index a08709a..f9340a8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/holder/IsisClobHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/holder/IsisClobHolder.java
@@ -18,8 +18,10 @@
  */
 package demoapp.dom.types.isis.clobs.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
 import org.apache.isis.applib.value.Clob;
 
+@LogicalTypeName("demo.IsisClobHolder")
 //tag::class[]
 public interface IsisClobHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/holder/IsisLocalResourcePathHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/holder/IsisLocalResourcePathHolder.java
index f6f1586..cece820 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/holder/IsisLocalResourcePathHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/holder/IsisLocalResourcePathHolder.java
@@ -18,8 +18,10 @@
  */
 package demoapp.dom.types.isis.localresourcepaths.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
 import org.apache.isis.applib.value.LocalResourcePath;
 
+@LogicalTypeName("demo.IsisLocalResourcePathHolder")
 //tag::class[]
 public interface IsisLocalResourcePathHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/holder/IsisMarkupHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/holder/IsisMarkupHolder.java
index e647a29..b1b1456 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/holder/IsisMarkupHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/holder/IsisMarkupHolder.java
@@ -18,8 +18,10 @@
  */
 package demoapp.dom.types.isis.markups.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
 import org.apache.isis.applib.value.Markup;
 
+@LogicalTypeName("demo.IsisMarkupHolder")
 //tag::class[]
 public interface IsisMarkupHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/holder/IsisPasswordHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/holder/IsisPasswordHolder.java
index 73dd23a..37d41cc 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/holder/IsisPasswordHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/holder/IsisPasswordHolder.java
@@ -18,8 +18,10 @@
  */
 package demoapp.dom.types.isis.passwords.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
 import org.apache.isis.applib.value.Password;
 
+@LogicalTypeName("demo.IsisPasswordHolder")
 //tag::class[]
 public interface IsisPasswordHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/holder/IsisAsciiDocHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/holder/IsisAsciiDocHolder.java
index 10b82ab..2b6407a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/holder/IsisAsciiDocHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/holder/IsisAsciiDocHolder.java
@@ -18,8 +18,10 @@
  */
 package demoapp.dom.types.isisext.asciidocs.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
 import org.apache.isis.valuetypes.asciidoc.applib.value.AsciiDoc;
 
+@LogicalTypeName("demo.IsisAsciiDocHolder")
 //tag::class[]
 public interface IsisAsciiDocHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/cal/holder/IsisCalendarEventHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/cal/holder/IsisCalendarEventHolder.java
index 1bf5349..8d7c567 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/cal/holder/IsisCalendarEventHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/cal/holder/IsisCalendarEventHolder.java
@@ -18,8 +18,10 @@
  */
 package demoapp.dom.types.isisext.cal.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
 import org.apache.isis.extensions.fullcalendar.applib.value.CalendarEvent;
 
+@LogicalTypeName("demo.IsisCalendarEventHolder")
 //tag::class[]
 public interface IsisCalendarEventHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/holder/IsisMarkdownHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/holder/IsisMarkdownHolder.java
index 5fbb7f1..0441563 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/holder/IsisMarkdownHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/holder/IsisMarkdownHolder.java
@@ -18,8 +18,10 @@
  */
 package demoapp.dom.types.isisext.markdowns.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
 import org.apache.isis.valuetypes.markdown.applib.value.Markdown;
 
+@LogicalTypeName("demo.IsisMarkdownHolder")
 //tag::class[]
 public interface IsisMarkdownHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/holder/JavaAwtBufferedImageHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/holder/JavaAwtBufferedImageHolder.java
index 59d1872..e3c1a06 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/holder/JavaAwtBufferedImageHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/holder/JavaAwtBufferedImageHolder.java
@@ -20,6 +20,9 @@ package demoapp.dom.types.javaawt.images.holder;
 
 import java.awt.image.BufferedImage;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.JavaAwtBufferedImageHolder")
 //tag::class[]
 public interface JavaAwtBufferedImageHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/holder/WrapperBooleanHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/holder/WrapperBooleanHolder.java
index 7a047ca..b74c136 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/holder/WrapperBooleanHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/holder/WrapperBooleanHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.javalang.booleans.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.WrapperBooleanHolder")
 //tag::class[]
 public interface WrapperBooleanHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/holder/WrapperByteHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/holder/WrapperByteHolder.java
index 6273720..c8fc00c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/holder/WrapperByteHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/holder/WrapperByteHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.javalang.bytes.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.WrapperByteHolder")
 //tag::class[]
 public interface WrapperByteHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/holder/WrapperCharacterHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/holder/WrapperCharacterHolder.java
index 9fe98a8..6011e7c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/holder/WrapperCharacterHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/holder/WrapperCharacterHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.javalang.characters.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.WrapperCharacterHolder")
 //tag::class[]
 public interface WrapperCharacterHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/holder/WrapperDoubleHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/holder/WrapperDoubleHolder.java
index 20f1979..53f4a37 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/holder/WrapperDoubleHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/holder/WrapperDoubleHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.javalang.doubles.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.WrapperDoubleHolder")
 //tag::class[]
 public interface WrapperDoubleHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/holder/WrapperFloatHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/holder/WrapperFloatHolder.java
index 0a94b51..df2734f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/holder/WrapperFloatHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/holder/WrapperFloatHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.javalang.floats.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.WrapperFloatHolder")
 //tag::class[]
 public interface WrapperFloatHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder.java
index d48d20a..85473ff 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/holder/WrapperIntegerHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.javalang.integers.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.WrapperIntegerHolder")
 //tag::class[]
 public interface WrapperIntegerHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/holder/WrapperLongHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/holder/WrapperLongHolder.java
index c2fa939..47255b8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/holder/WrapperLongHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/holder/WrapperLongHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.javalang.longs.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.WrapperLongHolder")
 //tag::class[]
 public interface WrapperLongHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/holder/WrapperShortHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/holder/WrapperShortHolder.java
index 46f56bf..257c0be 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/holder/WrapperShortHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/holder/WrapperShortHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.javalang.shorts.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.WrapperShortHolder")
 //tag::class[]
 public interface WrapperShortHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/holder/JavaLangStringHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/holder/JavaLangStringHolder.java
index 30b5e04..d5ef0d8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/holder/JavaLangStringHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/holder/JavaLangStringHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.javalang.strings.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.JavaLangStringHolder")
 //tag::class[]
 public interface JavaLangStringHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/holder/JavaMathBigDecimalHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/holder/JavaMathBigDecimalHolder.java
index dc33b82..3675cd5 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/holder/JavaMathBigDecimalHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/holder/JavaMathBigDecimalHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.javamath.bigdecimals.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.JavaMathBigDecimalHolder")
 //tag::class[]
 public interface JavaMathBigDecimalHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/holder/JavaMathBigIntegerHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/holder/JavaMathBigIntegerHolder.java
index 0ea62ea..fe385f3 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/holder/JavaMathBigIntegerHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/holder/JavaMathBigIntegerHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.javamath.bigintegers.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.JavaMathBigIntegerHolder")
 //tag::class[]
 public interface JavaMathBigIntegerHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/holder/JavaNetUrlHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/holder/JavaNetUrlHolder.java
index c88c8b7..a80b719 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/holder/JavaNetUrlHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/holder/JavaNetUrlHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.javanet.urls.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.JavaNetUrlHolder")
 //tag::class[]
 public interface JavaNetUrlHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/holder/JavaSqlDateHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/holder/JavaSqlDateHolder.java
index 9c134f0..85fee85 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/holder/JavaSqlDateHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/holder/JavaSqlDateHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.javasql.javasqldate.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.JavaSqlDateHolder")
 //tag::class[]
 public interface JavaSqlDateHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/holder/JavaSqlTimestampHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/holder/JavaSqlTimestampHolder.java
index 819b855..0912ee6 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/holder/JavaSqlTimestampHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/holder/JavaSqlTimestampHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.javasql.javasqltimestamp.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.JavaSqlTimestampHolder")
 //tag::class[]
 public interface JavaSqlTimestampHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/holder/JavaTimeLocalDateHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/holder/JavaTimeLocalDateHolder.java
index 1a79bd5..a5de771 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/holder/JavaTimeLocalDateHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/holder/JavaTimeLocalDateHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.javatime.javatimelocaldate.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.JavaTimeLocalDateHolder")
 //tag::class[]
 public interface JavaTimeLocalDateHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/holder/JavaTimeLocalDateTimeHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/holder/JavaTimeLocalDateTimeHolder.java
index 6ebf255..31baf74 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/holder/JavaTimeLocalDateTimeHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/holder/JavaTimeLocalDateTimeHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.javatime.javatimelocaldatetime.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.JavaTimeLocalDateTimeHolder")
 //tag::class[]
 public interface JavaTimeLocalDateTimeHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/holder/JavaTimeOffsetDateTimeHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/holder/JavaTimeOffsetDateTimeHolder.java
index 30a7c3f..2503ddc 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/holder/JavaTimeOffsetDateTimeHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/holder/JavaTimeOffsetDateTimeHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.javatime.javatimeoffsetdatetime.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.JavaTimeOffsetDateTimeHolder")
 //tag::class[]
 public interface JavaTimeOffsetDateTimeHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/holder/JavaTimeOffsetTimeHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/holder/JavaTimeOffsetTimeHolder.java
index da71d09..9ba49ea 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/holder/JavaTimeOffsetTimeHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/holder/JavaTimeOffsetTimeHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.javatime.javatimeoffsettime.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.JavaTimeOffsetTimeHolder")
 //tag::class[]
 public interface JavaTimeOffsetTimeHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/holder/JavaTimeZonedDateTimeHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/holder/JavaTimeZonedDateTimeHolder.java
index 866725b..6f3fdd4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/holder/JavaTimeZonedDateTimeHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/holder/JavaTimeZonedDateTimeHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.javatime.javatimezoneddatetime.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.JavaTimeZonedDateTimeHolder")
 //tag::class[]
 public interface JavaTimeZonedDateTimeHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/holder/JavaUtilDateHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/holder/JavaUtilDateHolder.java
index 51c8bdb..6fc2ac3 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/holder/JavaUtilDateHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/holder/JavaUtilDateHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.javautil.javautildate.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.JavaUtilDateHolder")
 //tag::class[]
 public interface JavaUtilDateHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/holder/JavaUtilUuidHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/holder/JavaUtilUuidHolder.java
index f1ff578..feb616b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/holder/JavaUtilUuidHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/holder/JavaUtilUuidHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.javautil.uuids.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.JavaUtilUuidHolder")
 //tag::class[]
 public interface JavaUtilUuidHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/holder/JodaDateTimeHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/holder/JodaDateTimeHolder.java
index 5eccf7f..549b213 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/holder/JodaDateTimeHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/holder/JodaDateTimeHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.jodatime.jodadatetime.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.JodaDateTimeHolder")
 //tag::class[]
 public interface JodaDateTimeHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/holder/JodaLocalDateHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/holder/JodaLocalDateHolder.java
index d0b3958..bde3c85 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/holder/JodaLocalDateHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/holder/JodaLocalDateHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.jodatime.jodalocaldate.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.JodaLocalDateHolder")
 //tag::class[]
 public interface JodaLocalDateHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/holder/JodaLocalDateTimeHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/holder/JodaLocalDateTimeHolder.java
index 96701a8..c7741b3 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/holder/JodaLocalDateTimeHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/holder/JodaLocalDateTimeHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.jodatime.jodalocaldatetime.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.JodaLocalDateTimeHolder")
 //tag::class[]
 public interface JodaLocalDateTimeHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/holder/JodaLocalTimeHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/holder/JodaLocalTimeHolder.java
index f137757..bf3ceda 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/holder/JodaLocalTimeHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/holder/JodaLocalTimeHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.jodatime.jodalocaltime.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.JodaLocalTimeHolder")
 //tag::class[]
 public interface JodaLocalTimeHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder.java
index ab57087..28c9609 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/holder/PrimitiveBooleanHolder.java
@@ -18,9 +18,11 @@
  */
 package demoapp.dom.types.primitive.booleans.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
 
+@LogicalTypeName("demo.PrimitiveBooleanHolder")
 //tag::class[]
 public interface PrimitiveBooleanHolder {
 
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 d2f927b..04a922c 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
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.primitive.bytes.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.PrimitiveByteHolder")
 //tag::class[]
 public interface PrimitiveByteHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder.java
index 3a545eb..692da42 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.primitive.chars.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.PrimitiveCharHolder")
 //tag::class[]
 public interface PrimitiveCharHolder {
 
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 5839021..2379b50 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
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.primitive.doubles.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.PrimitiveDoubleHolder")
 //tag::class[]
 public interface PrimitiveDoubleHolder {
 
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 14d41a6..f3a03db 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
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.primitive.floats.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.PrimitiveFloatHolder")
 //tag::class[]
 public interface PrimitiveFloatHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/holder/PrimitiveIntHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/holder/PrimitiveIntHolder.java
index c68df7a..f6aad77 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/holder/PrimitiveIntHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/holder/PrimitiveIntHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.primitive.ints.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.PrimitiveIntHolder")
 //tag::class[]
 public interface PrimitiveIntHolder {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/holder/PrimitiveLongHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/holder/PrimitiveLongHolder.java
index 5bf5072..d295627 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/holder/PrimitiveLongHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/holder/PrimitiveLongHolder.java
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.primitive.longs.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.PrimitiveLongHolder")
 //tag::class[]
 public interface PrimitiveLongHolder {
 
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 ff9e462..fa3f271 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
@@ -18,6 +18,9 @@
  */
 package demoapp.dom.types.primitive.shorts.holder;
 
+import org.apache.isis.applib.annotation.LogicalTypeName;
+
+@LogicalTypeName("demo.PrimitiveShortHolder")
 //tag::class[]
 public interface PrimitiveShortHolder {