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

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

commit f0c45e80d3aa422fe6a7dc128a98e84ee2182765
Author: danhaywood <[email protected]>
AuthorDate: Wed May 17 20:21:52 2023 +0100

    CAUSEWAY-2485 : updates templates
---
 .../demoshowcases/value/ValueShowCase.java         | 92 +++++++++++-----------
 .../demoshowcases/value/ValueTypeGenTemplate.java  | 28 ++++---
 .../src/main/resources/$Templates-common.adoc      |  2 +-
 .../resources/$Templates-common~primitive.adoc     |  2 +-
 .../src/main/resources/$Templates-description.adoc |  6 +-
 .../$Templates-description~primitive.adoc          |  6 +-
 .../metaprog/src/main/resources/$Templates.java    | 12 +--
 .../src/main/resources/holder/$TemplateHolder.java | 18 +++--
 .../main/resources/holder/$TemplateHolder2.java    |  9 ++-
 .../holder/$TemplateHolder_actionReturning.java    |  4 +-
 .../$TemplateHolder_actionReturningArray.java      |  8 +-
 .../$TemplateHolder_actionReturningCollection.java |  6 +-
 .../holder/$TemplateHolder_mixinProperty.java      |  4 +-
 ...plateHolder_updateReadOnlyOptionalProperty.java |  6 +-
 ..._updateReadOnlyOptionalPropertyWithChoices.java | 10 ++-
 .../$TemplateHolder_updateReadOnlyProperty.java    |  6 +-
 ...teHolder_updateReadOnlyPropertyWithChoices.java | 10 ++-
 .../holder/$TemplateHolder~primitive.java          | 10 ++-
 .../src/main/resources/jdo/$TemplateJdo.java       | 14 ++--
 .../main/resources/jdo/$TemplateJdoEntities.java   |  6 +-
 .../src/main/resources/jdo/$TemplateJdo~lob.java   | 14 ++--
 .../main/resources/jdo/$TemplateJdo~primitive.java | 12 +--
 .../src/main/resources/jpa/$TemplateJpa.java       | 14 ++--
 .../main/resources/jpa/$TemplateJpaEntities.java   |  6 +-
 .../src/main/resources/jpa/$TemplateJpa~lob.java   | 14 ++--
 .../main/resources/jpa/$TemplateJpa~primitive.java | 12 +--
 .../resources/persistence/$TemplateEntity.java     |  6 +-
 .../resources/persistence/$TemplateSeeding.java    |  4 +-
 .../main/resources/samples/$TemplateSamples.java   |  6 +-
 .../src/main/resources/vm/$TemplateVm.java         | 14 ++--
 .../main/resources/vm/$TemplateVm~primitive.java   | 12 +--
 31 files changed, 214 insertions(+), 159 deletions(-)

diff --git 
a/tooling/metaprog/src/main/java/org/apache/causeway/tooling/metaprog/demoshowcases/value/ValueShowCase.java
 
