You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@causeway.apache.org by ah...@apache.org on 2025/09/23 06:17:02 UTC

(causeway-app-referenceapp) 01/01: migrate to v4

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

ahuber pushed a commit to branch v4
in repository https://gitbox.apache.org/repos/asf/causeway-app-referenceapp.git

commit 583974e7bc42843db17d6c71b1f7188996691ff6
Author: a.huber <a....@apache.org>
AuthorDate: Tue Sep 23 08:16:52 2025 +0200

    migrate to v4
---
 domain/pom.xml                                     |  44 +--
 .../main/java/demoapp/dom/ReferenceModuleJdo.java  |  43 ---
 .../main/java/demoapp/dom/ReferenceModuleJpa.java  |  10 +-
 .../_infra/resources/AsciiDocReaderService.java    |   2 +-
 .../resources/MarkupVariableResolverService.java   |  10 +-
 .../ActionChoicesFromEntityImpl-description.adoc   |   4 -
 .../jdo/ActionChoicesFromEntityImpl.java           |  61 -----
 .../jdo/ActionChoicesFromEntityImplRepository.java |  40 ---
 ...ionCommandPublishingEntityImpl-description.adoc |   3 -
 .../jdo/ActionCommandPublishingEntityImpl.java     |  61 -----
 ...ctionCommandPublishingEntityImplRepository.java |  42 ---
 ...nExecutionPublishingEntityImpl-description.adoc |   3 -
 .../jdo/ActionExecutionPublishingEntityImpl.java   |  61 -----
 ...ionExecutionPublishingEntityImplRepository.java |  40 ---
 .../ActionLayoutHiddenEntityImpl-description.adoc  |   3 -
 .../hidden/jdo/ActionLayoutHiddenEntityImpl.java   |  61 -----
 .../ActionLayoutHiddenEntityImplRepository.java    |  41 ---
 ...LayoutRedirectPolicyEntityImpl-description.adoc |   3 -
 .../jdo/ActionLayoutRedirectPolicyEntityImpl.java  |  75 ------
 ...onLayoutRedirectPolicyEntityImplRepository.java |  65 -----
 ...onLayoutRedirectPolicyEntityImplRepository.java |   2 +-
 .../DomainObjectAliasedEntityImpl-description.adoc |  12 -
 .../aliased/jdo/DomainObjectAliasedEntityImpl.java |  64 -----
 .../DomainObjectAliasedEntityImplRepository.java   |  40 ---
 ...inObjectAutoCompleteEntityImpl-description.adoc |  22 --
 .../jdo/DomainObjectAutoCompleteEntityImpl.java    |  65 -----
 ...mainObjectAutoCompleteEntityImplRepository.java |  45 ----
 ...DomainObjectBoundingEntityImpl-description.adoc |  11 -
 .../jdo/DomainObjectBoundingEntityImpl.java        |  65 -----
 .../DomainObjectBoundingEntityImplRepository.java  |  40 ---
 .../bounded/jdo/DomainObjectBoundingPage_find.java |  27 --
 .../DomainObjectEditingEntityImpl-description.adoc |  14 -
 .../editing/jdo/DomainObjectEditingEntityImpl.java |  81 ------
 .../DomainObjectEditingEntityImplRepository.java   |  40 ---
 ...tityChangePublishingEntityImpl-description.adoc |  11 -
 ...mainObjectEntityChangePublishingEntityImpl.java |  73 -----
 ...EntityChangePublishingEntityImplRepository.java |  40 ---
 ...ntrospectionAnnotOptEntityImpl-description.adoc |  13 -
 ...omainObjectIntrospectionAnnotOptEntityImpl.java |  74 -----
 ...tIntrospectionAnnotOptEntityImplRepository.java |  40 ---
 ...trospectionAnnotReqdEntityImpl-description.adoc |  13 -
 ...mainObjectIntrospectionAnnotReqdEntityImpl.java |  79 ------
 ...IntrospectionAnnotReqdEntityImplRepository.java |  40 ---
 ...spectionEncapsulatedEntityImpl-description.adoc |  13 -
 ...nObjectIntrospectionEncapsulatedEntityImpl.java |  86 ------
 ...rospectionEncapsulatedEntityImplRepository.java |  40 ---
 ...jectIntrospectionPage_encapsulationEnabled.java |  50 ----
 ...ainObjectMixinMethodEntityImpl-description.adoc |   3 -
 .../jdo/DomainObjectMixinMethodEntityImpl.java     |  62 -----
 ...omainObjectMixinMethodEntityImplRepository.java |  40 ---
 .../DomainObjectNatureEntityImpl-description.adoc  |  13 -
 .../entity/jdo/DomainObjectNatureEntityImpl.java   |  63 -----
 .../DomainObjectNatureEntityImplRepository.java    |  40 ---
 ...ectXxxLifecycleEventEntityImpl-description.adoc |   3 -
 .../DomainObjectXxxLifecycleEventEntityImpl.java   |  63 -----
 ...bjectXxxLifecycleEventEntityImplRepository.java |  40 ---
 ...youtBookmarkingChildEntityImpl-description.adoc |   3 -
 ...mainObjectLayoutBookmarkingChildEntityImpl.java |  71 -----
 ...ectLayoutBookmarkingEntityImpl-description.adoc |   3 -
 .../DomainObjectLayoutBookmarkingEntityImpl.java   |  80 ------
 ...bjectLayoutBookmarkingEntityImplRepository.java |  40 ---
 ...ObjectLayoutCssClassEntityImpl-description.adoc |   3 -
 .../jdo/DomainObjectLayoutCssClassEntityImpl.java  |  61 -----
 ...inObjectLayoutCssClassEntityImplRepository.java |  40 ---
 ...jectLayoutCssClassFaEntityImpl-description.adoc |   3 -
 .../DomainObjectLayoutCssClassFaEntityImpl.java    |  61 -----
 ...ObjectLayoutCssClassFaEntityImplRepository.java |  40 ---
 ...ectLayoutDescribedAsEntityImpl-description.adoc |   3 -
 .../DomainObjectLayoutDescribedAsEntityImpl.java   |  61 -----
 ...bjectLayoutDescribedAsEntityImplRepository.java |  40 ---
 ...ainObjectLayoutNamedEntityImpl-description.adoc |   3 -
 .../jdo/DomainObjectLayoutNamedEntityImpl.java     |  61 -----
 ...omainObjectLayoutNamedEntityImplRepository.java |  40 ---
 ...ainObjectLayoutPagedEntityImpl-description.adoc |   3 -
 .../jdo/DomainObjectLayoutPagedEntityImpl.java     |  61 -----
 .../DomainObjectLayoutPagedEntityRepository.java   |  39 ---
 ...LayoutTableDecoratorEntityImpl-description.adoc |   3 -
 ...DomainObjectLayoutTableDecoratorEntityImpl.java |  64 -----
 ...ctLayoutTableDecoratorEntityImplRepository.java |  40 ---
 .../DomainObjectLayoutXxxUiEventSubscriber.java    |   5 +-
 ...jectLayoutXxxUiEventEntityImpl-description.adoc |   3 -
 .../DomainObjectLayoutXxxUiEventEntityImpl.java    |  61 -----
 ...ObjectLayoutXxxUiEventEntityImplRepository.java |  40 ---
 .../domain/properties/Property/PropertyMenu.java   |   4 +-
 ...rtyCommandPublishingEntityImpl-description.adoc |   4 -
 .../jdo/PropertyCommandPublishingEntityImpl.java   |  64 -----
 ...pertyCommandPublishingEntityImplRepository.java |  40 ---
 .../jdo/PropertyEditingEntityImpl-description.adoc |  33 ---
 .../editing/jdo/PropertyEditingEntityImpl.java     |  88 ------
 .../jdo/PropertyEditingEntityImplRepository.java   |  40 ---
 ...yExecutionPublishingEntityImpl-description.adoc |   4 -
 .../jdo/PropertyExecutionPublishingEntityImpl.java |  64 -----
 ...rtyExecutionPublishingEntityImplRepository.java |  40 ---
 ...pertyProjectingChildEntityImpl-description.adoc |   3 -
 .../jdo/PropertyProjectingChildEntityImpl.java     |  68 -----
 ...ropertyProjectingChildEntityImplRepository.java |  40 ---
 .../PropertySnapshotEntityImpl-description.adoc    |   3 -
 .../snapshot/jdo/PropertySnapshotEntityImpl.java   |  67 -----
 .../jdo/PropertySnapshotEntityImplRepository.java  |  40 ---
 ...PropertyLayoutHiddenEntityImpl-description.adoc |   3 -
 .../hidden/jdo/PropertyLayoutHiddenEntityImpl.java |  83 ------
 .../PropertyLayoutHiddenEntityImplRepository.java  |  40 ---
 .../jdo/CausewayCalendarEventJdo-description.adoc  |  18 --
 .../cal/jdo/CausewayCalendarEventJdo.java          |  84 ------
 .../cal/jdo/CausewayCalendarEventJdoEntities.java  |  42 ---
 .../jdo/BulkActionItemEntityImpl-description.adoc  |   3 -
 .../actions/bulk/jdo/BulkActionItemEntityImpl.java |  61 -----
 .../jdo/BulkActionItemEntityImplRepository.java    |  41 ---
 .../embeddedvalues/jdo/ComplexNumberJdo.java       |  46 ----
 .../jdo/ComplexNumberJdoValueSemantics.java        | 109 --------
 .../embeddedvalues/jdo/EmbeddedTypeMenuJdo.java    |  52 ----
 .../jdo/EmbeddedTypePageJdo-description.adoc       |  78 ------
 .../embeddedvalues/jdo/EmbeddedTypePageJdo.java    |  59 ----
 .../jdo/EmbeddedTypePageJdo.layout.xml             |  58 ----
 .../jdo/NumberConstantJdo-description.adoc         |  26 --
 .../embeddedvalues/jdo/NumberConstantJdo.java      |  80 ------
 .../jdo/NumberConstantJdo.layout.xml               |  63 -----
 .../embeddedvalues/jdo/NumberConstantJdo.svg       |   1 -
 .../jdo/NumberConstantJdoRepository.java           |  45 ----
 .../embeddedvalues/jpa/NumberConstantJpa.java      |   8 +-
 .../core/errorreportingservice/EmailTicket.java    |   2 +-
 .../ErrorReportingServiceForDemo.java              |   2 +-
 .../core/eventbusservice/EventLogEntryJdo.java     |  77 ------
 .../EventLogEntryJdoRepository.java                |  58 ----
 .../jdo/PrimeNumberJdo-description.adoc            |   9 -
 .../core/wrapperFactory/jdo/PrimeNumberJdo.java    |  58 ----
 .../jdo/PrimeNumberJdoFactoryAndRepository.java    |  55 ----
 .../secman/apptenancy/jdo/TenantedJdo.java         |  74 -----
 .../secman/apptenancy/jdo/TenantedJdoEntities.java |  40 ---
 .../blobs/jdo/CausewayBlobJdo-description.adoc     |  36 ---
 .../types/causeway/blobs/jdo/CausewayBlobJdo.java  | 112 --------
 .../blobs/jdo/CausewayBlobJdoEntities.java         |  42 ---
 .../dom/types/causeway/blobs/jdo/package-info.java |   4 -
 .../clobs/jdo/CausewayClobJdo-description.adoc     |  38 ---
 .../types/causeway/clobs/jdo/CausewayClobJdo.java  | 118 --------
 .../clobs/jdo/CausewayClobJdoEntities.java         |  42 ---
 .../CausewayLocalResourcePathJdo-description.adoc  |  18 --
 .../jdo/CausewayLocalResourcePathJdo.java          |  84 ------
 .../jdo/CausewayLocalResourcePathJdoEntities.java  |  42 ---
 .../markups/jdo/CausewayMarkupJdo-description.adoc |  18 --
 .../causeway/markups/jdo/CausewayMarkupJdo.java    |  85 ------
 .../markups/jdo/CausewayMarkupJdoEntities.java     |  42 ---
 .../jdo/CausewayPasswordJdo-description.adoc       |  18 --
 .../passwords/jdo/CausewayPasswordJdo.java         |  84 ------
 .../passwords/jdo/CausewayPasswordJdoEntities.java |  42 ---
 .../CausewayPasswordEntity_checkPassword.java      |   2 +-
 .../CausewayPasswordEntity_showPassword.java       |   2 +-
 .../jdo/CausewayAsciiDocJdo-description.adoc       |  18 --
 .../asciidocs/jdo/CausewayAsciiDocJdo.java         |  85 ------
 .../asciidocs/jdo/CausewayAsciiDocJdoEntities.java |  42 ---
 .../jdo/CausewayMarkdownJdo-description.adoc       |  18 --
 .../markdowns/jdo/CausewayMarkdownJdo.java         |  85 ------
 .../markdowns/jdo/CausewayMarkdownJdoEntities.java |  42 ---
 .../vegas/jdo/CausewayVegaJdo-description.adoc     |  18 --
 .../causewayval/vegas/jdo/CausewayVegaJdo.java     |  85 ------
 .../vegas/jdo/CausewayVegaJdoEntities.java         |  42 ---
 .../images/jdo/BufferedImageJdo-description.adoc   |  17 --
 .../types/javaawt/images/jdo/BufferedImageJdo.java |  73 -----
 .../images/jdo/BufferedImageJdoEntities.java       |  42 ---
 .../jdo/WrapperBooleanJdo-description.adoc         |  19 --
 .../javalang/booleans/jdo/WrapperBooleanJdo.java   |  83 ------
 .../booleans/jdo/WrapperBooleanJdoEntities.java    |  40 ---
 .../bytes/jdo/WrapperByteJdo-description.adoc      |  19 --
 .../types/javalang/bytes/jdo/WrapperByteJdo.java   |  83 ------
 .../javalang/bytes/jdo/WrapperByteJdoEntities.java |  40 ---
 .../jdo/WrapperCharacterJdo-description.adoc       |  19 --
 .../characters/jdo/WrapperCharacterJdo.java        |  83 ------
 .../jdo/WrapperCharacterJdoEntities.java           |  40 ---
 .../doubles/jdo/WrapperDoubleJdo-description.adoc  |  19 --
 .../javalang/doubles/jdo/WrapperDoubleJdo.java     |  83 ------
 .../doubles/jdo/WrapperDoubleJdoEntities.java      |  40 ---
 .../enums/jdo/JavaLangEnumJdo-description.adoc     |  19 --
 .../types/javalang/enums/jdo/JavaLangEnumJdo.java  |  84 ------
 .../enums/jdo/JavaLangEnumJdoEntities.java         |  41 ---
 .../floats/jdo/WrapperFloatJdo-description.adoc    |  19 --
 .../types/javalang/floats/jdo/WrapperFloatJdo.java |  83 ------
 .../floats/jdo/WrapperFloatJdoEntities.java        |  40 ---
 .../jdo/WrapperIntegerJdo-description.adoc         |  19 --
 .../javalang/integers/jdo/WrapperIntegerJdo.java   |  83 ------
 .../integers/jdo/WrapperIntegerJdoEntities.java    |  40 ---
 .../longs/jdo/WrapperLongJdo-description.adoc      |  19 --
 .../types/javalang/longs/jdo/WrapperLongJdo.java   |  83 ------
 .../javalang/longs/jdo/WrapperLongJdoEntities.java |  40 ---
 .../shorts/jdo/WrapperShortJdo-description.adoc    |  19 --
 .../types/javalang/shorts/jdo/WrapperShortJdo.java |  83 ------
 .../shorts/jdo/WrapperShortJdoEntities.java        |  40 ---
 .../strings/jdo/JavaLangStringJdo-description.adoc |  19 --
 .../javalang/strings/jdo/JavaLangStringJdo.java    |  83 ------
 .../strings/jdo/JavaLangStringJdoEntities.java     |  40 ---
 .../bigdecimals/jdo/BigDecimalJdo-description.adoc |  19 --
 .../javamath/bigdecimals/jdo/BigDecimalJdo.java    |  90 -------
 .../bigdecimals/jdo/BigDecimalJdoEntities.java     |  42 ---
 .../dom/types/javamath/bigdecimals/meta/Money.java |   1 -
 .../bigintegers/jdo/BigIntegerJdo-description.adoc |  19 --
 .../javamath/bigintegers/jdo/BigIntegerJdo.java    |  85 ------
 .../bigintegers/jdo/BigIntegerJdoEntities.java     |  42 ---
 .../types/javanet/urls/jdo/UrlJdo-description.adoc |  19 --
 .../demoapp/dom/types/javanet/urls/jdo/UrlJdo.java |  85 ------
 .../dom/types/javanet/urls/jdo/UrlJdoEntities.java |  42 ---
 .../jdo/JavaSqlDateJdo-description.adoc            |  19 --
 .../javasql/javasqldate/jdo/JavaSqlDateJdo.java    |  85 ------
 .../javasqldate/jdo/JavaSqlDateJdoEntities.java    |  42 ---
 .../jdo/JavaSqlTimestampJdo-description.adoc       |  19 --
 .../javasqltimestamp/jdo/JavaSqlTimestampJdo.java  |  85 ------
 .../jdo/JavaSqlTimestampJdoEntities.java           |  42 ---
 .../jdo/LocalDateJdo-description.adoc              |  19 --
 .../javatimelocaldate/jdo/LocalDateJdo.java        |  85 ------
 .../jdo/LocalDateJdoEntities.java                  |  42 ---
 .../jdo/LocalDateTimeJdo-description.adoc          |  19 --
 .../jdo/LocalDateTimeJdo.java                      |  85 ------
 .../jdo/LocalDateTimeJdoEntities.java              |  42 ---
 .../jdo/LocalTimeJdo-description.adoc              |  19 --
 .../javatimelocaltime/jdo/LocalTimeJdo.java        |  85 ------
 .../jdo/LocalTimeJdoEntities.java                  |  42 ---
 .../jdo/OffsetDateTimeJdo-description.adoc         |  19 --
 .../jdo/OffsetDateTimeJdo.java                     |  85 ------
 .../jdo/OffsetDateTimeJdoEntities.java             |  42 ---
 .../jdo/OffsetTimeJdo-description.adoc             |  19 --
 .../javatimeoffsettime/jdo/OffsetTimeJdo.java      |  85 ------
 .../jdo/OffsetTimeJdoEntities.java                 |  42 ---
 .../jdo/ZonedDateTimeJdo-description.adoc          |  19 --
 .../jdo/ZonedDateTimeJdo.java                      |  85 ------
 .../jdo/ZonedDateTimeJdoEntities.java              |  42 ---
 .../jdo/JavaUtilDateJdo-description.adoc           |  19 --
 .../javautil/javautildate/jdo/JavaUtilDateJdo.java |  85 ------
 .../javautildate/jdo/JavaUtilDateJdoEntities.java  |  42 ---
 .../uuids/jdo/JavaUtilUuidJdo-description.adoc     |  19 --
 .../types/javautil/uuids/jdo/JavaUtilUuidJdo.java  |  85 ------
 .../uuids/jdo/JavaUtilUuidJdoEntities.java         |  42 ---
 .../dom/types/jodatime/JodaTimeTypesMenu.java      | 100 -------
 .../jodadatetime/JodaDateTimes-common.adoc         |  66 -----
 .../jodadatetime/JodaDateTimes-description.adoc    |  28 --
 .../types/jodatime/jodadatetime/JodaDateTimes.java |  84 ------
 .../jodatime/jodadatetime/JodaDateTimes.layout.xml |  60 -----
 .../jodadatetime/holder/JodaDateTimeHolder.java    |  42 ---
 .../jodadatetime/holder/JodaDateTimeHolder2.java   |  76 ------
 .../jodadatetime/holder/JodaDateTimeHolder3.java   |  64 -----
 .../holder/JodaDateTimeHolder_actionReturning.java |  40 ---
 ...daDateTimeHolder_actionReturningCollection.java |  50 ----
 .../holder/JodaDateTimeHolder_mixinProperty.java   |  42 ---
 ...eTimeHolder_updateReadOnlyOptionalProperty.java |  60 -----
 ..._updateReadOnlyOptionalPropertyWithChoices.java |  72 -----
 .../JodaDateTimeHolder_updateReadOnlyProperty.java |  55 ----
 ...meHolder_updateReadOnlyPropertyWithChoices.java |  69 -----
 .../jdo/JodaDateTimeJdo-description.adoc           |  19 --
 .../jodatime/jodadatetime/jdo/JodaDateTimeJdo.java |  84 ------
 .../jodadatetime/jdo/JodaDateTimeJdoEntities.java  |  41 ---
 .../jpa/JodaDateTimeJpa-description.adoc           |  19 --
 .../jodatime/jodadatetime/jpa/JodaDateTimeJpa.java |  95 -------
 .../jodadatetime/jpa/JodaDateTimeJpaEntities.java  |  41 ---
 .../persistence/JodaDateTimeEntity.java            |  44 ---
 .../persistence/JodaDateTimeEntity.layout.xml      |  59 ----
 .../persistence/JodaDateTimeJdoSeeding.java        |  39 ---
 .../persistence/JodaDateTimeSeeding.java           |  38 ---
 .../jodadatetime/samples/JodaDateTimeSamples.java  |  38 ---
 .../vm/JodaDateTimeVm-description.adoc             |  17 --
 .../jodatime/jodadatetime/vm/JodaDateTimeVm.java   |  89 ------
 .../jodadatetime/vm/JodaDateTimeVm.layout.xml      |  59 ----
 .../jodalocaldate/JodaLocalDates-common.adoc       |  66 -----
 .../jodalocaldate/JodaLocalDates-description.adoc  |  28 --
 .../jodatime/jodalocaldate/JodaLocalDates.java     |  84 ------
 .../jodalocaldate/JodaLocalDates.layout.xml        |  60 -----
 .../jodalocaldate/holder/JodaLocalDateHolder.java  |  42 ---
 .../jodalocaldate/holder/JodaLocalDateHolder2.java |  76 ------
 .../jodalocaldate/holder/JodaLocalDateHolder3.java |  64 -----
 .../JodaLocalDateHolder_actionReturning.java       |  40 ---
 ...aLocalDateHolder_actionReturningCollection.java |  50 ----
 .../holder/JodaLocalDateHolder_mixinProperty.java  |  42 ---
 ...lDateHolder_updateReadOnlyOptionalProperty.java |  60 -----
 ..._updateReadOnlyOptionalPropertyWithChoices.java |  72 -----
 ...JodaLocalDateHolder_updateReadOnlyProperty.java |  55 ----
 ...teHolder_updateReadOnlyPropertyWithChoices.java |  69 -----
 .../jdo/JodaLocalDateJdo-description.adoc          |  19 --
 .../jodalocaldate/jdo/JodaLocalDateJdo.java        |  84 ------
 .../jdo/JodaLocalDateJdoEntities.java              |  41 ---
 .../jpa/JodaLocalDateJpa-description.adoc          |  19 --
 .../jodalocaldate/jpa/JodaLocalDateJpa.java        |  95 -------
 .../jpa/JodaLocalDateJpaEntities.java              |  41 ---
 .../persistence/JodaLocalDateEntity.java           |  44 ---
 .../persistence/JodaLocalDateEntity.layout.xml     |  59 ----
 .../persistence/JodaLocalDateJdoSeeding.java       |  39 ---
 .../persistence/JodaLocalDateSeeding.java          |  38 ---
 .../samples/JodaLocalDateSamples.java              |  38 ---
 .../vm/JodaLocalDateVm-description.adoc            |  17 --
 .../jodatime/jodalocaldate/vm/JodaLocalDateVm.java |  89 ------
 .../jodalocaldate/vm/JodaLocalDateVm.layout.xml    |  59 ----
 .../JodaLocalDateTimes-common.adoc                 |  66 -----
 .../JodaLocalDateTimes-description.adoc            |  28 --
 .../jodalocaldatetime/JodaLocalDateTimes.java      |  84 ------
 .../JodaLocalDateTimes.layout.xml                  |  60 -----
 .../holder/JodaLocalDateTimeHolder.java            |  42 ---
 .../holder/JodaLocalDateTimeHolder2.java           |  76 ------
 .../holder/JodaLocalDateTimeHolder3.java           |  64 -----
 .../JodaLocalDateTimeHolder_actionReturning.java   |  40 ---
 ...alDateTimeHolder_actionReturningCollection.java |  50 ----
 .../JodaLocalDateTimeHolder_mixinProperty.java     |  42 ---
 ...eTimeHolder_updateReadOnlyOptionalProperty.java |  60 -----
 ..._updateReadOnlyOptionalPropertyWithChoices.java |  72 -----
 ...LocalDateTimeHolder_updateReadOnlyProperty.java |  55 ----
 ...meHolder_updateReadOnlyPropertyWithChoices.java |  69 -----
 .../jdo/JodaLocalDateTimeJdo-description.adoc      |  19 --
 .../jdo/JodaLocalDateTimeJdo.java                  |  84 ------
 .../jdo/JodaLocalDateTimeJdoEntities.java          |  41 ---
 .../jpa/JodaLocalDateTimeJpa-description.adoc      |  19 --
 .../jpa/JodaLocalDateTimeJpa.java                  |  95 -------
 .../jpa/JodaLocalDateTimeJpaEntities.java          |  41 ---
 .../persistence/JodaLocalDateTimeEntity.java       |  44 ---
 .../persistence/JodaLocalDateTimeEntity.layout.xml |  59 ----
 .../persistence/JodaLocalDateTimeSeeding.java      |  38 ---
 .../samples/JodaLocalDateTimeSamples.java          |  38 ---
 .../vm/JodaLocalDateTimeVm-description.adoc        |  17 --
 .../jodalocaldatetime/vm/JodaLocalDateTimeVm.java  |  89 ------
 .../vm/JodaLocalDateTimeVm.layout.xml              |  59 ----
 .../jodalocaltime/JodaLocalTimes-common.adoc       |  66 -----
 .../jodalocaltime/JodaLocalTimes-description.adoc  |  28 --
 .../jodatime/jodalocaltime/JodaLocalTimes.java     |  84 ------
 .../jodalocaltime/JodaLocalTimes.layout.xml        |  60 -----
 .../jodalocaltime/holder/JodaLocalTimeHolder.java  |  42 ---
 .../jodalocaltime/holder/JodaLocalTimeHolder2.java |  76 ------
 .../JodaLocalTimeHolder_actionReturning.java       |  40 ---
 ...aLocalTimeHolder_actionReturningCollection.java |  50 ----
 .../holder/JodaLocalTimeHolder_mixinProperty.java  |  42 ---
 ...lTimeHolder_updateReadOnlyOptionalProperty.java |  60 -----
 ..._updateReadOnlyOptionalPropertyWithChoices.java |  72 -----
 ...JodaLocalTimeHolder_updateReadOnlyProperty.java |  55 ----
 ...meHolder_updateReadOnlyPropertyWithChoices.java |  69 -----
 .../jdo/JodaLocalTimeJdo-description.adoc          |  19 --
 .../jodalocaltime/jdo/JodaLocalTimeJdo.java        |  84 ------
 .../jdo/JodaLocalTimeJdoEntities.java              |  41 ---
 .../jpa/JodaLocalTimeJpa-description.adoc          |  19 --
 .../jodalocaltime/jpa/JodaLocalTimeJpa.java        |  95 -------
 .../jpa/JodaLocalTimeJpaEntities.java              |  41 ---
 .../persistence/JodaLocalTimeEntity.java           |  44 ---
 .../persistence/JodaLocalTimeEntity.layout.xml     |  59 ----
 .../persistence/JodaLocalTimeSeeding.java          |  38 ---
 .../samples/JodaLocalTimeSamples.java              |  38 ---
 .../vm/JodaLocalTimeVm-description.adoc            |  17 --
 .../jodatime/jodalocaltime/vm/JodaLocalTimeVm.java |  89 ------
 .../jodalocaltime/vm/JodaLocalTimeVm.layout.xml    |  59 ----
 .../jdo/PrimitiveBooleanJdo-description.adoc       |  14 -
 .../booleans/jdo/PrimitiveBooleanJdo.java          |  67 -----
 .../booleans/jdo/PrimitiveBooleanJdoEntities.java  |  40 ---
 .../bytes/jdo/PrimitiveByteJdo-description.adoc    |  14 -
 .../primitive/bytes/jdo/PrimitiveByteJdo.java      |  67 -----
 .../bytes/jdo/PrimitiveByteJdoEntities.java        |  40 ---
 .../chars/jdo/PrimitiveCharJdo-description.adoc    |  14 -
 .../primitive/chars/jdo/PrimitiveCharJdo.java      |  67 -----
 .../chars/jdo/PrimitiveCharJdoEntities.java        |  40 ---
 .../jdo/PrimitiveDoubleJdo-description.adoc        |  14 -
 .../primitive/doubles/jdo/PrimitiveDoubleJdo.java  |  67 -----
 .../doubles/jdo/PrimitiveDoubleJdoEntities.java    |  40 ---
 .../floats/jdo/PrimitiveFloatJdo-description.adoc  |  14 -
 .../primitive/floats/jdo/PrimitiveFloatJdo.java    |  67 -----
 .../floats/jdo/PrimitiveFloatJdoEntities.java      |  40 ---
 .../ints/jdo/PrimitiveIntJdo-description.adoc      |  14 -
 .../types/primitive/ints/jdo/PrimitiveIntJdo.java  |  67 -----
 .../ints/jdo/PrimitiveIntJdoEntities.java          |  40 ---
 .../longs/jdo/PrimitiveLongJdo-description.adoc    |  14 -
 .../primitive/longs/jdo/PrimitiveLongJdo.java      |  67 -----
 .../longs/jdo/PrimitiveLongJdoEntities.java        |  40 ---
 .../shorts/jdo/PrimitiveShortJdo-description.adoc  |  14 -
 .../primitive/shorts/jdo/PrimitiveShortJdo.java    |  67 -----
 .../shorts/jdo/PrimitiveShortJdoEntities.java      |  40 ---
 .../resources/ResourceReaderService_Test.java      |  25 +-
 enhance.sh                                         |  22 --
 pom.xml                                            | 100 ++-----
 testing/jdo/pom.xml                                |  45 ----
 .../testing/jdo/ReferenceDomainJdo_forTesting.java |  36 ---
 .../testing/jdo/SpinUpReferenceJdoTest.java        |  73 -----
 testing/jpa/pom.xml                                |   4 +-
 testing/pom.xml                                    |   5 +-
 web/pom.xml                                        |   9 +-
 .../demoapp/web/ReferenceAppManifestCommon.java    |   9 +-
 .../java/demoapp/web/ReferenceAppManifestJdo.java  |  52 ----
 wicket/common/pom.xml                              |   4 +-
 wicket/jdo/pom.xml                                 | 159 -----------
 .../webapp/wicket/jdo/ReferenceAppWicketJdo.java   | 106 --------
 wicket/jdo/src/main/resources/log4j2-spring.xml    |  65 -----
 wicket/jdo/src/main/resources/static/index.html    | 102 -------
 .../e2e/cypress-scaffolding/fixtures/example.json  |   5 -
 .../integration/examples/actions.spec.js           | 299 ---------------------
 .../integration/examples/aliasing.spec.js          |  40 ---
 .../integration/examples/assertions.spec.js        | 177 ------------
 .../integration/examples/connectors.spec.js        |  97 -------
 .../integration/examples/cookies.spec.js           |  77 ------
 .../integration/examples/cypress_api.spec.js       | 219 ---------------
 .../integration/examples/files.spec.js             | 115 --------
 .../integration/examples/local_storage.spec.js     |  52 ----
 .../integration/examples/location.spec.js          |  32 ---
 .../integration/examples/misc.spec.js              | 104 -------
 .../integration/examples/navigation.spec.js        |  56 ----
 .../integration/examples/network_requests.spec.js  | 201 --------------
 .../integration/examples/querying.spec.js          | 114 --------
 .../examples/spies_stubs_clocks.spec.js            | 205 --------------
 .../integration/examples/traversal.spec.js         | 121 ---------
 .../integration/examples/utilities.spec.js         | 136 ----------
 .../integration/examples/viewport.spec.js          |  59 ----
 .../integration/examples/waiting.spec.js           |  33 ---
 .../integration/examples/window.spec.js            |  22 --
 .../integration/typescript/basic.ts                |  10 -
 wicket/jdo/src/test/e2e/cypress.json               |   3 -
 .../jdo/src/test/e2e/cypress/integration/login.ts  |  35 ---
 wicket/jdo/src/test/e2e/cypress/plugins/index.js   |  41 ---
 .../jdo/src/test/e2e/cypress/support/commands.js   |  44 ---
 wicket/jdo/src/test/e2e/cypress/support/index.js   |  41 ---
 wicket/jpa/pom.xml                                 |   4 +-
 .../webapp/wicket/jpa/ReferenceAppWicketJpa.java   |   3 +-
 407 files changed, 79 insertions(+), 19698 deletions(-)

diff --git a/domain/pom.xml b/domain/pom.xml
index aef4fa7..8ffaa24 100644
--- a/domain/pom.xml
+++ b/domain/pom.xml
@@ -17,7 +17,8 @@
 	<parent>
 		<groupId>org.apache.causeway.examples.apps</groupId>
 		<artifactId>reference-app-parent</artifactId>
-		<version>3.4.0-SNAPSHOT</version>
+		<version>${revision}</version>
+		<relativePath>../pom.xml</relativePath>
 	</parent>
 
 	<artifactId>reference-app-domain</artifactId>
@@ -92,47 +93,6 @@
 			<artifactId>causeway-extensions-docgen-help</artifactId>
 		</dependency>
 
-
-		<!-- JDO specific -->
-		<dependency>
-			<groupId>org.apache.causeway.extensions</groupId>
-			<artifactId>causeway-extensions-secman-persistence-jdo</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.causeway.extensions</groupId>
-			<artifactId>causeway-extensions-commandlog-persistence-jdo</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.causeway.extensions</groupId>
-			<artifactId>causeway-extensions-sessionlog-persistence-jdo</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.causeway.extensions</groupId>
-			<artifactId>causeway-extensions-executionlog-persistence-jdo</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.causeway.extensions</groupId>
-			<artifactId>causeway-extensions-executionoutbox-persistence-jdo</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.causeway.extensions</groupId>
-			<artifactId>causeway-extensions-audittrail-persistence-jdo</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.apache.causeway.valuetypes</groupId>
-			<artifactId>causeway-valuetypes-asciidoc-persistence-jdo</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.causeway.valuetypes</groupId>
-			<artifactId>causeway-valuetypes-markdown-persistence-jdo</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.causeway.valuetypes</groupId>
-			<artifactId>causeway-valuetypes-vega-persistence-jdo</artifactId>
-		</dependency>
-
-
 		<!-- JPA specific -->
 		<dependency>
 			<groupId>org.apache.causeway.extensions</groupId>
diff --git a/domain/src/main/java/demoapp/dom/ReferenceModuleJdo.java b/domain/src/main/java/demoapp/dom/ReferenceModuleJdo.java
deleted file mode 100644
index 645bab3..0000000
--- a/domain/src/main/java/demoapp/dom/ReferenceModuleJdo.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
-import org.springframework.context.annotation.Profile;
-import org.springframework.context.annotation.PropertySource;
-import org.springframework.context.annotation.PropertySources;
-
-import org.apache.causeway.core.config.presets.CausewayPresets;
-import org.apache.causeway.extensions.commandlog.jdo.CausewayModuleExtCommandLogPersistenceJdo;
-import org.apache.causeway.persistence.jdo.datanucleus.CausewayModulePersistenceJdoDatanucleus;
-
-@Configuration
-@Profile("demo-jdo")
-@Import({
-    ReferenceModuleCommon.class,
-    CausewayModulePersistenceJdoDatanucleus.class,
-    CausewayModuleExtCommandLogPersistenceJdo.class,
-})
-@PropertySources({
-    @PropertySource(CausewayPresets.DatanucleusAutocreateNoValidate),
-})
-public class ReferenceModuleJdo {
-
-}
diff --git a/domain/src/main/java/demoapp/dom/ReferenceModuleJpa.java b/domain/src/main/java/demoapp/dom/ReferenceModuleJpa.java
index 740942d..da6964b 100644
--- a/domain/src/main/java/demoapp/dom/ReferenceModuleJpa.java
+++ b/domain/src/main/java/demoapp/dom/ReferenceModuleJpa.java
@@ -18,7 +18,7 @@
  */
 package demoapp.dom;
 
-import org.springframework.boot.autoconfigure.domain.EntityScan;
+import org.springframework.boot.persistence.autoconfigure.EntityScan;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 import org.springframework.context.annotation.Profile;
@@ -95,10 +95,6 @@ import demoapp.dom.types.javatime.javatimeoffsettime.jpa.OffsetTimeJpa;
 import demoapp.dom.types.javatime.javatimezoneddatetime.jpa.ZonedDateTimeJpa;
 import demoapp.dom.types.javautil.javautildate.jpa.JavaUtilDateJpa;
 import demoapp.dom.types.javautil.uuids.jpa.JavaUtilUuidJpa;
-import demoapp.dom.types.jodatime.jodadatetime.jpa.JodaDateTimeJpa;
-import demoapp.dom.types.jodatime.jodalocaldate.jpa.JodaLocalDateJpa;
-import demoapp.dom.types.jodatime.jodalocaldatetime.jpa.JodaLocalDateTimeJpa;
-import demoapp.dom.types.jodatime.jodalocaltime.jpa.JodaLocalTimeJpa;
 import demoapp.dom.types.primitive.booleans.jpa.PrimitiveBooleanJpa;
 import demoapp.dom.types.primitive.bytes.jpa.PrimitiveByteJpa;
 import demoapp.dom.types.primitive.chars.jpa.PrimitiveCharJpa;
@@ -184,10 +180,6 @@ import demoapp.dom.types.primitive.shorts.jpa.PrimitiveShortJpa;
         ZonedDateTimeJpa.class,
         JavaUtilDateJpa.class,
         JavaUtilUuidJpa.class,
-        JodaDateTimeJpa.class,
-        JodaLocalDateJpa.class,
-        JodaLocalDateTimeJpa.class,
-        JodaLocalTimeJpa.class,
 
         PrimitiveBooleanJpa.class,
         PrimitiveDoubleJpa.class,