b/tooling/metaprog/src/main/java/org/apache/causeway/tooling/metaprog/demoshowcases/value/ValueShowCase.java
index 74e9a23808..f942e1d1e5 100644
--- 
a/tooling/metaprog/src/main/java/org/apache/causeway/tooling/metaprog/demoshowcases/value/ValueShowCase.java
+++ 
b/tooling/metaprog/src/main/java/org/apache/causeway/tooling/metaprog/demoshowcases/value/ValueShowCase.java
@@ -33,183 +33,183 @@ public enum ValueShowCase {
     BLOB(Config.builder()
             .showcaseName("CausewayBlob")
             .javaPackage("demoapp.dom.types.causeway.blobs")
-            .showcaseValueType("org.apache.causeway.applib.value.Blob")
+            
.showcaseValueFullyQualifiedType("org.apache.causeway.applib.value.Blob")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.BlobValueSemantics")
             .templateVariant(TemplateVariant.LOB)),
     CLOB(Config.builder()
             .showcaseName("CausewayClob")
             .javaPackage("demoapp.dom.types.causeway.clobs")
-            .showcaseValueType("org.apache.causeway.applib.value.Clob")
+            
.showcaseValueFullyQualifiedType("org.apache.causeway.applib.value.Clob")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.ClobValueSemantics")
             .templateVariant(TemplateVariant.LOB)),
     LOCALRESOURCEPATH(Config.builder()
             .showcaseName("CausewayLocalResourcePath")
             .javaPackage("demoapp.dom.types.causeway.localresourcepaths")
-            
.showcaseValueType("org.apache.causeway.applib.value.LocalResourcePath")
+            
.showcaseValueFullyQualifiedType("org.apache.causeway.applib.value.LocalResourcePath")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.LocalResourcePathValueSemantics")
             .templateVariant(TemplateVariant.DEFAULT)),
     PASSWORD(Config.builder()
             .showcaseName("CausewayPassword")
             .javaPackage("demoapp.dom.types.causeway.passwords")
-            .showcaseValueType("org.apache.causeway.applib.value.Password")
+            
.showcaseValueFullyQualifiedType("org.apache.causeway.applib.value.Password")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.PasswordValueSemantics")
             .templateVariant(TemplateVariant.DEFAULT)),
     TREENODE(Config.builder()
             .showcaseName("CausewayTreeNode")
             .javaPackage("demoapp.dom.types.causeway.treenode")
-            
.showcaseValueType("org.apache.causeway.applib.graph.tree.TreeNode")
+            
.showcaseValueFullyQualifiedType("org.apache.causeway.applib.graph.tree.TreeNode")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.TreeNodeValueSemantics")
             .templateVariant(TemplateVariant.DEFAULT)),
     CALENDAREVENT(Config.builder()
             .showcaseName("CausewayCalendarEvent")
             .javaPackage("demoapp.dom.types.causewayext.cal")
-            
.showcaseValueType("org.apache.causeway.extensions.fullcalendar.applib.value.CalendarEvent")
+            
.showcaseValueFullyQualifiedType("org.apache.causeway.extensions.fullcalendar.applib.value.CalendarEvent")
             
.showcaseValueSemantics("org.apache.causeway.extensions.fullcalendar.applib.value.CalendarEventSemantics")
             .templateVariant(TemplateVariant.DEFAULT)),
     JAVAAWTBUFFEREDIMAGE(Config.builder()
             .showcaseName("BufferedImage")
             .javaPackage("demoapp.dom.types.javaawt.images")
-            .showcaseValueType("java.awt.BufferedImage")
+            .showcaseValueFullyQualifiedType("java.awt.BufferedImage")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.BufferedImageValueSemantics")
             .templateVariant(TemplateVariant.DEFAULT)),
     JAVAMATHBIGDECIMAL(Config.builder()
             .showcaseName("BigDecimal")
             .javaPackage("demoapp.dom.types.javamath.bigdecimals")
-            .showcaseValueType("java.math.BigDecimal")
+            .showcaseValueFullyQualifiedType("java.math.BigDecimal")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.BigDecimalValueSemantics")
             .templateVariant(TemplateVariant.DEFAULT)),
     JAVAMATHBIGINTEGER(Config.builder()
             .showcaseName("BigInteger")
             .javaPackage("demoapp.dom.types.javamath.bigintegers")
-            .showcaseValueType("java.math.BigInteger")
+            .showcaseValueFullyQualifiedType("java.math.BigInteger")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.BigIntegerValueSemantics")
             .templateVariant(TemplateVariant.DEFAULT)),
     JAVANETURL(Config.builder()
             .showcaseName("URLs")
             .javaPackage("demoapp.dom.types.javanet.urls")
-            .showcaseValueType("java.net.URL")
+            .showcaseValueFullyQualifiedType("java.net.URL")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.URLValueSemantics")
             .templateVariant(TemplateVariant.DEFAULT)),
     JAVASQLDATE(Config.builder()
             .showcaseName("JavaSqlDate")
             .javaPackage("demoapp.dom.types.javasql.javasqldate")
-            .showcaseValueType("java.sql.Date")
+            .showcaseValueFullyQualifiedType("java.sql.Date")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.temporal.legacy.JavaSqlDateValueSemantics")
             .templateVariant(TemplateVariant.DEFAULT)),
     JAVASQLTIMESTAMP(Config.builder()
             .showcaseName("JavaSqlTimestamp")
             .javaPackage("demoapp.dom.types.javasql.javasqltimestamp")
-            .showcaseValueType("java.sql.Timestamp")
+            .showcaseValueFullyQualifiedType("java.sql.Timestamp")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.temporal.legacy.JavaSqlTimeStampValueSemantics")
             .templateVariant(TemplateVariant.DEFAULT)),
     JAVATIMELOCALDATE(Config.builder()
             .showcaseName("LocalDate")
             .javaPackage("demoapp.dom.types.javatime.javatimelocaldate")
-            .showcaseValueType("java.time.LocalDate")
+            .showcaseValueFullyQualifiedType("java.time.LocalDate")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.temporal.LocalDateValueSemantics")
             .templateVariant(TemplateVariant.DEFAULT)),
     JAVATIMELOCALDATETIME(Config.builder()
             .showcaseName("LocalDateTime")
             .javaPackage("demoapp.dom.types.javatime.javatimelocaldatetime")
-            .showcaseValueType("java.time.LocalDateTime")
+            .showcaseValueFullyQualifiedType("java.time.LocalDateTime")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.temporal.LocalDateTimeValueSemantics")
             .templateVariant(TemplateVariant.DEFAULT)),
     JAVATIMELOCALTIME(Config.builder()
             .showcaseName("LocalTime")
             .javaPackage("demoapp.dom.types.javatime.javatimelocaltime")
-            .showcaseValueType("java.time.LocalTime")
+            .showcaseValueFullyQualifiedType("java.time.LocalTime")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.temporal.LocalTimeValueSemantics")
             .templateVariant(TemplateVariant.DEFAULT)),
     JAVATIMEOFFSETDATETIME(Config.builder()
             .showcaseName("OffsetDateTime")
             .javaPackage("demoapp.dom.types.javatime.javatimeoffsetdatetime")
-            .showcaseValueType("java.time.OffsetDateTime")
+            .showcaseValueFullyQualifiedType("java.time.OffsetDateTime")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.temporal.OffsetDateTimeValueSemantics")
             .templateVariant(TemplateVariant.DEFAULT)),
     JAVATIMEOFFSETTIME(Config.builder()
             .showcaseName("OffsetTime")
             .javaPackage("demoapp.dom.types.javatime.javatimeoffsetTime")
-            .showcaseValueType("java.time.OffsetTime")
+            .showcaseValueFullyQualifiedType("java.time.OffsetTime")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.temporal.OffsetTimeValueSemantics")
             .templateVariant(TemplateVariant.DEFAULT)),
     JAVATIMEZONEDDATETIME(Config.builder()
             .showcaseName("ZonedDateTime")
             .javaPackage("demoapp.dom.types.javatime.javatimezoneddatetime")
-            .showcaseValueType("java.time.ZonedDateTime")
+            .showcaseValueFullyQualifiedType("java.time.ZonedDateTime")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.temporal.ZonedDateTimeValueSemantics")
             .templateVariant(TemplateVariant.DEFAULT)),
     JAVAUTILDATE(Config.builder()
             .showcaseName("JavaUtilDate")
             .javaPackage("demoapp.dom.types.javautil.javautildate")
-            .showcaseValueType("java.util.Date")
+            .showcaseValueFullyQualifiedType("java.util.Date")
             
.showcaseValueSemantics("org.apache.causeway.extensions.fullcalendar.applib.value.CalendarEventSemantics")
             .templateVariant(TemplateVariant.DEFAULT)),
     JODADATETIME(Config.builder()
             .showcaseName("JodaDateTime")
             .javaPackage("demoapp.dom.types.javatime.jodadatetime")
-            .showcaseValueType("org.joda.time.DateTime")
+            .showcaseValueFullyQualifiedType("org.joda.time.DateTime")
             
.showcaseValueSemantics("org.apache.causeway.valuetypes.jodatime.integration.valuesemantics.JodaDateTimeValueSemantics")
             .templateVariant(TemplateVariant.DEFAULT)),
     JODALOCALDATE(Config.builder()
             .showcaseName("JodaLocalDate")
             .javaPackage("demoapp.dom.types.javatime.jodalocaldate")
-            .showcaseValueType("org.joda.time.LocalDate")
+            .showcaseValueFullyQualifiedType("org.joda.time.LocalDate")
             
.showcaseValueSemantics("org.apache.causeway.valuetypes.jodatime.integration.valuesemantics.JodaLocalDateValueSemantics")
             .templateVariant(TemplateVariant.DEFAULT)),
     JODALOCALDATETIME(Config.builder()
             .showcaseName("JodaLocalDateTime")
             .javaPackage("demoapp.dom.types.javatime.jodalocaldatetime")
-            .showcaseValueType("org.joda.time.LocalDateTime")
+            .showcaseValueFullyQualifiedType("org.joda.time.LocalDateTime")
             
.showcaseValueSemantics("org.apache.causeway.valuetypes.jodatime.integration.valuesemantics.JodaLocalDateTimeValueSemantics")
             .templateVariant(TemplateVariant.DEFAULT)),
     JODALOCALTIME(Config.builder()
             .showcaseName("JodaLocalTime")
             .javaPackage("demoapp.dom.types.javatime.jodalocaltime")
-            .showcaseValueType("org.joda.time.LocalTime")
+            .showcaseValueFullyQualifiedType("org.joda.time.LocalTime")
             
.showcaseValueSemantics("org.apache.causeway.valuetypes.jodatime.integration.valuesemantics.JodaLocalTimeValueSemantics")
             .templateVariant(TemplateVariant.DEFAULT)),
 
     MARKUP(Config.builder()
             .showcaseName("CausewayMarkup")
             .javaPackage("demoapp.dom.types.causeway.markups")
-            .showcaseValueType("org.apache.causeway.applib.value.Markup")
+            
.showcaseValueFullyQualifiedType("org.apache.causeway.applib.value.Markup")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.MarkupValueSemantics")
             .templateVariant(TemplateVariant.LOB)),
     MARKDOWN(Config.builder()
             .showcaseName("CausewayMarkdown")
             .javaPackage("demoapp.dom.types.causewayval.markdowns")
-            
.showcaseValueType("org.apache.causeway.valuetypes.markdown.applib.value.Markdown")
+            
.showcaseValueFullyQualifiedType("org.apache.causeway.valuetypes.markdown.applib.value.Markdown")
             
.showcaseValueSemantics("org.apache.causeway.valuetypes.markdown.metamodel.semantics.MarkdownValueSemantics")
             .templates(Template.REGULAR_SET_NO_SAMPLES) // demo provides its 
own MarkdownSamples
             .templateVariant(TemplateVariant.LOB)),
     ASCIIDOC(Config.builder()
             .showcaseName("CausewayAsciiDoc")
             .javaPackage("demoapp.dom.types.causewayval.asciidocs")
-            
.showcaseValueType("org.apache.causeway.valuetypes.asciidoc.applib.value.AsciiDoc")
+            
.showcaseValueFullyQualifiedType("org.apache.causeway.valuetypes.asciidoc.applib.value.AsciiDoc")
             
.showcaseValueSemantics("org.apache.causeway.valuetypes.asciidoc.metamodel.semantics.AsciiDocValueSemantics")
             .templates(Template.REGULAR_SET_NO_SAMPLES) // demo provides its 
own AsciiDocSamples
             .templateVariant(TemplateVariant.LOB)),
     VEGA(Config.builder()
             .showcaseName("CausewayVega")
             .javaPackage("demoapp.dom.types.causewayval.vegas")
-            
.showcaseValueType("org.apache.causeway.valuetypes.vega.applib.value.Vega")
+            
.showcaseValueFullyQualifiedType("org.apache.causeway.valuetypes.vega.applib.value.Vega")
             
.showcaseValueSemantics("org.apache.causeway.valuetypes.vega.metamodel.semantics.VegaValueSemantics")
             .templateVariant(TemplateVariant.LOB)),
     UUID(Config.builder()
             .showcaseName("JavaUtilUuid")
             .javaPackage("demoapp.dom.types.javautil.uuids")
-            .showcaseValueType("java.util.UUID")
+            .showcaseValueFullyQualifiedType("java.util.UUID")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.UUIDValueSemantics")),
     ENUM(Config.builder()
             .showcaseName("JavaLangEnum")
             .javaPackage("demoapp.dom.types.javalang.enums")
-            .showcaseValueType("demoapp.dom._infra.samples.DemoEnum")
+            
.showcaseValueFullyQualifiedType("demoapp.dom._infra.samples.DemoEnum")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.EnumValueSemantics")
             .templates(Template.REGULAR_SET_NO_SAMPLES)), // demo provides its 
own EnumSamples
     STRING(Config.builder()
             .showcaseName("JavaLangString")
             .javaPackage("demoapp.dom.types.javalang.strings")
-            .showcaseValueType("java.lang.String")
+            .showcaseValueFullyQualifiedType("java.lang.String")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.StringValueSemantics")
             .templates(Template.REGULAR_SET_NO_SAMPLES)), // demo provides its 
own NameSamples
 //    VOID(Config.builder()
@@ -221,98 +221,98 @@ public enum ValueShowCase {
     PBOOL(fundamentalTypeSupportNotice()
             .showcaseName("PrimitiveBoolean")
             .javaPackage("demoapp.dom.types.primitive.booleans")
-            .showcaseValueType("boolean")
+            .showcaseValueFullyQualifiedType("boolean")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.BooleanValueSemantics")
             .templates(Template.PRIMITIVE_SET)
             .templateVariant(TemplateVariant.PRIMITIVE)),
     PCHAR(fundamentalTypeSupportNotice()
             .showcaseName("PrimitiveChar")
             .javaPackage("demoapp.dom.types.primitive.chars")
-            .showcaseValueType("char")
+            .showcaseValueFullyQualifiedType("char")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.CharacterValueSemantics")
             .templates(Template.PRIMITIVE_SET)
             .templateVariant(TemplateVariant.PRIMITIVE)),
     PLONG(fundamentalTypeSupportNotice()
             .showcaseName("PrimitiveLong")
             .javaPackage("demoapp.dom.types.primitive.longs")
-            .showcaseValueType("long")
+            .showcaseValueFullyQualifiedType("long")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.LongValueSemantics")
             .templates(Template.PRIMITIVE_SET)
             .templateVariant(TemplateVariant.PRIMITIVE)),
     PINT(fundamentalTypeSupportNotice()
             .showcaseName("PrimitiveInt")
             .javaPackage("demoapp.dom.types.primitive.ints")
-            .showcaseValueType("int")
+            .showcaseValueFullyQualifiedType("int")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.IntValueSemantics")
             .templates(Template.PRIMITIVE_SET)
             .templateVariant(TemplateVariant.PRIMITIVE)),
     PSHORT(fundamentalTypeSupportNotice()
             .showcaseName("PrimitiveShort")
             .javaPackage("demoapp.dom.types.primitive.shorts")
-            .showcaseValueType("short")
+            .showcaseValueFullyQualifiedType("short")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.ShortValueSemantics")
             .templates(Template.PRIMITIVE_SET)
             .templateVariant(TemplateVariant.PRIMITIVE)),
     PBYTE(fundamentalTypeSupportNotice()
             .showcaseName("PrimitiveByte")
             .javaPackage("demoapp.dom.types.primitive.bytes")
-            .showcaseValueType("byte")
+            .showcaseValueFullyQualifiedType("byte")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.ByteValueSemantics")
             .templates(Template.PRIMITIVE_SET)
             .templateVariant(TemplateVariant.PRIMITIVE)),
     PDOUBLE(fundamentalTypeSupportNotice()
             .showcaseName("PrimitiveDouble")
             .javaPackage("demoapp.dom.types.primitive.doubles")
-            .showcaseValueType("double")
+            .showcaseValueFullyQualifiedType("double")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.DoubleValueSemantics")
             .templates(Template.PRIMITIVE_SET)
             .templateVariant(TemplateVariant.PRIMITIVE)),
     PFLOAT(fundamentalTypeSupportNotice()
             .showcaseName("PrimitiveFloat")
             .javaPackage("demoapp.dom.types.primitive.floats")
-            .showcaseValueType("float")
+            .showcaseValueFullyQualifiedType("float")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.FloatValueSemantics")
             .templates(Template.PRIMITIVE_SET)
             .templateVariant(TemplateVariant.PRIMITIVE)),
     WBOOL(fundamentalTypeSupportNotice()
             .showcaseName("WrapperBoolean")
             .javaPackage("demoapp.dom.types.javalang.booleans")
-            .showcaseValueType("java.lang.Boolean")
+            .showcaseValueFullyQualifiedType("java.lang.Boolean")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.BooleanValueSemantics")),
     WCHAR(fundamentalTypeSupportNotice()
             .showcaseName("WrapperCharacter")
             .javaPackage("demoapp.dom.types.javalang.characters")
-            .showcaseValueType("java.lang.Character")
+            .showcaseValueFullyQualifiedType("java.lang.Character")
             
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.CharacterValueSemantics")),
     WLONG(fundamentalTypeSupportNotice()
                 .showcaseName("WrapperLong")
                 .javaPackage("demoapp.dom.types.javalang.longs")
-                .showcaseValueType("java.lang.Long")
+                .showcaseValueFullyQualifiedType("java.lang.Long")
                 
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.LongValueSemantics")),
     WINT(fundamentalTypeSupportNotice()
                 .showcaseName("WrapperInteger")
                 .javaPackage("demoapp.dom.types.javalang.integers")
-                .showcaseValueType("java.lang.Integer")
+                .showcaseValueFullyQualifiedType("java.lang.Integer")
                 
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.IntValueSemantics")),
     WSHORT(fundamentalTypeSupportNotice()
                 .showcaseName("WrapperShort")
                 .javaPackage("demoapp.dom.types.javalang.shorts")
-                .showcaseValueType("java.lang.Short")
+                .showcaseValueFullyQualifiedType("java.lang.Short")
                 
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.ShortValueSemantics")),
     WBYTE(fundamentalTypeSupportNotice()
                 .showcaseName("WrapperByte")
                 .javaPackage("demoapp.dom.types.javalang.bytes")
-                .showcaseValueType("java.lang.Byte")
+                .showcaseValueFullyQualifiedType("java.lang.Byte")
                 
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.ByteValueSemantics")),
     WDOUBLE(fundamentalTypeSupportNotice()
                 .showcaseName("WrapperDouble")
                 .javaPackage("demoapp.dom.types.javalang.doubles")
-                .showcaseValueType("java.lang.Double")
+                .showcaseValueFullyQualifiedType("java.lang.Double")
                 
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.DoubleValueSemantics")),
     WFLOAT(fundamentalTypeSupportNotice()
                 .showcaseName("WrapperFloat")
                 .javaPackage("demoapp.dom.types.javalang.floats")
-                .showcaseValueType("java.lang.Float")
+                .showcaseValueFullyQualifiedType("java.lang.Float")
                 
.showcaseValueSemantics("org.apache.causeway.core.metamodel.valuesemantics.FloatValueSemantics")),
     ;
 
diff --git 
a/tooling/metaprog/src/main/java/org/apache/causeway/tooling/metaprog/demoshowcases/value/ValueTypeGenTemplate.java
 
b/tooling/metaprog/src/main/java/org/apache/causeway/tooling/metaprog/demoshowcases/value/ValueTypeGenTemplate.java
index df1b47a5ce..ca1df22a7e 100644
--- 
a/tooling/metaprog/src/main/java/org/apache/causeway/tooling/metaprog/demoshowcases/value/ValueTypeGenTemplate.java
+++ 
b/tooling/metaprog/src/main/java/org/apache/causeway/tooling/metaprog/demoshowcases/value/ValueTypeGenTemplate.java
@@ -34,7 +34,6 @@ import org.apache.causeway.commons.internal.base._Strings;
 import org.apache.causeway.commons.internal.exceptions._Exceptions;
 import org.apache.causeway.commons.io.FileUtils;
 import org.apache.causeway.commons.io.TextUtils;
-import 
org.apache.causeway.tooling.metaprog.demoshowcases.value.ValueTypeGenTemplate.TemplateVariant;
 
 import lombok.Builder;
 import lombok.Getter;
@@ -50,17 +49,17 @@ public class ValueTypeGenTemplate {
     public static class Config {
         final File outputRootDir;
         final String showcaseName;
-        final String showcaseValueType;
+        final String showcaseValueFullyQualifiedType;
         final String showcaseValueSemantics;
         @Builder.Default
         final String jdoTypeSupportNotice =
-            "JDO supports `#{showcase-type}` out-of-the-box, so no special 
annotations are required.";
+            "JDO supports `#{showcase-simple-type}` out-of-the-box, so no 
special annotations are required.";
         @Builder.Default
         final String jpaTypeSupportNotice =
-            "JPA supports `#{showcase-type}` out-of-the-box, so no special 
annotations are required.";
+            "JPA supports `#{showcase-simple-type}` out-of-the-box, so no 
special annotations are required.";
         @Builder.Default
         final String jaxbTypeSupportNotice =
-            "JAXB supports `#{showcase-type}` out-of-the-box, so no special 
annotations are required.";
+            "JAXB supports `#{showcase-simple-type}` out-of-the-box, so no 
special annotations are required.";
         final String javaPackage;
         @Builder.Default
         final String fileNamePlaceholderForShowcaseName = "$Template";
@@ -72,6 +71,12 @@ public class ValueTypeGenTemplate {
         final Can<Template> templates = Template.REGULAR_SET;
         @Builder.Default
         final TemplateVariant templateVariant = TemplateVariant.DEFAULT;
+
+        public String getShowcaseValueSimpleType() {
+            String fqt = getShowcaseValueFullyQualifiedType();
+            int i = fqt.lastIndexOf(",");
+            return fqt.substring(i+1);
+        }
     }
 
     @RequiredArgsConstructor
@@ -221,15 +226,16 @@ public class ValueTypeGenTemplate {
             templateVars.putAll(config.templateVariables);
             templateVars.put("java-package", template.javaPackage(config));
             templateVars.put("showcase-name", config.showcaseName);
-            templateVars.put("showcase-type", config.showcaseValueType);
-            templateVars.put("showcase-type-boxed",
-                    
Optional.ofNullable(ClassUtils.resolvePrimitiveClassName(config.showcaseValueType))
+            templateVars.put("showcase-simple-type", 
config.getShowcaseValueSimpleType());
+            templateVars.put("showcase-fully-qualified-type", 
config.showcaseValueFullyQualifiedType);
+            templateVars.put("showcase-simple-type-boxed",
+                    
Optional.ofNullable(ClassUtils.resolvePrimitiveClassName(config.showcaseValueFullyQualifiedType))
                     .map(ClassUtils::resolvePrimitiveIfNecessary)
                     .map(Class::getName)
-                    .orElse(config.showcaseValueType));
+                    .orElse(config.showcaseValueFullyQualifiedType));
 
-            templateVars.put("showcase-type-getter-prefix",
-                    
Optional.ofNullable(ClassUtils.resolvePrimitiveClassName(config.showcaseValueType))
+            templateVars.put("showcase-simple-type-getter-prefix",
+                    
Optional.ofNullable(ClassUtils.resolvePrimitiveClassName(config.showcaseValueFullyQualifiedType))
                     .map(cls->boolean.class.equals(cls) ? "is" : "get")
                     .orElse("get"));
 
diff --git a/tooling/metaprog/src/main/resources/$Templates-common.adoc 
b/tooling/metaprog/src/main/resources/$Templates-common.adoc
index 2636730940..b62f77449c 100644
--- a/tooling/metaprog/src/main/resources/$Templates-common.adoc
+++ b/tooling/metaprog/src/main/resources/$Templates-common.adoc
@@ -4,7 +4,7 @@
 
 == Mixin actions
 
-A number of mixin actions contribute through the `#{showcase-name}Holder` 
interface, demonstrate the use of `#{showcase-type}` as a parameter and as a 
return type.
+A number of mixin actions contribute through the `#{showcase-name}Holder` 
interface, demonstrate the use of `#{showcase-simple-type}` as a parameter and 
as a return type.
 For example:
 
 * the `updateReadOnlyProperty` action is:
diff --git 
a/tooling/metaprog/src/main/resources/$Templates-common~primitive.adoc 
b/tooling/metaprog/src/main/resources/$Templates-common~primitive.adoc
index 4f361e493c..3fd411afd2 100644
--- a/tooling/metaprog/src/main/resources/$Templates-common~primitive.adoc
+++ b/tooling/metaprog/src/main/resources/$Templates-common~primitive.adoc
@@ -4,7 +4,7 @@
 
 == Mixin actions
 
-A number of mixin actions contribute through the `#{showcase-name}Holder` 
interface, demonstrate the use of `#{showcase-type}` as a parameter and as a 
return type.
+A number of mixin actions contribute through the `#{showcase-name}Holder` 
interface, demonstrate the use of `#{showcase-simple-type}` as a parameter and 
as a return type.
 For example:
 
 * the `updateReadOnlyProperty` action is:
diff --git a/tooling/metaprog/src/main/resources/$Templates-description.adoc 
b/tooling/metaprog/src/main/resources/$Templates-description.adoc
index adea212d55..c8ce1f963a 100644
--- a/tooling/metaprog/src/main/resources/$Templates-description.adoc
+++ b/tooling/metaprog/src/main/resources/$Templates-description.adoc
@@ -2,13 +2,13 @@
 
 //#{generated-file-notice}
 
-The framework has built-in support for the `#{showcase-type}` data type.
+The framework has built-in support for the `#{showcase-simple-type}` data type.
 These can be used either in entities or view models.
 
 == How this demo works
 
-On the left hand side is a collection of entities that uses the 
`#{showcase-type}` datatype.
-There is also an action that opens a view model; this view model also uses the 
`#{showcase-type}` datatype.
+On the left hand side is a collection of entities that uses the 
`#{showcase-simple-type}` datatype.
+There is also an action that opens a view model; this view model also uses the 
`#{showcase-simple-type}` datatype.
 
 Navigate into the entity or view model to see the datatype used as a property, 
an action parameter and as a return type of collections, along with code 
samples.
 
diff --git 
a/tooling/metaprog/src/main/resources/$Templates-description~primitive.adoc 
b/tooling/metaprog/src/main/resources/$Templates-description~primitive.adoc
index 44a0b6ded6..05068f3cd7 100644
--- a/tooling/metaprog/src/main/resources/$Templates-description~primitive.adoc
+++ b/tooling/metaprog/src/main/resources/$Templates-description~primitive.adoc
@@ -3,13 +3,13 @@
 //#{generated-file-notice}
 
 
-The framework has built-in support for the (primitive) `#{showcase-type}` data 
type.
+The framework has built-in support for the (primitive) 
`#{showcase-simple-type}` data type.
 These can be used either in entities or view models.
 
 == How this demo works
 
-On the left hand side is a collection of entities that uses the 
`#{showcase-type}` datatype.
-There is also an action that opens a view model; this view model also uses the 
`#{showcase-type}` datatype.
+On the left hand side is a collection of entities that uses the 
`#{showcase-simple-type}` datatype.
+There is also an action that opens a view model; this view model also uses the 
`#{showcase-simple-type}` datatype.
 
 Navigate into the entity or view model to see the datatype used as a property, 
an action parameter and as a return type of collections, along with code 
samples.
 
diff --git a/tooling/metaprog/src/main/resources/$Templates.java 
b/tooling/metaprog/src/main/resources/$Templates.java
index a92e5acbb4..4829d3ec86 100644
--- a/tooling/metaprog/src/main/resources/$Templates.java
+++ b/tooling/metaprog/src/main/resources/$Templates.java
@@ -39,6 +39,8 @@ import org.apache.causeway.applib.annotation.ObjectSupport;
 import org.apache.causeway.applib.annotation.PromptStyle;
 import org.apache.causeway.applib.annotation.SemanticsOf;
 
+import /*${showcase-fully-qualified-type}*/;
+
 import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 import demoapp.dom._infra.values.ValueHolderRepository;
 import demoapp.dom.types.Samples;
@@ -55,15 +57,15 @@ import 
/*${showcase-java-package}*/.vm./*${showcase-name}*/Vm;
 public class /*${showcase-name}*/s implements HasAsciiDocDescription {
 
     @ObjectSupport public String title() {
-        return "/*${showcase-type}*/ data type";
+        return "/*${showcase-simple-type}*/ data type";
     }
 
     @Action(semantics = SemanticsOf.SAFE)
     @ActionLayout(promptStyle = PromptStyle.DIALOG_MODAL)
-    public /*${showcase-name}*/Vm openViewModel(final /*${showcase-type}*/ 
initialValue) {
+    public /*${showcase-name}*/Vm openViewModel(final 
/*${showcase-simple-type}*/ initialValue) {
         return new /*${showcase-name}*/Vm(initialValue);
     }
-    @MemberSupport public /*${showcase-type}*/ default0OpenViewModel() {
+    @MemberSupport public /*${showcase-simple-type}*/ default0OpenViewModel() {
         return samples.single();
     }
 
@@ -74,10 +76,10 @@ public class /*${showcase-name}*/s implements 
HasAsciiDocDescription {
 
     @Inject
     @XmlTransient
-    ValueHolderRepository</*${showcase-type-boxed}*/, ? extends 
/*${showcase-name}*/Entity> entities;
+    ValueHolderRepository</*${showcase-simple-type-boxed}*/, ? extends 
/*${showcase-name}*/Entity> entities;
 
     @Inject
     @XmlTransient
-    Samples</*${showcase-type-boxed}*/> samples;
+    Samples</*${showcase-simple-type-boxed}*/> samples;
 
 }
diff --git a/tooling/metaprog/src/main/resources/holder/$TemplateHolder.java 
b/tooling/metaprog/src/main/resources/holder/$TemplateHolder.java
index e24e96240e..c00b4263ab 100644
--- a/tooling/metaprog/src/main/resources/holder/$TemplateHolder.java
+++ b/tooling/metaprog/src/main/resources/holder/$TemplateHolder.java
@@ -20,22 +20,24 @@ package /*${java-package}*/;
 
 import javax.inject.Named;
 
+import /*${showcase-fully-qualified-type}*/;
+
 /*${generated-file-notice}*/
 @Named("demo./*${showcase-name}*/Holder")
 //tag::class[]
 public interface /*${showcase-name}*/Holder {
 
-    /*${showcase-type}*/ getReadOnlyProperty();
-    void setReadOnlyProperty(/*${showcase-type}*/ c);
+    /*${showcase-simple-type}*/ getReadOnlyProperty();
+    void setReadOnlyProperty(/*${showcase-simple-type}*/ c);
 
-    /*${showcase-type}*/ getReadWriteProperty();
-    void setReadWriteProperty(/*${showcase-type}*/ c);
+    /*${showcase-simple-type}*/ getReadWriteProperty();
+    void setReadWriteProperty(/*${showcase-simple-type}*/ c);
 
-    /*${showcase-type}*/ getReadOnlyOptionalProperty();
-    void setReadOnlyOptionalProperty(/*${showcase-type}*/ c);
+    /*${showcase-simple-type}*/ getReadOnlyOptionalProperty();
+    void setReadOnlyOptionalProperty(/*${showcase-simple-type}*/ c);
 
-    /*${showcase-type}*/ getReadWriteOptionalProperty();
-    void setReadWriteOptionalProperty(/*${showcase-type}*/ c);
+    /*${showcase-simple-type}*/ getReadWriteOptionalProperty();
+    void setReadWriteOptionalProperty(/*${showcase-simple-type}*/ c);
 
 }
 //end::class[]
diff --git a/tooling/metaprog/src/main/resources/holder/$TemplateHolder2.java 
b/tooling/metaprog/src/main/resources/holder/$TemplateHolder2.java
index 9f36ab584c..63eba1b856 100644
--- a/tooling/metaprog/src/main/resources/holder/$TemplateHolder2.java
+++ b/tooling/metaprog/src/main/resources/holder/$TemplateHolder2.java
@@ -22,6 +22,7 @@ import org.apache.causeway.applib.annotation.LabelPosition;
 import org.apache.causeway.applib.annotation.Property;
 import org.apache.causeway.applib.annotation.PropertyLayout;
 import org.apache.causeway.applib.annotation.Where;
+import /*${showcase-fully-qualified-type}*/;
 
 /*${generated-file-notice}*/
 //tag::class[]
@@ -34,7 +35,7 @@ public interface /*${showcase-name}*/Holder2 extends 
/*${showcase-name}*/Holder
             "@PropertyLayout(labelPosition=LEFT)",
         hidden = Where.ALL_TABLES,
         fieldSetId = "label-positions", sequence = "1")     // <.>
-    default /*${showcase-type}*/ 
/*${showcase-type-getter-prefix}*/ReadOnlyPropertyDerivedLabelPositionLeft() {
+    default /*${showcase-simple-type}*/ 
/*${showcase-type-getter-prefix}*/ReadOnlyPropertyDerivedLabelPositionLeft() {
         return /*${showcase-type-getter-prefix}*/ReadOnlyProperty();
     }
 
@@ -45,7 +46,7 @@ public interface /*${showcase-name}*/Holder2 extends 
/*${showcase-name}*/Holder
             "@PropertyLayout(labelPosition=TOP)",
         hidden = Where.ALL_TABLES,
         fieldSetId = "label-positions", sequence = "2")
-    default /*${showcase-type}*/ 
/*${showcase-type-getter-prefix}*/ReadOnlyPropertyDerivedLabelPositionTop() {
+    default /*${showcase-simple-type}*/ 
/*${showcase-type-getter-prefix}*/ReadOnlyPropertyDerivedLabelPositionTop() {
         return /*${showcase-type-getter-prefix}*/ReadOnlyProperty();
     }
 
@@ -56,7 +57,7 @@ public interface /*${showcase-name}*/Holder2 extends 
/*${showcase-name}*/Holder
             "@PropertyLayout(labelPosition=RIGHT)",
         hidden = Where.ALL_TABLES,
         fieldSetId = "label-positions", sequence = "3")
-    default /*${showcase-type}*/ 
/*${showcase-type-getter-prefix}*/ReadOnlyPropertyDerivedLabelPositionRight() {
+    default /*${showcase-simple-type}*/ 
/*${showcase-type-getter-prefix}*/ReadOnlyPropertyDerivedLabelPositionRight() {
         return /*${showcase-type-getter-prefix}*/ReadOnlyProperty();
     }
 
@@ -67,7 +68,7 @@ public interface /*${showcase-name}*/Holder2 extends 
/*${showcase-name}*/Holder
             "@PropertyLayout(labelPosition=NONE)",
         hidden = Where.ALL_TABLES,
         fieldSetId = "label-positions", sequence = "4")
-    default /*${showcase-type}*/ 
/*${showcase-type-getter-prefix}*/ReadOnlyPropertyDerivedLabelPositionNone() {
+    default /*${showcase-simple-type}*/ 
/*${showcase-type-getter-prefix}*/ReadOnlyPropertyDerivedLabelPositionNone() {
         return /*${showcase-type-getter-prefix}*/ReadOnlyProperty();
     }
 
diff --git 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_actionReturning.java
 
b/tooling/metaprog/src/main/resources/holder/$TemplateHolder_actionReturning.java
index 89c959d86f..bce9d846fb 100644
--- 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_actionReturning.java
+++ 
b/tooling/metaprog/src/main/resources/holder/$TemplateHolder_actionReturning.java
@@ -21,6 +21,8 @@ package /*${java-package}*/;
 import org.apache.causeway.applib.annotation.Action;
 import org.apache.causeway.applib.annotation.SemanticsOf;
 
+import /*${showcase-fully-qualified-type}*/;
+
 import lombok.RequiredArgsConstructor;
 
 /*${generated-file-notice}*/
@@ -31,7 +33,7 @@ public class /*${showcase-name}*/Holder_actionReturning {
 
     private final /*${showcase-name}*/Holder holder;
 
-    public /*${showcase-type}*/ act() {
+    public /*${showcase-simple-type}*/ act() {
         return holder./*${showcase-type-getter-prefix}*/ReadOnlyProperty();
     }
 
diff --git 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_actionReturningArray.java
 
b/tooling/metaprog/src/main/resources/holder/$TemplateHolder_actionReturningArray.java
index 9cbb650af3..c95af4779c 100644
--- 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_actionReturningArray.java
+++ 
b/tooling/metaprog/src/main/resources/holder/$TemplateHolder_actionReturningArray.java
@@ -24,6 +24,8 @@ import org.apache.causeway.applib.annotation.Action;
 import org.apache.causeway.applib.annotation.SemanticsOf;
 import org.apache.causeway.commons.functional.IndexedConsumer;
 
+import /*${showcase-fully-qualified-type}*/;
+
 import lombok.RequiredArgsConstructor;
 import lombok.val;
 
@@ -37,15 +39,15 @@ public class 
/*${showcase-name}*/Holder_actionReturningArray {
 
     private final /*${showcase-name}*/Holder holder;
 
-    public /*${showcase-type}*/[] act() {
-        val array = new /*${showcase-type}*/[(int)samples.stream().count()];
+    public /*${showcase-simple-type}*/[] act() {
+        val array = new 
/*${showcase-simple-type}*/[(int)samples.stream().count()];
         samples.stream()
             .forEach(IndexedConsumer.zeroBased((index, value)->array[index] = 
value));
         return array;
     }
 
     @Inject
-    Samples</*${showcase-type-boxed}*/> samples;
+    Samples</*${showcase-simple-type-boxed}*/> samples;
 
 }
 //end::class[]
diff --git 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_actionReturningCollection.java
 
b/tooling/metaprog/src/main/resources/holder/$TemplateHolder_actionReturningCollection.java
index 53647da457..6072ba6309 100644
--- 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_actionReturningCollection.java
+++ 
b/tooling/metaprog/src/main/resources/holder/$TemplateHolder_actionReturningCollection.java
@@ -26,6 +26,8 @@ import javax.inject.Inject;
 import org.apache.causeway.applib.annotation.Action;
 import org.apache.causeway.applib.annotation.SemanticsOf;
 
+import /*${showcase-fully-qualified-type}*/;
+
 import lombok.RequiredArgsConstructor;
 
 import demoapp.dom.types.Samples;
@@ -38,13 +40,13 @@ public class 
/*${showcase-name}*/Holder_actionReturningCollection {
 
     private final /*${showcase-name}*/Holder holder;
 
-    public Collection</*${showcase-type}*/> act() {
+    public Collection</*${showcase-simple-type}*/> act() {
         return samples.stream()
                 .collect(Collectors.toList());
     }
 
     @Inject
-    Samples</*${showcase-type}*/> samples;
+    Samples</*${showcase-simple-type}*/> samples;
 
 }
 //end::class[]
diff --git 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_mixinProperty.java 
b/tooling/metaprog/src/main/resources/holder/$TemplateHolder_mixinProperty.java
index d60df7127a..b4dd9cf126 100644
--- 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_mixinProperty.java
+++ 
b/tooling/metaprog/src/main/resources/holder/$TemplateHolder_mixinProperty.java
@@ -22,6 +22,8 @@ import org.apache.causeway.applib.annotation.Property;
 import org.apache.causeway.applib.annotation.PropertyLayout;
 import org.apache.causeway.applib.annotation.Where;
 
+import /*${showcase-fully-qualified-type}*/;
+
 import lombok.RequiredArgsConstructor;
 
 /*${generated-file-notice}*/
@@ -33,7 +35,7 @@ public class /*${showcase-name}*/Holder_mixinProperty {
 
     private final /*${showcase-name}*/Holder holder;
 
-    public /*${showcase-type}*/ prop() {
+    public /*${showcase-simple-type}*/ prop() {
         return holder./*${showcase-type-getter-prefix}*/ReadOnlyProperty();
     }
 
diff --git 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalProperty.java
 
b/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalProperty.java
index 5752894357..8f521d4538 100644
--- 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalProperty.java
+++ 
b/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalProperty.java
@@ -26,6 +26,8 @@ import org.apache.causeway.applib.annotation.Parameter;
 import org.apache.causeway.applib.annotation.PromptStyle;
 import org.apache.causeway.applib.annotation.SemanticsOf;
 
+import /*${showcase-fully-qualified-type}*/;
+
 import lombok.RequiredArgsConstructor;
 
 /*${generated-file-notice}*/
@@ -45,13 +47,13 @@ public class 
/*${showcase-name}*/Holder_updateReadOnlyOptionalProperty {
 
     @MemberSupport public /*${showcase-name}*/Holder act(
             @Parameter(optionality = Optionality.OPTIONAL)              // <.>
-            final /*${showcase-type}*/ newValue
+            final /*${showcase-simple-type}*/ newValue
     ) {
         holder.setReadOnlyOptionalProperty(newValue);
         return holder;
     }
 
-    @MemberSupport public /*${showcase-type}*/ default0Act() {
+    @MemberSupport public /*${showcase-simple-type}*/ default0Act() {
         return holder.getReadOnlyOptionalProperty();
     }
 
diff --git 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
 
b/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
index 3e92205d7c..1d60f133fd 100644
--- 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
+++ 
b/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyOptionalPropertyWithChoices.java
@@ -31,6 +31,8 @@ import org.apache.causeway.applib.annotation.Parameter;
 import org.apache.causeway.applib.annotation.PromptStyle;
 import org.apache.causeway.applib.annotation.SemanticsOf;
 
+import /*${showcase-fully-qualified-type}*/;
+
 import lombok.RequiredArgsConstructor;
 
 import demoapp.dom.types.Samples;
@@ -52,21 +54,21 @@ public class 
/*${showcase-name}*/Holder_updateReadOnlyOptionalPropertyWithChoice
 
     @MemberSupport public /*${showcase-name}*/Holder act(
             @Parameter(optionality = Optionality.OPTIONAL)
-            final /*${showcase-type}*/ newValue) {
+            final /*${showcase-simple-type}*/ newValue) {
         holder.setReadOnlyOptionalProperty(newValue);
         return holder;
     }
 
-    @MemberSupport public /*${showcase-type}*/ default0Act() {
+    @MemberSupport public /*${showcase-simple-type}*/ default0Act() {
         return holder.getReadOnlyOptionalProperty();
     }
 
-    @MemberSupport public List</*${showcase-type-boxed}*/> choices0Act() {
+    @MemberSupport public List</*${showcase-simple-type-boxed}*/> 
choices0Act() {
         return samples.stream()
                 .collect(Collectors.toList());
     }
 
     @Inject
-    Samples</*${showcase-type-boxed}*/> samples;
+    Samples</*${showcase-simple-type-boxed}*/> samples;
 }
 //end::class[]
diff --git 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyProperty.java
 
b/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyProperty.java
index 488276de40..225ea9fadb 100644
--- 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyProperty.java
+++ 
b/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyProperty.java
@@ -24,6 +24,8 @@ import org.apache.causeway.applib.annotation.MemberSupport;
 import org.apache.causeway.applib.annotation.PromptStyle;
 import org.apache.causeway.applib.annotation.SemanticsOf;
 
+import /*${showcase-fully-qualified-type}*/;
+
 import lombok.RequiredArgsConstructor;
 
 /*${generated-file-notice}*/
@@ -41,12 +43,12 @@ public class 
/*${showcase-name}*/Holder_updateReadOnlyProperty {
 
     private final /*${showcase-name}*/Holder holder;
 
-    @MemberSupport public /*${showcase-name}*/Holder act(final 
/*${showcase-type}*/ newValue) {
+    @MemberSupport public /*${showcase-name}*/Holder act(final 
/*${showcase-simple-type}*/ newValue) {
         holder.setReadOnlyProperty(newValue);
         return holder;
     }
 
-    @MemberSupport public /*${showcase-type}*/ default0Act() {
+    @MemberSupport public /*${showcase-simple-type}*/ default0Act() {
         return holder./*${showcase-type-getter-prefix}*/ReadOnlyProperty();
     }
 
diff --git 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyPropertyWithChoices.java
 
b/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyPropertyWithChoices.java
index e30e5c2746..387c2e2cea 100644
--- 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyPropertyWithChoices.java
+++ 
b/tooling/metaprog/src/main/resources/holder/$TemplateHolder_updateReadOnlyPropertyWithChoices.java
@@ -29,6 +29,8 @@ import org.apache.causeway.applib.annotation.MemberSupport;
 import org.apache.causeway.applib.annotation.PromptStyle;
 import org.apache.causeway.applib.annotation.SemanticsOf;
 
+import /*${showcase-fully-qualified-type}*/;
+
 import lombok.RequiredArgsConstructor;
 
 import demoapp.dom.types.Samples;
@@ -48,22 +50,22 @@ public class 
/*${showcase-name}*/Holder_updateReadOnlyPropertyWithChoices {
 
     private final /*${showcase-name}*/Holder holder;
 
-    @MemberSupport public /*${showcase-name}*/Holder act(final 
/*${showcase-type}*/ newValue) {
+    @MemberSupport public /*${showcase-name}*/Holder act(final 
/*${showcase-simple-type}*/ newValue) {
         holder.setReadOnlyProperty(newValue);
         return holder;
     }
 
-    @MemberSupport public /*${showcase-type}*/ default0Act() {
+    @MemberSupport public /*${showcase-simple-type}*/ default0Act() {
         return holder./*${showcase-type-getter-prefix}*/ReadOnlyProperty();
     }
 
-    @MemberSupport public List</*${showcase-type-boxed}*/> choices0Act() {
+    @MemberSupport public List</*${showcase-simple-type-boxed}*/> 
choices0Act() {
         return samples.stream()
                 .collect(Collectors.toList());
     }
 
     @Inject
-    Samples</*${showcase-type-boxed}*/> samples;
+    Samples</*${showcase-simple-type-boxed}*/> samples;
 
 }
 //end::class[]
diff --git 
a/tooling/metaprog/src/main/resources/holder/$TemplateHolder~primitive.java 
b/tooling/metaprog/src/main/resources/holder/$TemplateHolder~primitive.java
index 944e02eaa8..eda920eadb 100644
--- a/tooling/metaprog/src/main/resources/holder/$TemplateHolder~primitive.java
+++ b/tooling/metaprog/src/main/resources/holder/$TemplateHolder~primitive.java
@@ -20,16 +20,18 @@ package /*${java-package}*/;
 
 import javax.inject.Named;
 
+import /*${showcase-fully-qualified-type}*/;
+
 /*${generated-file-notice}*/
 @Named("demo./*${showcase-name}*/Holder")
 //tag::class[]
 public interface /*${showcase-name}*/Holder {
 
-    /*${showcase-type}*/ /*${showcase-type-getter-prefix}*/ReadOnlyProperty();
-    void setReadOnlyProperty(/*${showcase-type}*/ c);
+    /*${showcase-simple-type}*/ 
/*${showcase-type-getter-prefix}*/ReadOnlyProperty();
+    void setReadOnlyProperty(/*${showcase-simple-type}*/ c);
 
-    /*${showcase-type}*/ /*${showcase-type-getter-prefix}*/ReadWriteProperty();
-    void setReadWriteProperty(/*${showcase-type}*/ c);
+    /*${showcase-simple-type}*/ 
/*${showcase-type-getter-prefix}*/ReadWriteProperty();
+    void setReadWriteProperty(/*${showcase-simple-type}*/ c);
 
 }
 //end::class[]
diff --git a/tooling/metaprog/src/main/resources/jdo/$TemplateJdo.java 
b/tooling/metaprog/src/main/resources/jdo/$TemplateJdo.java
index 970d3b15dc..85e16edb91 100644
--- a/tooling/metaprog/src/main/resources/jdo/$TemplateJdo.java
+++ b/tooling/metaprog/src/main/resources/jdo/$TemplateJdo.java
@@ -34,6 +34,8 @@ import org.apache.causeway.applib.annotation.Property;
 import org.apache.causeway.applib.annotation.PropertyLayout;
 import org.apache.causeway.applib.annotation.Title;
 
+import /*${showcase-fully-qualified-type}*/;
+
 import lombok.Getter;
 import lombok.Setter;
 
@@ -50,35 +52,35 @@ public class /*${showcase-name}*/Jdo                        
                  //
         extends /*${showcase-name}*/Entity {
 
 //end::class[]
-    public /*${showcase-name}*/Jdo(final /*${showcase-type}*/ initialValue) {
+    public /*${showcase-name}*/Jdo(final /*${showcase-simple-type}*/ 
initialValue) {
         this.readOnlyProperty = initialValue;
         this.readWriteProperty = initialValue;
     }
 
 //tag::class[]
-    @Title(prepend = "/*${showcase-type}*/ JDO entity: ")
+    @Title(prepend = "/*${showcase-simple-type}*/ JDO entity: ")
     @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
     @Column(allowsNull = "false")                                              
 // <.>
     @Getter @Setter
-    private /*${showcase-type}*/ readOnlyProperty;
+    private /*${showcase-simple-type}*/ readOnlyProperty;
 
     @Property(editing = Editing.ENABLED)                                       
 // <.>
     @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
     @Column(allowsNull = "false")
     @Getter @Setter
-    private /*${showcase-type}*/ readWriteProperty;
+    private /*${showcase-simple-type}*/ readWriteProperty;
 
     @Property(optionality = Optionality.OPTIONAL)                              
 // <.>
     @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
     @Column(allowsNull = "true")                                               
 // <.>
     @Getter @Setter
-    private /*${showcase-type}*/ readOnlyOptionalProperty;
+    private /*${showcase-simple-type}*/ readOnlyOptionalProperty;
 
     @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
     @PropertyLayout(fieldSetId = "optional-properties", sequence = "2")
     @Column(allowsNull = "true")
     @Getter @Setter
-    private /*${showcase-type}*/ readWriteOptionalProperty;
+    private /*${showcase-simple-type}*/ readWriteOptionalProperty;
 
 }
 //end::class[]
diff --git a/tooling/metaprog/src/main/resources/jdo/$TemplateJdoEntities.java 
b/tooling/metaprog/src/main/resources/jdo/$TemplateJdoEntities.java
index 1c671269df..cf8126be4b 100644
--- a/tooling/metaprog/src/main/resources/jdo/$TemplateJdoEntities.java
+++ b/tooling/metaprog/src/main/resources/jdo/$TemplateJdoEntities.java
@@ -21,20 +21,22 @@ package /*${java-package}*/;
 import org.springframework.context.annotation.Profile;
 import org.springframework.stereotype.Service;
 
+import /*${showcase-fully-qualified-type}*/;
+
 import demoapp.dom._infra.values.ValueHolderRepository;
 
 /*${generated-file-notice}*/
 @Profile("demo-jdo")
 @Service
 public class /*${showcase-name}*/JdoEntities
-extends ValueHolderRepository</*${showcase-type-boxed}*/, 
/*${showcase-name}*/Jdo> {
+extends ValueHolderRepository</*${showcase-simple-type-boxed}*/, 
/*${showcase-name}*/Jdo> {
 
     protected /*${showcase-name}*/JdoEntities() {
         super(/*${showcase-name}*/Jdo.class);
     }
 
     @Override
-    protected /*${showcase-name}*/Jdo 
newDetachedEntity(/*${showcase-type-boxed}*/ value) {
+    protected /*${showcase-name}*/Jdo 
newDetachedEntity(/*${showcase-simple-type-boxed}*/ value) {
         return new /*${showcase-name}*/Jdo(value);
     }
 
diff --git a/tooling/metaprog/src/main/resources/jdo/$TemplateJdo~lob.java 
b/tooling/metaprog/src/main/resources/jdo/$TemplateJdo~lob.java
index a9e4948e8a..b0d74b0195 100644
--- a/tooling/metaprog/src/main/resources/jdo/$TemplateJdo~lob.java
+++ b/tooling/metaprog/src/main/resources/jdo/$TemplateJdo~lob.java
@@ -35,6 +35,8 @@ import org.apache.causeway.applib.annotation.PropertyLayout;
 import org.apache.causeway.applib.annotation.Title;
 import org.apache.causeway.applib.annotation.Where;
 
+import /*${showcase-fully-qualified-type}*/;
+
 import lombok.Getter;
 import lombok.Setter;
 
@@ -51,35 +53,35 @@ public class /*${showcase-name}*/Jdo                        
                  //
         extends /*${showcase-name}*/Entity {
 
 //end::class[]
-    public /*${showcase-name}*/Jdo(final /*${showcase-type}*/ initialValue) {
+    public /*${showcase-name}*/Jdo(final /*${showcase-simple-type}*/ 
initialValue) {
         this.readOnlyProperty = initialValue;
         this.readWriteProperty = initialValue;
     }
 
 //tag::class[]
-    @Title(prepend = "/*${showcase-type}*/ JDO entity: ")
+    @Title(prepend = "/*${showcase-simple-type}*/ JDO entity: ")
     @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
     @Column(allowsNull = "false", jdbcType = "CLOB")                           
 // <.>
     @Getter @Setter
-    private /*${showcase-type}*/ readOnlyProperty;
+    private /*${showcase-simple-type}*/ readOnlyProperty;
 
     @Property(editing = Editing.ENABLED)                                       
 // <.>
     @PropertyLayout(fieldSetId = "editable-properties", sequence = "1", hidden 
= Where.ALL_TABLES, multiLine = 5)
     @Column(allowsNull = "false", jdbcType = "CLOB")
     @Getter @Setter
-    private /*${showcase-type}*/ readWriteProperty;
+    private /*${showcase-simple-type}*/ readWriteProperty;
 
     @Property(optionality = Optionality.OPTIONAL)                              
 // <.>
     @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
     @Column(allowsNull = "true", jdbcType = "CLOB")                            
 // <.>
     @Getter @Setter
-    private /*${showcase-type}*/ readOnlyOptionalProperty;
+    private /*${showcase-simple-type}*/ readOnlyOptionalProperty;
 
     @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
     @PropertyLayout(fieldSetId = "optional-properties", sequence = "2", hidden 
= Where.ALL_TABLES, multiLine = 5)
     @Column(allowsNull = "true", jdbcType = "CLOB")
     @Getter @Setter
-    private /*${showcase-type}*/ readWriteOptionalProperty;
+    private /*${showcase-simple-type}*/ readWriteOptionalProperty;
 
 }
 //end::class[]
diff --git 
a/tooling/metaprog/src/main/resources/jdo/$TemplateJdo~primitive.java 
b/tooling/metaprog/src/main/resources/jdo/$TemplateJdo~primitive.java
index 6e3246657c..46f3d13e3b 100644
--- a/tooling/metaprog/src/main/resources/jdo/$TemplateJdo~primitive.java
+++ b/tooling/metaprog/src/main/resources/jdo/$TemplateJdo~primitive.java
@@ -32,6 +32,8 @@ import org.apache.causeway.applib.annotation.Property;
 import org.apache.causeway.applib.annotation.PropertyLayout;
 import org.apache.causeway.applib.annotation.Title;
 
+import /*${showcase-fully-qualified-type}*/;
+
 import lombok.Getter;
 import lombok.Setter;
 
@@ -48,21 +50,21 @@ public class /*${showcase-name}*/Jdo                        
                  //
         extends /*${showcase-name}*/Entity {
 
 //end::class[]
-    public /*${showcase-name}*/Jdo(final /*${showcase-type}*/ initialValue) {
+    public /*${showcase-name}*/Jdo(final /*${showcase-simple-type}*/ 
initialValue) {
         this.readOnlyProperty = initialValue;
         this.readWriteProperty = initialValue;
     }
 
 //tag::class[]
-    @Title(prepend = "/*${showcase-type}*/ (primitive) JDO entity: ")
+    @Title(prepend = "/*${showcase-simple-type}*/ (primitive) JDO entity: ")
     @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
     @Getter @Setter
-    private /*${showcase-type}*/ readOnlyProperty;                             
// <.>
+    private /*${showcase-simple-type}*/ readOnlyProperty;                      
       // <.>
 
-    @Property(editing = Editing.ENABLED)                                       
 
+    @Property(editing = Editing.ENABLED)
     @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
     @Getter @Setter
-    private /*${showcase-type}*/ readWriteProperty;
+    private /*${showcase-simple-type}*/ readWriteProperty;
 
 }
 //end::class[]
diff --git a/tooling/metaprog/src/main/resources/jpa/$TemplateJpa.java 
b/tooling/metaprog/src/main/resources/jpa/$TemplateJpa.java
index 7739780393..06b2a412f2 100644
--- a/tooling/metaprog/src/main/resources/jpa/$TemplateJpa.java
+++ b/tooling/metaprog/src/main/resources/jpa/$TemplateJpa.java
@@ -36,6 +36,8 @@ import org.apache.causeway.applib.annotation.PropertyLayout;
 import org.apache.causeway.applib.annotation.Title;
 import 
org.apache.causeway.persistence.jpa.applib.integration.CausewayEntityListener;
 
+import /*${showcase-fully-qualified-type}*/;
+
 import lombok.Getter;
 import lombok.NoArgsConstructor;
 import lombok.Setter;
@@ -58,7 +60,7 @@ public class /*${showcase-name}*/Jpa
         extends /*${showcase-name}*/Entity {
 
 //end::class[]
-    public /*${showcase-name}*/Jpa(final /*${showcase-type}*/ initialValue) {
+    public /*${showcase-name}*/Jpa(final /*${showcase-simple-type}*/ 
initialValue) {
         this.readOnlyProperty = initialValue;
         this.readWriteProperty = initialValue;
     }
@@ -68,29 +70,29 @@ public class /*${showcase-name}*/Jpa
     @GeneratedValue
     private Long id;
 
-    @Title(prepend = "/*${showcase-type}*/ JPA entity: ")
+    @Title(prepend = "/*${showcase-simple-type}*/ JPA entity: ")
     @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
     @Column(nullable = false)                                                  
 // <.>
     @Getter @Setter
-    private /*${showcase-type}*/ readOnlyProperty;
+    private /*${showcase-simple-type}*/ readOnlyProperty;
 
     @Property(editing = Editing.ENABLED)                                       
 // <.>
     @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
     @Column(nullable = false)
     @Getter @Setter
-    private /*${showcase-type}*/ readWriteProperty;
+    private /*${showcase-simple-type}*/ readWriteProperty;
 
     @Property(optionality = Optionality.OPTIONAL)                              
 // <.>
     @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
     @Column(nullable = true)                                                   
 // <.>
     @Getter @Setter
-    private /*${showcase-type}*/ readOnlyOptionalProperty;
+    private /*${showcase-simple-type}*/ readOnlyOptionalProperty;
 
     @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
     @PropertyLayout(fieldSetId = "optional-properties", sequence = "2")
     @Column(nullable = true)
     @Getter @Setter
-    private /*${showcase-type}*/ readWriteOptionalProperty;
+    private /*${showcase-simple-type}*/ readWriteOptionalProperty;
 
 }
 //end::class[]
diff --git a/tooling/metaprog/src/main/resources/jpa/$TemplateJpaEntities.java 
b/tooling/metaprog/src/main/resources/jpa/$TemplateJpaEntities.java
index d2e694e7fa..f5ab4514f3 100644
--- a/tooling/metaprog/src/main/resources/jpa/$TemplateJpaEntities.java
+++ b/tooling/metaprog/src/main/resources/jpa/$TemplateJpaEntities.java
@@ -21,20 +21,22 @@ package /*${java-package}*/;
 import org.springframework.context.annotation.Profile;
 import org.springframework.stereotype.Service;
 
+import /*${showcase-fully-qualified-type}*/;
+
 import demoapp.dom._infra.values.ValueHolderRepository;
 
 /*${generated-file-notice}*/
 @Profile("demo-jpa")
 @Service
 public class /*${showcase-name}*/JpaEntities
-extends ValueHolderRepository</*${showcase-type-boxed}*/, 
/*${showcase-name}*/Jpa> {
+extends ValueHolderRepository</*${showcase-simple-type-boxed}*/, 
/*${showcase-name}*/Jpa> {
 
     protected /*${showcase-name}*/JpaEntities() {
         super(/*${showcase-name}*/Jpa.class);
     }
 
     @Override
-    protected /*${showcase-name}*/Jpa 
newDetachedEntity(/*${showcase-type-boxed}*/ value) {
+    protected /*${showcase-name}*/Jpa 
newDetachedEntity(/*${showcase-simple-type-boxed}*/ value) {
         return new /*${showcase-name}*/Jpa(value);
     }
 
diff --git a/tooling/metaprog/src/main/resources/jpa/$TemplateJpa~lob.java 
b/tooling/metaprog/src/main/resources/jpa/$TemplateJpa~lob.java
index 9f371131a2..37ffe85f5f 100644
--- a/tooling/metaprog/src/main/resources/jpa/$TemplateJpa~lob.java
+++ b/tooling/metaprog/src/main/resources/jpa/$TemplateJpa~lob.java
@@ -40,6 +40,8 @@ import org.apache.causeway.applib.annotation.Title;
 import org.apache.causeway.applib.annotation.Where;
 import 
org.apache.causeway.persistence.jpa.applib.integration.CausewayEntityListener;
 
+import /*${showcase-fully-qualified-type}*/;
+
 import lombok.Getter;
 import lombok.NoArgsConstructor;
 import lombok.Setter;
@@ -62,7 +64,7 @@ public class /*${showcase-name}*/Jpa
         extends /*${showcase-name}*/Entity {
 
 //end::class[]
-    public /*${showcase-name}*/Jpa(final /*${showcase-type}*/ initialValue) {
+    public /*${showcase-name}*/Jpa(final /*${showcase-simple-type}*/ 
initialValue) {
         this.readOnlyProperty = initialValue;
         this.readWriteProperty = initialValue;
     }
@@ -72,29 +74,29 @@ public class /*${showcase-name}*/Jpa
     @GeneratedValue
     private Long id;
 
-    @Title(prepend = "/*${showcase-type}*/ JPA entity: ")
+    @Title(prepend = "/*${showcase-simple-type}*/ JPA entity: ")
     @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
     @Column(nullable = false) @Lob @Basic(fetch=FetchType.LAZY)                
 // <.>
     @Getter @Setter
-    private /*${showcase-type}*/ readOnlyProperty;
+    private /*${showcase-simple-type}*/ readOnlyProperty;
 
     @Property(editing = Editing.ENABLED)                                       
 // <.>
     @PropertyLayout(fieldSetId = "editable-properties", sequence = "1", hidden 
= Where.ALL_TABLES, multiLine = 5)
     @Column(nullable = false) @Lob @Basic(fetch=FetchType.LAZY)
     @Getter @Setter
-    private /*${showcase-type}*/ readWriteProperty;
+    private /*${showcase-simple-type}*/ readWriteProperty;
 
     @Property(optionality = Optionality.OPTIONAL)                              
 // <.>
     @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
     @Column(nullable = true) @Lob @Basic(fetch=FetchType.LAZY)                 
 // <.>
     @Getter @Setter
-    private /*${showcase-type}*/ readOnlyOptionalProperty;
+    private /*${showcase-simple-type}*/ readOnlyOptionalProperty;
 
     @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
     @PropertyLayout(fieldSetId = "optional-properties", sequence = "2", hidden 
= Where.ALL_TABLES, multiLine = 5)
     @Column(nullable = true) @Lob @Basic(fetch=FetchType.LAZY)
     @Getter @Setter
-    private /*${showcase-type}*/ readWriteOptionalProperty;
+    private /*${showcase-simple-type}*/ readWriteOptionalProperty;
 
 }
 //end::class[]
diff --git 
a/tooling/metaprog/src/main/resources/jpa/$TemplateJpa~primitive.java 
b/tooling/metaprog/src/main/resources/jpa/$TemplateJpa~primitive.java
index 5654af2ff4..261c864bcf 100644
--- a/tooling/metaprog/src/main/resources/jpa/$TemplateJpa~primitive.java
+++ b/tooling/metaprog/src/main/resources/jpa/$TemplateJpa~primitive.java
@@ -34,6 +34,8 @@ import org.apache.causeway.applib.annotation.PropertyLayout;
 import org.apache.causeway.applib.annotation.Title;
 import 
org.apache.causeway.persistence.jpa.applib.integration.CausewayEntityListener;
 
+import /*${showcase-fully-qualified-type}*/;
+
 import lombok.Getter;
 import lombok.NoArgsConstructor;
 import lombok.Setter;
@@ -56,7 +58,7 @@ public class /*${showcase-name}*/Jpa
         extends /*${showcase-name}*/Entity {
 
 //end::class[]
-    public /*${showcase-name}*/Jpa(final /*${showcase-type}*/ initialValue) {
+    public /*${showcase-name}*/Jpa(final /*${showcase-simple-type}*/ 
initialValue) {
         this.readOnlyProperty = initialValue;
         this.readWriteProperty = initialValue;
     }
@@ -66,15 +68,15 @@ public class /*${showcase-name}*/Jpa
     @GeneratedValue
     private Long id;
 
-    @Title(prepend = "/*${showcase-type}*/ (primitive) JPA entity: ")
+    @Title(prepend = "/*${showcase-simple-type}*/ (primitive) JPA entity: ")
     @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
     @Getter @Setter
-    private /*${showcase-type}*/ readOnlyProperty;                             
 // <.>
+    private /*${showcase-simple-type}*/ readOnlyProperty;                      
        // <.>
 
-    @Property(editing = Editing.ENABLED)                                       
 
+    @Property(editing = Editing.ENABLED)
     @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
     @Getter @Setter
-    private /*${showcase-type}*/ readWriteProperty;
+    private /*${showcase-simple-type}*/ readWriteProperty;
 
 }
 //end::class[]
diff --git 
a/tooling/metaprog/src/main/resources/persistence/$TemplateEntity.java 
b/tooling/metaprog/src/main/resources/persistence/$TemplateEntity.java
index 6de138a58f..a717016aaa 100644
--- a/tooling/metaprog/src/main/resources/persistence/$TemplateEntity.java
+++ b/tooling/metaprog/src/main/resources/persistence/$TemplateEntity.java
@@ -26,6 +26,8 @@ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 import demoapp.dom._infra.values.ValueHolder;
 import /*${showcase-java-package}*/.holder./*${showcase-name}*/Holder2;
 
+import /*${showcase-fully-qualified-type}*/;
+
 /*${generated-file-notice}*/
 @Named("demo./*${showcase-name}*/Entity") // shared permissions with concrete 
sub class
 @DomainObject
@@ -33,10 +35,10 @@ public abstract class /*${showcase-name}*/Entity
 implements
     HasAsciiDocDescription,
     /*${showcase-name}*/Holder2,
-    ValueHolder</*${showcase-type-boxed}*/> {
+    ValueHolder</*${showcase-simple-type-boxed}*/> {
 
     @Override
-    public /*${showcase-type-boxed}*/ value() {
+    public /*${showcase-simple-type-boxed}*/ value() {
         return /*${showcase-type-getter-prefix}*/ReadOnlyProperty();
     }
 
diff --git 
a/tooling/metaprog/src/main/resources/persistence/$TemplateSeeding.java 
b/tooling/metaprog/src/main/resources/persistence/$TemplateSeeding.java
index d52d492e5c..6d125e8f76 100644
--- a/tooling/metaprog/src/main/resources/persistence/$TemplateSeeding.java
+++ b/tooling/metaprog/src/main/resources/persistence/$TemplateSeeding.java
@@ -22,6 +22,8 @@ import javax.inject.Inject;
 
 import org.springframework.stereotype.Service;
 
+import /*${showcase-fully-qualified-type}*/;
+
 import demoapp.dom._infra.seed.SeedServiceAbstract;
 import demoapp.dom._infra.values.ValueHolderRepository;
 
@@ -31,7 +33,7 @@ public class /*${showcase-name}*/Seeding
 extends SeedServiceAbstract {
 
     @Inject
-    public 
/*${showcase-name}*/Seeding(ValueHolderRepository</*${showcase-type-boxed}*/, ? 
extends /*${showcase-name}*/Entity> entities) {
+    public 
/*${showcase-name}*/Seeding(ValueHolderRepository</*${showcase-simple-type-boxed}*/,
 ? extends /*${showcase-name}*/Entity> entities) {
         super(entities);
     }
 
diff --git a/tooling/metaprog/src/main/resources/samples/$TemplateSamples.java 
b/tooling/metaprog/src/main/resources/samples/$TemplateSamples.java
index 464e59f423..406d066904 100644
--- a/tooling/metaprog/src/main/resources/samples/$TemplateSamples.java
+++ b/tooling/metaprog/src/main/resources/samples/$TemplateSamples.java
@@ -22,14 +22,16 @@ import java.util.stream.Stream;
 
 import org.springframework.stereotype.Service;
 
+import /*${showcase-fully-qualified-type}*/;
+
 import demoapp.dom.types.Samples;
 
 /*${generated-file-notice}*/
 @Service
-public class /*${showcase-name}*/Samples implements 
Samples</*${showcase-type}*/> {
+public class /*${showcase-name}*/Samples implements 
Samples</*${showcase-simple-type}*/> {
 
     @Override
-    public Stream</*${showcase-type}*/> stream() {
+    public Stream</*${showcase-simple-type}*/> stream() {
         return new /*${showcase-value-semantics-provider}*/()
                 .getExamples()
                 .stream();
diff --git a/tooling/metaprog/src/main/resources/vm/$TemplateVm.java 
b/tooling/metaprog/src/main/resources/vm/$TemplateVm.java
index ae1f2302be..85d53aa0ab 100644
--- a/tooling/metaprog/src/main/resources/vm/$TemplateVm.java
+++ b/tooling/metaprog/src/main/resources/vm/$TemplateVm.java
@@ -33,6 +33,8 @@ import org.apache.causeway.applib.annotation.Property;
 import org.apache.causeway.applib.annotation.PropertyLayout;
 import org.apache.causeway.applib.annotation.Title;
 
+import /*${showcase-fully-qualified-type}*/;
+
 import lombok.Getter;
 import lombok.Setter;
 
@@ -52,33 +54,33 @@ public class /*${showcase-name}*/Vm
         implements HasAsciiDocDescription, /*${showcase-name}*/Holder2 {
 
 //end::class[]
-    public /*${showcase-name}*/Vm(final /*${showcase-type}*/ initialValue) {
+    public /*${showcase-name}*/Vm(final /*${showcase-simple-type}*/ 
initialValue) {
         this.readOnlyProperty = initialValue;
         this.readWriteProperty = initialValue;
     }
 
 //tag::class[]
-    @Title(prepend = "/*${showcase-type}*/ view model: ")
+    @Title(prepend = "/*${showcase-simple-type}*/ view model: ")
     @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
     @XmlElement(required = true)                                               
 // <.>
     @Getter @Setter
-    private /*${showcase-type}*/ readOnlyProperty;
+    private /*${showcase-simple-type}*/ readOnlyProperty;
 
     @Property(editing = Editing.ENABLED)                                       
 // <.>
     @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
     @XmlElement(required = true)
     @Getter @Setter
-    private /*${showcase-type}*/ readWriteProperty;
+    private /*${showcase-simple-type}*/ readWriteProperty;
 
     @Property(optionality = Optionality.OPTIONAL)                              
 // <.>
     @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
     @Getter @Setter
-    private /*${showcase-type}*/ readOnlyOptionalProperty;
+    private /*${showcase-simple-type}*/ readOnlyOptionalProperty;
 
     @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
     @PropertyLayout(fieldSetId = "optional-properties", sequence = "2")
     @Getter @Setter
-    private /*${showcase-type}*/ readWriteOptionalProperty;
+    private /*${showcase-simple-type}*/ readWriteOptionalProperty;
 
 }
 //end::class[]
diff --git a/tooling/metaprog/src/main/resources/vm/$TemplateVm~primitive.java 
b/tooling/metaprog/src/main/resources/vm/$TemplateVm~primitive.java
index 64fd3a2a4e..134c73676b 100644
--- a/tooling/metaprog/src/main/resources/vm/$TemplateVm~primitive.java
+++ b/tooling/metaprog/src/main/resources/vm/$TemplateVm~primitive.java
@@ -31,6 +31,8 @@ import org.apache.causeway.applib.annotation.Property;
 import org.apache.causeway.applib.annotation.PropertyLayout;
 import org.apache.causeway.applib.annotation.Title;
 
+import /*${showcase-fully-qualified-type}*/;
+
 import lombok.Getter;
 import lombok.Setter;
 
@@ -50,21 +52,21 @@ public class /*${showcase-name}*/Vm
         implements HasAsciiDocDescription, /*${showcase-name}*/Holder2 {
 
 //end::class[]
-    public /*${showcase-name}*/Vm(final /*${showcase-type}*/ initialValue) {
+    public /*${showcase-name}*/Vm(final /*${showcase-simple-type}*/ 
initialValue) {
         this.readOnlyProperty = initialValue;
         this.readWriteProperty = initialValue;
     }
 
 //tag::class[]
-    @Title(prepend = "/*${showcase-type}*/ (primitive) view model: ")
+    @Title(prepend = "/*${showcase-simple-type}*/ (primitive) view model: ")
     @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
     @Getter @Setter
-    private /*${showcase-type}*/ readOnlyProperty;                             
 // <.>
+    private /*${showcase-simple-type}*/ readOnlyProperty;                      
        // <.>
 
-    @Property(editing = Editing.ENABLED)                                       
 
+    @Property(editing = Editing.ENABLED)
     @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
     @Getter @Setter
-    private /*${showcase-type}*/ readWriteProperty;
+    private /*${showcase-simple-type}*/ readWriteProperty;
 
 }
 //end::class[]

Reply via email to