diff --git a/domain/src/main/java/demoapp/dom/_infra/resources/AsciiDocReaderService.java b/domain/src/main/java/demoapp/dom/_infra/resources/AsciiDocReaderService.java
index 6555aa7..3b5b300 100644
--- a/domain/src/main/java/demoapp/dom/_infra/resources/AsciiDocReaderService.java
+++ b/domain/src/main/java/demoapp/dom/_infra/resources/AsciiDocReaderService.java
@@ -66,7 +66,7 @@ public class AsciiDocReaderService {
 
     private String replaceVersion(final String adoc) {
         return adoc.replace("{causeway-version}",
-                configuration.getViewer().getCommon().getApplication().getVersion());
+                configuration.viewer().common().application().version());
     }
 
     private AsciiDoc toAsciiDoc(final StringReference adocRef, final Class<?> aClass) {
diff --git a/domain/src/main/java/demoapp/dom/_infra/resources/MarkupVariableResolverService.java b/domain/src/main/java/demoapp/dom/_infra/resources/MarkupVariableResolverService.java
index c5fd1ad..984eb9d 100644
--- a/domain/src/main/java/demoapp/dom/_infra/resources/MarkupVariableResolverService.java
+++ b/domain/src/main/java/demoapp/dom/_infra/resources/MarkupVariableResolverService.java
@@ -47,7 +47,7 @@ public class MarkupVariableResolverService {
         constants = computeConstants(configuration, environment);
     }
 
-    private static Map<String, String> computeConstants(CausewayConfiguration configuration, Environment environment) {
+    private static Map<String, String> computeConstants(final CausewayConfiguration configuration, final Environment environment) {
 
         val map = _Maps.<String,String>newLinkedHashMap();
         val orm = determineOrmProfileFrom(environment);
@@ -62,12 +62,12 @@ public class MarkupVariableResolverService {
         return Collections.unmodifiableMap(map);
     }
 
-    private static String determineCausewayVersion(CausewayConfiguration configuration) {
-        return Optional.ofNullable(configuration.getViewer().getCommon().getApplication().getVersion())
+    private static String determineCausewayVersion(final CausewayConfiguration configuration) {
+        return Optional.ofNullable(configuration.viewer().common().application().version())
                 .orElse("unknown-version");
     }
 
-    private static String determineOrmProfileFrom(Environment environment) {
+    private static String determineOrmProfileFrom(final Environment environment) {
         val activeProfiles = Arrays.asList(environment.getActiveProfiles());
         if(activeProfiles.contains("demo-jpa")) {
             return "jpa";
@@ -78,7 +78,7 @@ public class MarkupVariableResolverService {
         throw new IllegalStateException("Could not determine ORM");
     }
 
-    private static String titleCase(String str) {
+    private static String titleCase(final String str) {
         return str.substring(0,1).toUpperCase() + str.substring(1).toLowerCase(Locale.ROOT);
     }
 
diff --git a/domain/src/main/java/demoapp/dom/domain/actions/Action/choicesFrom/jdo/ActionChoicesFromEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/actions/Action/choicesFrom/jdo/ActionChoicesFromEntityImpl-description.adoc
deleted file mode 100644
index 81e1d6f..0000000
--- a/domain/src/main/java/demoapp/dom/domain/actions/Action/choicesFrom/jdo/ActionChoicesFromEntityImpl-description.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-include::../ActionChoicesFromEntity-description.adoc[]
-
diff --git a/domain/src/main/java/demoapp/dom/domain/actions/Action/choicesFrom/jdo/ActionChoicesFromEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/actions/Action/choicesFrom/jdo/ActionChoicesFromEntityImpl.java
deleted file mode 100644
index df19f5c..0000000
--- a/domain/src/main/java/demoapp/dom/domain/actions/Action/choicesFrom/jdo/ActionChoicesFromEntityImpl.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.actions.Action.choicesFrom.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-
-import demoapp.dom.domain.actions.Action.choicesFrom.ActionChoicesFromEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-        identityType = IdentityType.DATASTORE,
-        schema = "demo",
-        table = "ActionChoicesFromEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.ActionChoicesFromEntity")
-//tag::class[]
-// ...
-@DomainObject(nature = Nature.ENTITY)
-public class ActionChoicesFromEntityImpl extends ActionChoicesFromEntity {
-    // ...
-//end::class[]
-
-    public ActionChoicesFromEntityImpl(String value) {
-        setName(value);
-    }
-
-    @Getter @Setter
-    private String name;
-
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/actions/Action/choicesFrom/jdo/ActionChoicesFromEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/actions/Action/choicesFrom/jdo/ActionChoicesFromEntityImplRepository.java
deleted file mode 100644
index 4ea6a09..0000000
--- a/domain/src/main/java/demoapp/dom/domain/actions/Action/choicesFrom/jdo/ActionChoicesFromEntityImplRepository.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.actions.Action.choicesFrom.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-import demoapp.dom.domain.actions.Action.choicesFrom.ActionChoicesFromEntityRepository;
-
-@Profile("demo-jdo")
-@Service
-public class ActionChoicesFromEntityImplRepository
-extends ValueHolderRepository<String, ActionChoicesFromEntityImpl> implements ActionChoicesFromEntityRepository {
-
-    protected ActionChoicesFromEntityImplRepository() {
-        super(ActionChoicesFromEntityImpl.class);
-    }
-
-    @Override
-    protected ActionChoicesFromEntityImpl newDetachedEntity(String value) {
-        return new ActionChoicesFromEntityImpl(value);
-    }
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/jdo/ActionCommandPublishingEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/jdo/ActionCommandPublishingEntityImpl-description.adoc
deleted file mode 100644
index 2b0e4c8..0000000
--- a/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/jdo/ActionCommandPublishingEntityImpl-description.adoc
+++ /dev/null
@@ -1,3 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-include::../ActionCommandPublishingEntity-description.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/jdo/ActionCommandPublishingEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/jdo/ActionCommandPublishingEntityImpl.java
deleted file mode 100644
index b18027b..0000000
--- a/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/jdo/ActionCommandPublishingEntityImpl.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.actions.Action.commandPublishing.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-
-import demoapp.dom.domain.actions.Action.commandPublishing.ActionCommandPublishingEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-        identityType = IdentityType.DATASTORE,
-        schema = "demo",
-        table = "ActionCommandPublishingEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.ActionCommandPublishingEntity")
-//tag::class[]
-// ...
-@DomainObject(nature = Nature.ENTITY)
-public class ActionCommandPublishingEntityImpl extends ActionCommandPublishingEntity {
-    // ...
-//end::class[]
-
-    public ActionCommandPublishingEntityImpl(final String value) {
-        setName(value);
-    }
-
-    @Getter @Setter
-    private String name;
-
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/jdo/ActionCommandPublishingEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/jdo/ActionCommandPublishingEntityImplRepository.java
deleted file mode 100644
index 3d0e383..0000000
--- a/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/jdo/ActionCommandPublishingEntityImplRepository.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.actions.Action.commandPublishing.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-import demoapp.dom.domain.actions.Action.commandPublishing.ActionCommandPublishingEntityRepository;
-
-@Profile("demo-jdo")
-@Service
-public class ActionCommandPublishingEntityImplRepository
-extends ValueHolderRepository<String, ActionCommandPublishingEntityImpl>
-        implements ActionCommandPublishingEntityRepository {
-
-    protected ActionCommandPublishingEntityImplRepository() {
-        super(ActionCommandPublishingEntityImpl.class);
-    }
-
-    @Override
-    protected ActionCommandPublishingEntityImpl newDetachedEntity(String value) {
-        return new ActionCommandPublishingEntityImpl(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/actions/Action/executionPublishing/jdo/ActionExecutionPublishingEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/actions/Action/executionPublishing/jdo/ActionExecutionPublishingEntityImpl-description.adoc
deleted file mode 100644
index f8d6f75..0000000
--- a/domain/src/main/java/demoapp/dom/domain/actions/Action/executionPublishing/jdo/ActionExecutionPublishingEntityImpl-description.adoc
+++ /dev/null
@@ -1,3 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-include::../ActionExecutionPublishingEntity-description.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/domain/actions/Action/executionPublishing/jdo/ActionExecutionPublishingEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/actions/Action/executionPublishing/jdo/ActionExecutionPublishingEntityImpl.java
deleted file mode 100644
index 496b2bd..0000000
--- a/domain/src/main/java/demoapp/dom/domain/actions/Action/executionPublishing/jdo/ActionExecutionPublishingEntityImpl.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.actions.Action.executionPublishing.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-
-import demoapp.dom.domain.actions.Action.executionPublishing.ActionExecutionPublishingEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-    identityType = IdentityType.DATASTORE,
-    schema = "demo",
-    table = "ActionExecutionPublishingEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.ActionExecutionPublishingEntity")
-//tag::class[]
-// ...
-@DomainObject(nature = Nature.ENTITY)
-public class ActionExecutionPublishingEntityImpl extends ActionExecutionPublishingEntity {
-    // ...
-//end::class[]
-
-    public ActionExecutionPublishingEntityImpl(final String value) {
-        setName(value);
-    }
-
-    @Getter @Setter
-    private String name;
-
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/actions/Action/executionPublishing/jdo/ActionExecutionPublishingEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/actions/Action/executionPublishing/jdo/ActionExecutionPublishingEntityImplRepository.java
deleted file mode 100644
index b66fc11..0000000
--- a/domain/src/main/java/demoapp/dom/domain/actions/Action/executionPublishing/jdo/ActionExecutionPublishingEntityImplRepository.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.actions.Action.executionPublishing.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-import demoapp.dom.domain.actions.Action.executionPublishing.ActionExecutionPublishingEntityRepository;
-
-@Profile("demo-jdo")
-@Service
-public class ActionExecutionPublishingEntityImplRepository
-extends ValueHolderRepository<String, ActionExecutionPublishingEntityImpl> implements ActionExecutionPublishingEntityRepository {
-
-    protected ActionExecutionPublishingEntityImplRepository() {
-        super(ActionExecutionPublishingEntityImpl.class);
-    }
-
-    @Override
-    protected ActionExecutionPublishingEntityImpl newDetachedEntity(String value) {
-        return new ActionExecutionPublishingEntityImpl(value);
-    }
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/hidden/jdo/ActionLayoutHiddenEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/hidden/jdo/ActionLayoutHiddenEntityImpl-description.adoc
deleted file mode 100644
index 351e65b..0000000
--- a/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/hidden/jdo/ActionLayoutHiddenEntityImpl-description.adoc
+++ /dev/null
@@ -1,3 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-include::../ActionLayoutHiddenEntity-description.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/hidden/jdo/ActionLayoutHiddenEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/hidden/jdo/ActionLayoutHiddenEntityImpl.java
deleted file mode 100644
index 76d70de..0000000
--- a/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/hidden/jdo/ActionLayoutHiddenEntityImpl.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.actions.ActionLayout.hidden.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-
-import demoapp.dom.domain.actions.ActionLayout.hidden.ActionLayoutHiddenEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-    identityType = IdentityType.DATASTORE,
-    schema = "demo",
-    table = "ActionLayoutHiddenEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.ActionLayoutHiddenEntity")
-//tag::class[]
-// ...
-@DomainObject(nature = Nature.ENTITY)
-public class ActionLayoutHiddenEntityImpl extends ActionLayoutHiddenEntity {
-    // ...
-//end::class[]
-
-    public ActionLayoutHiddenEntityImpl(String value) {
-        setName(value);
-    }
-
-    @Getter @Setter
-    private String name;
-
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/hidden/jdo/ActionLayoutHiddenEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/hidden/jdo/ActionLayoutHiddenEntityImplRepository.java
deleted file mode 100644
index 85fb82f..0000000
--- a/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/hidden/jdo/ActionLayoutHiddenEntityImplRepository.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.actions.ActionLayout.hidden.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-import demoapp.dom.domain.actions.ActionLayout.hidden.ActionLayoutHiddenEntityRepository;
-
-@Profile("demo-jdo")
-@Service
-public class ActionLayoutHiddenEntityImplRepository
-extends ValueHolderRepository<String, ActionLayoutHiddenEntityImpl> implements ActionLayoutHiddenEntityRepository {
-
-    protected ActionLayoutHiddenEntityImplRepository() {
-        super(ActionLayoutHiddenEntityImpl.class);
-    }
-
-    @Override
-    protected ActionLayoutHiddenEntityImpl newDetachedEntity(String value) {
-        return new ActionLayoutHiddenEntityImpl(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/redirectPolicy/jdo/ActionLayoutRedirectPolicyEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/redirectPolicy/jdo/ActionLayoutRedirectPolicyEntityImpl-description.adoc
deleted file mode 100644
index 2fe0895..0000000
--- a/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/redirectPolicy/jdo/ActionLayoutRedirectPolicyEntityImpl-description.adoc
+++ /dev/null
@@ -1,3 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-include::../ActionLayoutRedirectPolicyEntity-description.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/redirectPolicy/jdo/ActionLayoutRedirectPolicyEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/redirectPolicy/jdo/ActionLayoutRedirectPolicyEntityImpl.java
deleted file mode 100644
index 8d424c9..0000000
--- a/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/redirectPolicy/jdo/ActionLayoutRedirectPolicyEntityImpl.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.actions.ActionLayout.redirectPolicy.jdo;
-
-import javax.jdo.annotations.Column;
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-import javax.jdo.annotations.Persistent;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-import org.apache.causeway.applib.annotation.Optionality;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.value.Blob;
-
-import demoapp.dom.domain.actions.ActionLayout.redirectPolicy.ActionLayoutRedirectPolicyEntity;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-@Named("demo.ActionLayoutRedirectPolicyEntity")
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@NoArgsConstructor
-//tag::class[]
-// ...
-@DomainObject(nature = Nature.ENTITY)
-public class ActionLayoutRedirectPolicyEntityImpl extends ActionLayoutRedirectPolicyEntity {
-    // ...
-//end::class[]
-
-    public ActionLayoutRedirectPolicyEntityImpl(final String value) {
-        setName(value);
-    }
-
-    @Getter @Setter
-    private String name;
-
-    @Property(optionality = Optionality.OPTIONAL)
-    @Getter @Setter
-    private Integer count;
-
-    @Persistent(defaultFetchGroup="false", columns = {
-            @javax.jdo.annotations.Column(name = "blob_name"),
-            @javax.jdo.annotations.Column(name = "blob_mimetype"),
-            @Column(name = "blob_bytes")
-    })
-    @Getter @Setter
-    private Blob blob;
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/redirectPolicy/jdo/ActionLayoutRedirectPolicyEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/redirectPolicy/jdo/ActionLayoutRedirectPolicyEntityImplRepository.java
deleted file mode 100644
index f2081a3..0000000
--- a/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/redirectPolicy/jdo/ActionLayoutRedirectPolicyEntityImplRepository.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.actions.ActionLayout.redirectPolicy.jdo;
-
-import java.util.List;
-import java.util.Random;
-import java.util.stream.Collectors;
-
-import jakarta.inject.Inject;
-
-import org.joda.time.DateTime;
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import org.apache.causeway.applib.value.Blob;
-import org.apache.causeway.applib.value.NamedWithMimeType;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-import demoapp.dom.domain.actions.ActionLayout.redirectPolicy.ActionLayoutRedirectPolicyEntityRepository;
-import demoapp.dom.types.Samples;
-
-@Profile("demo-jdo")
-@Service
-public class ActionLayoutRedirectPolicyEntityImplRepository
-extends ValueHolderRepository<String, ActionLayoutRedirectPolicyEntityImpl> implements ActionLayoutRedirectPolicyEntityRepository {
-
-    @Inject Samples<Blob> blobSamples;
-
-    final Random random;
-
-    protected ActionLayoutRedirectPolicyEntityImplRepository() {
-        super(ActionLayoutRedirectPolicyEntityImpl.class);
-        random = new Random(DateTime.now().getMillis());
-    }
-
-    @Override
-    protected ActionLayoutRedirectPolicyEntityImpl newDetachedEntity(final String value) {
-        var entity = new ActionLayoutRedirectPolicyEntityImpl(value);
-        entity.setBlob(randomBlob());
-        return entity;
-    }
-
-    private Blob randomBlob() {
-        List<Blob> list = blobSamples.stream()
-                    .filter(x -> NamedWithMimeType.CommonMimeType.PDF.matches(x.getMimeType()))
-                    .collect(Collectors.toList());
-        return list.get(random.nextInt(list.size()));
-    }
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/redirectPolicy/jpa/ActionLayoutRedirectPolicyEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/redirectPolicy/jpa/ActionLayoutRedirectPolicyEntityImplRepository.java
index a633cb0..83f0437 100644
--- a/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/redirectPolicy/jpa/ActionLayoutRedirectPolicyEntityImplRepository.java
+++ b/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/redirectPolicy/jpa/ActionLayoutRedirectPolicyEntityImplRepository.java
@@ -45,7 +45,7 @@ extends ValueHolderRepository<String, ActionLayoutRedirectPolicyEntityImpl> impl
     protected ActionLayoutRedirectPolicyEntityImpl newDetachedEntity(final String value) {
         var entity = new ActionLayoutRedirectPolicyEntityImpl(value);
         blobSamples.stream()
-                .filter(x -> NamedWithMimeType.CommonMimeType.PDF.matches(x.getMimeType()))
+                .filter(x -> NamedWithMimeType.CommonMimeType.PDF.matches(x.mimeType()))
                 .findFirst()
                 .ifPresent(pdfBlob -> {
                     entity.setBlob(pdfBlob);
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/aliased/jdo/DomainObjectAliasedEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/aliased/jdo/DomainObjectAliasedEntityImpl-description.adoc
deleted file mode 100644
index 0060a23..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/aliased/jdo/DomainObjectAliasedEntityImpl-description.adoc
+++ /dev/null
@@ -1,12 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-
-This entity uses `@Named` to provide its current logical type name, and also identifies a previous logical type name using `@DomainObject#aliased`.
-
-[source,java,indent=0]
-----
-include::DomainObjectAliasedEntityImpl.java[tags=class]
-----
-<.> current logical type name
-<.> a previous logical type name.
-The (inherited) `previousBookmark` property  exposes this value.
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/aliased/jdo/DomainObjectAliasedEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/aliased/jdo/DomainObjectAliasedEntityImpl.java
deleted file mode 100644
index 46ca705..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/aliased/jdo/DomainObjectAliasedEntityImpl.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObject.aliased.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-
-import demoapp.dom.domain.objects.DomainObject.aliased.DomainObjectAliasedEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-    identityType = IdentityType.DATASTORE,
-    schema = "demo",
-    table = "DomainObjectAliasedEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-//tag::class[]
-// ...
-@Named("demo.party.Customer")                   // <.>
-@DomainObject(
-        nature = Nature.ENTITY,
-        aliased = {"demo.customer.Customer"}    // <.>
-)
-public class DomainObjectAliasedEntityImpl extends DomainObjectAliasedEntity {
-    // ...
-//end::class[]
-
-    public DomainObjectAliasedEntityImpl(String value) {
-        setName(value);
-    }
-
-    @Getter @Setter
-    private String name;
-
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/aliased/jdo/DomainObjectAliasedEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/aliased/jdo/DomainObjectAliasedEntityImplRepository.java
deleted file mode 100644
index b712c1d..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/aliased/jdo/DomainObjectAliasedEntityImplRepository.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObject.aliased.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-import demoapp.dom.domain.objects.DomainObject.aliased.DomainObjectAliasedEntityRepository;
-
-@Profile("demo-jdo")
-@Service
-public class DomainObjectAliasedEntityImplRepository
-extends ValueHolderRepository<String, DomainObjectAliasedEntityImpl> implements DomainObjectAliasedEntityRepository {
-
-    protected DomainObjectAliasedEntityImplRepository() {
-        super(DomainObjectAliasedEntityImpl.class);
-    }
-
-    @Override
-    protected DomainObjectAliasedEntityImpl newDetachedEntity(String value) {
-        return new DomainObjectAliasedEntityImpl(value);
-    }
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/autoComplete/jdo/DomainObjectAutoCompleteEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/autoComplete/jdo/DomainObjectAutoCompleteEntityImpl-description.adoc
deleted file mode 100644
index 9f0a75a..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/autoComplete/jdo/DomainObjectAutoCompleteEntityImpl-description.adoc
+++ /dev/null
@@ -1,22 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-This entity uses `@DomainObject#autoCompleteRepository` to indicate that instances of it may be searched for using the specified repository.
-
-[source,java,indent=0]
-.DomainObjectAutoCompleteEntityImpl.java
-----
-include::DomainObjectAutoCompleteEntityImpl.java[tags=class]
-----
-<.> indicates the autocomplete repository
-<.> indicates to use a method called "findMatching"
-
-[source,java,indent=0]
-.DomainObjectAutoCompleteEntityRepository.java
-----
-include::../DomainObjectAutoCompleteEntityRepository.java[tags=class]
-----
-<.> as specified in `@DomainObject#autoCompleteRepository`
-<.> as specified the `@DomainObject#autoCompleteMethod`
-<.> specifies the minimum number of characters required to be entered before a search is triggered.
-<.> This is a naive implementation using client-side filtering.
-In a real-world app we would most likely use a JPAQL query for a server-side search
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/autoComplete/jdo/DomainObjectAutoCompleteEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/autoComplete/jdo/DomainObjectAutoCompleteEntityImpl.java
deleted file mode 100644
index e8dc32f..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/autoComplete/jdo/DomainObjectAutoCompleteEntityImpl.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObject.autoComplete.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-
-import demoapp.dom.domain.objects.DomainObject.autoComplete.DomainObjectAutoCompleteEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-    identityType = IdentityType.DATASTORE,
-    schema = "demo",
-    table = "DomainObjectAutoCompleteEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.DomainObjectAutoCompleteEntity")
-//tag::class[]
-// ...
-@DomainObject(
-    nature = Nature.ENTITY,
-    autoCompleteRepository = DomainObjectAutoCompleteEntityImplRepository.class, // <.>
-    autoCompleteMethod = "findMatching"                                          // <.>
-)
-public class DomainObjectAutoCompleteEntityImpl extends DomainObjectAutoCompleteEntity {
-    // ...
-//end::class[]
-
-    public DomainObjectAutoCompleteEntityImpl(final String value) {
-        setName(value);
-    }
-
-    @Getter @Setter
-    private String name;
-
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/autoComplete/jdo/DomainObjectAutoCompleteEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/autoComplete/jdo/DomainObjectAutoCompleteEntityImplRepository.java
deleted file mode 100644
index 953f9bd..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/autoComplete/jdo/DomainObjectAutoCompleteEntityImplRepository.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObject.autoComplete.jdo;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Repository;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-import demoapp.dom.domain.objects.DomainObject.autoComplete.DomainObjectAutoCompleteEntityRepository;
-
-@Profile("demo-jdo")
-@Named("demo.DomainObjectAutoCompleteRepository")
-@Repository
-public class DomainObjectAutoCompleteEntityImplRepository
-extends ValueHolderRepository<String, DomainObjectAutoCompleteEntityImpl>
-implements DomainObjectAutoCompleteEntityRepository<DomainObjectAutoCompleteEntityImpl> {
-
-    protected DomainObjectAutoCompleteEntityImplRepository() {
-        super(DomainObjectAutoCompleteEntityImpl.class);
-    }
-
-    @Override
-    protected DomainObjectAutoCompleteEntityImpl newDetachedEntity(final String value) {
-        return new DomainObjectAutoCompleteEntityImpl(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/bounded/jdo/DomainObjectBoundingEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/bounded/jdo/DomainObjectBoundingEntityImpl-description.adoc
deleted file mode 100644
index 08c7cee..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/bounded/jdo/DomainObjectBoundingEntityImpl-description.adoc
+++ /dev/null
@@ -1,11 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-This entity class uses `@DomainObject#bounding` to indicate that it has is a relatively small (bounded) number of instances, and so these can be searched for using a simple drop-down box.
-
-[source,java,indent=0]
-.DomainObjectBoundingEntityImpl.java
-----
-include::DomainObjectBoundingEntityImpl.java[tags=class]
-----
-<.> indicates that there are a bounded set of instances of this domain object.
-
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/bounded/jdo/DomainObjectBoundingEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/bounded/jdo/DomainObjectBoundingEntityImpl.java
deleted file mode 100644
index c617d27..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/bounded/jdo/DomainObjectBoundingEntityImpl.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObject.bounded.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.Bounding;
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-
-import demoapp.dom.domain.objects.DomainObject.bounded.DomainObjectBoundingEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-    identityType = IdentityType.DATASTORE,
-    schema = "demo",
-    table = "DomainObjectBoundingEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.DomainObjectBoundingEntity")
-//tag::class[]
-// ...
-@DomainObject(
-    nature = Nature.ENTITY,
-    bounding = Bounding.BOUNDED         // <.>
-)
-public class DomainObjectBoundingEntityImpl extends DomainObjectBoundingEntity {
-    // ...
-//end::class[]
-
-    public DomainObjectBoundingEntityImpl(String value) {
-        setName(value);
-    }
-
-    @Getter @Setter
-    private String name;
-
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/bounded/jdo/DomainObjectBoundingEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/bounded/jdo/DomainObjectBoundingEntityImplRepository.java
deleted file mode 100644
index a00f847..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/bounded/jdo/DomainObjectBoundingEntityImplRepository.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObject.bounded.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class DomainObjectBoundingEntityImplRepository
-extends ValueHolderRepository<String, DomainObjectBoundingEntityImpl> {
-
-    protected DomainObjectBoundingEntityImplRepository() {
-        super(DomainObjectBoundingEntityImpl.class);
-    }
-
-    @Override
-    protected DomainObjectBoundingEntityImpl newDetachedEntity(String value) {
-        return new DomainObjectBoundingEntityImpl(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/bounded/jdo/DomainObjectBoundingPage_find.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/bounded/jdo/DomainObjectBoundingPage_find.java
deleted file mode 100644
index 11cb2e2..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/bounded/jdo/DomainObjectBoundingPage_find.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package demoapp.dom.domain.objects.DomainObject.bounded.jdo;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.Action;
-import org.apache.causeway.applib.annotation.MemberSupport;
-import org.apache.causeway.applib.annotation.SemanticsOf;
-
-import demoapp.dom.domain.objects.DomainObject.bounded.DomainObjectBoundingPage;
-import lombok.RequiredArgsConstructor;
-
-//tag::class[]
-@Profile("demo-jdo")
-@Action(semantics = SemanticsOf.SAFE)
-@RequiredArgsConstructor
-public class DomainObjectBoundingPage_find {
-
-    @SuppressWarnings("unused")
-    private final DomainObjectBoundingPage page;
-
-    @MemberSupport
-    public DomainObjectBoundingEntityImpl act(final DomainObjectBoundingEntityImpl domainObjectBounding) {  // <.>
-        return domainObjectBounding;
-    }
-
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/editing/jdo/DomainObjectEditingEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/editing/jdo/DomainObjectEditingEntityImpl-description.adoc
deleted file mode 100644
index a6ee96e..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/editing/jdo/DomainObjectEditingEntityImpl-description.adoc
+++ /dev/null
@@ -1,14 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-In this reference app, property editing has been disabled by default.
-This entity class re-enables editing using `@DomainObject#editing`, and then selectively _disables_ it again for one of the properties using `@Property#editing`.
-
-[source,java,indent=0]
-.DomainObjectEditingJpa.java
-----
-include::DomainObjectEditingEntityImpl.java[tags=class]
-----
-<.> indicates that the properties of this type may be edited, overriding the global default set by  configuration property.
-<.> editable property because of the `@DomainObject#editing` annotation
-<.> this property cannot, after all, be edited, with `@Property#editing` overriding `@DomainObject#editing`
-<.> also a non-editable property, but this time because it is a derived property.
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/editing/jdo/DomainObjectEditingEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/editing/jdo/DomainObjectEditingEntityImpl.java
deleted file mode 100644
index df99c2e..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/editing/jdo/DomainObjectEditingEntityImpl.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObject.editing.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.Nature;
-import org.apache.causeway.applib.annotation.Property;
-
-import demoapp.dom.domain.objects.DomainObject.editing.DomainObjectEditingEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-    identityType = IdentityType.DATASTORE,
-    schema = "demo",
-    table = "DomainObjectEditingEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.DomainObjectEditingEntity")
-//tag::class[]
-// ...
-@DomainObject(
-    nature = Nature.ENTITY,
-    editing = Editing.ENABLED                                       // <.>
-)
-public class DomainObjectEditingEntityImpl
-                extends DomainObjectEditingEntity {
-    // ...
-//end::class[]
-
-    public DomainObjectEditingEntityImpl(String value) {
-        setName(value);
-        setOriginalName(value);
-    }
-
-//tag::class[]
-    @Getter @Setter
-    private String name;                                            // <.>
-
-    @Property(
-        editing = Editing.DISABLED,                                 // <.>
-        editingDisabledReason = "This property may not be edited"
-    )
-    @Getter @Setter
-    private String originalName;
-
-    public Character getInitialCharacter() {                        // <.>
-        return getName().charAt(0);
-    }
-//end::class[]
-
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/editing/jdo/DomainObjectEditingEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/editing/jdo/DomainObjectEditingEntityImplRepository.java
deleted file mode 100644
index 0fefe8c..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/editing/jdo/DomainObjectEditingEntityImplRepository.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObject.editing.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class DomainObjectEditingEntityImplRepository
-extends ValueHolderRepository<String, DomainObjectEditingEntityImpl> {
-
-    protected DomainObjectEditingEntityImplRepository() {
-        super(DomainObjectEditingEntityImpl.class);
-    }
-
-    @Override
-    protected DomainObjectEditingEntityImpl newDetachedEntity(String value) {
-        return new DomainObjectEditingEntityImpl(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/jdo/DomainObjectEntityChangePublishingEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/jdo/DomainObjectEntityChangePublishingEntityImpl-description.adoc
deleted file mode 100644
index 062cd00..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/jdo/DomainObjectEntityChangePublishingEntityImpl-description.adoc
+++ /dev/null
@@ -1,11 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-In this reference app, `entityChangePublishing` has been disabled by default, but has been explicitly enabled on this class:
-
-[source,java,indent=0]
-.DomainObjectEntityChangePublishingEntityImpl.java
-----
-include::DomainObjectEntityChangePublishingEntityImpl.java[tags=class]
-----
-<.> explicitly specifies that modifying the domain object should be published.
-
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/jdo/DomainObjectEntityChangePublishingEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/jdo/DomainObjectEntityChangePublishingEntityImpl.java
deleted file mode 100644
index 6c7f719..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/jdo/DomainObjectEntityChangePublishingEntityImpl.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObject.entityChangePublishing.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-import org.apache.causeway.applib.annotation.Publishing;
-import org.apache.causeway.applib.annotation.Title;
-
-import demoapp.dom.domain.objects.DomainObject.entityChangePublishing.DomainObjectEntityChangePublishingEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-    identityType = IdentityType.DATASTORE,
-    schema = "demo",
-    table = "DomainObjectEntityChangePublishingEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.DomainObjectEntityChangePublishingEntity")
-//tag::class[]
-// ...
-@DomainObject(
-    nature=Nature.ENTITY
-    , entityChangePublishing = Publishing.ENABLED            // <.>
-)
-public class DomainObjectEntityChangePublishingEntityImpl
-                extends DomainObjectEntityChangePublishingEntity {
-    // ...
-//end::class[]
-
-    public DomainObjectEntityChangePublishingEntityImpl(final String initialValue) {
-        this.property = initialValue;
-        this.propertyUpdatedByAction = initialValue;
-    }
-
-    @Title(sequence = "1.0")
-    @Getter @Setter
-    private String property;
-
-    @Getter @Setter
-    @Title(sequence = "2.0", prepend = " / ")
-    private String propertyUpdatedByAction;
-
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/jdo/DomainObjectEntityChangePublishingEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/jdo/DomainObjectEntityChangePublishingEntityImplRepository.java
deleted file mode 100644
index a442aa5..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/jdo/DomainObjectEntityChangePublishingEntityImplRepository.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObject.entityChangePublishing.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class DomainObjectEntityChangePublishingEntityImplRepository
-extends ValueHolderRepository<String, DomainObjectEntityChangePublishingEntityImpl> {
-
-    protected DomainObjectEntityChangePublishingEntityImplRepository() {
-        super(DomainObjectEntityChangePublishingEntityImpl.class);
-    }
-
-    @Override
-    protected DomainObjectEntityChangePublishingEntityImpl newDetachedEntity(String value) {
-        return new DomainObjectEntityChangePublishingEntityImpl(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/annotOpt/jdo/DomainObjectIntrospectionAnnotOptEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/annotOpt/jdo/DomainObjectIntrospectionAnnotOptEntityImpl-description.adoc
deleted file mode 100644
index 3772bcd..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/annotOpt/jdo/DomainObjectIntrospectionAnnotOptEntityImpl-description.adoc
+++ /dev/null
@@ -1,13 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-The introspection of this domain object indicates that annotations are optional, for both member and any supporting methods.
-
-[source,java,indent=0]
-.DomainObjectIntrospectionAnnotOptEntityImpl.java
-----
-include::DomainObjectIntrospectionAnnotOptEntityImpl.java[tags=class]
-----
-<.> no need to annotate with `@Property`.
-It would also be ok to remove the methods but then annotate the field with `@lombok.Getter` and `@lombok.Setter`
-<.> no need to annotate with `@Action`
-<.> no need to annotate with `@MemberSupport`
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/annotOpt/jdo/DomainObjectIntrospectionAnnotOptEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/annotOpt/jdo/DomainObjectIntrospectionAnnotOptEntityImpl.java
deleted file mode 100644
index 4354c34..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/annotOpt/jdo/DomainObjectIntrospectionAnnotOptEntityImpl.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObject.introspection.annotOpt.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Introspection;
-
-import demoapp.dom.domain.objects.DomainObject.introspection.annotOpt.DomainObjectIntrospectionAnnotOptEntity;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-    identityType = IdentityType.DATASTORE,
-    schema = "demo",
-    table = "DomainObjectIntrospectionAnnotOptEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.DomainObjectIntrospectionAnnotOptEntity")
-//tag::class[]
-// ...
-@DomainObject(
-        introspection = Introspection.ANNOTATION_OPTIONAL
-)
-public class DomainObjectIntrospectionAnnotOptEntityImpl
-        extends DomainObjectIntrospectionAnnotOptEntity {
-    // ...
-//end::class[]
-
-    public DomainObjectIntrospectionAnnotOptEntityImpl(String value) {
-        setName(value);
-    }
-//tag::class[]
-
-    private String name;                                                        // <.>
-    public String getName() {
-        return name;
-    }
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public DomainObjectIntrospectionAnnotOptEntityImpl updateName(final String name) { // <.>
-        setName(name);
-        return this;
-    }
-    public String default0UpdateName() {                                        // <.>
-        return getName();
-    }
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/annotOpt/jdo/DomainObjectIntrospectionAnnotOptEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/annotOpt/jdo/DomainObjectIntrospectionAnnotOptEntityImplRepository.java
deleted file mode 100644
index 50af24e..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/annotOpt/jdo/DomainObjectIntrospectionAnnotOptEntityImplRepository.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObject.introspection.annotOpt.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class DomainObjectIntrospectionAnnotOptEntityImplRepository
-extends ValueHolderRepository<String, DomainObjectIntrospectionAnnotOptEntityImpl> {
-
-    protected DomainObjectIntrospectionAnnotOptEntityImplRepository() {
-        super(DomainObjectIntrospectionAnnotOptEntityImpl.class);
-    }
-
-    @Override
-    protected DomainObjectIntrospectionAnnotOptEntityImpl newDetachedEntity(String value) {
-        return new DomainObjectIntrospectionAnnotOptEntityImpl(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/annotReqd/jdo/DomainObjectIntrospectionAnnotReqdEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/annotReqd/jdo/DomainObjectIntrospectionAnnotReqdEntityImpl-description.adoc
deleted file mode 100644
index c70011f..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/annotReqd/jdo/DomainObjectIntrospectionAnnotReqdEntityImpl-description.adoc
+++ /dev/null
@@ -1,13 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-The introspection of this domain object indicates that annotations are required for both member and any supporting methods.
-
-[source,java,indent=0]
-.DomainObjectIntrospectionAnnotReqdEntityImpl.java
-----
-include::DomainObjectIntrospectionAnnotReqdEntityImpl.java[tags=class]
-----
-<.> must annotate as `@Property`.
-It would also be ok to remove the methods but then annotate the field with `@Property` and also with `@lombok.Getter` and `@lombok.Setter`
-<.> must annotate as `@Action`
-<.> no need to annotate with `@MemberSupport`
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/annotReqd/jdo/DomainObjectIntrospectionAnnotReqdEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/annotReqd/jdo/DomainObjectIntrospectionAnnotReqdEntityImpl.java
deleted file mode 100644
index 76b414f..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/annotReqd/jdo/DomainObjectIntrospectionAnnotReqdEntityImpl.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObject.introspection.annotReqd.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.Action;
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Introspection;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.SemanticsOf;
-
-import demoapp.dom.domain.objects.DomainObject.introspection.annotReqd.DomainObjectIntrospectionAnnotReqdEntity;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-    identityType = IdentityType.DATASTORE,
-    schema = "demo",
-    table = "DomainObjectIntrospectionAnnotReqdEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.DomainObjectIntrospectionAnnotReqdEntity")
-//tag::class[]
-// ...
-@DomainObject(
-        introspection = Introspection.ANNOTATION_REQUIRED
-)
-public class DomainObjectIntrospectionAnnotReqdEntityImpl
-        extends DomainObjectIntrospectionAnnotReqdEntity {
-    // ...
-//end::class[]
-
-    public DomainObjectIntrospectionAnnotReqdEntityImpl(String value) {
-        setName(value);
-    }
-//tag::class[]
-
-    private String name;
-    @Property                                                                   // <.>
-    public String getName() {
-        return name;
-    }
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    @Action(semantics = SemanticsOf.IDEMPOTENT)                                 // <.>
-    public DomainObjectIntrospectionAnnotReqdEntityImpl updateName(final String name) {
-        setName(name);
-        return this;
-    }
-    public String default0UpdateName() {                                        // <.>
-        return getName();
-    }
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/annotReqd/jdo/DomainObjectIntrospectionAnnotReqdEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/annotReqd/jdo/DomainObjectIntrospectionAnnotReqdEntityImplRepository.java
deleted file mode 100644
index cd71967..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/annotReqd/jdo/DomainObjectIntrospectionAnnotReqdEntityImplRepository.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObject.introspection.annotReqd.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class DomainObjectIntrospectionAnnotReqdEntityImplRepository
-extends ValueHolderRepository<String, DomainObjectIntrospectionAnnotReqdEntityImpl> {
-
-    protected DomainObjectIntrospectionAnnotReqdEntityImplRepository() {
-        super(DomainObjectIntrospectionAnnotReqdEntityImpl.class);
-    }
-
-    @Override
-    protected DomainObjectIntrospectionAnnotReqdEntityImpl newDetachedEntity(String value) {
-        return new DomainObjectIntrospectionAnnotReqdEntityImpl(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/encapsulated/jdo/DomainObjectIntrospectionEncapsulatedEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/encapsulated/jdo/DomainObjectIntrospectionEncapsulatedEntityImpl-description.adoc
deleted file mode 100644
index 8679208..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/encapsulated/jdo/DomainObjectIntrospectionEncapsulatedEntityImpl-description.adoc
+++ /dev/null
@@ -1,13 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-The introspection of this domain object indicates that encapsulation is enabled, which means that annotations are mandatory but that the methods can have any visibility (even `private` visibility).
-Reducing the programmatic API of domain objects can help to eliminate bugs.
-
-[source,java,indent=0]
-.DomainObjectIntrospectionEncapsulatedEntityImpl.java
-----
-include::DomainObjectIntrospectionEncapsulatedEntityImpl.java[tags=class]
-----
-<.> must annotate as `@Property`, but can have any visibility
-<.> must annotate as `@Action`, but can have any visibility
-<.> must annotate as @`MemberSupport` or `@Domain.Include`, but can have any visibility
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/encapsulated/jdo/DomainObjectIntrospectionEncapsulatedEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/encapsulated/jdo/DomainObjectIntrospectionEncapsulatedEntityImpl.java
deleted file mode 100644
index 35a651f..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/encapsulated/jdo/DomainObjectIntrospectionEncapsulatedEntityImpl.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObject.introspection.encapsulated.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.Action;
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Introspection;
-import org.apache.causeway.applib.annotation.MemberSupport;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.SemanticsOf;
-
-import demoapp.dom.domain.objects.DomainObject.introspection.encapsulated.DomainObjectIntrospectionEncapsulatedEntity;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-    identityType = IdentityType.DATASTORE,
-    schema = "demo",
-    table = "DomainObjectIntrospectionEncapsulatedEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.DomainObjectIntrospectionEncapsulatedEntity")
-//tag::class[]
-// ...
-@DomainObject(
-        introspection = Introspection.ENCAPSULATION_ENABLED
-)
-public class DomainObjectIntrospectionEncapsulatedEntityImpl
-        extends DomainObjectIntrospectionEncapsulatedEntity {
-    // ...
-//end::class[]
-
-    public DomainObjectIntrospectionEncapsulatedEntityImpl(String value) {
-        setName(value);
-    }
-
-    @Override
-    public String value() {
-        return getName();
-    }
-//tag::class[]
-
-    private String name;
-    @Property                                                                       // <.>
-    private String getName() {                                                      // <1>
-        return name;
-    }
-    private void setName(String name) {
-        this.name = name;
-    }
-
-    @Action(semantics = SemanticsOf.IDEMPOTENT)                                     // <.>
-    private DomainObjectIntrospectionEncapsulatedEntity updateName(final String name) {   // <2>
-        setName(name);
-        return this;
-    }
-    @MemberSupport                                                                  // <.>
-    private String default0UpdateName() {                                           // <3>
-        return getName();
-    }
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/encapsulated/jdo/DomainObjectIntrospectionEncapsulatedEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/encapsulated/jdo/DomainObjectIntrospectionEncapsulatedEntityImplRepository.java
deleted file mode 100644
index 1f56d45..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/encapsulated/jdo/DomainObjectIntrospectionEncapsulatedEntityImplRepository.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObject.introspection.encapsulated.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class DomainObjectIntrospectionEncapsulatedEntityImplRepository
-extends ValueHolderRepository<String, DomainObjectIntrospectionEncapsulatedEntityImpl> {
-
-    protected DomainObjectIntrospectionEncapsulatedEntityImplRepository() {
-        super(DomainObjectIntrospectionEncapsulatedEntityImpl.class);
-    }
-
-    @Override
-    protected DomainObjectIntrospectionEncapsulatedEntityImpl newDetachedEntity(String value) {
-        return new DomainObjectIntrospectionEncapsulatedEntityImpl(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/encapsulated/jdo/DomainObjectIntrospectionPage_encapsulationEnabled.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/encapsulated/jdo/DomainObjectIntrospectionPage_encapsulationEnabled.java
deleted file mode 100644
index 570a021..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/introspection/encapsulated/jdo/DomainObjectIntrospectionPage_encapsulationEnabled.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObject.introspection.encapsulated.jdo;
-
-import java.util.List;
-
-import jakarta.inject.Inject;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.Collection;
-import org.apache.causeway.applib.annotation.CollectionLayout;
-import org.apache.causeway.applib.annotation.MemberSupport;
-
-import demoapp.dom.domain.objects.DomainObject.introspection.DomainObjectIntrospectionPage;
-import lombok.RequiredArgsConstructor;
-
-@Profile("demo-jdo")
-@Collection()
-@CollectionLayout()
-@RequiredArgsConstructor
-public class DomainObjectIntrospectionPage_encapsulationEnabled {
-
-    @SuppressWarnings("unused")
-    private final DomainObjectIntrospectionPage page;
-
-    @MemberSupport
-    public List<DomainObjectIntrospectionEncapsulatedEntityImpl> coll() {
-        return repo.all();
-    }
-
-    @Inject DomainObjectIntrospectionEncapsulatedEntityImplRepository repo;
-
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/mixinMethod/jdo/DomainObjectMixinMethodEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/mixinMethod/jdo/DomainObjectMixinMethodEntityImpl-description.adoc
deleted file mode 100644
index 71d6024..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/mixinMethod/jdo/DomainObjectMixinMethodEntityImpl-description.adoc
+++ /dev/null
@@ -1,3 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-include::../DomainObjectMixinMethodEntity-description.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/mixinMethod/jdo/DomainObjectMixinMethodEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/mixinMethod/jdo/DomainObjectMixinMethodEntityImpl.java
deleted file mode 100644
index 6821f41..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/mixinMethod/jdo/DomainObjectMixinMethodEntityImpl.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObject.mixinMethod.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-
-import demoapp.dom.domain.objects.DomainObject.mixinMethod.DomainObjectMixinMethodEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-    identityType = IdentityType.DATASTORE,
-    schema = "demo",
-    table = "DomainObjectMixinMethodEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.DomainObjectMixinMethodEntity")
-//tag::class[]
-// ...
-@DomainObject(nature = Nature.ENTITY)
-public class DomainObjectMixinMethodEntityImpl
-                extends DomainObjectMixinMethodEntity {
-    // ...
-//end::class[]
-
-    public DomainObjectMixinMethodEntityImpl(String value) {
-        setName(value);
-    }
-//tag::class[]
-
-    @Getter @Setter
-    private String name;
-
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/mixinMethod/jdo/DomainObjectMixinMethodEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/mixinMethod/jdo/DomainObjectMixinMethodEntityImplRepository.java
deleted file mode 100644
index bfc2644..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/mixinMethod/jdo/DomainObjectMixinMethodEntityImplRepository.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObject.mixinMethod.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class DomainObjectMixinMethodEntityImplRepository
-extends ValueHolderRepository<String, DomainObjectMixinMethodEntityImpl> {
-
-    protected DomainObjectMixinMethodEntityImplRepository() {
-        super(DomainObjectMixinMethodEntityImpl.class);
-    }
-
-    @Override
-    protected DomainObjectMixinMethodEntityImpl newDetachedEntity(String value) {
-        return new DomainObjectMixinMethodEntityImpl(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/entity/jdo/DomainObjectNatureEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/entity/jdo/DomainObjectNatureEntityImpl-description.adoc
deleted file mode 100644
index 01cf3ff..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/entity/jdo/DomainObjectNatureEntityImpl-description.adoc
+++ /dev/null
@@ -1,13 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-This domain class is a simple entity:
-
-[source,java,indent=0]
-.DomainObjectNatureEntityImpl.java
-----
-include::DomainObjectNatureEntityImpl.java[tags=class]
-----
-<.> The framework can infer the nature of the domain class from these annotations
-<.> Nevertheless, it's generally good practice to specify the nature explicitly.
-
-
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/entity/jdo/DomainObjectNatureEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/entity/jdo/DomainObjectNatureEntityImpl.java
deleted file mode 100644
index c127987..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/entity/jdo/DomainObjectNatureEntityImpl.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObject.nature.entity.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-import jakarta.persistence.Column;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-
-import demoapp.dom.domain.objects.DomainObject.nature.entity.DomainObjectNatureEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-//tag::class[]
-@PersistenceCapable(                                // <.>
-    identityType = IdentityType.DATASTORE,
-    schema = "demo",
-    table = "DomainObjectNatureEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.DomainObjectNatureEntity")
-@DomainObject(nature = Nature.ENTITY)               // <.>
-public class DomainObjectNatureEntityImpl
-        extends DomainObjectNatureEntity {
-    // ...
-//end::class[]
-
-    public DomainObjectNatureEntityImpl(final String name) {
-        this.name = name;
-    }
-
-    @Column(nullable = false)
-    @Getter @Setter
-    private String name;
-
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/entity/jdo/DomainObjectNatureEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/entity/jdo/DomainObjectNatureEntityImplRepository.java
deleted file mode 100644
index 903e2e7..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/entity/jdo/DomainObjectNatureEntityImplRepository.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObject.nature.entity.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class DomainObjectNatureEntityImplRepository
-extends ValueHolderRepository<String, DomainObjectNatureEntityImpl> {
-
-    protected DomainObjectNatureEntityImplRepository() {
-        super(DomainObjectNatureEntityImpl.class);
-    }
-
-    @Override
-    protected DomainObjectNatureEntityImpl newDetachedEntity(String value) {
-        return new DomainObjectNatureEntityImpl(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxLifecycleEvent/jdo/DomainObjectXxxLifecycleEventEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxLifecycleEvent/jdo/DomainObjectXxxLifecycleEventEntityImpl-description.adoc
deleted file mode 100644
index 10184f0..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxLifecycleEvent/jdo/DomainObjectXxxLifecycleEventEntityImpl-description.adoc
+++ /dev/null
@@ -1,3 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-include::../DomainObjectXxxLifecycleEventEntity-description.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxLifecycleEvent/jdo/DomainObjectXxxLifecycleEventEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxLifecycleEvent/jdo/DomainObjectXxxLifecycleEventEntityImpl.java
deleted file mode 100644
index 2b64f9a..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxLifecycleEvent/jdo/DomainObjectXxxLifecycleEventEntityImpl.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObject.xxxLifecycleEvent.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-
-import demoapp.dom.domain.objects.DomainObject.xxxLifecycleEvent.DomainObjectXxxLifecycleEventEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-    identityType = IdentityType.DATASTORE,
-    schema = "demo",
-    table = "DomainObjectXxxLifecycleEventEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.DomainObjectXxxLifecycleEventEntity")
-//tag::class[]
-// ...
-@DomainObject(nature = Nature.ENTITY)
-public class DomainObjectXxxLifecycleEventEntityImpl
-                extends DomainObjectXxxLifecycleEventEntity {
-
-    // ...
-//end::class[]
-
-    public DomainObjectXxxLifecycleEventEntityImpl(String value) {
-        setName(value);
-    }
-//tag::class[]
-
-    @Getter @Setter
-    private String name;
-
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxLifecycleEvent/jdo/DomainObjectXxxLifecycleEventEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxLifecycleEvent/jdo/DomainObjectXxxLifecycleEventEntityImplRepository.java
deleted file mode 100644
index 15fb61b..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/xxxLifecycleEvent/jdo/DomainObjectXxxLifecycleEventEntityImplRepository.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObject.xxxLifecycleEvent.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class DomainObjectXxxLifecycleEventEntityImplRepository
-extends ValueHolderRepository<String, DomainObjectXxxLifecycleEventEntityImpl> {
-
-    protected DomainObjectXxxLifecycleEventEntityImplRepository() {
-        super(DomainObjectXxxLifecycleEventEntityImpl.class);
-    }
-
-    @Override
-    protected DomainObjectXxxLifecycleEventEntityImpl newDetachedEntity(String value) {
-        return new DomainObjectXxxLifecycleEventEntityImpl(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/bookmarking/jdo/DomainObjectLayoutBookmarkingChildEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/bookmarking/jdo/DomainObjectLayoutBookmarkingChildEntityImpl-description.adoc
deleted file mode 100644
index 9f215e0..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/bookmarking/jdo/DomainObjectLayoutBookmarkingChildEntityImpl-description.adoc
+++ /dev/null
@@ -1,3 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-include::../DomainObjectLayoutBookmarkingChildEntity-description.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/bookmarking/jdo/DomainObjectLayoutBookmarkingChildEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/bookmarking/jdo/DomainObjectLayoutBookmarkingChildEntityImpl.java
deleted file mode 100644
index e24a65c..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/bookmarking/jdo/DomainObjectLayoutBookmarkingChildEntityImpl.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObjectLayout.bookmarking.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-import jakarta.persistence.FetchType;
-import jakarta.persistence.ManyToOne;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-import org.apache.causeway.applib.annotation.Property;
-
-import demoapp.dom.domain.objects.DomainObjectLayout.bookmarking.DomainObjectLayoutBookmarkingChildEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-    identityType = IdentityType.DATASTORE,
-    schema = "demo",
-    table = "DomainObjectLayoutBookmarkingChildEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.DomainObjectLayoutBookmarkingChildEntity")
-//tag::class[]
-// ...
-@DomainObject(nature = Nature.ENTITY)
-public class DomainObjectLayoutBookmarkingChildEntityImpl extends DomainObjectLayoutBookmarkingChildEntity {
-    // ...
-//end::class[]
-
-    public DomainObjectLayoutBookmarkingChildEntityImpl(DomainObjectLayoutBookmarkingEntityImpl parent, String value) {
-        setParent(parent);
-        setName(value);
-    }
-
-    @Property
-    @Getter @Setter
-    private String name;
-
-    @Property
-    @ManyToOne(fetch = FetchType.LAZY)
-    @Getter @Setter
-    private DomainObjectLayoutBookmarkingEntityImpl parent;
-
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/bookmarking/jdo/DomainObjectLayoutBookmarkingEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/bookmarking/jdo/DomainObjectLayoutBookmarkingEntityImpl-description.adoc
deleted file mode 100644
index aa7a905..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/bookmarking/jdo/DomainObjectLayoutBookmarkingEntityImpl-description.adoc
+++ /dev/null
@@ -1,3 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-include::../DomainObjectLayoutBookmarkingEntity-description.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/bookmarking/jdo/DomainObjectLayoutBookmarkingEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/bookmarking/jdo/DomainObjectLayoutBookmarkingEntityImpl.java
deleted file mode 100644
index b8f65db..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/bookmarking/jdo/DomainObjectLayoutBookmarkingEntityImpl.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObjectLayout.bookmarking.jdo;
-
-import java.util.Set;
-import java.util.TreeSet;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-import javax.jdo.annotations.Persistent;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.Collection;
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-
-import demoapp.dom.domain.objects.DomainObjectLayout.bookmarking.DomainObjectLayoutBookmarkingEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-    identityType = IdentityType.DATASTORE,
-    schema = "demo",
-    table = "DomainObjectLayoutBookmarkingEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.DomainObjectLayoutBookmarkingEntity")
-//tag::class[]
-// ...
-@DomainObject(nature = Nature.ENTITY)
-public class DomainObjectLayoutBookmarkingEntityImpl extends DomainObjectLayoutBookmarkingEntity {
-    // ...
-//end::class[]
-
-    public DomainObjectLayoutBookmarkingEntityImpl(String value) {
-        setName(value);
-    }
-
-    @Getter @Setter
-    private String name;
-
-    @Collection
-    @Persistent(
-            mappedBy = "parent",
-            defaultFetchGroup = "true",
-            dependentElement = "true"
-    )
-    @Getter @Setter
-    private Set<DomainObjectLayoutBookmarkingChildEntityImpl> children = new TreeSet<>();
-
-    @Override
-    public void addChild(String value) {
-        getChildren().add(new DomainObjectLayoutBookmarkingChildEntityImpl(this, value));
-    }
-
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/bookmarking/jdo/DomainObjectLayoutBookmarkingEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/bookmarking/jdo/DomainObjectLayoutBookmarkingEntityImplRepository.java
deleted file mode 100644
index d617aed..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/bookmarking/jdo/DomainObjectLayoutBookmarkingEntityImplRepository.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObjectLayout.bookmarking.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-import demoapp.dom.domain.objects.DomainObjectLayout.bookmarking.DomainObjectLayoutBookmarkingEntityRepository;
-
-@Profile("demo-jdo")
-@Service
-public class DomainObjectLayoutBookmarkingEntityImplRepository
-extends ValueHolderRepository<String, DomainObjectLayoutBookmarkingEntityImpl> implements DomainObjectLayoutBookmarkingEntityRepository {
-
-    protected DomainObjectLayoutBookmarkingEntityImplRepository() {
-        super(DomainObjectLayoutBookmarkingEntityImpl.class);
-    }
-
-    @Override
-    protected DomainObjectLayoutBookmarkingEntityImpl newDetachedEntity(String value) {
-        return new DomainObjectLayoutBookmarkingEntityImpl(value);
-    }
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/cssClass/jdo/DomainObjectLayoutCssClassEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/cssClass/jdo/DomainObjectLayoutCssClassEntityImpl-description.adoc
deleted file mode 100644
index 51371f2..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/cssClass/jdo/DomainObjectLayoutCssClassEntityImpl-description.adoc
+++ /dev/null
@@ -1,3 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-include::../DomainObjectLayoutCssClassEntity-description.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/cssClass/jdo/DomainObjectLayoutCssClassEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/cssClass/jdo/DomainObjectLayoutCssClassEntityImpl.java
deleted file mode 100644
index 7e5c362..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/cssClass/jdo/DomainObjectLayoutCssClassEntityImpl.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObjectLayout.cssClass.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-
-import demoapp.dom.domain.objects.DomainObjectLayout.cssClass.DomainObjectLayoutCssClassEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-    identityType = IdentityType.DATASTORE,
-    schema = "demo",
-    table = "DomainObjectLayoutCssClassEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.DomainObjectLayoutCssClassEntity")
-//tag::class[]
-// ...
-@DomainObject(nature = Nature.ENTITY)
-public class DomainObjectLayoutCssClassEntityImpl extends DomainObjectLayoutCssClassEntity {
-    // ...
-//end::class[]
-
-    public DomainObjectLayoutCssClassEntityImpl(String value) {
-        setName(value);
-    }
-
-    @Getter @Setter
-    private String name;
-
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/cssClass/jdo/DomainObjectLayoutCssClassEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/cssClass/jdo/DomainObjectLayoutCssClassEntityImplRepository.java
deleted file mode 100644
index 9af8a8f..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/cssClass/jdo/DomainObjectLayoutCssClassEntityImplRepository.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObjectLayout.cssClass.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-import demoapp.dom.domain.objects.DomainObjectLayout.cssClass.DomainObjectLayoutCssClassEntityRepository;
-
-@Profile("demo-jdo")
-@Service
-public class DomainObjectLayoutCssClassEntityImplRepository
-extends ValueHolderRepository<String, DomainObjectLayoutCssClassEntityImpl> implements DomainObjectLayoutCssClassEntityRepository {
-
-    protected DomainObjectLayoutCssClassEntityImplRepository() {
-        super(DomainObjectLayoutCssClassEntityImpl.class);
-    }
-
-    @Override
-    protected DomainObjectLayoutCssClassEntityImpl newDetachedEntity(String value) {
-        return new DomainObjectLayoutCssClassEntityImpl(value);
-    }
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/cssClassFa/jdo/DomainObjectLayoutCssClassFaEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/cssClassFa/jdo/DomainObjectLayoutCssClassFaEntityImpl-description.adoc
deleted file mode 100644
index 144112b..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/cssClassFa/jdo/DomainObjectLayoutCssClassFaEntityImpl-description.adoc
+++ /dev/null
@@ -1,3 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-include::../DomainObjectLayoutCssClassFaEntity-description.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/cssClassFa/jdo/DomainObjectLayoutCssClassFaEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/cssClassFa/jdo/DomainObjectLayoutCssClassFaEntityImpl.java
deleted file mode 100644
index 1731ab6..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/cssClassFa/jdo/DomainObjectLayoutCssClassFaEntityImpl.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObjectLayout.cssClassFa.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-
-import demoapp.dom.domain.objects.DomainObjectLayout.cssClassFa.DomainObjectLayoutCssClassFaEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-    identityType = IdentityType.DATASTORE,
-    schema = "demo",
-    table = "DomainObjectLayoutCssClassFaEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.DomainObjectLayoutCssClassFaEntity")
-//tag::class[]
-// ...
-@DomainObject(nature = Nature.ENTITY)
-public class DomainObjectLayoutCssClassFaEntityImpl extends DomainObjectLayoutCssClassFaEntity {
-    // ...
-//end::class[]
-
-    public DomainObjectLayoutCssClassFaEntityImpl(String value) {
-        setName(value);
-    }
-
-    @Getter @Setter
-    private String name;
-
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/cssClassFa/jdo/DomainObjectLayoutCssClassFaEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/cssClassFa/jdo/DomainObjectLayoutCssClassFaEntityImplRepository.java
deleted file mode 100644
index dd72cbe..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/cssClassFa/jdo/DomainObjectLayoutCssClassFaEntityImplRepository.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObjectLayout.cssClassFa.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-import demoapp.dom.domain.objects.DomainObjectLayout.cssClassFa.DomainObjectLayoutCssClassFaEntityRepository;
-
-@Profile("demo-jdo")
-@Service
-public class DomainObjectLayoutCssClassFaEntityImplRepository
-extends ValueHolderRepository<String, DomainObjectLayoutCssClassFaEntityImpl> implements DomainObjectLayoutCssClassFaEntityRepository {
-
-    protected DomainObjectLayoutCssClassFaEntityImplRepository() {
-        super(DomainObjectLayoutCssClassFaEntityImpl.class);
-    }
-
-    @Override
-    protected DomainObjectLayoutCssClassFaEntityImpl newDetachedEntity(String value) {
-        return new DomainObjectLayoutCssClassFaEntityImpl(value);
-    }
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/describedAs/jdo/DomainObjectLayoutDescribedAsEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/describedAs/jdo/DomainObjectLayoutDescribedAsEntityImpl-description.adoc
deleted file mode 100644
index 7d4f1c8..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/describedAs/jdo/DomainObjectLayoutDescribedAsEntityImpl-description.adoc
+++ /dev/null
@@ -1,3 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-include::../DomainObjectLayoutDescribedAsEntity-description.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/describedAs/jdo/DomainObjectLayoutDescribedAsEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/describedAs/jdo/DomainObjectLayoutDescribedAsEntityImpl.java
deleted file mode 100644
index d3f092c..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/describedAs/jdo/DomainObjectLayoutDescribedAsEntityImpl.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObjectLayout.describedAs.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-
-import demoapp.dom.domain.objects.DomainObjectLayout.describedAs.DomainObjectLayoutDescribedAsEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-    identityType = IdentityType.DATASTORE,
-    schema = "demo",
-    table = "DomainObjectLayoutDescribedAsEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.DomainObjectLayoutDescribedAsEntity")
-//tag::class[]
-// ...
-@DomainObject(nature = Nature.ENTITY)
-public class DomainObjectLayoutDescribedAsEntityImpl extends DomainObjectLayoutDescribedAsEntity {
-    // ...
-//end::class[]
-
-    public DomainObjectLayoutDescribedAsEntityImpl(String value) {
-        setName(value);
-    }
-
-    @Getter @Setter
-    private String name;
-
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/describedAs/jdo/DomainObjectLayoutDescribedAsEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/describedAs/jdo/DomainObjectLayoutDescribedAsEntityImplRepository.java
deleted file mode 100644
index 3bbad6e..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/describedAs/jdo/DomainObjectLayoutDescribedAsEntityImplRepository.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObjectLayout.describedAs.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-import demoapp.dom.domain.objects.DomainObjectLayout.describedAs.DomainObjectLayoutDescribedAsEntityRepository;
-
-@Profile("demo-jdo")
-@Service
-public class DomainObjectLayoutDescribedAsEntityImplRepository
-extends ValueHolderRepository<String, DomainObjectLayoutDescribedAsEntityImpl> implements DomainObjectLayoutDescribedAsEntityRepository {
-
-    protected DomainObjectLayoutDescribedAsEntityImplRepository() {
-        super(DomainObjectLayoutDescribedAsEntityImpl.class);
-    }
-
-    @Override
-    protected DomainObjectLayoutDescribedAsEntityImpl newDetachedEntity(String value) {
-        return new DomainObjectLayoutDescribedAsEntityImpl(value);
-    }
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/named/jdo/DomainObjectLayoutNamedEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/named/jdo/DomainObjectLayoutNamedEntityImpl-description.adoc
deleted file mode 100644
index 29b9855..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/named/jdo/DomainObjectLayoutNamedEntityImpl-description.adoc
+++ /dev/null
@@ -1,3 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-include::../DomainObjectLayoutNamedEntity-description.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/named/jdo/DomainObjectLayoutNamedEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/named/jdo/DomainObjectLayoutNamedEntityImpl.java
deleted file mode 100644
index be5d8a7..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/named/jdo/DomainObjectLayoutNamedEntityImpl.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObjectLayout.named.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-
-import demoapp.dom.domain.objects.DomainObjectLayout.named.DomainObjectLayoutNamedEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-    identityType = IdentityType.DATASTORE,
-    schema = "demo",
-    table = "DomainObjectLayoutNamedEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.DomainObjectLayoutNamedEntity")
-//tag::class[]
-// ...
-@DomainObject(nature = Nature.ENTITY)
-public class DomainObjectLayoutNamedEntityImpl extends DomainObjectLayoutNamedEntity {
-    // ...
-//end::class[]
-
-    public DomainObjectLayoutNamedEntityImpl(String value) {
-        setName(value);
-    }
-
-    @Getter @Setter
-    private String name;
-
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/named/jdo/DomainObjectLayoutNamedEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/named/jdo/DomainObjectLayoutNamedEntityImplRepository.java
deleted file mode 100644
index e83c761..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/named/jdo/DomainObjectLayoutNamedEntityImplRepository.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObjectLayout.named.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-import demoapp.dom.domain.objects.DomainObjectLayout.named.DomainObjectLayoutNamedEntityRepository;
-
-@Profile("demo-jdo")
-@Service
-public class DomainObjectLayoutNamedEntityImplRepository
-extends ValueHolderRepository<String, DomainObjectLayoutNamedEntityImpl> implements DomainObjectLayoutNamedEntityRepository {
-
-    protected DomainObjectLayoutNamedEntityImplRepository() {
-        super(DomainObjectLayoutNamedEntityImpl.class);
-    }
-
-    @Override
-    protected DomainObjectLayoutNamedEntityImpl newDetachedEntity(String value) {
-        return new DomainObjectLayoutNamedEntityImpl(value);
-    }
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/paged/jdo/DomainObjectLayoutPagedEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/paged/jdo/DomainObjectLayoutPagedEntityImpl-description.adoc
deleted file mode 100644
index 7664fa8..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/paged/jdo/DomainObjectLayoutPagedEntityImpl-description.adoc
+++ /dev/null
@@ -1,3 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-include::../DomainObjectLayoutPagedEntity-description.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/paged/jdo/DomainObjectLayoutPagedEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/paged/jdo/DomainObjectLayoutPagedEntityImpl.java
deleted file mode 100644
index dd62acd..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/paged/jdo/DomainObjectLayoutPagedEntityImpl.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObjectLayout.paged.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-
-import demoapp.dom.domain.objects.DomainObjectLayout.paged.DomainObjectLayoutPagedEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-    identityType = IdentityType.DATASTORE,
-    schema = "demo",
-    table = "DomainObjectLayoutPagedEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.DomainObjectLayoutPagedEntity")
-//tag::class[]
-// ...
-@DomainObject(nature = Nature.ENTITY)
-public class DomainObjectLayoutPagedEntityImpl extends DomainObjectLayoutPagedEntity {
-    // ...
-//end::class[]
-
-    public DomainObjectLayoutPagedEntityImpl(String value) {
-        setName(value);
-    }
-
-    @Getter @Setter
-    private String name;
-
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/paged/jdo/DomainObjectLayoutPagedEntityRepository.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/paged/jdo/DomainObjectLayoutPagedEntityRepository.java
deleted file mode 100644
index 9e75c62..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/paged/jdo/DomainObjectLayoutPagedEntityRepository.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObjectLayout.paged.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class DomainObjectLayoutPagedEntityRepository
-extends ValueHolderRepository<String, DomainObjectLayoutPagedEntityImpl> implements demoapp.dom.domain.objects.DomainObjectLayout.paged.DomainObjectLayoutPagedEntityRepository {
-
-    protected DomainObjectLayoutPagedEntityRepository() {
-        super(DomainObjectLayoutPagedEntityImpl.class);
-    }
-
-    @Override
-    protected DomainObjectLayoutPagedEntityImpl newDetachedEntity(String value) {
-        return new DomainObjectLayoutPagedEntityImpl(value);
-    }
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/tabledec/jdo/DomainObjectLayoutTableDecoratorEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/tabledec/jdo/DomainObjectLayoutTableDecoratorEntityImpl-description.adoc
deleted file mode 100644
index cef74f4..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/tabledec/jdo/DomainObjectLayoutTableDecoratorEntityImpl-description.adoc
+++ /dev/null
@@ -1,3 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-include::../DomainObjectLayoutTableDecoratorEntity-description.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/tabledec/jdo/DomainObjectLayoutTableDecoratorEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/tabledec/jdo/DomainObjectLayoutTableDecoratorEntityImpl.java
deleted file mode 100644
index 0ca1116..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/tabledec/jdo/DomainObjectLayoutTableDecoratorEntityImpl.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObjectLayout.tabledec.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.DomainObjectLayout;
-import org.apache.causeway.applib.annotation.Nature;
-import org.apache.causeway.applib.annotation.TableDecorator;
-
-import demoapp.dom.domain.objects.DomainObjectLayout.tabledec.DomainObjectLayoutTableDecoratorEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-    identityType = IdentityType.DATASTORE,
-    schema = "demo",
-    table = "DomainObjectLayoutTableDecoratorEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.DomainObjectLayoutTableDecoratorEntity")
-//tag::class[]
-// ...
-@DomainObject(nature = Nature.ENTITY)
-@DomainObjectLayout(tableDecorator = TableDecorator.DatatablesNet.class)
-public class DomainObjectLayoutTableDecoratorEntityImpl extends DomainObjectLayoutTableDecoratorEntity {
-    // ...
-//end::class[]
-
-    public DomainObjectLayoutTableDecoratorEntityImpl(String value) {
-        setName(value);
-    }
-
-    @Getter @Setter
-    private String name;
-
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/tabledec/jdo/DomainObjectLayoutTableDecoratorEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/tabledec/jdo/DomainObjectLayoutTableDecoratorEntityImplRepository.java
deleted file mode 100644
index 34d72d6..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/tabledec/jdo/DomainObjectLayoutTableDecoratorEntityImplRepository.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObjectLayout.tabledec.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-import demoapp.dom.domain.objects.DomainObjectLayout.tabledec.DomainObjectLayoutTableDecoratorEntityRepository;
-
-@Profile("demo-jdo")
-@Service
-public class DomainObjectLayoutTableDecoratorEntityImplRepository
-extends ValueHolderRepository<String, DomainObjectLayoutTableDecoratorEntityImpl> implements DomainObjectLayoutTableDecoratorEntityRepository {
-
-    protected DomainObjectLayoutTableDecoratorEntityImplRepository() {
-        super(DomainObjectLayoutTableDecoratorEntityImpl.class);
-    }
-
-    @Override
-    protected DomainObjectLayoutTableDecoratorEntityImpl newDetachedEntity(String value) {
-        return new DomainObjectLayoutTableDecoratorEntityImpl(value);
-    }
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/xxxUiEvent/DomainObjectLayoutXxxUiEventSubscriber.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/xxxUiEvent/DomainObjectLayoutXxxUiEventSubscriber.java
index 00d6d24..02f9173 100644
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/xxxUiEvent/DomainObjectLayoutXxxUiEventSubscriber.java
+++ b/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/xxxUiEvent/DomainObjectLayoutXxxUiEventSubscriber.java
@@ -24,6 +24,7 @@ import jakarta.inject.Named;
 import org.springframework.context.event.EventListener;
 import org.springframework.stereotype.Service;
 
+import org.apache.causeway.applib.annotation.ObjectSupport.ClassPathIconResource;
 import org.apache.causeway.applib.services.title.TitleService;
 
 import lombok.val;
@@ -54,7 +55,7 @@ public class DomainObjectLayoutXxxUiEventSubscriber {
     void onIconUiEvent(final DomainObjectLayoutXxxUiEventEntity.IconEvent iconUiEvent) {
         val source = iconUiEvent.getSource();
         if (hasNameInFirstHalfOfAlphabet(source)) {
-            iconUiEvent.setIconName("signature");
+            iconUiEvent.setIcon(new ClassPathIconResource("signature"));
         }
     }
 //end::iconUiEvent[]
@@ -81,7 +82,7 @@ public class DomainObjectLayoutXxxUiEventSubscriber {
 //end::layoutUiEvent[]
 
 //tag::class[]
-    private boolean hasNameInFirstHalfOfAlphabet(DomainObjectLayoutXxxUiEventEntity source) {
+    private boolean hasNameInFirstHalfOfAlphabet(final DomainObjectLayoutXxxUiEventEntity source) {
         return source.getName().toLowerCase().compareTo("m") < 0;
     }
 
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/xxxUiEvent/jdo/DomainObjectLayoutXxxUiEventEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/xxxUiEvent/jdo/DomainObjectLayoutXxxUiEventEntityImpl-description.adoc
deleted file mode 100644
index 14a7659..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/xxxUiEvent/jdo/DomainObjectLayoutXxxUiEventEntityImpl-description.adoc
+++ /dev/null
@@ -1,3 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-include::../DomainObjectLayoutXxxUiEventEntity-description.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/xxxUiEvent/jdo/DomainObjectLayoutXxxUiEventEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/xxxUiEvent/jdo/DomainObjectLayoutXxxUiEventEntityImpl.java
deleted file mode 100644
index 79c5893..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/xxxUiEvent/jdo/DomainObjectLayoutXxxUiEventEntityImpl.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObjectLayout.xxxUiEvent.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-
-import demoapp.dom.domain.objects.DomainObjectLayout.xxxUiEvent.DomainObjectLayoutXxxUiEventEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-    identityType = IdentityType.DATASTORE,
-    schema = "demo",
-    table = "DomainObjectLayoutXxxUiEventEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.DomainObjectLayoutXxxUiEventEntity")
-//tag::class[]
-// ...
-@DomainObject(nature = Nature.ENTITY)
-public class DomainObjectLayoutXxxUiEventEntityImpl extends DomainObjectLayoutXxxUiEventEntity {
-    // ...
-//end::class[]
-
-    public DomainObjectLayoutXxxUiEventEntityImpl(String value) {
-        setName(value);
-    }
-
-    @Getter @Setter
-    private String name;
-
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/xxxUiEvent/jdo/DomainObjectLayoutXxxUiEventEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/xxxUiEvent/jdo/DomainObjectLayoutXxxUiEventEntityImplRepository.java
deleted file mode 100644
index 3b03421..0000000
--- a/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/xxxUiEvent/jdo/DomainObjectLayoutXxxUiEventEntityImplRepository.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.objects.DomainObjectLayout.xxxUiEvent.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-import demoapp.dom.domain.objects.DomainObjectLayout.xxxUiEvent.DomainObjectLayoutXxxUiEventEntityRepository;
-
-@Profile("demo-jdo")
-@Service
-public class DomainObjectLayoutXxxUiEventEntityImplRepository
-extends ValueHolderRepository<String, DomainObjectLayoutXxxUiEventEntityImpl> implements DomainObjectLayoutXxxUiEventEntityRepository {
-
-    protected DomainObjectLayoutXxxUiEventEntityImplRepository() {
-        super(DomainObjectLayoutXxxUiEventEntityImpl.class);
-    }
-
-    @Override
-    protected DomainObjectLayoutXxxUiEventEntityImpl newDetachedEntity(String value) {
-        return new DomainObjectLayoutXxxUiEventEntityImpl(value);
-    }
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/properties/Property/PropertyMenu.java b/domain/src/main/java/demoapp/dom/domain/properties/Property/PropertyMenu.java
index 6924def..bcd3977 100644
--- a/domain/src/main/java/demoapp/dom/domain/properties/Property/PropertyMenu.java
+++ b/domain/src/main/java/demoapp/dom/domain/properties/Property/PropertyMenu.java
@@ -179,14 +179,14 @@ public class PropertyMenu {
 
     private void setSampleBlob(final String suffix, final Consumer<Blob> blobConsumer) {
         blobSamples.stream()
-                .filter(x -> x.getName().endsWith(suffix))
+                .filter(x -> x.name().endsWith(suffix))
                 .findFirst()
                 .ifPresent(blobConsumer);
     }
 
     private void setSampleClob(final String suffix, final Consumer<Clob> clobConsumer) {
         clobSamples.stream()
-                .filter(x -> x.getName().endsWith(suffix))
+                .filter(x -> x.name().endsWith(suffix))
                 .findFirst()
                 .ifPresent(clobConsumer);
     }
diff --git a/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/jdo/PropertyCommandPublishingEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/jdo/PropertyCommandPublishingEntityImpl-description.adoc
deleted file mode 100644
index aab3ce6..0000000
--- a/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/jdo/PropertyCommandPublishingEntityImpl-description.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-
-include::../PropertyCommandPublishingEntity-description.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/jdo/PropertyCommandPublishingEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/jdo/PropertyCommandPublishingEntityImpl.java
deleted file mode 100644
index c56f24c..0000000
--- a/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/jdo/PropertyCommandPublishingEntityImpl.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.properties.Property.commandPublishing.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-
-import demoapp.dom.domain.properties.Property.commandPublishing.PropertyCommandPublishingEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-    identityType = IdentityType.DATASTORE,
-    schema = "demo",
-    table = "PropertyCommandPublishingEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.PropertyCommandPublishingEntity")
-//tag::class[]
-// ...
-@DomainObject(nature = Nature.ENTITY)
-public class PropertyCommandPublishingEntityImpl extends PropertyCommandPublishingEntity {
-    // ...
-//end::class[]
-
-    public PropertyCommandPublishingEntityImpl(String value) {
-        setName(value);
-    }
-
-    @Getter @Setter
-    private String name;
-
-    @Getter @Setter
-    private String notes;
-
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/jdo/PropertyCommandPublishingEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/jdo/PropertyCommandPublishingEntityImplRepository.java
deleted file mode 100644
index 3d710bd..0000000
--- a/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/jdo/PropertyCommandPublishingEntityImplRepository.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.properties.Property.commandPublishing.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-import demoapp.dom.domain.properties.Property.commandPublishing.PropertyCommandPublishingEntityRepository;
-
-@Profile("demo-jdo")
-@Service
-public class PropertyCommandPublishingEntityImplRepository
-extends ValueHolderRepository<String, PropertyCommandPublishingEntityImpl> implements PropertyCommandPublishingEntityRepository {
-
-    protected PropertyCommandPublishingEntityImplRepository() {
-        super(PropertyCommandPublishingEntityImpl.class);
-    }
-
-    @Override
-    protected PropertyCommandPublishingEntityImpl newDetachedEntity(String value) {
-        return new PropertyCommandPublishingEntityImpl(value);
-    }
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/properties/Property/editing/jdo/PropertyEditingEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/properties/Property/editing/jdo/PropertyEditingEntityImpl-description.adoc
deleted file mode 100644
index d9a95c2..0000000
--- a/domain/src/main/java/demoapp/dom/domain/properties/Property/editing/jdo/PropertyEditingEntityImpl-description.adoc
+++ /dev/null
@@ -1,33 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-In this reference app, property editing is disabled by default.
-
-However:
-
-* for the `name` property, editing has been explicitly enabled:
-+
-[source,java,indent=0]
-.PropertyEditingEntityImpl.java
-----
-include::PropertyEditingEntityImpl.java[tags=name]
-----
-<.> editing is enabled after all
-
-* The `originalName` property remains as not editable.
-+
-It uses `@Property#editingDisabledReason` to explain why:
-+
-[source,java,indent=0]
-.PropertyEditingEntityImpl.java
-----
-include::PropertyEditingEntityImpl.java[tags=original-name]
-----
-<.> this reason is rendered in the UI as a tooltip
-
-* Meanwhile the `initialCharacter` property is also not editable (this time, because it is derived) but has no additional annotations:
-+
-[source,java,indent=0]
-.PropertyEditingEntityImpl.java
-----
-include::PropertyEditingEntityImpl.java[tags=initial-character]
-----
diff --git a/domain/src/main/java/demoapp/dom/domain/properties/Property/editing/jdo/PropertyEditingEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/properties/Property/editing/jdo/PropertyEditingEntityImpl.java
deleted file mode 100644
index a99af94..0000000
--- a/domain/src/main/java/demoapp/dom/domain/properties/Property/editing/jdo/PropertyEditingEntityImpl.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.properties.Property.editing.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.Nature;
-import org.apache.causeway.applib.annotation.Property;
-
-import demoapp.dom.domain.properties.Property.editing.PropertyEditingEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-    identityType = IdentityType.DATASTORE,
-    schema = "demo",
-    table = "PropertyEditingEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.PropertyEditingEntity")
-//tag::class[]
-// ...
-@DomainObject(nature = Nature.ENTITY)
-public class PropertyEditingEntityImpl
-                extends PropertyEditingEntity {
-    // ...
-//end::class[]
-
-    public PropertyEditingEntityImpl(String value) {
-        setName(value);
-        setOriginalName(value);
-    }
-//tag::class[]
-
-//tag::name[]
-    @Property(
-            editing = Editing.ENABLED           // <.>
-    )
-    @Getter @Setter
-    private String name;
-//end::name[]
-
-//tag::original-name[]
-    @Property(
-            editingDisabledReason =             // <.>
-                    "This property cannot be edited; " +
-                    "it stores the original value of the name"
-    )
-    @Getter @Setter
-    private String originalName;
-//end::original-name[]
-
-//tag::initial-character[]
-    public Character getInitialCharacter() {    // <.>
-        return getName().charAt(0);
-    }
-//end::initial-character[]
-//end::class[]
-
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/properties/Property/editing/jdo/PropertyEditingEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/properties/Property/editing/jdo/PropertyEditingEntityImplRepository.java
deleted file mode 100644
index a6b83e9..0000000
--- a/domain/src/main/java/demoapp/dom/domain/properties/Property/editing/jdo/PropertyEditingEntityImplRepository.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.properties.Property.editing.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class PropertyEditingEntityImplRepository
-extends ValueHolderRepository<String, PropertyEditingEntityImpl> {
-
-    protected PropertyEditingEntityImplRepository() {
-        super(PropertyEditingEntityImpl.class);
-    }
-
-    @Override
-    protected PropertyEditingEntityImpl newDetachedEntity(String value) {
-        return new PropertyEditingEntityImpl(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/properties/Property/executionPublishing/jdo/PropertyExecutionPublishingEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/properties/Property/executionPublishing/jdo/PropertyExecutionPublishingEntityImpl-description.adoc
deleted file mode 100644
index 44f2155..0000000
--- a/domain/src/main/java/demoapp/dom/domain/properties/Property/executionPublishing/jdo/PropertyExecutionPublishingEntityImpl-description.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-
-include::../PropertyExecutionPublishingEntity-description.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/domain/properties/Property/executionPublishing/jdo/PropertyExecutionPublishingEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/properties/Property/executionPublishing/jdo/PropertyExecutionPublishingEntityImpl.java
deleted file mode 100644
index 7c79e72..0000000
--- a/domain/src/main/java/demoapp/dom/domain/properties/Property/executionPublishing/jdo/PropertyExecutionPublishingEntityImpl.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.properties.Property.executionPublishing.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-
-import demoapp.dom.domain.properties.Property.executionPublishing.PropertyExecutionPublishingEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-    identityType = IdentityType.DATASTORE,
-    schema = "demo",
-    table = "PropertyExecutionPublishingEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.PropertyExecutionPublishingEntity")
-//tag::class[]
-// ...
-@DomainObject(nature = Nature.ENTITY)
-public class PropertyExecutionPublishingEntityImpl extends PropertyExecutionPublishingEntity {
-    // ...
-//end::class[]
-
-    public PropertyExecutionPublishingEntityImpl(String value) {
-        setName(value);
-    }
-
-    @Getter @Setter
-    private String name;
-
-    @Getter @Setter
-    private String notes;
-
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/properties/Property/executionPublishing/jdo/PropertyExecutionPublishingEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/properties/Property/executionPublishing/jdo/PropertyExecutionPublishingEntityImplRepository.java
deleted file mode 100644
index 986910d..0000000
--- a/domain/src/main/java/demoapp/dom/domain/properties/Property/executionPublishing/jdo/PropertyExecutionPublishingEntityImplRepository.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.properties.Property.executionPublishing.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-import demoapp.dom.domain.properties.Property.executionPublishing.PropertyExecutionPublishingEntityRepository;
-
-@Profile("demo-jdo")
-@Service
-public class PropertyExecutionPublishingEntityImplRepository
-extends ValueHolderRepository<String, PropertyExecutionPublishingEntityImpl> implements PropertyExecutionPublishingEntityRepository {
-
-    protected PropertyExecutionPublishingEntityImplRepository() {
-        super(PropertyExecutionPublishingEntityImpl.class);
-    }
-
-    @Override
-    protected PropertyExecutionPublishingEntityImpl newDetachedEntity(String value) {
-        return new PropertyExecutionPublishingEntityImpl(value);
-    }
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/jdo/PropertyProjectingChildEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/jdo/PropertyProjectingChildEntityImpl-description.adoc
deleted file mode 100644
index d4cb8aa..0000000
--- a/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/jdo/PropertyProjectingChildEntityImpl-description.adoc
+++ /dev/null
@@ -1,3 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-include::../PropertyProjectingChildEntity-description.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/jdo/PropertyProjectingChildEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/jdo/PropertyProjectingChildEntityImpl.java
deleted file mode 100644
index 7877d5e..0000000
--- a/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/jdo/PropertyProjectingChildEntityImpl.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.properties.Property.projecting.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.Nature;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.Title;
-import org.apache.causeway.applib.jaxb.PersistentEntityAdapter;
-
-import demoapp.dom.domain.properties.Property.projecting.PropertyProjectingChildEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-//tag::class[]
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.PropertyProjectingChildJdo")
-@DomainObject(
-        nature=Nature.ENTITY
-        , editing = Editing.DISABLED
-)
-@XmlJavaTypeAdapter(PersistentEntityAdapter.class)
-public class PropertyProjectingChildEntityImpl
-        extends PropertyProjectingChildEntity {
-    // ...
-//end::class[]
-
-    public PropertyProjectingChildEntityImpl(final String initialValue) {
-        this.name = initialValue;
-    }
-
-//tag::class[]
-    @Title(prepend = "Entity: ")
-    @PropertyLayout(fieldSetId = "properties", sequence = "1")
-    @Getter @Setter
-    private String name;
-
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/jdo/PropertyProjectingChildEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/jdo/PropertyProjectingChildEntityImplRepository.java
deleted file mode 100644
index 334f635..0000000
--- a/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/jdo/PropertyProjectingChildEntityImplRepository.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.properties.Property.projecting.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class PropertyProjectingChildEntityImplRepository
-extends ValueHolderRepository<String, PropertyProjectingChildEntityImpl> {
-
-    protected PropertyProjectingChildEntityImplRepository() {
-        super(PropertyProjectingChildEntityImpl.class);
-    }
-
-    @Override
-    protected PropertyProjectingChildEntityImpl newDetachedEntity(String value) {
-        return new PropertyProjectingChildEntityImpl(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/properties/Property/snapshot/jdo/PropertySnapshotEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/properties/Property/snapshot/jdo/PropertySnapshotEntityImpl-description.adoc
deleted file mode 100644
index 10459a5..0000000
--- a/domain/src/main/java/demoapp/dom/domain/properties/Property/snapshot/jdo/PropertySnapshotEntityImpl-description.adoc
+++ /dev/null
@@ -1,3 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-include::../PropertySnapshotEntity-description.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/domain/properties/Property/snapshot/jdo/PropertySnapshotEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/properties/Property/snapshot/jdo/PropertySnapshotEntityImpl.java
deleted file mode 100644
index fef6324..0000000
--- a/domain/src/main/java/demoapp/dom/domain/properties/Property/snapshot/jdo/PropertySnapshotEntityImpl.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.properties.Property.snapshot.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-import org.apache.causeway.applib.annotation.Property;
-
-import demoapp.dom.domain.properties.Property.snapshot.PropertySnapshotEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-    identityType = IdentityType.DATASTORE,
-    schema = "demo",
-    table = "PropertySnapshotEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.PropertySnapshotEntity")
-//tag::class[]
-// ...
-@DomainObject(nature = Nature.ENTITY)
-public class PropertySnapshotEntityImpl
-                extends PropertySnapshotEntity {
-    // ...
-//end::class[]
-
-    public PropertySnapshotEntityImpl(final String value) {
-        setName(value);
-    }
-//tag::class[]
-
-//tag::name[]
-    @Property()
-    @Getter @Setter
-    private String name;
-//end::name[]
-
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/properties/Property/snapshot/jdo/PropertySnapshotEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/properties/Property/snapshot/jdo/PropertySnapshotEntityImplRepository.java
deleted file mode 100644
index a4142b3..0000000
--- a/domain/src/main/java/demoapp/dom/domain/properties/Property/snapshot/jdo/PropertySnapshotEntityImplRepository.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.properties.Property.snapshot.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class PropertySnapshotEntityImplRepository
-extends ValueHolderRepository<String, PropertySnapshotEntityImpl> {
-
-    protected PropertySnapshotEntityImplRepository() {
-        super(PropertySnapshotEntityImpl.class);
-    }
-
-    @Override
-    protected PropertySnapshotEntityImpl newDetachedEntity(String value) {
-        return new PropertySnapshotEntityImpl(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/jdo/PropertyLayoutHiddenEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/jdo/PropertyLayoutHiddenEntityImpl-description.adoc
deleted file mode 100644
index 9e99251..0000000
--- a/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/jdo/PropertyLayoutHiddenEntityImpl-description.adoc
+++ /dev/null
@@ -1,3 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-include::../PropertyLayoutHidden-description.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/jdo/PropertyLayoutHiddenEntityImpl.java b/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/jdo/PropertyLayoutHiddenEntityImpl.java
deleted file mode 100644
index ebfee34..0000000
--- a/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/jdo/PropertyLayoutHiddenEntityImpl.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.properties.PropertyLayout.hidden.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.Where;
-
-import demoapp.dom.domain.properties.PropertyLayout.hidden.PropertyLayoutHidden;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-    identityType = IdentityType.DATASTORE,
-    schema = "demo",
-    table = "PropertyLayoutHiddenEntity"
-)
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.PropertyLayoutHiddenEntity")
-//tag::class[]
-// ...
-@DomainObject(nature = Nature.ENTITY)
-public class PropertyLayoutHiddenEntityImpl extends PropertyLayoutHidden {
-    // ...
-//end::class[]
-
-    public PropertyLayoutHiddenEntityImpl(final String value) {
-        setName(value);
-        setNameHiddenAllTables(value);
-        setNameHiddenEverywhere(value);
-        setNameHiddenObjectForms(value);
-    }
-
-    @Property()
-    @Getter @Setter
-    private String name;
-
-    @Property
-    @PropertyLayout(hidden = Where.ALL_TABLES)
-    @Getter @Setter
-    private String nameHiddenAllTables;
-
-    @Property
-    @PropertyLayout(hidden = Where.EVERYWHERE)
-    @Getter @Setter
-    private String nameHiddenEverywhere;
-
-    @Property
-    @PropertyLayout(hidden = Where.OBJECT_FORMS)
-    @Getter @Setter
-    private String nameHiddenObjectForms;
-
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/jdo/PropertyLayoutHiddenEntityImplRepository.java b/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/jdo/PropertyLayoutHiddenEntityImplRepository.java
deleted file mode 100644
index 4fcef0f..0000000
--- a/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/jdo/PropertyLayoutHiddenEntityImplRepository.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.domain.properties.PropertyLayout.hidden.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-import demoapp.dom.domain.properties.PropertyLayout.hidden.PropertyLayoutHiddenRepository;
-
-@Profile("demo-jdo")
-@Service
-public class PropertyLayoutHiddenEntityImplRepository
-extends ValueHolderRepository<String, PropertyLayoutHiddenEntityImpl> implements PropertyLayoutHiddenRepository {
-
-    protected PropertyLayoutHiddenEntityImplRepository() {
-        super(PropertyLayoutHiddenEntityImpl.class);
-    }
-
-    @Override
-    protected PropertyLayoutHiddenEntityImpl newDetachedEntity(String value) {
-        return new PropertyLayoutHiddenEntityImpl(value);
-    }
-}
diff --git a/domain/src/main/java/demoapp/dom/featured/causewayext/cal/jdo/CausewayCalendarEventJdo-description.adoc b/domain/src/main/java/demoapp/dom/featured/causewayext/cal/jdo/CausewayCalendarEventJdo-description.adoc
deleted file mode 100644
index b58e709..0000000
--- a/domain/src/main/java/demoapp/dom/featured/causewayext/cal/jdo/CausewayCalendarEventJdo-description.adoc
+++ /dev/null
@@ -1,18 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-Apache Causeway provides its own implementation of the relevant JDO extension points for the `CalendarEvent` value type, meaning that JDO can persist properties of this value type without further configuration.
-
-[source,java]
-----
-include::CausewayCalendarEventJdo.java[tags=class]
-----
-<.> a no-arg constructor is introduced by JDO enhancer
-<.> required property as defined to JDO/DataNucleus.
-+
-Apache Causeway assumes properties are mandatory, so no additional annotation is required.
-<.> directly editable property as defined to Apache Causeway
-<.> optional property as defined to Apache Causeway
-<.> optional property as defined to JDO/DataNucleus
-
-
-include::../CausewayCalendarEvents-common.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/featured/causewayext/cal/jdo/CausewayCalendarEventJdo.java b/domain/src/main/java/demoapp/dom/featured/causewayext/cal/jdo/CausewayCalendarEventJdo.java
deleted file mode 100644
index 6cef0c3..0000000
--- a/domain/src/main/java/demoapp/dom/featured/causewayext/cal/jdo/CausewayCalendarEventJdo.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.featured.causewayext.cal.jdo;
-
-import javax.jdo.annotations.Column;
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.Optionality;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.Title;
-import org.apache.causeway.extensions.fullcalendar.applib.value.CalendarEvent;
-
-import demoapp.dom.featured.causewayext.cal.persistence.CausewayCalendarEventEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-//tag::class[]
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.CausewayCalendarEventEntity")
-@DomainObject
-public class CausewayCalendarEventJdo                                          // <.>
-        extends CausewayCalendarEventEntity {
-
-//end::class[]
-    public CausewayCalendarEventJdo(final CalendarEvent initialValue) {
-        this.readOnlyProperty = initialValue;
-        this.readWriteProperty = initialValue;
-    }
-
-//tag::class[]
-    @Title(prepend = "CalendarEvent JDO entity: ")
-    @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
-    @Column(allowsNull = "false")                                               // <.>
-    @Getter @Setter
-    private CalendarEvent readOnlyProperty;
-
-    @Property(editing = Editing.ENABLED)                                        // <.>
-    @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
-    @Column(allowsNull = "false")
-    @Getter @Setter
-    private CalendarEvent readWriteProperty;
-
-    @Property(optionality = Optionality.OPTIONAL)                               // <.>
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
-    @Column(allowsNull = "true")                                                // <.>
-    @Getter @Setter
-    private CalendarEvent readOnlyOptionalProperty;
-
-    @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "2")
-    @Column(allowsNull = "true")
-    @Getter @Setter
-    private CalendarEvent readWriteOptionalProperty;
-
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/featured/causewayext/cal/jdo/CausewayCalendarEventJdoEntities.java b/domain/src/main/java/demoapp/dom/featured/causewayext/cal/jdo/CausewayCalendarEventJdoEntities.java
deleted file mode 100644
index c5b563e..0000000
--- a/domain/src/main/java/demoapp/dom/featured/causewayext/cal/jdo/CausewayCalendarEventJdoEntities.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.featured.causewayext.cal.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import org.apache.causeway.extensions.fullcalendar.applib.value.CalendarEvent;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class CausewayCalendarEventJdoEntities
-extends ValueHolderRepository<CalendarEvent, CausewayCalendarEventJdo> {
-
-    protected CausewayCalendarEventJdoEntities() {
-        super(CausewayCalendarEventJdo.class);
-    }
-
-    @Override
-    protected CausewayCalendarEventJdo newDetachedEntity(CalendarEvent value) {
-        return new CausewayCalendarEventJdo(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/progmodel/actions/bulk/jdo/BulkActionItemEntityImpl-description.adoc b/domain/src/main/java/demoapp/dom/progmodel/actions/bulk/jdo/BulkActionItemEntityImpl-description.adoc
deleted file mode 100644
index d75707b..0000000
--- a/domain/src/main/java/demoapp/dom/progmodel/actions/bulk/jdo/BulkActionItemEntityImpl-description.adoc
+++ /dev/null
@@ -1,3 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-include::../BulkActionItemEntity-description.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/progmodel/actions/bulk/jdo/BulkActionItemEntityImpl.java b/domain/src/main/java/demoapp/dom/progmodel/actions/bulk/jdo/BulkActionItemEntityImpl.java
deleted file mode 100644
index 028240e..0000000
--- a/domain/src/main/java/demoapp/dom/progmodel/actions/bulk/jdo/BulkActionItemEntityImpl.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.progmodel.actions.bulk.jdo;
-
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Nature;
-import org.apache.causeway.applib.jaxb.PersistentEntityAdapter;
-
-import demoapp.dom.progmodel.actions.bulk.BulkActionItemEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-@PersistenceCapable(
-    identityType = IdentityType.DATASTORE,
-    schema = "demo",
-    table = "BulkActionItemEntity"
-)
-@XmlJavaTypeAdapter(PersistentEntityAdapter.class)
-@Named("demo.BulkActionItemEntity")
-//tag::class[]
-// ...
-@DomainObject(nature = Nature.ENTITY)
-public class BulkActionItemEntityImpl extends BulkActionItemEntity {
-    // ...
-//end::class[]
-
-    public BulkActionItemEntityImpl(String value) {
-        setName(value);
-    }
-
-    @Getter @Setter
-    private String name;
-
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/progmodel/actions/bulk/jdo/BulkActionItemEntityImplRepository.java b/domain/src/main/java/demoapp/dom/progmodel/actions/bulk/jdo/BulkActionItemEntityImplRepository.java
deleted file mode 100644
index 5ade5c5..0000000
--- a/domain/src/main/java/demoapp/dom/progmodel/actions/bulk/jdo/BulkActionItemEntityImplRepository.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.progmodel.actions.bulk.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-import demoapp.dom.progmodel.actions.bulk.BulkActionItemEntityRepository;
-
-@Profile("demo-jdo")
-@Service
-public class BulkActionItemEntityImplRepository
-extends ValueHolderRepository<String, BulkActionItemEntityImpl> implements BulkActionItemEntityRepository {
-
-    protected BulkActionItemEntityImplRepository() {
-        super(BulkActionItemEntityImpl.class);
-    }
-
-    @Override
-    protected BulkActionItemEntityImpl newDetachedEntity(String value) {
-        return new BulkActionItemEntityImpl(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/ComplexNumberJdo.java b/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/ComplexNumberJdo.java
deleted file mode 100644
index a062f14..0000000
--- a/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/ComplexNumberJdo.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.progmodel.customvaluetypes.embeddedvalues.jdo;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.Value;
-
-import demoapp.dom.progmodel.customvaluetypes.embeddedvalues.ComplexNumber;
-import lombok.AccessLevel;
-
-@Profile("demo-jdo")
-//tag::class[]
-@javax.jdo.annotations.EmbeddedOnly                                 // <.>
-@javax.jdo.annotations.PersistenceCapable(embeddedOnly="true")      // <.>
-@Value                                                              // <.>
-@lombok.Getter                                                      // <.>
-@lombok.Setter(AccessLevel.PRIVATE)                                 // <.>
-@lombok.AllArgsConstructor(staticName = "of")
-@lombok.NoArgsConstructor                                           // <5>
-public class ComplexNumberJdo
-        implements ComplexNumber {
-
-    @javax.jdo.annotations.Column(allowsNull = "false")
-    private double re;                                              // <.>
-
-    @javax.jdo.annotations.Column(allowsNull = "false")
-    private double im;                                              // <6>
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/ComplexNumberJdoValueSemantics.java b/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/ComplexNumberJdoValueSemantics.java
deleted file mode 100644
index a679ade..0000000
--- a/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/ComplexNumberJdoValueSemantics.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.progmodel.customvaluetypes.embeddedvalues.jdo;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Component;
-
-import org.apache.causeway.applib.value.semantics.Parser;
-import org.apache.causeway.applib.value.semantics.Renderer;
-import org.apache.causeway.applib.value.semantics.ValueDecomposition;
-import org.apache.causeway.applib.value.semantics.ValueSemanticsAbstract;
-import org.apache.causeway.schema.common.v2.ValueType;
-
-import demoapp.dom.progmodel.customvaluetypes.embeddedvalues.ComplexNumber;
-
-@Profile("demo-jdo")
-//tag::class[]
-@Named("demo.ComplexNumberJdoValueSemantics")
-@Component
-public class ComplexNumberJdoValueSemantics
-        extends ValueSemanticsAbstract<ComplexNumberJdo>{
-    // ...
- //end::class[]
-
-    @Override
-    public Class<ComplexNumberJdo> getCorrespondingClass() {
-        return ComplexNumberJdo.class;
-    }
-
-//tag::compose[]
-    @Override
-    public ValueType getSchemaValueType() {                                    // <.>
-        /* This type can be easily converted to string and back.
-         * So for convenience, we use its string representation (instead of its decomposed representation).
-         * The decompose/compose methods below must honor the chosen type here. */
-        return ValueType.STRING;
-    }
-
-    @Override
-    public ValueDecomposition decompose(final ComplexNumberJdo value) {        // <.>
-        return decomposeAsString(value, ComplexNumberJdo::asString, ()->null);
-    }
-
-    @Override
-    public ComplexNumberJdo compose(final ValueDecomposition decomposition) {  // <.>
-        return composeFromString(decomposition, string->ComplexNumber.parse(string, ComplexNumberJdo::of), ()->null);
-    }
-//end::compose[]
-
-//tag::getRenderer[]
-    @Override
-    public Renderer<ComplexNumberJdo> getRenderer() {
-        return (context, object) -> title(object, "NaN");
-    }
-
-    private static String title(final ComplexNumber complexNumber, final String fallbackIfNull) {
-        return complexNumber == null
-                ? fallbackIfNull
-                : complexNumber.asString();
-    }
-//end::getRenderer[]
-
-//tag::getParser[]
-    @Override
-    public Parser<ComplexNumberJdo> getParser() {
-        return new Parser<ComplexNumberJdo>() {
-            @Override
-            public String parseableTextRepresentation(final Context context, final ComplexNumberJdo value) {
-                return title(value, "NaN");
-            }
-
-            @Override
-            public ComplexNumberJdo parseTextRepresentation(final Context context, final String complexNumberString) {
-                if(!org.springframework.util.StringUtils.hasLength(complexNumberString)
-                        || complexNumberString.contains("NaN")) {
-                    return null;
-                }
-                return ComplexNumber.parse(complexNumberString, ComplexNumberJdo::of);
-            }
-
-            @Override
-            public int typicalLength() {
-                return 20;
-            }
-        };
-    }
-//end::getParser[]
-
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/EmbeddedTypeMenuJdo.java b/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/EmbeddedTypeMenuJdo.java
deleted file mode 100644
index 1432dfa..0000000
--- a/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/EmbeddedTypeMenuJdo.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.progmodel.customvaluetypes.embeddedvalues.jdo;
-
-import jakarta.annotation.Priority;
-import jakarta.inject.Inject;
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.Action;
-import org.apache.causeway.applib.annotation.ActionLayout;
-import org.apache.causeway.applib.annotation.DomainService;
-import org.apache.causeway.applib.annotation.PriorityPrecedence;
-import org.apache.causeway.applib.services.factory.FactoryService;
-
-import lombok.RequiredArgsConstructor;
-
-@Profile("demo-jdo")
-@Named("demo.EmbeddedTypeMenuJdo")
-@DomainService
-@Priority(PriorityPrecedence.EARLY)
-@RequiredArgsConstructor(onConstructor_ = {@Inject})
-public class EmbeddedTypeMenuJdo {
-
-    private final FactoryService factoryService;
-
-    @Action
-    @ActionLayout(
-            cssClassFa="fa-stop-circle",
-            describedAs = "Embedded (value) types"
-    )
-    public EmbeddedTypePageJdo embeddedTypes(){
-        return factoryService.viewModel(new EmbeddedTypePageJdo());
-    }
-}
diff --git a/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/EmbeddedTypePageJdo-description.adoc b/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/EmbeddedTypePageJdo-description.adoc
deleted file mode 100644
index 145fac9..0000000
--- a/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/EmbeddedTypePageJdo-description.adoc
+++ /dev/null
@@ -1,78 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-Embedded types are a feature of the JDO ORM that an entity to a field of a composite type which groups several data fields together.
-The values of the composite type are then stored inline within the entity's table.
-Such embedded types have no identity in and of themselves; they are identified only by the entity that references them.
-
-Embedded types themselves can be mutable or immutable.
-When immutable, they are very similar to value types.
-However, they are not quite true value types as the ORM needs to update their fields directly.
-To enable that, a mutator method is required, though it can be made `private`.
-
-
-== How this demo works
-
-This page object has a collection `allConstants` that just returns a set of `NumberConstantJdo` entities.
-The `NumberConstantJdo` entity defines a `name` property (of type `String`) and a `numberConstant` property (of type `ComplexNumberJdo`).
-It is this second property that we are interested in.
-
-In terms of code:
-
-* the `NumberConstantJdo` entity is defined as:
-+
-[source,java]
-.NumberConstantJdo.java
-----
-include::NumberConstantJdo.java[tags=class]
-----
-<.> JDO `@Embedded` annotation indicates that the constituent parts of the embedded type should be stored as columns of the owning entity
-
-* the `ComplexNumberJdo` is the embedded type:
-+
-[source,java]
-.ComplexNumberJdo.java
-----
-include::ComplexNumberJdo.java[tags=class]
-----
-<.> JDO `@EmbeddedOnly` annotation is the companion of `@Embedded` on the owning object.
-<.> with presence of `@EmbeddedOnly` should not be required; but app fails on launch if not provided.
-<.> Indicates to the framework that this is a value rather than an entity.
-Accordingly, we will also need to provide a `ValueSemanticsProvider` implementation, discussed below.
-<.> provides access the fields
-<.> allows the ORM to initialize the fields
-<.> these fields of the embedded type are persisted as columns of the owning entity
-
-* the `ComplexNumberJdoValueSemantics` class instructs the framework how to render the `ComplexNumberJdo` as a value.
-+
-[source,java,indent=0]
-.ComplexNumberJdoValueSemantics.java
-----
-include::ComplexNumberJdoValueSemantics.java[tags=class]
-----
-
-** the `getRenderer()` method:
-+
-[source,java,indent=0]
-.ComplexNumberJdoValueSemantics.java
-----
-include::ComplexNumberJdoValueSemantics.java[tags=getRenderer]
-----
-
-** the `compose()`/`decompose()` methods:
-+
-[source,java,indent=0]
-.ComplexNumberJdoValueSemantics.java
-----
-include::ComplexNumberJdoValueSemantics.java[tags=compose]
-----
-<.> specifies which fundamental _schema type_ to use when representing the _value type_ as JSON or XML (RestfulObjects, Commands, Executions, ...)  
-<.> converts the _value type_ into the _schema type_ (for composite types that would be decomposition into fundamental _schema types_) 
-<.> converts the _schema type_ into the _value type_ (for composite types that would be composition from fundamental _schema types_)
-
-** the `getParser()` method allows new values to be entered as strings:
-+
-[source,java,indent=0]
-.ComplexNumberJdoValueSemantics.java
-----
-include::ComplexNumberJdoValueSemantics.java[tags=getParser]
-----
diff --git a/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/EmbeddedTypePageJdo.java b/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/EmbeddedTypePageJdo.java
deleted file mode 100644
index 1b3f703..0000000
--- a/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/EmbeddedTypePageJdo.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.progmodel.customvaluetypes.embeddedvalues.jdo;
-
-import java.util.List;
-
-import jakarta.inject.Inject;
-import jakarta.inject.Named;
-
-import org.apache.causeway.applib.annotation.Collection;
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.DomainObjectLayout;
-import org.apache.causeway.applib.annotation.Nature;
-import org.apache.causeway.applib.annotation.ObjectSupport;
-
-import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
-import demoapp.dom._infra.values.ValueHolderRepository;
-import demoapp.dom.progmodel.customvaluetypes.embeddedvalues.ComplexNumber;
-import demoapp.dom.progmodel.customvaluetypes.embeddedvalues.NumberConstantEntity;
-import lombok.NoArgsConstructor;
-
-//tag::class[]
-@Named("demo.EmbeddedTypePageJdo")
-@DomainObject(nature=Nature.VIEW_MODEL)
-@DomainObjectLayout(cssClassFa="fa-stop-circle")
-@NoArgsConstructor
-public class EmbeddedTypePageJdo implements HasAsciiDocDescription {
-
-    // ...
-//end::class[]
-    @Inject private ValueHolderRepository<ComplexNumber, ? extends NumberConstantEntity> numberConstantRepo;
-
-    @ObjectSupport public String title() {
-        return "Embedded Types";
-    }
-
-//tag::class[]
-    @Collection
-    public List<? extends NumberConstantEntity> getAllConstants(){
-        return numberConstantRepo.all();
-    }
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/EmbeddedTypePageJdo.layout.xml b/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/EmbeddedTypePageJdo.layout.xml
deleted file mode 100644
index d65c225..0000000
--- a/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/EmbeddedTypePageJdo.layout.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
-	license agreements. See the NOTICE file distributed with this work for additional
-	information regarding copyright ownership. The ASF licenses this file to
-	you under the Apache License, Version 2.0 (the "License"); you may not use
-	this file except in compliance with the License. You may obtain a copy of
-	the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
-	by applicable law or agreed to in writing, software distributed under the
-	License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
-	OF ANY KIND, either express or implied. See the License for the specific
-	language governing permissions and limitations under the License. -->
-<bs3:grid
-        xsi:schemaLocation="https://causeway.apache.org/applib/layout/component https://causeway.apache.org/applib/layout/component/component.xsd   https://causeway.apache.org/applib/layout/grid/bootstrap3 https://causeway.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd"
-        xmlns:bs3="https://causeway.apache.org/applib/layout/grid/bootstrap3"
-        xmlns:cpt="https://causeway.apache.org/applib/layout/component"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <bs3:row>
-        <bs3:col span="10" unreferencedActions="true">
-            <cpt:domainObject/>
-        </bs3:col>
-        <bs3:col span="2">
-            <cpt:fieldSet name="" id="sources" />
-        </bs3:col>
-    </bs3:row>
-    <bs3:row>
-        <bs3:col span="6">
-            <bs3:row>
-                <bs3:col span="12">
-            	    <cpt:collection id="allConstants"/>
-                </bs3:col>
-            </bs3:row>
-            <bs3:row>
-                <bs3:col span="12">
-                    <cpt:fieldSet name="Other" id="other" unreferencedProperties="true"/>
-                </bs3:col>
-            </bs3:row>
-        </bs3:col>
-        <bs3:col span="6">
-         	<cpt:fieldSet name="Description" id="description">
-                <cpt:action id="clearHints" position="PANEL" />
-                <cpt:action id="rebuildMetamodel" position="PANEL"/>
-				<cpt:action id="downloadLayout"  position="PANEL_DROPDOWN"/>
-                <cpt:action id="inspectMetamodel"  position="PANEL_DROPDOWN"/>
-                <cpt:action id="downloadMetamodelXml"  position="PANEL_DROPDOWN"/>
-				<cpt:action id="downloadJdoMetamodel"  position="PANEL_DROPDOWN"/>
-                <cpt:action id="recentCommands"  position="PANEL_DROPDOWN"/>
-                <cpt:action id="recentExecutions"  position="PANEL_DROPDOWN"/>
-                <cpt:action id="recentAuditTrailEntries"  position="PANEL_DROPDOWN"/>
-				<cpt:action id="impersonateWithRoles"  position="PANEL_DROPDOWN"/>
-                <cpt:action id="openRestApi" position="PANEL_DROPDOWN" />
-                <cpt:property id="description"/>
-            </cpt:fieldSet>
-        </bs3:col>
-    </bs3:row>
-    <bs3:row>
-        <bs3:col span="12" unreferencedCollections="true"/>
-    </bs3:row>
-</bs3:grid>
diff --git a/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/NumberConstantJdo-description.adoc b/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/NumberConstantJdo-description.adoc
deleted file mode 100644
index 8528f34..0000000
--- a/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/NumberConstantJdo-description.adoc
+++ /dev/null
@@ -1,26 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-
-This class is a parent entity that contains an embedded type as a property:
-
-[source,java]
-.NumberConstantJdo.java
-----
-include::NumberConstantJdo.java[tags=class]
-----
-<.> JDO `@Embedded` annotation indicates that the constituent parts of the embedded type should be stored as columns of the owning entity
-
-
-The `ComplexNumberJdo` is the embedded type:
-
-[source,java]
-.ComplexNumberJdo.java
-----
-include::ComplexNumberJdo.java[tags=class]
-----
-<.> JDO `@EmbeddedOnly` annotation is the companion of `@Embedded` on the owning object
-<.> Indicates to the framework that this is a value rather than an entity.
-Accordingly, we will also need to provide a `ValueSemanticsProvider` implementation, discussed below.
-<.> provides access the fields
-<.> allows the ORM to initialize the fields
-<.> these fields of the embedded type are persisted as columns of the owning entity
diff --git a/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/NumberConstantJdo.java b/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/NumberConstantJdo.java
deleted file mode 100644
index 750611e..0000000
--- a/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/NumberConstantJdo.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.progmodel.customvaluetypes.embeddedvalues.jdo;
-
-import javax.jdo.annotations.Column;
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-import javax.jdo.annotations.Persistent;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.ObjectSupport;
-import org.apache.causeway.applib.annotation.Property;
-
-import demoapp.dom.progmodel.customvaluetypes.embeddedvalues.ComplexNumber;
-import demoapp.dom.progmodel.customvaluetypes.embeddedvalues.NumberConstantEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-//tag::class[]
-@Named("demo.NumberConstantEntityJdo")
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo" )
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@DomainObject
-public class NumberConstantJdo
-//end::class[]
-        extends NumberConstantEntity
-//tag::class[]
-{
-
-    // ...
-
-//end::class[]
-    @ObjectSupport public String title() {
-        return getName();
-    }
-
-    @Override
-    public ComplexNumber value() {
-        return getNumber();
-    }
-
-//tag::class[]
-    @javax.jdo.annotations.Column(allowsNull = "false")
-    @Property
-    @Getter @Setter
-    private String name;
-
-    @javax.jdo.annotations.Embedded(members={                           // <.>
-            @Persistent(name="re", columns=@Column(name="number_re")),  // <1>
-            @Persistent(name="im", columns=@Column(name="number_im"))   // <1>
-    })
-    @Property(editing = Editing.ENABLED)
-    @Getter @Setter
-    private ComplexNumberJdo number;
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/NumberConstantJdo.layout.xml b/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/NumberConstantJdo.layout.xml
deleted file mode 100644
index 22c4a03..0000000
--- a/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/NumberConstantJdo.layout.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
-	license agreements. See the NOTICE file distributed with this work for additional
-	information regarding copyright ownership. The ASF licenses this file to
-	you under the Apache License, Version 2.0 (the "License"); you may not use
-	this file except in compliance with the License. You may obtain a copy of
-	the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
-	by applicable law or agreed to in writing, software distributed under the
-	License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
-	OF ANY KIND, either express or implied. See the License for the specific
-	language governing permissions and limitations under the License. -->
-<bs3:grid
-	xsi:schemaLocation="https://causeway.apache.org/applib/layout/component https://causeway.apache.org/applib/layout/component/component.xsd   https://causeway.apache.org/applib/layout/grid/bootstrap3 https://causeway.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd"
-	xmlns:bs3="https://causeway.apache.org/applib/layout/grid/bootstrap3"
-	xmlns:cpt="https://causeway.apache.org/applib/layout/component"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-	<bs3:row>
-		<bs3:col span="10" unreferencedActions="true">
-			<cpt:domainObject />
-		</bs3:col>
-		<bs3:col span="2">
-			<cpt:fieldSet name="" id="sources" />
-		</bs3:col>
-	</bs3:row>
-
-	<bs3:row>
-		<bs3:col span="6">
-			<bs3:row>
-				<bs3:col span="12">
-					<cpt:fieldSet name="Constant" id="const">
-						<cpt:property id="name" />
-						<cpt:property id="number" />
-					</cpt:fieldSet>
-				</bs3:col>
-			</bs3:row>
-			<bs3:row>
-				<bs3:col span="12">
-					<cpt:fieldSet name="Other" id="other" unreferencedProperties="true"/>
-				</bs3:col>
-			</bs3:row>
-		</bs3:col>
-		<bs3:col span="6">
-			<cpt:fieldSet name="Description" id="description" >
-				<cpt:action id="clearHints" position="PANEL" />
-				<cpt:action id="rebuildMetamodel" position="PANEL"/>
-				<cpt:action id="downloadLayout"  position="PANEL_DROPDOWN"/>
-				<cpt:action id="inspectMetamodel"  position="PANEL_DROPDOWN"/>
-				<cpt:action id="downloadMetamodelXml"  position="PANEL_DROPDOWN"/>
-				<cpt:action id="downloadJdoMetamodel"  position="PANEL_DROPDOWN"/>
-				<cpt:action id="recentCommands"  position="PANEL_DROPDOWN"/>
-				<cpt:action id="recentExecutions"  position="PANEL_DROPDOWN"/>
-				<cpt:action id="recentAuditTrailEntries"  position="PANEL_DROPDOWN"/>
-				<cpt:action id="impersonateWithRoles"  position="PANEL_DROPDOWN"/>
-				<cpt:action id="openRestApi" position="PANEL_DROPDOWN" />
-				<cpt:property id="description"/>
-			</cpt:fieldSet>
-		</bs3:col>
-	</bs3:row>
-	<bs3:row>
-		<bs3:col span="12" unreferencedCollections="true"/>
-	</bs3:row>
-
-</bs3:grid>
diff --git a/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/NumberConstantJdo.svg b/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/NumberConstantJdo.svg
deleted file mode 100644
index c737ce5..0000000
--- a/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/NumberConstantJdo.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg height="511pt" viewBox="0 -7 511.99887 511" width="511pt" xmlns="http://www.w3.org/2000/svg"><path d="m454.550781 217.1875c14.160157 0 27.886719-5.453125 38.652344-15.351562 10.75-9.886719 17.347656-23.109376 18.585937-37.234376 1.28125-14.65625-3.304687-28.503906-12.917968-38.996093-9.574219-10.449219-22.898438-16.207031-37.546875-16.207031h-53.605469l4.695312-53.699219c1.28125-14.65625-3.304687-28.503907-12.914062-38.992188-9.574219-10.453125-22.898438-16.207031-37.515625-16.20703 [...]
\ No newline at end of file
diff --git a/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/NumberConstantJdoRepository.java b/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/NumberConstantJdoRepository.java
deleted file mode 100644
index da26d1f..0000000
--- a/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jdo/NumberConstantJdoRepository.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.progmodel.customvaluetypes.embeddedvalues.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-import demoapp.dom.progmodel.customvaluetypes.embeddedvalues.ComplexNumber;
-import lombok.val;
-
-@Profile("demo-jdo")
-@Service
-public class NumberConstantJdoRepository
-extends ValueHolderRepository<ComplexNumber, NumberConstantJdo> {
-
-    protected NumberConstantJdoRepository() {
-        super(NumberConstantJdo.class);
-    }
-
-    @Override
-    protected NumberConstantJdo newDetachedEntity(ComplexNumber value) {
-        val numConst = repositoryService.detachedEntity(new NumberConstantJdo());
-        numConst.setName(((ComplexNumber.SimpleNamedComplexNumber)value).getName());
-        numConst.setNumber(ComplexNumberJdo.of(value.getRe(), value.getIm()));
-        return numConst;
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jpa/NumberConstantJpa.java b/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jpa/NumberConstantJpa.java
index 82dfe3c..428930b 100644
--- a/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jpa/NumberConstantJpa.java
+++ b/domain/src/main/java/demoapp/dom/progmodel/customvaluetypes/embeddedvalues/jpa/NumberConstantJpa.java
@@ -19,6 +19,7 @@
 package demoapp.dom.progmodel.customvaluetypes.embeddedvalues.jpa;
 
 import jakarta.inject.Named;
+import jakarta.persistence.Column;
 import jakarta.persistence.Entity;
 import jakarta.persistence.EntityListeners;
 import jakarta.persistence.GeneratedValue;
@@ -33,12 +34,13 @@ import org.apache.causeway.applib.annotation.ObjectSupport;
 import org.apache.causeway.applib.annotation.Property;
 import org.apache.causeway.persistence.jpa.applib.integration.CausewayEntityListener;
 
-import demoapp.dom.progmodel.customvaluetypes.embeddedvalues.ComplexNumber;
-import demoapp.dom.progmodel.customvaluetypes.embeddedvalues.NumberConstantEntity;
 import lombok.Getter;
 import lombok.NoArgsConstructor;
 import lombok.Setter;
 
+import demoapp.dom.progmodel.customvaluetypes.embeddedvalues.ComplexNumber;
+import demoapp.dom.progmodel.customvaluetypes.embeddedvalues.NumberConstantEntity;
+
 @Profile("demo-jpa")
 //tag::class[]
 @Entity
@@ -71,7 +73,7 @@ public class NumberConstantJpa
     private Long id;
 
 //tag::class[]
-    @javax.jdo.annotations.Column(allowsNull = "false")
+    @Column(nullable = false)
     @Property
     @Getter @Setter
     private String name;
diff --git a/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/EmailTicket.java b/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/EmailTicket.java
index 8da77b3..21671ce 100644
--- a/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/EmailTicket.java
+++ b/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/EmailTicket.java
@@ -82,7 +82,7 @@ public class EmailTicket extends SimpleTicket {
 
         static String mailBodyOf(final ErrorDetails errorDetails) {
             return "Stacktrace:%0D%0A=================%0D%0A" +
-                    stream(errorDetails.getStackTraceDetailPerCause())
+                    stream(errorDetails.stackTraceDetailPerCause())
             .map(MailTo::causeToString)
             .collect(Collectors.joining("%0D%0A%0D%0A"))
             ;
diff --git a/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/ErrorReportingServiceForDemo.java b/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/ErrorReportingServiceForDemo.java
index 24e4acc..2efea40 100644
--- a/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/ErrorReportingServiceForDemo.java
+++ b/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/ErrorReportingServiceForDemo.java
@@ -40,7 +40,7 @@ public class ErrorReportingServiceForDemo implements ErrorReportingService {
     public Ticket reportError(final ErrorDetails errorDetails) {
 
         val reference = "#0";                               // <.>
-        val userMessage = errorDetails.getMainMessage();
+        val userMessage = errorDetails.mainMessage();
         val details = "Apologies!";
 
         val mailTo = EmailTicket.MailTo.builder()
diff --git a/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJdo.java b/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJdo.java
deleted file mode 100644
index a7aa56f..0000000
--- a/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJdo.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.services.core.eventbusservice;
-
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.Action;
-import org.apache.causeway.applib.annotation.ActionLayout;
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.Property;
-
-import demoapp.dom.services.core.eventbusservice.EventBusServiceDemoPage.UiButtonEvent;
-import lombok.Getter;
-import lombok.Setter;
-import lombok.val;
-
-@Profile("demo-jdo")
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo" )
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.EventLogEntry")
-@DomainObject
-public class EventLogEntryJdo
-extends EventLogEntry {
-
-    // -- FACTORY
-
-    public static EventLogEntryJdo of(final UiButtonEvent event) {
-        val x = new EventLogEntryJdo();
-        x.setEvent("Button clicked " + LocalDateTime.now().format(DateTimeFormatter.ISO_LOCAL_TIME));
-        return x;
-    }
-
-    @javax.jdo.annotations.Column(allowsNull = "false")
-    @Property(editing = Editing.DISABLED)
-    @Getter(onMethod_ = {@Override}) @Setter(onMethod_ = {@Override})
-    private String event;
-
-    @javax.jdo.annotations.Column(allowsNull = "true")
-    @Property(editing = Editing.ENABLED)
-    @Getter(onMethod_ = {@Override}) @Setter(onMethod_ = {@Override})
-    private Acknowledge acknowledge;
-
-    @Action
-    @ActionLayout(associateWith = "acknowledge")
-    public EventLogEntryJdo acknowledge(final Acknowledge acknowledge) {
-        setAcknowledge(acknowledge);
-        return this;
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJdoRepository.java b/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJdoRepository.java
deleted file mode 100644
index 5ce95b1..0000000
--- a/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJdoRepository.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.services.core.eventbusservice;
-
-import java.util.List;
-
-import jakarta.inject.Inject;
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Repository;
-
-import org.apache.causeway.applib.services.repository.RepositoryService;
-
-import demoapp.dom.services.core.eventbusservice.EventBusServiceDemoPage.UiButtonEvent;
-import lombok.RequiredArgsConstructor;
-
-@Profile("demo-jdo")
-@Repository
-@Named("demo.eventLogRepository")
-@RequiredArgsConstructor(onConstructor_ = { @Inject })
-public class EventLogEntryJdoRepository
-implements EventLogEntryRepository<EventLogEntryJdo> {
-
-    final RepositoryService repositoryService;
-
-    @Override
-    public List<EventLogEntryJdo> listAll(){
-        return repositoryService.allInstances(EventLogEntryJdo.class);
-    }
-
-    @Override
-    public void add(final EventLogEntryJdo entry) {
-        repositoryService.persist(entry);
-    }
-
-    @Override
-    public EventLogEntryJdo newEntityFor(final UiButtonEvent event) {
-        return EventLogEntryJdo.of(event);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/jdo/PrimeNumberJdo-description.adoc b/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/jdo/PrimeNumberJdo-description.adoc
deleted file mode 100644
index df18c80..0000000
--- a/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/jdo/PrimeNumberJdo-description.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-Instances of this entity are created in the background when the action to create them is invoked through the `WrapperFactory`, asynchronously.
-
-[source,java]
-.PrimeNumberJdo.java
-----
-include::PrimeNumberJdo.java[tags=class]
-----
diff --git a/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/jdo/PrimeNumberJdo.java b/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/jdo/PrimeNumberJdo.java
deleted file mode 100644
index 8531679..0000000
--- a/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/jdo/PrimeNumberJdo.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.services.core.wrapperFactory.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.Nature;
-import org.apache.causeway.applib.annotation.Property;
-
-import demoapp.dom.services.core.wrapperFactory.PrimeNumber;
-import lombok.Getter;
-
-@Profile("demo-jdo")
-//tag::class[]
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.PrimeNumber")
-@DomainObject(
-        nature=Nature.ENTITY
-        , editing = Editing.DISABLED
-)
-public class PrimeNumberJdo
-        extends PrimeNumber {
-
-    public PrimeNumberJdo(final Integer orimeNumber) {
-        this.primeNumber = orimeNumber;
-    }
-
-    @Property
-    @Getter
-    private Integer primeNumber;
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/jdo/PrimeNumberJdoFactoryAndRepository.java b/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/jdo/PrimeNumberJdoFactoryAndRepository.java
deleted file mode 100644
index aa70616..0000000
--- a/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/jdo/PrimeNumberJdoFactoryAndRepository.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.services.core.wrapperFactory.jdo;
-
-import java.util.List;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import org.apache.causeway.applib.services.repository.RepositoryService;
-
-import demoapp.dom.services.core.wrapperFactory.PrimeNumberFactory;
-import demoapp.dom.services.core.wrapperFactory.PrimeNumberRepository;
-import lombok.RequiredArgsConstructor;
-
-@Profile("demo-jdo")
-@Service
-@RequiredArgsConstructor
-public class PrimeNumberJdoFactoryAndRepository
-        implements PrimeNumberRepository<PrimeNumberJdo>, PrimeNumberFactory<PrimeNumberJdo> {
-
-    private final RepositoryService repositoryService;
-
-    @Override
-    public PrimeNumberJdo newPrimeNumber(final Integer value) {
-        return repositoryService.persistAndFlush(new PrimeNumberJdo(value));
-    }
-
-    @Override
-    public List<PrimeNumberJdo> all() {
-        return repositoryService.allInstances(PrimeNumberJdo.class);
-    }
-
-    @Override
-    public void removeAll() {
-        all().forEach(repositoryService::remove);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/jdo/TenantedJdo.java b/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/jdo/TenantedJdo.java
deleted file mode 100644
index dc93ca2..0000000
--- a/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/jdo/TenantedJdo.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.services.extensions.secman.apptenancy.jdo;
-
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.Action;
-import org.apache.causeway.applib.annotation.ActionLayout;
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.MemberSupport;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.SemanticsOf;
-import org.apache.causeway.applib.annotation.Title;
-
-import demoapp.dom.services.extensions.secman.apptenancy.persistence.TenantedEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-//tag::class[]
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo" )
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.TenantedEntity")
-@DomainObject
-public class TenantedJdo
-        extends TenantedEntity {
-
-    public TenantedJdo(final String name) {
-        this.name = name;
-    }
-
-    @Title
-    @Property(editing = Editing.ENABLED)
-    @PropertyLayout(fieldSetId = "General", sequence = "1")
-    @Getter @Setter
-    private String name;
-
-    @Action(semantics = SemanticsOf.SAFE)
-    @ActionLayout(associateWith = "name", sequence = "1")
-    public TenantedJdo updateName(final String name) {
-        this.name = name;
-        return this;
-    }
-    @MemberSupport public String default0UpdateName() {
-        return this.name;
-    }
-
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/jdo/TenantedJdoEntities.java b/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/jdo/TenantedJdoEntities.java
deleted file mode 100644
index 2dba413..0000000
--- a/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/jdo/TenantedJdoEntities.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.services.extensions.secman.apptenancy.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class TenantedJdoEntities
-extends ValueHolderRepository<String, TenantedJdo> {
-
-    protected TenantedJdoEntities() {
-        super(TenantedJdo.class);
-    }
-
-    @Override
-    protected TenantedJdo newDetachedEntity(String value) {
-        return new TenantedJdo(value);
-    }
-
-}
\ No newline at end of file
diff --git a/domain/src/main/java/demoapp/dom/types/causeway/blobs/jdo/CausewayBlobJdo-description.adoc b/domain/src/main/java/demoapp/dom/types/causeway/blobs/jdo/CausewayBlobJdo-description.adoc
deleted file mode 100644
index 5768ff0..0000000
--- a/domain/src/main/java/demoapp/dom/types/causeway/blobs/jdo/CausewayBlobJdo-description.adoc
+++ /dev/null
@@ -1,36 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-Apache Causeway implements the relevant JDO extension points to allow the link:https://causeway.apache.org/refguide/${CAUSEWAY_VERSION}/applib/index/value/Blob.html[Blob] type to be persisted.
-To do so correctly, it requires that the column names for the three constituent parts of a `Blob` are specified using `@Column`:
-
-== About this demo
-
-On the left hand side of this page, four `Blob` properties are defined for a JDO entity, along with a variety of contributed properties and action.
-The properties can variously be edited directly or through actions.
-
-In terms of code:
-
-* the entity class is:
-+
-[source,java]
-----
-include::CausewayBlobJdo.java[tags=class]
-----
-
-* the `readOnlyProperty` (mandatory) property is mapped using:
-+
-[source,java,indent=0]
-----
-include::CausewayBlobJdo.java[tags=property]
-----
-
-* while an optional property is mapped using:
-+
-[source,java,indent=0]
-----
-include::CausewayBlobJdo.java[tags=optional-property]
-----
-
-The remainder of this page describes the mixin actions and label placement for this datatype.
-
-include::../CausewayBlobs-common.adoc[leveloffset=+1]
diff --git a/domain/src/main/java/demoapp/dom/types/causeway/blobs/jdo/CausewayBlobJdo.java b/domain/src/main/java/demoapp/dom/types/causeway/blobs/jdo/CausewayBlobJdo.java
deleted file mode 100644
index 2c151fe..0000000
--- a/domain/src/main/java/demoapp/dom/types/causeway/blobs/jdo/CausewayBlobJdo.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.causeway.blobs.jdo;
-
-import javax.jdo.annotations.Column;
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-import javax.jdo.annotations.Persistent;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.Optionality;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.Title;
-import org.apache.causeway.applib.value.Blob;
-
-import demoapp.dom.types.causeway.blobs.persistence.CausewayBlobEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-//tag::class[]
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.CausewayBlobEntity")
-@DomainObject
-public class CausewayBlobJdo                                            // <.>
-        extends CausewayBlobEntity {
-    // ...
-//end::class[]
-    public CausewayBlobJdo(final Blob initialValue) {
-        this.readOnlyProperty = initialValue;
-        this.readWriteProperty = initialValue;
-    }
-
-//tag::property[]
-    @Title(prepend = "Blob JDO entity: ")
-    @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
-    @Persistent(defaultFetchGroup="false", columns = {              // <.>
-            @Column(name = "readOnlyProperty_name"),
-            @Column(name = "readOnlyProperty_mimetype"),
-            @Column(name = "readOnlyProperty_bytes")
-    })
-    @Getter @Setter
-    private Blob readOnlyProperty;
-//end::property[]
-
-    @Property(editing = Editing.ENABLED,
-            optionality = Optionality.MANDATORY)
-    @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
-    @Persistent(defaultFetchGroup="false", columns = {
-            @Column(name = "readWriteProperty_name"),
-            @Column(name = "readWriteProperty_mimetype"),
-            @Column(name = "readWriteProperty_bytes")
-    })
-    @Getter @Setter
-    private Blob readWriteProperty;
-
-//tag::optional-property[]
-    @Property(optionality = Optionality.OPTIONAL)                   // <.>
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
-    @Persistent(defaultFetchGroup="false", columns = {
-            @Column(name = "readOnlyOptionalProperty_name",
-                    allowsNull = "true"),                           // <.>
-            @Column(name = "readOnlyOptionalProperty_mimetype",
-                    allowsNull = "true"),
-            @Column(name = "readOnlyOptionalProperty_bytes",
-                    allowsNull = "true")
-    })
-    @Getter @Setter
-    private Blob readOnlyOptionalProperty;
-//end::optional-property[]
-
-    @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "2")
-    @Persistent(defaultFetchGroup="false", columns = {
-            @Column(name = "readWriteOptionalProperty_name",
-                    allowsNull = "true"),
-            @Column(name = "readWriteOptionalProperty_mimetype",
-                    allowsNull = "true"),
-            @Column(name = "readWriteOptionalProperty_bytes",
-                    allowsNull = "true")
-    })
-    @Getter @Setter
-    private Blob readWriteOptionalProperty;
-
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/types/causeway/blobs/jdo/CausewayBlobJdoEntities.java b/domain/src/main/java/demoapp/dom/types/causeway/blobs/jdo/CausewayBlobJdoEntities.java
deleted file mode 100644
index bd9cfc3..0000000
--- a/domain/src/main/java/demoapp/dom/types/causeway/blobs/jdo/CausewayBlobJdoEntities.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.causeway.blobs.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import org.apache.causeway.applib.value.Blob;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class CausewayBlobJdoEntities
-extends ValueHolderRepository<Blob, CausewayBlobJdo> {
-
-    protected CausewayBlobJdoEntities() {
-        super(CausewayBlobJdo.class);
-    }
-
-    @Override
-    protected CausewayBlobJdo newDetachedEntity(Blob value) {
-        return new CausewayBlobJdo(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/types/causeway/blobs/jdo/package-info.java b/domain/src/main/java/demoapp/dom/types/causeway/blobs/jdo/package-info.java
deleted file mode 100644
index 690693d..0000000
--- a/domain/src/main/java/demoapp/dom/types/causeway/blobs/jdo/package-info.java
+++ /dev/null
@@ -1,4 +0,0 @@
-/**
- * This files are NOT generated.
- */
-package demoapp.dom.types.causeway.blobs.jdo;
\ No newline at end of file
diff --git a/domain/src/main/java/demoapp/dom/types/causeway/clobs/jdo/CausewayClobJdo-description.adoc b/domain/src/main/java/demoapp/dom/types/causeway/clobs/jdo/CausewayClobJdo-description.adoc
deleted file mode 100644
index 06f33c5..0000000
--- a/domain/src/main/java/demoapp/dom/types/causeway/clobs/jdo/CausewayClobJdo-description.adoc
+++ /dev/null
@@ -1,38 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-Apache Causeway implements the relevant JDO extension points to allow the link:https://causeway.apache.org/refguide/${CAUSEWAY_VERSION}/applib/index/value/Blob.html[Clob] type to be persisted.
-To do so correctly, it requires that the column names for the three constituent parts of a `Clob` are specified using `@Column`.
-It's also necessary to specify the `jdbcType` to hold the characters.
-
-== About this demo
-
-On the left hand side of this page, four `Clob` properties are defined for a JDO entity, along with a variety of contributed properties and action.
-The properties can variously be edited directly or through actions.
-
-In terms of code:
-
-* the entity class is:
-+
-[source,java]
-----
-include::CausewayClobJdo.java[tags=class]
-----
-
-* the `readOnlyProperty` (mandatory) property is mapped using:
-+
-[source,java,indent=0]
-----
-include::CausewayClobJdo.java[tags=property]
-----
-
-* while an optional property is mapped using:
-+
-[source,java,indent=0]
-----
-include::CausewayClobJdo.java[tags=optional-property]
-----
-
-while an optional property is mapped using:
-
-
-include::../CausewayClobs-common.adoc[leveloffset=+1]
diff --git a/domain/src/main/java/demoapp/dom/types/causeway/clobs/jdo/CausewayClobJdo.java b/domain/src/main/java/demoapp/dom/types/causeway/clobs/jdo/CausewayClobJdo.java
deleted file mode 100644
index 9032286..0000000
--- a/domain/src/main/java/demoapp/dom/types/causeway/clobs/jdo/CausewayClobJdo.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.causeway.clobs.jdo;
-
-import javax.jdo.annotations.Column;
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-import javax.jdo.annotations.Persistent;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.Optionality;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.Title;
-import org.apache.causeway.applib.value.Clob;
-
-import demoapp.dom.types.causeway.clobs.persistence.CausewayClobEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-//tag::class[]
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.CausewayClobEntity")
-@DomainObject
-public class CausewayClobJdo                                          // <.>
-        extends CausewayClobEntity {
-    // ...
-//end::class[]
-    public CausewayClobJdo(final Clob initialValue) {
-        this.readOnlyProperty = initialValue;
-        this.readWriteProperty = initialValue;
-    }
-
-//tag::property[]
-    @Title(prepend = "Clob JDO entity: ")
-    @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
-    @Persistent(defaultFetchGroup="false", columns = {              // <.>
-            @Column(name = "readOnlyProperty_name"),
-            @Column(name = "readOnlyProperty_mimetype"),
-            @Column(name = "readOnlyProperty_chars"
-                    , jdbcType = "CLOB"                             // <.>
-            )
-    })
-    @Getter @Setter
-    private Clob readOnlyProperty;
-//end::property[]
-
-    @Property(editing = Editing.ENABLED,
-            optionality = Optionality.MANDATORY)
-    @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
-    @Persistent(defaultFetchGroup="false", columns = {
-            @Column(name = "readWriteProperty_name"),
-            @Column(name = "readWriteProperty_mimetype"),
-            @Column(name = "readWriteProperty_chars"
-                    , jdbcType = "CLOB"
-            )
-    })
-    @Getter @Setter
-    private Clob readWriteProperty;
-
-//tag::optional-property[]
-    @Property(optionality = Optionality.OPTIONAL)                   // <.>
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
-    @Persistent(defaultFetchGroup="false", columns = {
-            @Column(name = "readOnlyOptionalProperty_name",
-                    allowsNull = "true"),                           // <.>
-            @Column(name = "readOnlyOptionalProperty_mimetype",
-                    allowsNull = "true"),
-            @Column(name = "readOnlyOptionalProperty_chars"
-                    , jdbcType = "CLOB"
-                    , allowsNull = "true")
-    })
-    @Getter @Setter
-    private Clob readOnlyOptionalProperty;
-//end::optional-property[]
-
-    @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "2")
-    @Persistent(defaultFetchGroup="false", columns = {
-            @Column(name = "readWriteOptionalProperty_name"
-                    , allowsNull = "true"),                           // <.>
-            @Column(name = "readWriteOptionalProperty_mimetype"
-                    , allowsNull = "true"),
-            @Column(name = "readWriteOptionalProperty_bytes"
-                    , jdbcType = "CLOB"
-                    , allowsNull = "true")
-    })
-    @Getter @Setter
-    private Clob readWriteOptionalProperty;
-
-//tag::class[]
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/types/causeway/clobs/jdo/CausewayClobJdoEntities.java b/domain/src/main/java/demoapp/dom/types/causeway/clobs/jdo/CausewayClobJdoEntities.java
deleted file mode 100644
index 1a24633..0000000
--- a/domain/src/main/java/demoapp/dom/types/causeway/clobs/jdo/CausewayClobJdoEntities.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.causeway.clobs.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import org.apache.causeway.applib.value.Clob;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class CausewayClobJdoEntities
-extends ValueHolderRepository<Clob, CausewayClobJdo> {
-
-    protected CausewayClobJdoEntities() {
-        super(CausewayClobJdo.class);
-    }
-
-    @Override
-    protected CausewayClobJdo newDetachedEntity(Clob value) {
-        return new CausewayClobJdo(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/types/causeway/localresourcepaths/jdo/CausewayLocalResourcePathJdo-description.adoc b/domain/src/main/java/demoapp/dom/types/causeway/localresourcepaths/jdo/CausewayLocalResourcePathJdo-description.adoc
deleted file mode 100644
index a28b34d..0000000
--- a/domain/src/main/java/demoapp/dom/types/causeway/localresourcepaths/jdo/CausewayLocalResourcePathJdo-description.adoc
+++ /dev/null
@@ -1,18 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-Apache Causeway provides its own implementation of the relevant JDO extension points for the `LocalResourcePath` value type, meaning that JDO can persist properties of this value type without further configuration.
-
-[source,java]
-----
-include::CausewayLocalResourcePathJdo.java[tags=class]
-----
-<.> a no-arg constructor is introduced by JDO enhancer
-<.> required property as defined to JDO/DataNucleus.
-+
-Apache Causeway assumes properties are mandatory, so no additional annotation is required.
-<.> directly editable property as defined to Apache Causeway
-<.> optional property as defined to Apache Causeway
-<.> optional property as defined to JDO/DataNucleus
-
-
-include::../CausewayLocalResourcePaths-common.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/types/causeway/localresourcepaths/jdo/CausewayLocalResourcePathJdo.java b/domain/src/main/java/demoapp/dom/types/causeway/localresourcepaths/jdo/CausewayLocalResourcePathJdo.java
deleted file mode 100644
index 0d9a6c0..0000000
--- a/domain/src/main/java/demoapp/dom/types/causeway/localresourcepaths/jdo/CausewayLocalResourcePathJdo.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.causeway.localresourcepaths.jdo;
-
-import javax.jdo.annotations.Column;
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.Optionality;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.Title;
-import org.apache.causeway.applib.value.LocalResourcePath;
-
-import demoapp.dom.types.causeway.localresourcepaths.persistence.CausewayLocalResourcePathEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-//tag::class[]
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.CausewayLocalResourcePathEntity")
-@DomainObject
-public class CausewayLocalResourcePathJdo                                          // <.>
-        extends CausewayLocalResourcePathEntity {
-
-//end::class[]
-    public CausewayLocalResourcePathJdo(final LocalResourcePath initialValue) {
-        this.readOnlyProperty = initialValue;
-        this.readWriteProperty = initialValue;
-    }
-
-//tag::class[]
-    @Title(prepend = "LocalResourcePath JDO entity: ")
-    @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
-    @Column(allowsNull = "false")                                               // <.>
-    @Getter @Setter
-    private LocalResourcePath readOnlyProperty;
-
-    @Property(editing = Editing.ENABLED)                                        // <.>
-    @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
-    @Column(allowsNull = "false")
-    @Getter @Setter
-    private LocalResourcePath readWriteProperty;
-
-    @Property(optionality = Optionality.OPTIONAL)                               // <.>
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
-    @Column(allowsNull = "true")                                                // <.>
-    @Getter @Setter
-    private LocalResourcePath readOnlyOptionalProperty;
-
-    @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "2")
-    @Column(allowsNull = "true")
-    @Getter @Setter
-    private LocalResourcePath readWriteOptionalProperty;
-
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/types/causeway/localresourcepaths/jdo/CausewayLocalResourcePathJdoEntities.java b/domain/src/main/java/demoapp/dom/types/causeway/localresourcepaths/jdo/CausewayLocalResourcePathJdoEntities.java
deleted file mode 100644
index 233c561..0000000
--- a/domain/src/main/java/demoapp/dom/types/causeway/localresourcepaths/jdo/CausewayLocalResourcePathJdoEntities.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.causeway.localresourcepaths.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import org.apache.causeway.applib.value.LocalResourcePath;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class CausewayLocalResourcePathJdoEntities
-extends ValueHolderRepository<LocalResourcePath, CausewayLocalResourcePathJdo> {
-
-    protected CausewayLocalResourcePathJdoEntities() {
-        super(CausewayLocalResourcePathJdo.class);
-    }
-
-    @Override
-    protected CausewayLocalResourcePathJdo newDetachedEntity(LocalResourcePath value) {
-        return new CausewayLocalResourcePathJdo(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/types/causeway/markups/jdo/CausewayMarkupJdo-description.adoc b/domain/src/main/java/demoapp/dom/types/causeway/markups/jdo/CausewayMarkupJdo-description.adoc
deleted file mode 100644
index 0e08907..0000000
--- a/domain/src/main/java/demoapp/dom/types/causeway/markups/jdo/CausewayMarkupJdo-description.adoc
+++ /dev/null
@@ -1,18 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-Apache Causeway provides its own implementation of the relevant JDO extension points for the `Markup` value type, meaning that JDO can persist properties of this value type without further configuration.
-
-[source,java]
-----
-include::CausewayMarkupJdo.java[tags=class]
-----
-<.> a no-arg constructor is introduced by JDO enhancer
-<.> required property as defined to JDO/DataNucleus.
-+
-Apache Causeway assumes properties are mandatory, so no additional annotation is required.
-<.> directly editable property as defined to Apache Causeway
-<.> optional property as defined to Apache Causeway
-<.> optional property as defined to JDO/DataNucleus
-
-
-include::../CausewayMarkups-common.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/types/causeway/markups/jdo/CausewayMarkupJdo.java b/domain/src/main/java/demoapp/dom/types/causeway/markups/jdo/CausewayMarkupJdo.java
deleted file mode 100644
index 0f92c25..0000000
--- a/domain/src/main/java/demoapp/dom/types/causeway/markups/jdo/CausewayMarkupJdo.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.causeway.markups.jdo;
-
-import javax.jdo.annotations.Column;
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.Optionality;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.Title;
-import org.apache.causeway.applib.annotation.Where;
-import org.apache.causeway.applib.value.Markup;
-
-import demoapp.dom.types.causeway.markups.persistence.CausewayMarkupEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-//tag::class[]
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.CausewayMarkupEntity")
-@DomainObject
-public class CausewayMarkupJdo                                          // <.>
-        extends CausewayMarkupEntity {
-
-//end::class[]
-    public CausewayMarkupJdo(final Markup initialValue) {
-        this.readOnlyProperty = initialValue;
-        this.readWriteProperty = initialValue;
-    }
-
-//tag::class[]
-    @Title(prepend = "Markup JDO entity: ")
-    @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
-    @Column(allowsNull = "false", jdbcType = "CLOB")                            // <.>
-    @Getter @Setter
-    private Markup 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 Markup readWriteProperty;
-
-    @Property(optionality = Optionality.OPTIONAL)                               // <.>
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
-    @Column(allowsNull = "true", jdbcType = "CLOB")                             // <.>
-    @Getter @Setter
-    private Markup 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 Markup readWriteOptionalProperty;
-
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/types/causeway/markups/jdo/CausewayMarkupJdoEntities.java b/domain/src/main/java/demoapp/dom/types/causeway/markups/jdo/CausewayMarkupJdoEntities.java
deleted file mode 100644
index b38da0a..0000000
--- a/domain/src/main/java/demoapp/dom/types/causeway/markups/jdo/CausewayMarkupJdoEntities.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.causeway.markups.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import org.apache.causeway.applib.value.Markup;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class CausewayMarkupJdoEntities
-extends ValueHolderRepository<Markup, CausewayMarkupJdo> {
-
-    protected CausewayMarkupJdoEntities() {
-        super(CausewayMarkupJdo.class);
-    }
-
-    @Override
-    protected CausewayMarkupJdo newDetachedEntity(Markup value) {
-        return new CausewayMarkupJdo(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/types/causeway/passwords/jdo/CausewayPasswordJdo-description.adoc b/domain/src/main/java/demoapp/dom/types/causeway/passwords/jdo/CausewayPasswordJdo-description.adoc
deleted file mode 100644
index 1199fd4..0000000
--- a/domain/src/main/java/demoapp/dom/types/causeway/passwords/jdo/CausewayPasswordJdo-description.adoc
+++ /dev/null
@@ -1,18 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-Apache Causeway provides its own implementation of the relevant JDO extension points for the `Password` value type, meaning that JDO can persist properties of this value type without further configuration.
-
-[source,java]
-----
-include::CausewayPasswordJdo.java[tags=class]
-----
-<.> a no-arg constructor is introduced by JDO enhancer
-<.> required property as defined to JDO/DataNucleus.
-+
-Apache Causeway assumes properties are mandatory, so no additional annotation is required.
-<.> directly editable property as defined to Apache Causeway
-<.> optional property as defined to Apache Causeway
-<.> optional property as defined to JDO/DataNucleus
-
-
-include::../CausewayPasswords-common.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/types/causeway/passwords/jdo/CausewayPasswordJdo.java b/domain/src/main/java/demoapp/dom/types/causeway/passwords/jdo/CausewayPasswordJdo.java
deleted file mode 100644
index d9f814c..0000000
--- a/domain/src/main/java/demoapp/dom/types/causeway/passwords/jdo/CausewayPasswordJdo.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.causeway.passwords.jdo;
-
-import javax.jdo.annotations.Column;
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.Optionality;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.Title;
-import org.apache.causeway.applib.value.Password;
-
-import demoapp.dom.types.causeway.passwords.persistence.CausewayPasswordEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-//tag::class[]
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.CausewayPasswordEntity")
-@DomainObject
-public class CausewayPasswordJdo                                          // <.>
-        extends CausewayPasswordEntity {
-
-//end::class[]
-    public CausewayPasswordJdo(final Password initialValue) {
-        this.readOnlyProperty = initialValue;
-        this.readWriteProperty = initialValue;
-    }
-
-//tag::class[]
-    @Title(prepend = "Password JDO entity: ")
-    @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
-    @Column(allowsNull = "false")                                               // <.>
-    @Getter @Setter
-    private Password readOnlyProperty;
-
-    @Property(editing = Editing.ENABLED)                                        // <.>
-    @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
-    @Column(allowsNull = "false")
-    @Getter @Setter
-    private Password readWriteProperty;
-
-    @Property(optionality = Optionality.OPTIONAL)                               // <.>
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
-    @Column(allowsNull = "true")                                                // <.>
-    @Getter @Setter
-    private Password readOnlyOptionalProperty;
-
-    @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "2")
-    @Column(allowsNull = "true")
-    @Getter @Setter
-    private Password readWriteOptionalProperty;
-
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/types/causeway/passwords/jdo/CausewayPasswordJdoEntities.java b/domain/src/main/java/demoapp/dom/types/causeway/passwords/jdo/CausewayPasswordJdoEntities.java
deleted file mode 100644
index 944cbe5..0000000
--- a/domain/src/main/java/demoapp/dom/types/causeway/passwords/jdo/CausewayPasswordJdoEntities.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.causeway.passwords.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import org.apache.causeway.applib.value.Password;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class CausewayPasswordJdoEntities
-extends ValueHolderRepository<Password, CausewayPasswordJdo> {
-
-    protected CausewayPasswordJdoEntities() {
-        super(CausewayPasswordJdo.class);
-    }
-
-    @Override
-    protected CausewayPasswordJdo newDetachedEntity(Password value) {
-        return new CausewayPasswordJdo(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/types/causeway/passwords/persistence/CausewayPasswordEntity_checkPassword.java b/domain/src/main/java/demoapp/dom/types/causeway/passwords/persistence/CausewayPasswordEntity_checkPassword.java
index 7865a89..8ff2a17 100644
--- a/domain/src/main/java/demoapp/dom/types/causeway/passwords/persistence/CausewayPasswordEntity_checkPassword.java
+++ b/domain/src/main/java/demoapp/dom/types/causeway/passwords/persistence/CausewayPasswordEntity_checkPassword.java
@@ -40,7 +40,7 @@ public class CausewayPasswordEntity_checkPassword {
     private final CausewayPasswordEntity entity;
 
     public CausewayPasswordEntity act(final Password confirm) {
-        if(entity.getReadWriteProperty().checkPassword(confirm.getPassword())) {
+        if(entity.getReadWriteProperty().checkPassword(confirm.password())) {
             messageService.informUser("passwords did match");
         } else {
             messageService.warnUser("passwords did not match");
diff --git a/domain/src/main/java/demoapp/dom/types/causeway/passwords/persistence/CausewayPasswordEntity_showPassword.java b/domain/src/main/java/demoapp/dom/types/causeway/passwords/persistence/CausewayPasswordEntity_showPassword.java
index 3f13c18..ad19e2b 100644
--- a/domain/src/main/java/demoapp/dom/types/causeway/passwords/persistence/CausewayPasswordEntity_showPassword.java
+++ b/domain/src/main/java/demoapp/dom/types/causeway/passwords/persistence/CausewayPasswordEntity_showPassword.java
@@ -41,7 +41,7 @@ public class CausewayPasswordEntity_showPassword {
 
     @MemberSupport public CausewayPasswordEntity act() {
         messageService.informUser(String
-                .format("password: '%s'", entity.getReadWriteProperty().getPassword()));
+                .format("password: '%s'", entity.getReadWriteProperty().password()));
         return entity;
     }
 
diff --git a/domain/src/main/java/demoapp/dom/types/causewayval/asciidocs/jdo/CausewayAsciiDocJdo-description.adoc b/domain/src/main/java/demoapp/dom/types/causewayval/asciidocs/jdo/CausewayAsciiDocJdo-description.adoc
deleted file mode 100644
index 452bdc5..0000000
--- a/domain/src/main/java/demoapp/dom/types/causewayval/asciidocs/jdo/CausewayAsciiDocJdo-description.adoc
+++ /dev/null
@@ -1,18 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-Apache Causeway provides its own implementation of the relevant JDO extension points for the `AsciiDoc` value type, meaning that JDO can persist properties of this value type without further configuration.
-
-[source,java]
-----
-include::CausewayAsciiDocJdo.java[tags=class]
-----
-<.> a no-arg constructor is introduced by JDO enhancer
-<.> required property as defined to JDO/DataNucleus.
-+
-Apache Causeway assumes properties are mandatory, so no additional annotation is required.
-<.> directly editable property as defined to Apache Causeway
-<.> optional property as defined to Apache Causeway
-<.> optional property as defined to JDO/DataNucleus
-
-
-include::../CausewayAsciiDocs-common.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/types/causewayval/asciidocs/jdo/CausewayAsciiDocJdo.java b/domain/src/main/java/demoapp/dom/types/causewayval/asciidocs/jdo/CausewayAsciiDocJdo.java
deleted file mode 100644
index 88a8234..0000000
--- a/domain/src/main/java/demoapp/dom/types/causewayval/asciidocs/jdo/CausewayAsciiDocJdo.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.causewayval.asciidocs.jdo;
-
-import javax.jdo.annotations.Column;
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.Optionality;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.Title;
-import org.apache.causeway.applib.annotation.Where;
-import org.apache.causeway.valuetypes.asciidoc.applib.value.AsciiDoc;
-
-import demoapp.dom.types.causewayval.asciidocs.persistence.CausewayAsciiDocEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-//tag::class[]
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.CausewayAsciiDocEntity")
-@DomainObject
-public class CausewayAsciiDocJdo                                          // <.>
-        extends CausewayAsciiDocEntity {
-
-//end::class[]
-    public CausewayAsciiDocJdo(final AsciiDoc initialValue) {
-        this.readOnlyProperty = initialValue;
-        this.readWriteProperty = initialValue;
-    }
-
-//tag::class[]
-    @Title(prepend = "AsciiDoc JDO entity: ")
-    @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
-    @Column(allowsNull = "false", jdbcType = "CLOB")                            // <.>
-    @Getter @Setter
-    private AsciiDoc 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 AsciiDoc readWriteProperty;
-
-    @Property(optionality = Optionality.OPTIONAL)                               // <.>
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
-    @Column(allowsNull = "true", jdbcType = "CLOB")                             // <.>
-    @Getter @Setter
-    private AsciiDoc 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 AsciiDoc readWriteOptionalProperty;
-
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/types/causewayval/asciidocs/jdo/CausewayAsciiDocJdoEntities.java b/domain/src/main/java/demoapp/dom/types/causewayval/asciidocs/jdo/CausewayAsciiDocJdoEntities.java
deleted file mode 100644
index 79b9fab..0000000
--- a/domain/src/main/java/demoapp/dom/types/causewayval/asciidocs/jdo/CausewayAsciiDocJdoEntities.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.causewayval.asciidocs.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import org.apache.causeway.valuetypes.asciidoc.applib.value.AsciiDoc;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class CausewayAsciiDocJdoEntities
-extends ValueHolderRepository<AsciiDoc, CausewayAsciiDocJdo> {
-
-    protected CausewayAsciiDocJdoEntities() {
-        super(CausewayAsciiDocJdo.class);
-    }
-
-    @Override
-    protected CausewayAsciiDocJdo newDetachedEntity(AsciiDoc value) {
-        return new CausewayAsciiDocJdo(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/types/causewayval/markdowns/jdo/CausewayMarkdownJdo-description.adoc b/domain/src/main/java/demoapp/dom/types/causewayval/markdowns/jdo/CausewayMarkdownJdo-description.adoc
deleted file mode 100644
index 41108ee..0000000
--- a/domain/src/main/java/demoapp/dom/types/causewayval/markdowns/jdo/CausewayMarkdownJdo-description.adoc
+++ /dev/null
@@ -1,18 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-Apache Causeway provides its own implementation of the relevant JDO extension points for the `Markdown` value type, meaning that JDO can persist properties of this value type without further configuration.
-
-[source,java]
-----
-include::CausewayMarkdownJdo.java[tags=class]
-----
-<.> a no-arg constructor is introduced by JDO enhancer
-<.> required property as defined to JDO/DataNucleus.
-+
-Apache Causeway assumes properties are mandatory, so no additional annotation is required.
-<.> directly editable property as defined to Apache Causeway
-<.> optional property as defined to Apache Causeway
-<.> optional property as defined to JDO/DataNucleus
-
-
-include::../CausewayMarkdowns-common.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/types/causewayval/markdowns/jdo/CausewayMarkdownJdo.java b/domain/src/main/java/demoapp/dom/types/causewayval/markdowns/jdo/CausewayMarkdownJdo.java
deleted file mode 100644
index 22e4638..0000000
--- a/domain/src/main/java/demoapp/dom/types/causewayval/markdowns/jdo/CausewayMarkdownJdo.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.causewayval.markdowns.jdo;
-
-import javax.jdo.annotations.Column;
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.Optionality;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.Title;
-import org.apache.causeway.applib.annotation.Where;
-import org.apache.causeway.valuetypes.markdown.applib.value.Markdown;
-
-import demoapp.dom.types.causewayval.markdowns.persistence.CausewayMarkdownEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-//tag::class[]
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.CausewayMarkdownEntity")
-@DomainObject
-public class CausewayMarkdownJdo                                          // <.>
-        extends CausewayMarkdownEntity {
-
-//end::class[]
-    public CausewayMarkdownJdo(final Markdown initialValue) {
-        this.readOnlyProperty = initialValue;
-        this.readWriteProperty = initialValue;
-    }
-
-//tag::class[]
-    @Title(prepend = "Markdown JDO entity: ")
-    @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
-    @Column(allowsNull = "false", jdbcType = "CLOB")                            // <.>
-    @Getter @Setter
-    private Markdown 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 Markdown readWriteProperty;
-
-    @Property(optionality = Optionality.OPTIONAL)                               // <.>
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
-    @Column(allowsNull = "true", jdbcType = "CLOB")                             // <.>
-    @Getter @Setter
-    private Markdown 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 Markdown readWriteOptionalProperty;
-
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/types/causewayval/markdowns/jdo/CausewayMarkdownJdoEntities.java b/domain/src/main/java/demoapp/dom/types/causewayval/markdowns/jdo/CausewayMarkdownJdoEntities.java
deleted file mode 100644
index 4422f1e..0000000
--- a/domain/src/main/java/demoapp/dom/types/causewayval/markdowns/jdo/CausewayMarkdownJdoEntities.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.causewayval.markdowns.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import org.apache.causeway.valuetypes.markdown.applib.value.Markdown;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class CausewayMarkdownJdoEntities
-extends ValueHolderRepository<Markdown, CausewayMarkdownJdo> {
-
-    protected CausewayMarkdownJdoEntities() {
-        super(CausewayMarkdownJdo.class);
-    }
-
-    @Override
-    protected CausewayMarkdownJdo newDetachedEntity(Markdown value) {
-        return new CausewayMarkdownJdo(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/types/causewayval/vegas/jdo/CausewayVegaJdo-description.adoc b/domain/src/main/java/demoapp/dom/types/causewayval/vegas/jdo/CausewayVegaJdo-description.adoc
deleted file mode 100644
index 5f4a81e..0000000
--- a/domain/src/main/java/demoapp/dom/types/causewayval/vegas/jdo/CausewayVegaJdo-description.adoc
+++ /dev/null
@@ -1,18 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-Apache Causeway provides its own implementation of the relevant JDO extension points for the `Vega` value type, meaning that JDO can persist properties of this value type without further configuration.
-
-[source,java]
-----
-include::CausewayVegaJdo.java[tags=class]
-----
-<.> a no-arg constructor is introduced by JDO enhancer
-<.> required property as defined to JDO/DataNucleus.
-+
-Apache Causeway assumes properties are mandatory, so no additional annotation is required.
-<.> directly editable property as defined to Apache Causeway
-<.> optional property as defined to Apache Causeway
-<.> optional property as defined to JDO/DataNucleus
-
-
-include::../CausewayVegas-common.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/types/causewayval/vegas/jdo/CausewayVegaJdo.java b/domain/src/main/java/demoapp/dom/types/causewayval/vegas/jdo/CausewayVegaJdo.java
deleted file mode 100644
index 96eef27..0000000
--- a/domain/src/main/java/demoapp/dom/types/causewayval/vegas/jdo/CausewayVegaJdo.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.causewayval.vegas.jdo;
-
-import javax.jdo.annotations.Column;
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.Optionality;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.Title;
-import org.apache.causeway.applib.annotation.Where;
-import org.apache.causeway.valuetypes.vega.applib.value.Vega;
-
-import demoapp.dom.types.causewayval.vegas.persistence.CausewayVegaEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-//tag::class[]
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.CausewayVegaEntity")
-@DomainObject
-public class CausewayVegaJdo                                          // <.>
-        extends CausewayVegaEntity {
-
-//end::class[]
-    public CausewayVegaJdo(final Vega initialValue) {
-        this.readOnlyProperty = initialValue;
-        this.readWriteProperty = initialValue;
-    }
-
-//tag::class[]
-    @Title(prepend = "Vega JDO entity: ")
-    @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
-    @Column(allowsNull = "false", jdbcType = "CLOB")                            // <.>
-    @Getter @Setter
-    private Vega 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 Vega readWriteProperty;
-
-    @Property(optionality = Optionality.OPTIONAL)                               // <.>
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
-    @Column(allowsNull = "true", jdbcType = "CLOB")                             // <.>
-    @Getter @Setter
-    private Vega 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 Vega readWriteOptionalProperty;
-
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/types/causewayval/vegas/jdo/CausewayVegaJdoEntities.java b/domain/src/main/java/demoapp/dom/types/causewayval/vegas/jdo/CausewayVegaJdoEntities.java
deleted file mode 100644
index 135dce8..0000000
--- a/domain/src/main/java/demoapp/dom/types/causewayval/vegas/jdo/CausewayVegaJdoEntities.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.causewayval.vegas.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import org.apache.causeway.valuetypes.vega.applib.value.Vega;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class CausewayVegaJdoEntities
-extends ValueHolderRepository<Vega, CausewayVegaJdo> {
-
-    protected CausewayVegaJdoEntities() {
-        super(CausewayVegaJdo.class);
-    }
-
-    @Override
-    protected CausewayVegaJdo newDetachedEntity(Vega value) {
-        return new CausewayVegaJdo(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/types/javaawt/images/jdo/BufferedImageJdo-description.adoc b/domain/src/main/java/demoapp/dom/types/javaawt/images/jdo/BufferedImageJdo-description.adoc
deleted file mode 100644
index 1779316..0000000
--- a/domain/src/main/java/demoapp/dom/types/javaawt/images/jdo/BufferedImageJdo-description.adoc
+++ /dev/null
@@ -1,17 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-Apache Causeway provides its own implementation of the relevant JDO extension points for the `BufferedImage` value type, meaning that JDO can persist properties of this value type without further configuration.
-
-[source,java]
-----
-include::BufferedImageJdo.java[tags=class]
-----
-<.> a no-arg constructor is introduced by JDO enhancer
-<.> required property as defined to JDO/DataNucleus.
-+
-Apache Causeway assumes properties are mandatory, so no additional annotation is required.
-<.> optional property as defined to Apache Causeway
-<.> optional property as defined to JDO/DataNucleus
-
-
-include::../BufferedImages-common.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/types/javaawt/images/jdo/BufferedImageJdo.java b/domain/src/main/java/demoapp/dom/types/javaawt/images/jdo/BufferedImageJdo.java
deleted file mode 100644
index 609da01..0000000
--- a/domain/src/main/java/demoapp/dom/types/javaawt/images/jdo/BufferedImageJdo.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.javaawt.images.jdo;
-
-import java.awt.image.BufferedImage;
-
-import javax.jdo.annotations.Column;
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Optionality;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-
-import demoapp.dom.types.javaawt.images.persistence.BufferedImageEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-//tag::class[]
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.BufferedImageEntity")
-@DomainObject
-public class BufferedImageJdo                                          // <.>
-        extends BufferedImageEntity {
-
-//end::class[]
-    public BufferedImageJdo(final BufferedImage initialValue) {
-        this.readOnlyProperty = initialValue;
-    }
-
-    public String title() {
-        return "java.awt.image.BufferedImage JPA entity";
-    }
-
-//tag::class[]
-    @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
-    @Column(allowsNull = "false")                                               // <.>
-    @Getter @Setter
-    private BufferedImage readOnlyProperty;
-
-    @Property(optionality = Optionality.OPTIONAL)                               // <.>
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
-    @Column(allowsNull = "true")                                                // <.>
-    @Getter @Setter
-    private BufferedImage readOnlyOptionalProperty;
-
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/types/javaawt/images/jdo/BufferedImageJdoEntities.java b/domain/src/main/java/demoapp/dom/types/javaawt/images/jdo/BufferedImageJdoEntities.java
deleted file mode 100644
index 813c9c3..0000000
--- a/domain/src/main/java/demoapp/dom/types/javaawt/images/jdo/BufferedImageJdoEntities.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.javaawt.images.jdo;
-
-import java.awt.image.BufferedImage;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class BufferedImageJdoEntities
-extends ValueHolderRepository<BufferedImage, BufferedImageJdo> {
-
-    protected BufferedImageJdoEntities() {
-        super(BufferedImageJdo.class);
-    }
-
-    @Override
-    protected BufferedImageJdo newDetachedEntity(BufferedImage value) {
-        return new BufferedImageJdo(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/booleans/jdo/WrapperBooleanJdo-description.adoc b/domain/src/main/java/demoapp/dom/types/javalang/booleans/jdo/WrapperBooleanJdo-description.adoc
deleted file mode 100644
index 3cdd6d0..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/booleans/jdo/WrapperBooleanJdo-description.adoc
+++ /dev/null
@@ -1,19 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-JDO supports `Boolean` out-of-the-box, so no special annotations are required.
-See link:https://www.datanucleus.org/products/accessplatform_6_0/jdo/mapping.html#_primitive_and_java_lang_types[DataNucleus]
-
-[source,java]
-----
-include::WrapperBooleanJdo.java[tags=class]
-----
-<.> a no-arg constructor is introduced by JDO enhancer
-<.> required property as defined to JDO/DataNucleus.
-+
-Apache Causeway assumes properties are mandatory, so no additional annotation is required.
-<.> directly editable property as defined to Apache Causeway
-<.> optional property as defined to Apache Causeway
-<.> optional property as defined to JDO/DataNucleus
-
-
-include::../WrapperBooleans-common.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/booleans/jdo/WrapperBooleanJdo.java b/domain/src/main/java/demoapp/dom/types/javalang/booleans/jdo/WrapperBooleanJdo.java
deleted file mode 100644
index bd286c9..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/booleans/jdo/WrapperBooleanJdo.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.javalang.booleans.jdo;
-
-import javax.jdo.annotations.Column;
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.Optionality;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.Title;
-
-import demoapp.dom.types.javalang.booleans.persistence.WrapperBooleanEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-//tag::class[]
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.WrapperBooleanEntity")
-@DomainObject
-public class WrapperBooleanJdo                                          // <.>
-        extends WrapperBooleanEntity {
-
-//end::class[]
-    public WrapperBooleanJdo(final Boolean initialValue) {
-        this.readOnlyProperty = initialValue;
-        this.readWriteProperty = initialValue;
-    }
-
-//tag::class[]
-    @Title(prepend = "Boolean JDO entity: ")
-    @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
-    @Column(allowsNull = "false")                                               // <.>
-    @Getter @Setter
-    private Boolean readOnlyProperty;
-
-    @Property(editing = Editing.ENABLED)                                        // <.>
-    @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
-    @Column(allowsNull = "false")
-    @Getter @Setter
-    private Boolean readWriteProperty;
-
-    @Property(optionality = Optionality.OPTIONAL)                               // <.>
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
-    @Column(allowsNull = "true")                                                // <.>
-    @Getter @Setter
-    private Boolean readOnlyOptionalProperty;
-
-    @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "2")
-    @Column(allowsNull = "true")
-    @Getter @Setter
-    private Boolean readWriteOptionalProperty;
-
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/booleans/jdo/WrapperBooleanJdoEntities.java b/domain/src/main/java/demoapp/dom/types/javalang/booleans/jdo/WrapperBooleanJdoEntities.java
deleted file mode 100644
index d2e8484..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/booleans/jdo/WrapperBooleanJdoEntities.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.javalang.booleans.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class WrapperBooleanJdoEntities
-extends ValueHolderRepository<Boolean, WrapperBooleanJdo> {
-
-    protected WrapperBooleanJdoEntities() {
-        super(WrapperBooleanJdo.class);
-    }
-
-    @Override
-    protected WrapperBooleanJdo newDetachedEntity(Boolean value) {
-        return new WrapperBooleanJdo(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/bytes/jdo/WrapperByteJdo-description.adoc b/domain/src/main/java/demoapp/dom/types/javalang/bytes/jdo/WrapperByteJdo-description.adoc
deleted file mode 100644
index e903a1f..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/bytes/jdo/WrapperByteJdo-description.adoc
+++ /dev/null
@@ -1,19 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-JDO supports `Byte` out-of-the-box, so no special annotations are required.
-See link:https://www.datanucleus.org/products/accessplatform_6_0/jdo/mapping.html#_primitive_and_java_lang_types[DataNucleus]
-
-[source,java]
-----
-include::WrapperByteJdo.java[tags=class]
-----
-<.> a no-arg constructor is introduced by JDO enhancer
-<.> required property as defined to JDO/DataNucleus.
-+
-Apache Causeway assumes properties are mandatory, so no additional annotation is required.
-<.> directly editable property as defined to Apache Causeway
-<.> optional property as defined to Apache Causeway
-<.> optional property as defined to JDO/DataNucleus
-
-
-include::../WrapperBytes-common.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/bytes/jdo/WrapperByteJdo.java b/domain/src/main/java/demoapp/dom/types/javalang/bytes/jdo/WrapperByteJdo.java
deleted file mode 100644
index 3a69cd0..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/bytes/jdo/WrapperByteJdo.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.javalang.bytes.jdo;
-
-import javax.jdo.annotations.Column;
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.Optionality;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.Title;
-
-import demoapp.dom.types.javalang.bytes.persistence.WrapperByteEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-//tag::class[]
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.WrapperByteEntity")
-@DomainObject
-public class WrapperByteJdo                                          // <.>
-        extends WrapperByteEntity {
-
-//end::class[]
-    public WrapperByteJdo(final Byte initialValue) {
-        this.readOnlyProperty = initialValue;
-        this.readWriteProperty = initialValue;
-    }
-
-//tag::class[]
-    @Title(prepend = "Byte JDO entity: ")
-    @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
-    @Column(allowsNull = "false")                                               // <.>
-    @Getter @Setter
-    private Byte readOnlyProperty;
-
-    @Property(editing = Editing.ENABLED)                                        // <.>
-    @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
-    @Column(allowsNull = "false")
-    @Getter @Setter
-    private Byte readWriteProperty;
-
-    @Property(optionality = Optionality.OPTIONAL)                               // <.>
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
-    @Column(allowsNull = "true")                                                // <.>
-    @Getter @Setter
-    private Byte readOnlyOptionalProperty;
-
-    @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "2")
-    @Column(allowsNull = "true")
-    @Getter @Setter
-    private Byte readWriteOptionalProperty;
-
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/bytes/jdo/WrapperByteJdoEntities.java b/domain/src/main/java/demoapp/dom/types/javalang/bytes/jdo/WrapperByteJdoEntities.java
deleted file mode 100644
index d70f302..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/bytes/jdo/WrapperByteJdoEntities.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.javalang.bytes.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class WrapperByteJdoEntities
-extends ValueHolderRepository<Byte, WrapperByteJdo> {
-
-    protected WrapperByteJdoEntities() {
-        super(WrapperByteJdo.class);
-    }
-
-    @Override
-    protected WrapperByteJdo newDetachedEntity(Byte value) {
-        return new WrapperByteJdo(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/characters/jdo/WrapperCharacterJdo-description.adoc b/domain/src/main/java/demoapp/dom/types/javalang/characters/jdo/WrapperCharacterJdo-description.adoc
deleted file mode 100644
index a13bf37..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/characters/jdo/WrapperCharacterJdo-description.adoc
+++ /dev/null
@@ -1,19 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-JDO supports `Character` out-of-the-box, so no special annotations are required.
-See link:https://www.datanucleus.org/products/accessplatform_6_0/jdo/mapping.html#_primitive_and_java_lang_types[DataNucleus]
-
-[source,java]
-----
-include::WrapperCharacterJdo.java[tags=class]
-----
-<.> a no-arg constructor is introduced by JDO enhancer
-<.> required property as defined to JDO/DataNucleus.
-+
-Apache Causeway assumes properties are mandatory, so no additional annotation is required.
-<.> directly editable property as defined to Apache Causeway
-<.> optional property as defined to Apache Causeway
-<.> optional property as defined to JDO/DataNucleus
-
-
-include::../WrapperCharacters-common.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/characters/jdo/WrapperCharacterJdo.java b/domain/src/main/java/demoapp/dom/types/javalang/characters/jdo/WrapperCharacterJdo.java
deleted file mode 100644
index 5f131aa..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/characters/jdo/WrapperCharacterJdo.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.javalang.characters.jdo;
-
-import javax.jdo.annotations.Column;
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.Optionality;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.Title;
-
-import demoapp.dom.types.javalang.characters.persistence.WrapperCharacterEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-//tag::class[]
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.WrapperCharacterEntity")
-@DomainObject
-public class WrapperCharacterJdo                                          // <.>
-        extends WrapperCharacterEntity {
-
-//end::class[]
-    public WrapperCharacterJdo(final Character initialValue) {
-        this.readOnlyProperty = initialValue;
-        this.readWriteProperty = initialValue;
-    }
-
-//tag::class[]
-    @Title(prepend = "Character JDO entity: ")
-    @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
-    @Column(allowsNull = "false")                                               // <.>
-    @Getter @Setter
-    private Character readOnlyProperty;
-
-    @Property(editing = Editing.ENABLED)                                        // <.>
-    @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
-    @Column(allowsNull = "false")
-    @Getter @Setter
-    private Character readWriteProperty;
-
-    @Property(optionality = Optionality.OPTIONAL)                               // <.>
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
-    @Column(allowsNull = "true")                                                // <.>
-    @Getter @Setter
-    private Character readOnlyOptionalProperty;
-
-    @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "2")
-    @Column(allowsNull = "true")
-    @Getter @Setter
-    private Character readWriteOptionalProperty;
-
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/characters/jdo/WrapperCharacterJdoEntities.java b/domain/src/main/java/demoapp/dom/types/javalang/characters/jdo/WrapperCharacterJdoEntities.java
deleted file mode 100644
index 3a55e55..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/characters/jdo/WrapperCharacterJdoEntities.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.javalang.characters.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class WrapperCharacterJdoEntities
-extends ValueHolderRepository<Character, WrapperCharacterJdo> {
-
-    protected WrapperCharacterJdoEntities() {
-        super(WrapperCharacterJdo.class);
-    }
-
-    @Override
-    protected WrapperCharacterJdo newDetachedEntity(Character value) {
-        return new WrapperCharacterJdo(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/doubles/jdo/WrapperDoubleJdo-description.adoc b/domain/src/main/java/demoapp/dom/types/javalang/doubles/jdo/WrapperDoubleJdo-description.adoc
deleted file mode 100644
index 7c5cc23..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/doubles/jdo/WrapperDoubleJdo-description.adoc
+++ /dev/null
@@ -1,19 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-JDO supports `Double` out-of-the-box, so no special annotations are required.
-See link:https://www.datanucleus.org/products/accessplatform_6_0/jdo/mapping.html#_primitive_and_java_lang_types[DataNucleus]
-
-[source,java]
-----
-include::WrapperDoubleJdo.java[tags=class]
-----
-<.> a no-arg constructor is introduced by JDO enhancer
-<.> required property as defined to JDO/DataNucleus.
-+
-Apache Causeway assumes properties are mandatory, so no additional annotation is required.
-<.> directly editable property as defined to Apache Causeway
-<.> optional property as defined to Apache Causeway
-<.> optional property as defined to JDO/DataNucleus
-
-
-include::../WrapperDoubles-common.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/doubles/jdo/WrapperDoubleJdo.java b/domain/src/main/java/demoapp/dom/types/javalang/doubles/jdo/WrapperDoubleJdo.java
deleted file mode 100644
index b41bb62..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/doubles/jdo/WrapperDoubleJdo.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.javalang.doubles.jdo;
-
-import javax.jdo.annotations.Column;
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.Optionality;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.Title;
-
-import demoapp.dom.types.javalang.doubles.persistence.WrapperDoubleEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-//tag::class[]
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.WrapperDoubleEntity")
-@DomainObject
-public class WrapperDoubleJdo                                          // <.>
-        extends WrapperDoubleEntity {
-
-//end::class[]
-    public WrapperDoubleJdo(final Double initialValue) {
-        this.readOnlyProperty = initialValue;
-        this.readWriteProperty = initialValue;
-    }
-
-//tag::class[]
-    @Title(prepend = "Double JDO entity: ")
-    @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
-    @Column(allowsNull = "false")                                               // <.>
-    @Getter @Setter
-    private Double readOnlyProperty;
-
-    @Property(editing = Editing.ENABLED)                                        // <.>
-    @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
-    @Column(allowsNull = "false")
-    @Getter @Setter
-    private Double readWriteProperty;
-
-    @Property(optionality = Optionality.OPTIONAL)                               // <.>
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
-    @Column(allowsNull = "true")                                                // <.>
-    @Getter @Setter
-    private Double readOnlyOptionalProperty;
-
-    @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "2")
-    @Column(allowsNull = "true")
-    @Getter @Setter
-    private Double readWriteOptionalProperty;
-
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/doubles/jdo/WrapperDoubleJdoEntities.java b/domain/src/main/java/demoapp/dom/types/javalang/doubles/jdo/WrapperDoubleJdoEntities.java
deleted file mode 100644
index 6efc180..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/doubles/jdo/WrapperDoubleJdoEntities.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.javalang.doubles.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class WrapperDoubleJdoEntities
-extends ValueHolderRepository<Double, WrapperDoubleJdo> {
-
-    protected WrapperDoubleJdoEntities() {
-        super(WrapperDoubleJdo.class);
-    }
-
-    @Override
-    protected WrapperDoubleJdo newDetachedEntity(Double value) {
-        return new WrapperDoubleJdo(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/enums/jdo/JavaLangEnumJdo-description.adoc b/domain/src/main/java/demoapp/dom/types/javalang/enums/jdo/JavaLangEnumJdo-description.adoc
deleted file mode 100644
index 7881a64..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/enums/jdo/JavaLangEnumJdo-description.adoc
+++ /dev/null
@@ -1,19 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-JDO supports `DemoEnum` out-of-the-box, so no special annotations are required.
-See link:https://www.datanucleus.org/products/accessplatform_6_0/jdo/mapping.html#_primitive_and_java_lang_types[DataNucleus]
-
-[source,java]
-----
-include::JavaLangEnumJdo.java[tags=class]
-----
-<.> a no-arg constructor is introduced by JDO enhancer
-<.> required property as defined to JDO/DataNucleus.
-+
-Apache Causeway assumes properties are mandatory, so no additional annotation is required.
-<.> directly editable property as defined to Apache Causeway
-<.> optional property as defined to Apache Causeway
-<.> optional property as defined to JDO/DataNucleus
-
-
-include::../JavaLangEnums-common.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/enums/jdo/JavaLangEnumJdo.java b/domain/src/main/java/demoapp/dom/types/javalang/enums/jdo/JavaLangEnumJdo.java
deleted file mode 100644
index a9fbc47..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/enums/jdo/JavaLangEnumJdo.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.javalang.enums.jdo;
-
-import javax.jdo.annotations.Column;
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.Optionality;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.Title;
-
-import demoapp.dom._infra.samples.DemoEnum;
-import demoapp.dom.types.javalang.enums.persistence.JavaLangEnumEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-//tag::class[]
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.JavaLangEnumEntity")
-@DomainObject
-public class JavaLangEnumJdo                                          // <.>
-        extends JavaLangEnumEntity {
-
-//end::class[]
-    public JavaLangEnumJdo(final DemoEnum initialValue) {
-        this.readOnlyProperty = initialValue;
-        this.readWriteProperty = initialValue;
-    }
-
-//tag::class[]
-    @Title(prepend = "DemoEnum JDO entity: ")
-    @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
-    @Column(allowsNull = "false")                                               // <.>
-    @Getter @Setter
-    private DemoEnum readOnlyProperty;
-
-    @Property(editing = Editing.ENABLED)                                        // <.>
-    @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
-    @Column(allowsNull = "false")
-    @Getter @Setter
-    private DemoEnum readWriteProperty;
-
-    @Property(optionality = Optionality.OPTIONAL)                               // <.>
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
-    @Column(allowsNull = "true")                                                // <.>
-    @Getter @Setter
-    private DemoEnum readOnlyOptionalProperty;
-
-    @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "2")
-    @Column(allowsNull = "true")
-    @Getter @Setter
-    private DemoEnum readWriteOptionalProperty;
-
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/enums/jdo/JavaLangEnumJdoEntities.java b/domain/src/main/java/demoapp/dom/types/javalang/enums/jdo/JavaLangEnumJdoEntities.java
deleted file mode 100644
index 3f77d8e..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/enums/jdo/JavaLangEnumJdoEntities.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.javalang.enums.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.samples.DemoEnum;
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class JavaLangEnumJdoEntities
-extends ValueHolderRepository<DemoEnum, JavaLangEnumJdo> {
-
-    protected JavaLangEnumJdoEntities() {
-        super(JavaLangEnumJdo.class);
-    }
-
-    @Override
-    protected JavaLangEnumJdo newDetachedEntity(DemoEnum value) {
-        return new JavaLangEnumJdo(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/floats/jdo/WrapperFloatJdo-description.adoc b/domain/src/main/java/demoapp/dom/types/javalang/floats/jdo/WrapperFloatJdo-description.adoc
deleted file mode 100644
index 2445254..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/floats/jdo/WrapperFloatJdo-description.adoc
+++ /dev/null
@@ -1,19 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-JDO supports `Float` out-of-the-box, so no special annotations are required.
-See link:https://www.datanucleus.org/products/accessplatform_6_0/jdo/mapping.html#_primitive_and_java_lang_types[DataNucleus]
-
-[source,java]
-----
-include::WrapperFloatJdo.java[tags=class]
-----
-<.> a no-arg constructor is introduced by JDO enhancer
-<.> required property as defined to JDO/DataNucleus.
-+
-Apache Causeway assumes properties are mandatory, so no additional annotation is required.
-<.> directly editable property as defined to Apache Causeway
-<.> optional property as defined to Apache Causeway
-<.> optional property as defined to JDO/DataNucleus
-
-
-include::../WrapperFloats-common.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/floats/jdo/WrapperFloatJdo.java b/domain/src/main/java/demoapp/dom/types/javalang/floats/jdo/WrapperFloatJdo.java
deleted file mode 100644
index afbbda9..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/floats/jdo/WrapperFloatJdo.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.javalang.floats.jdo;
-
-import javax.jdo.annotations.Column;
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.Optionality;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.Title;
-
-import demoapp.dom.types.javalang.floats.persistence.WrapperFloatEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-//tag::class[]
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.WrapperFloatEntity")
-@DomainObject
-public class WrapperFloatJdo                                          // <.>
-        extends WrapperFloatEntity {
-
-//end::class[]
-    public WrapperFloatJdo(final Float initialValue) {
-        this.readOnlyProperty = initialValue;
-        this.readWriteProperty = initialValue;
-    }
-
-//tag::class[]
-    @Title(prepend = "Float JDO entity: ")
-    @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
-    @Column(allowsNull = "false")                                               // <.>
-    @Getter @Setter
-    private Float readOnlyProperty;
-
-    @Property(editing = Editing.ENABLED)                                        // <.>
-    @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
-    @Column(allowsNull = "false")
-    @Getter @Setter
-    private Float readWriteProperty;
-
-    @Property(optionality = Optionality.OPTIONAL)                               // <.>
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
-    @Column(allowsNull = "true")                                                // <.>
-    @Getter @Setter
-    private Float readOnlyOptionalProperty;
-
-    @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "2")
-    @Column(allowsNull = "true")
-    @Getter @Setter
-    private Float readWriteOptionalProperty;
-
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/floats/jdo/WrapperFloatJdoEntities.java b/domain/src/main/java/demoapp/dom/types/javalang/floats/jdo/WrapperFloatJdoEntities.java
deleted file mode 100644
index 11eb776..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/floats/jdo/WrapperFloatJdoEntities.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.javalang.floats.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class WrapperFloatJdoEntities
-extends ValueHolderRepository<Float, WrapperFloatJdo> {
-
-    protected WrapperFloatJdoEntities() {
-        super(WrapperFloatJdo.class);
-    }
-
-    @Override
-    protected WrapperFloatJdo newDetachedEntity(Float value) {
-        return new WrapperFloatJdo(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdo-description.adoc b/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdo-description.adoc
deleted file mode 100644
index e3ece5c..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdo-description.adoc
+++ /dev/null
@@ -1,19 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-JDO supports `Integer` out-of-the-box, so no special annotations are required.
-See link:https://www.datanucleus.org/products/accessplatform_6_0/jdo/mapping.html#_primitive_and_java_lang_types[DataNucleus]
-
-[source,java]
-----
-include::WrapperIntegerJdo.java[tags=class]
-----
-<.> a no-arg constructor is introduced by JDO enhancer
-<.> required property as defined to JDO/DataNucleus.
-+
-Apache Causeway assumes properties are mandatory, so no additional annotation is required.
-<.> directly editable property as defined to Apache Causeway
-<.> optional property as defined to Apache Causeway
-<.> optional property as defined to JDO/DataNucleus
-
-
-include::../WrapperIntegers-common.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdo.java b/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdo.java
deleted file mode 100644
index a982712..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdo.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.javalang.integers.jdo;
-
-import javax.jdo.annotations.Column;
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.Optionality;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.Title;
-
-import demoapp.dom.types.javalang.integers.persistence.WrapperIntegerEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-//tag::class[]
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.WrapperIntegerEntity")
-@DomainObject
-public class WrapperIntegerJdo                                          // <.>
-        extends WrapperIntegerEntity {
-
-//end::class[]
-    public WrapperIntegerJdo(final Integer initialValue) {
-        this.readOnlyProperty = initialValue;
-        this.readWriteProperty = initialValue;
-    }
-
-//tag::class[]
-    @Title(prepend = "Integer JDO entity: ")
-    @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
-    @Column(allowsNull = "false")                                               // <.>
-    @Getter @Setter
-    private Integer readOnlyProperty;
-
-    @Property(editing = Editing.ENABLED)                                        // <.>
-    @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
-    @Column(allowsNull = "false")
-    @Getter @Setter
-    private Integer readWriteProperty;
-
-    @Property(optionality = Optionality.OPTIONAL)                               // <.>
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
-    @Column(allowsNull = "true")                                                // <.>
-    @Getter @Setter
-    private Integer readOnlyOptionalProperty;
-
-    @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "2")
-    @Column(allowsNull = "true")
-    @Getter @Setter
-    private Integer readWriteOptionalProperty;
-
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdoEntities.java b/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdoEntities.java
deleted file mode 100644
index 3c0468d..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdoEntities.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.javalang.integers.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class WrapperIntegerJdoEntities
-extends ValueHolderRepository<Integer, WrapperIntegerJdo> {
-
-    protected WrapperIntegerJdoEntities() {
-        super(WrapperIntegerJdo.class);
-    }
-
-    @Override
-    protected WrapperIntegerJdo newDetachedEntity(Integer value) {
-        return new WrapperIntegerJdo(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/longs/jdo/WrapperLongJdo-description.adoc b/domain/src/main/java/demoapp/dom/types/javalang/longs/jdo/WrapperLongJdo-description.adoc
deleted file mode 100644
index de3606a..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/longs/jdo/WrapperLongJdo-description.adoc
+++ /dev/null
@@ -1,19 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-JDO supports `Long` out-of-the-box, so no special annotations are required.
-See link:https://www.datanucleus.org/products/accessplatform_6_0/jdo/mapping.html#_primitive_and_java_lang_types[DataNucleus]
-
-[source,java]
-----
-include::WrapperLongJdo.java[tags=class]
-----
-<.> a no-arg constructor is introduced by JDO enhancer
-<.> required property as defined to JDO/DataNucleus.
-+
-Apache Causeway assumes properties are mandatory, so no additional annotation is required.
-<.> directly editable property as defined to Apache Causeway
-<.> optional property as defined to Apache Causeway
-<.> optional property as defined to JDO/DataNucleus
-
-
-include::../WrapperLongs-common.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/longs/jdo/WrapperLongJdo.java b/domain/src/main/java/demoapp/dom/types/javalang/longs/jdo/WrapperLongJdo.java
deleted file mode 100644
index 3ed3ce3..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/longs/jdo/WrapperLongJdo.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.javalang.longs.jdo;
-
-import javax.jdo.annotations.Column;
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.Optionality;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.Title;
-
-import demoapp.dom.types.javalang.longs.persistence.WrapperLongEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-//tag::class[]
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.WrapperLongEntity")
-@DomainObject
-public class WrapperLongJdo                                          // <.>
-        extends WrapperLongEntity {
-
-//end::class[]
-    public WrapperLongJdo(final Long initialValue) {
-        this.readOnlyProperty = initialValue;
-        this.readWriteProperty = initialValue;
-    }
-
-//tag::class[]
-    @Title(prepend = "Long JDO entity: ")
-    @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
-    @Column(allowsNull = "false")                                               // <.>
-    @Getter @Setter
-    private Long readOnlyProperty;
-
-    @Property(editing = Editing.ENABLED)                                        // <.>
-    @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
-    @Column(allowsNull = "false")
-    @Getter @Setter
-    private Long readWriteProperty;
-
-    @Property(optionality = Optionality.OPTIONAL)                               // <.>
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
-    @Column(allowsNull = "true")                                                // <.>
-    @Getter @Setter
-    private Long readOnlyOptionalProperty;
-
-    @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "2")
-    @Column(allowsNull = "true")
-    @Getter @Setter
-    private Long readWriteOptionalProperty;
-
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/longs/jdo/WrapperLongJdoEntities.java b/domain/src/main/java/demoapp/dom/types/javalang/longs/jdo/WrapperLongJdoEntities.java
deleted file mode 100644
index f961052..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/longs/jdo/WrapperLongJdoEntities.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.javalang.longs.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class WrapperLongJdoEntities
-extends ValueHolderRepository<Long, WrapperLongJdo> {
-
-    protected WrapperLongJdoEntities() {
-        super(WrapperLongJdo.class);
-    }
-
-    @Override
-    protected WrapperLongJdo newDetachedEntity(Long value) {
-        return new WrapperLongJdo(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/shorts/jdo/WrapperShortJdo-description.adoc b/domain/src/main/java/demoapp/dom/types/javalang/shorts/jdo/WrapperShortJdo-description.adoc
deleted file mode 100644
index 9472882..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/shorts/jdo/WrapperShortJdo-description.adoc
+++ /dev/null
@@ -1,19 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-JDO supports `Short` out-of-the-box, so no special annotations are required.
-See link:https://www.datanucleus.org/products/accessplatform_6_0/jdo/mapping.html#_primitive_and_java_lang_types[DataNucleus]
-
-[source,java]
-----
-include::WrapperShortJdo.java[tags=class]
-----
-<.> a no-arg constructor is introduced by JDO enhancer
-<.> required property as defined to JDO/DataNucleus.
-+
-Apache Causeway assumes properties are mandatory, so no additional annotation is required.
-<.> directly editable property as defined to Apache Causeway
-<.> optional property as defined to Apache Causeway
-<.> optional property as defined to JDO/DataNucleus
-
-
-include::../WrapperShorts-common.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/shorts/jdo/WrapperShortJdo.java b/domain/src/main/java/demoapp/dom/types/javalang/shorts/jdo/WrapperShortJdo.java
deleted file mode 100644
index 4420266..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/shorts/jdo/WrapperShortJdo.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.javalang.shorts.jdo;
-
-import javax.jdo.annotations.Column;
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.Optionality;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.Title;
-
-import demoapp.dom.types.javalang.shorts.persistence.WrapperShortEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-//tag::class[]
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.WrapperShortEntity")
-@DomainObject
-public class WrapperShortJdo                                          // <.>
-        extends WrapperShortEntity {
-
-//end::class[]
-    public WrapperShortJdo(final Short initialValue) {
-        this.readOnlyProperty = initialValue;
-        this.readWriteProperty = initialValue;
-    }
-
-//tag::class[]
-    @Title(prepend = "Short JDO entity: ")
-    @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
-    @Column(allowsNull = "false")                                               // <.>
-    @Getter @Setter
-    private Short readOnlyProperty;
-
-    @Property(editing = Editing.ENABLED)                                        // <.>
-    @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
-    @Column(allowsNull = "false")
-    @Getter @Setter
-    private Short readWriteProperty;
-
-    @Property(optionality = Optionality.OPTIONAL)                               // <.>
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
-    @Column(allowsNull = "true")                                                // <.>
-    @Getter @Setter
-    private Short readOnlyOptionalProperty;
-
-    @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "2")
-    @Column(allowsNull = "true")
-    @Getter @Setter
-    private Short readWriteOptionalProperty;
-
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/shorts/jdo/WrapperShortJdoEntities.java b/domain/src/main/java/demoapp/dom/types/javalang/shorts/jdo/WrapperShortJdoEntities.java
deleted file mode 100644
index 0c671d4..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/shorts/jdo/WrapperShortJdoEntities.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.javalang.shorts.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class WrapperShortJdoEntities
-extends ValueHolderRepository<Short, WrapperShortJdo> {
-
-    protected WrapperShortJdoEntities() {
-        super(WrapperShortJdo.class);
-    }
-
-    @Override
-    protected WrapperShortJdo newDetachedEntity(Short value) {
-        return new WrapperShortJdo(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/strings/jdo/JavaLangStringJdo-description.adoc b/domain/src/main/java/demoapp/dom/types/javalang/strings/jdo/JavaLangStringJdo-description.adoc
deleted file mode 100644
index 17f08d3..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/strings/jdo/JavaLangStringJdo-description.adoc
+++ /dev/null
@@ -1,19 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-JDO supports `String` out-of-the-box, so no special annotations are required.
-See link:https://www.datanucleus.org/products/accessplatform_6_0/jdo/mapping.html#_primitive_and_java_lang_types[DataNucleus]
-
-[source,java]
-----
-include::JavaLangStringJdo.java[tags=class]
-----
-<.> a no-arg constructor is introduced by JDO enhancer
-<.> required property as defined to JDO/DataNucleus.
-+
-Apache Causeway assumes properties are mandatory, so no additional annotation is required.
-<.> directly editable property as defined to Apache Causeway
-<.> optional property as defined to Apache Causeway
-<.> optional property as defined to JDO/DataNucleus
-
-
-include::../JavaLangStrings-common.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/strings/jdo/JavaLangStringJdo.java b/domain/src/main/java/demoapp/dom/types/javalang/strings/jdo/JavaLangStringJdo.java
deleted file mode 100644
index 10971af..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/strings/jdo/JavaLangStringJdo.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.javalang.strings.jdo;
-
-import javax.jdo.annotations.Column;
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.Optionality;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.Title;
-
-import demoapp.dom.types.javalang.strings.persistence.JavaLangStringEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-//tag::class[]
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.JavaLangStringEntity")
-@DomainObject
-public class JavaLangStringJdo                                          // <.>
-        extends JavaLangStringEntity {
-
-//end::class[]
-    public JavaLangStringJdo(final String initialValue) {
-        this.readOnlyProperty = initialValue;
-        this.readWriteProperty = initialValue;
-    }
-
-//tag::class[]
-    @Title(prepend = "String JDO entity: ")
-    @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
-    @Column(allowsNull = "false")                                               // <.>
-    @Getter @Setter
-    private String readOnlyProperty;
-
-    @Property(editing = Editing.ENABLED)                                        // <.>
-    @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
-    @Column(allowsNull = "false")
-    @Getter @Setter
-    private String readWriteProperty;
-
-    @Property(optionality = Optionality.OPTIONAL)                               // <.>
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
-    @Column(allowsNull = "true")                                                // <.>
-    @Getter @Setter
-    private String readOnlyOptionalProperty;
-
-    @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "2")
-    @Column(allowsNull = "true")
-    @Getter @Setter
-    private String readWriteOptionalProperty;
-
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/types/javalang/strings/jdo/JavaLangStringJdoEntities.java b/domain/src/main/java/demoapp/dom/types/javalang/strings/jdo/JavaLangStringJdoEntities.java
deleted file mode 100644
index 83110c6..0000000
--- a/domain/src/main/java/demoapp/dom/types/javalang/strings/jdo/JavaLangStringJdoEntities.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.javalang.strings.jdo;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class JavaLangStringJdoEntities
-extends ValueHolderRepository<String, JavaLangStringJdo> {
-
-    protected JavaLangStringJdoEntities() {
-        super(JavaLangStringJdo.class);
-    }
-
-    @Override
-    protected JavaLangStringJdo newDetachedEntity(String value) {
-        return new JavaLangStringJdo(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/jdo/BigDecimalJdo-description.adoc b/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/jdo/BigDecimalJdo-description.adoc
deleted file mode 100644
index e1ca3e9..0000000
--- a/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/jdo/BigDecimalJdo-description.adoc
+++ /dev/null
@@ -1,19 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-JDO supports `BigDecimal` out-of-the-box, so no special annotations are required.
-See link:https://www.datanucleus.org/products/accessplatform_6_0/jdo/mapping.html#_primitive_and_java_lang_types[DataNucleus]
-
-[source,java]
-----
-include::BigDecimalJdo.java[tags=class]
-----
-<.> a no-arg constructor is introduced by JDO enhancer
-<.> required property as defined to JDO/DataNucleus.
-+
-Apache Causeway assumes properties are mandatory, so no additional annotation is required.
-<.> directly editable property as defined to Apache Causeway
-<.> optional property as defined to Apache Causeway
-<.> optional property as defined to JDO/DataNucleus
-
-
-include::../BigDecimals-common.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/jdo/BigDecimalJdo.java b/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/jdo/BigDecimalJdo.java
deleted file mode 100644
index 31c578d..0000000
--- a/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/jdo/BigDecimalJdo.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.javamath.bigdecimals.jdo;
-
-import java.math.BigDecimal;
-
-import javax.jdo.annotations.Column;
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.Optionality;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.Title;
-
-import demoapp.dom.types.javamath.bigdecimals.meta.Money;
-import demoapp.dom.types.javamath.bigdecimals.persistence.BigDecimalEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-//tag::class[]
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.BigDecimalEntity")
-@DomainObject
-public class BigDecimalJdo                                          // <.>
-        extends BigDecimalEntity {
-
-//end::class[]
-    public BigDecimalJdo(final BigDecimal initialValue) {
-        this.readOnlyProperty = initialValue;
-        this.readWriteProperty = initialValue;
-    }
-
-//tag::class[]
-    @Title(prepend = "BigDecimal JDO entity: ")
-    @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
-    @Money
-    @Column(allowsNull = "false")                                               // <.>
-    @Getter @Setter
-    private BigDecimal readOnlyProperty;
-
-    @Property(editing = Editing.ENABLED)                                        // <.>
-    @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
-    @Money
-    @Column(allowsNull = "false")
-    @Getter @Setter
-    private BigDecimal readWriteProperty;
-
-    @Property(optionality = Optionality.OPTIONAL)                               // <.>
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
-    @Money
-    @Column(allowsNull = "true")                                                // <.>
-    @Getter @Setter
-    private BigDecimal readOnlyOptionalProperty;
-
-    @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "2")
-    @Money
-    @Column(allowsNull = "true")
-    @Getter @Setter
-    private BigDecimal readWriteOptionalProperty;
-
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/jdo/BigDecimalJdoEntities.java b/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/jdo/BigDecimalJdoEntities.java
deleted file mode 100644
index ab3d834..0000000
--- a/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/jdo/BigDecimalJdoEntities.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.javamath.bigdecimals.jdo;
-
-import java.math.BigDecimal;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class BigDecimalJdoEntities
-extends ValueHolderRepository<BigDecimal, BigDecimalJdo> {
-
-    protected BigDecimalJdoEntities() {
-        super(BigDecimalJdo.class);
-    }
-
-    @Override
-    protected BigDecimalJdo newDetachedEntity(BigDecimal value) {
-        return new BigDecimalJdo(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/meta/Money.java b/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/meta/Money.java
index 6db41c2..0ca4f2c 100644
--- a/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/meta/Money.java
+++ b/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/meta/Money.java
@@ -10,7 +10,6 @@ import jakarta.validation.constraints.Digits;
 
 @Digits(integer = 12, fraction = 2)
 // @jakarta.persistence.Column(precision = 14, scale = 2) // JPA doesn't support meta-annotations
-@javax.jdo.annotations.Column(scale = 2)                // JDO doesn't require length to be specified
 @Inherited
 @Target({
         ElementType.METHOD, ElementType.FIELD,                      // <.>
diff --git a/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/jdo/BigIntegerJdo-description.adoc b/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/jdo/BigIntegerJdo-description.adoc
deleted file mode 100644
index b3f32b6..0000000
--- a/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/jdo/BigIntegerJdo-description.adoc
+++ /dev/null
@@ -1,19 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-JDO supports `BigInteger` out-of-the-box, so no special annotations are required.
-See link:https://www.datanucleus.org/products/accessplatform_6_0/jdo/mapping.html#_primitive_and_java_lang_types[DataNucleus]
-
-[source,java]
-----
-include::BigIntegerJdo.java[tags=class]
-----
-<.> a no-arg constructor is introduced by JDO enhancer
-<.> required property as defined to JDO/DataNucleus.
-+
-Apache Causeway assumes properties are mandatory, so no additional annotation is required.
-<.> directly editable property as defined to Apache Causeway
-<.> optional property as defined to Apache Causeway
-<.> optional property as defined to JDO/DataNucleus
-
-
-include::../BigIntegers-common.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/jdo/BigIntegerJdo.java b/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/jdo/BigIntegerJdo.java
deleted file mode 100644
index 5ea25dc..0000000
--- a/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/jdo/BigIntegerJdo.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.javamath.bigintegers.jdo;
-
-import java.math.BigInteger;
-
-import javax.jdo.annotations.Column;
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.Optionality;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.Title;
-
-import demoapp.dom.types.javamath.bigintegers.persistence.BigIntegerEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-//tag::class[]
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.BigIntegerEntity")
-@DomainObject
-public class BigIntegerJdo                                          // <.>
-        extends BigIntegerEntity {
-
-//end::class[]
-    public BigIntegerJdo(final BigInteger initialValue) {
-        this.readOnlyProperty = initialValue;
-        this.readWriteProperty = initialValue;
-    }
-
-//tag::class[]
-    @Title(prepend = "BigInteger JDO entity: ")
-    @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
-    @Column(allowsNull = "false")                                               // <.>
-    @Getter @Setter
-    private BigInteger readOnlyProperty;
-
-    @Property(editing = Editing.ENABLED)                                        // <.>
-    @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
-    @Column(allowsNull = "false")
-    @Getter @Setter
-    private BigInteger readWriteProperty;
-
-    @Property(optionality = Optionality.OPTIONAL)                               // <.>
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
-    @Column(allowsNull = "true")                                                // <.>
-    @Getter @Setter
-    private BigInteger readOnlyOptionalProperty;
-
-    @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "2")
-    @Column(allowsNull = "true")
-    @Getter @Setter
-    private BigInteger readWriteOptionalProperty;
-
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/jdo/BigIntegerJdoEntities.java b/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/jdo/BigIntegerJdoEntities.java
deleted file mode 100644
index 4f9f3a1..0000000
--- a/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/jdo/BigIntegerJdoEntities.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.javamath.bigintegers.jdo;
-
-import java.math.BigInteger;
-
-import org.springframework.context.annotation.Profile;
-import org.springframework.stereotype.Service;
-
-import demoapp.dom._infra.values.ValueHolderRepository;
-
-@Profile("demo-jdo")
-@Service
-public class BigIntegerJdoEntities
-extends ValueHolderRepository<BigInteger, BigIntegerJdo> {
-
-    protected BigIntegerJdoEntities() {
-        super(BigIntegerJdo.class);
-    }
-
-    @Override
-    protected BigIntegerJdo newDetachedEntity(BigInteger value) {
-        return new BigIntegerJdo(value);
-    }
-
-}
diff --git a/domain/src/main/java/demoapp/dom/types/javanet/urls/jdo/UrlJdo-description.adoc b/domain/src/main/java/demoapp/dom/types/javanet/urls/jdo/UrlJdo-description.adoc
deleted file mode 100644
index 0f6b092..0000000
--- a/domain/src/main/java/demoapp/dom/types/javanet/urls/jdo/UrlJdo-description.adoc
+++ /dev/null
@@ -1,19 +0,0 @@
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-JDO supports `URL` out-of-the-box, so no special annotations are required.
-See link:https://www.datanucleus.org/products/accessplatform_6_0/jdo/mapping.html#_primitive_and_java_lang_types[DataNucleus]
-
-[source,java]
-----
-include::UrlJdo.java[tags=class]
-----
-<.> a no-arg constructor is introduced by JDO enhancer
-<.> required property as defined to JDO/DataNucleus.
-+
-Apache Causeway assumes properties are mandatory, so no additional annotation is required.
-<.> directly editable property as defined to Apache Causeway
-<.> optional property as defined to Apache Causeway
-<.> optional property as defined to JDO/DataNucleus
-
-
-include::../Urls-common.adoc[]
diff --git a/domain/src/main/java/demoapp/dom/types/javanet/urls/jdo/UrlJdo.java b/domain/src/main/java/demoapp/dom/types/javanet/urls/jdo/UrlJdo.java
deleted file mode 100644
index 9c44861..0000000
--- a/domain/src/main/java/demoapp/dom/types/javanet/urls/jdo/UrlJdo.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.javanet.urls.jdo;
-
-import java.net.URL;
-
-import javax.jdo.annotations.Column;
-import javax.jdo.annotations.DatastoreIdentity;
-import javax.jdo.annotations.IdGeneratorStrategy;
-import javax.jdo.annotations.IdentityType;
-import javax.jdo.annotations.PersistenceCapable;
-
-import jakarta.inject.Named;
-
-import org.springframework.context.annotation.Profile;
-
-import org.apache.causeway.applib.annotation.DomainObject;
-import org.apache.causeway.applib.annotation.Editing;
-import org.apache.causeway.applib.annotation.Optionality;
-import org.apache.causeway.applib.annotation.Property;
-import org.apache.causeway.applib.annotation.PropertyLayout;
-import org.apache.causeway.applib.annotation.Title;
-
-import demoapp.dom.types.javanet.urls.persistence.UrlEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-@Profile("demo-jdo")
-//tag::class[]
-@PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
-@DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
-@Named("demo.UrlEntity")
-@DomainObject
-public class UrlJdo                                          // <.>
-        extends UrlEntity {
-
-//end::class[]
-    public UrlJdo(final URL initialValue) {
-        this.readOnlyProperty = initialValue;
-        this.readWriteProperty = initialValue;
-    }
-
-//tag::class[]
-    @Title(prepend = "URL JDO entity: ")
-    @PropertyLayout(fieldSetId = "read-only-properties", sequence = "1")
-    @Column(allowsNull = "false")                                               // <.>
-    @Getter @Setter
-    private URL readOnlyProperty;
-
-    @Property(editing = Editing.ENABLED)                                        // <.>
-    @PropertyLayout(fieldSetId = "editable-properties", sequence = "1")
-    @Column(allowsNull = "false")
-    @Getter @Setter
-    private URL readWriteProperty;
-
-    @Property(optionality = Optionality.OPTIONAL)                               // <.>
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "1")
-    @Column(allowsNull = "true")                                                // <.>
-    @Getter @Setter
-    private URL readOnlyOptionalProperty;
-
-    @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
-    @PropertyLayout(fieldSetId = "optional-properties", sequence = "2")
-    @Column(allowsNull = "true")
-    @Getter @Setter
-    private URL readWriteOptionalProperty;
-
-}
-//end::class[]
diff --git a/domain/src/main/java/demoapp/dom/types/javanet/urls/jdo/UrlJdoEntities.java b/domain/src/main/java/demoapp/dom/types/javanet/urls/jdo/UrlJdoEntities.java
deleted file mode 100644
index f0e1993..0000000
--- a/domain/src/main/java/demoapp/dom/types/javanet/urls/jdo/UrlJdoEntities.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package demoapp.dom.types.javanet.urls.jdo;
... 12941 lines suppressed ...