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

[isis] branch master updated: ISIS-2631: batch rename uses of objectType in demo annotations

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

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


The following commit(s) were added to refs/heads/master by this push:
     new eb39952  ISIS-2631: batch rename uses of objectType in demo annotations
eb39952 is described below

commit eb399525b543cec4f872e2547ddc2a69bf6dce7b
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue May 25 20:56:02 2021 +0200

    ISIS-2631: batch rename uses of objectType in demo annotations
---
 .../main/java/demoapp/dom/domain/_interactions/InteractionDtoVm.java  | 2 +-
 .../src/main/java/demoapp/dom/domain/actions/Action/ActionMenu.java   | 2 +-
 .../domain/actions/Action/associateWith/ActionAssociateWithVm.java    | 2 +-
 .../Action/associateWith/child/ActionAssociateWithChildVm.java        | 2 +-
 .../actions/Action/commandPublishing/ActionCommandPublishingJdo.java  | 2 +-
 .../dom/domain/actions/Action/domainEvent/ActionDomainEventVm.java    | 2 +-
 .../domainEvent/subscribers/ActionDomainEventControlService.java      | 2 +-
 .../Action/executionPublishing/ActionExecutionPublishingJdo.java      | 2 +-
 .../java/demoapp/dom/domain/actions/Action/hidden/ActionHiddenVm.java | 2 +-
 .../dom/domain/actions/Action/restrictTo/ActionRestrictToVm.java      | 2 +-
 .../dom/domain/actions/Action/semantics/ActionSemanticsVm.java        | 2 +-
 .../java/demoapp/dom/domain/actions/Action/typeOf/ActionTypeOfVm.java | 2 +-
 .../dom/domain/actions/Action/typeOf/child/ActionTypeOfChildVm.java   | 2 +-
 .../demoapp/dom/domain/actions/ActionLayout/ActionLayoutMenu.java     | 2 +-
 .../domain/actions/ActionLayout/position/ActionLayoutPositionVm.java  | 2 +-
 .../actions/ActionLayout/promptStyle/ActionLayoutPromptStyleVm.java   | 2 +-
 .../dom/domain/actions/progmodel/assoc/AssociatedActionDemo.java      | 2 +-
 .../dom/domain/actions/progmodel/assoc/AssociatedActionMenu.java      | 2 +-
 .../java/demoapp/dom/domain/actions/progmodel/assoc/DemoItem.java     | 2 +-
 .../java/demoapp/dom/domain/actions/progmodel/depargs/DemoItem.java   | 2 +-
 .../dom/domain/actions/progmodel/depargs/DependentArgsActionDemo.java | 2 +-
 .../dom/domain/actions/progmodel/depargs/DependentArgsActionMenu.java | 2 +-
 .../demoapp/dom/domain/collections/Collection/CollectionMenu.java     | 2 +-
 .../collections/Collection/domainEvent/CollectionDomainEventVm.java   | 2 +-
 .../Collection/domainEvent/child/CollectionDomainEventChildVm.java    | 2 +-
 .../domainEvent/subscribers/CollectionDomainEventControlService.java  | 2 +-
 .../dom/domain/collections/CollectionLayout/CollectionLayoutMenu.java | 2 +-
 .../demoapp/dom/domain/objects/DomainObject/DomainObjectMenu.java     | 2 +-
 .../entityChangePublishing/DomainObjectEntityChangePublishingVm.java  | 2 +-
 .../disabled/DomainObjectEntityChangePublishingDisabledJdo.java       | 2 +-
 .../enabled/DomainObjectEntityChangePublishingEnabledJdo.java         | 2 +-
 .../DomainObjectEntityChangePublishingEnabledMetaAnnotatedJdo.java    | 2 +-
 ...mainObjectEntityChangePublishingEnabledMetaAnnotOverriddenJdo.java | 2 +-
 .../nature/viewmodels/jaxbrefentity/StatefulVmJaxbRefsEntity.java     | 2 +-
 .../DomainObject/nature/viewmodels/usingjaxb/StatefulVmUsingJaxb.java | 4 ++--
 .../dom/domain/objects/DomainObjectLayout/DomainObjectLayoutMenu.java | 2 +-
 .../demoapp/dom/domain/objects/other/embedded/EmbeddedTypeMenu.java   | 2 +-
 .../demoapp/dom/domain/objects/other/embedded/EmbeddedTypeVm.java     | 2 +-
 .../demoapp/dom/domain/objects/other/mixins/FibonacciNumberVm.java    | 2 +-
 .../main/java/demoapp/dom/domain/objects/other/mixins/MixinMenu.java  | 2 +-
 .../main/java/demoapp/dom/domain/objects/other/mixins/MixinVm.java    | 2 +-
 .../java/demoapp/dom/domain/properties/Property/PropertyMenu.java     | 2 +-
 .../Property/commandPublishing/PropertyCommandPublishingJdo.java      | 2 +-
 .../domain/properties/Property/domainEvent/PropertyDomainEventVm.java | 2 +-
 .../domainEvent/subscribers/PropertyDomainEventControlService.java    | 2 +-
 .../dom/domain/properties/Property/editing/PropertyEditingVm.java     | 2 +-
 .../Property/executionPublishing/PropertyExecutionPublishingJdo.java  | 2 +-
 .../domain/properties/Property/fileAccept/PropertyFileAcceptVm.java   | 2 +-
 .../dom/domain/properties/Property/hidden/PropertyHiddenVm.java       | 2 +-
 .../properties/Property/hidden/child/PropertyHiddenChildVm.java       | 2 +-
 .../dom/domain/properties/Property/maxLength/PropertyMaxLengthVm.java | 2 +-
 .../domain/properties/Property/mustSatisfy/PropertyMustSatisfyVm.java | 2 +-
 .../domain/properties/Property/optionality/PropertyOptionalityVm.java | 2 +-
 .../domain/properties/Property/projecting/PropertyProjectingVm.java   | 2 +-
 .../Property/projecting/child/PropertyProjectingChildVm.java          | 2 +-
 .../Property/projecting/jdo/PropertyProjectingChildJdo.java           | 2 +-
 .../properties/Property/regexPattern/PropertyRegexPatternVm.java      | 2 +-
 .../dom/domain/properties/Property/snapshot/PropertySnapshotVm.java   | 2 +-
 .../dom/domain/properties/PropertyLayout/PropertyLayoutMenu.java      | 2 +-
 .../properties/PropertyLayout/cssClass/PropertyLayoutCssClassVm.java  | 2 +-
 .../PropertyLayout/describedAs/PropertyLayoutDescribedAsVm.java       | 2 +-
 .../properties/PropertyLayout/hidden/PropertyLayoutHiddenVm.java      | 2 +-
 .../PropertyLayout/hidden/child/PropertyLayoutHiddenChildVm.java      | 2 +-
 .../PropertyLayout/labelPosition/PropertyLayoutLabelPositionVm.java   | 2 +-
 .../PropertyLayout/multiLine/PropertyLayoutMultiLineVm.java           | 2 +-
 .../domain/properties/PropertyLayout/named/PropertyLayoutNamedVm.java | 2 +-
 .../dom/domain/properties/PropertyLayout/navigable/FileNodeVm.java    | 2 +-
 .../PropertyLayout/renderDay/PropertyLayoutRenderDayVm.java           | 2 +-
 .../PropertyLayout/repainting/PropertyLayoutRepaintingVm.java         | 2 +-
 .../PropertyLayout/typicalLength/PropertyLayoutTypicalLengthVm.java   | 2 +-
 .../java/demoapp/dom/featured/customui/vm/WhereInTheWorldMenu.java    | 2 +-
 .../main/java/demoapp/dom/featured/customui/vm/WhereInTheWorldVm.java | 2 +-
 .../java/demoapp/dom/featured/layout/describedAs/DescribedAsMenu.java | 2 +-
 .../java/demoapp/dom/featured/layout/describedAs/DescribedAsVm.java   | 2 +-
 .../src/main/java/demoapp/dom/featured/layout/tabs/TabDemo.java       | 2 +-
 .../src/main/java/demoapp/dom/featured/layout/tabs/TabMenu.java       | 2 +-
 .../demo/domain/src/main/java/demoapp/dom/homepage/DemoHomePage.java  | 2 +-
 .../domain/src/main/java/demoapp/dom/services/core/ServicesMenu.java  | 2 +-
 .../core/errorreportingservice/ErrorReportingServiceDemoVm.java       | 2 +-
 .../dom/services/core/eventbusservice/EventBusServiceDemoVm.java      | 2 +-
 .../demoapp/dom/services/core/eventbusservice/EventLogEntryJpa.java   | 2 +-
 .../core/eventbusservice/EventSubscriberDemoImplementation.java       | 2 +-
 .../dom/services/core/messageservice/MessageServiceDemoVm.java        | 2 +-
 .../dom/services/core/wrapperFactory/WrapperFactoryEntity.java        | 2 +-
 .../dom/services/core/wrapperFactory/jdo/WrapperFactoryJdo.java       | 2 +-
 .../dom/services/core/wrapperFactory/jpa/WrapperFactoryJpa.java       | 2 +-
 .../dom/services/core/xmlSnapshotService/XmlSnapshotParentVm.java     | 2 +-
 .../services/core/xmlSnapshotService/child/XmlSnapshotChildVm.java    | 2 +-
 .../dom/services/core/xmlSnapshotService/peer/XmlSnapshotPeerVm.java  | 2 +-
 .../core/xmlSnapshotService/peer/child/XmlSnapshotPeerChildVm.java    | 2 +-
 .../java/demoapp/dom/services/extensions/secman/ExtSecManMenu.java    | 2 +-
 .../dom/services/extensions/secman/apptenancy/AppTenancyVm.java       | 2 +-
 .../dom/services/extensions/secman/apptenancy/jdo/TenantedJdo.java    | 2 +-
 .../dom/services/extensions/secman/apptenancy/jpa/TenantedJpa.java    | 2 +-
 .../extensions/secman/apptenancy/persistence/TenantedEntity.java      | 2 +-
 .../domain/src/main/java/demoapp/dom/types/isis/IsisTypesMenu.java    | 2 +-
 .../domain/src/main/java/demoapp/dom/types/isis/blobs/IsisBlobs.java  | 2 +-
 .../src/main/java/demoapp/dom/types/isis/blobs/jdo/IsisBlobJdo.java   | 2 +-
 .../src/main/java/demoapp/dom/types/isis/blobs/jpa/IsisBlobJpa.java   | 2 +-
 .../java/demoapp/dom/types/isis/blobs/persistence/IsisBlobEntity.java | 2 +-
 .../src/main/java/demoapp/dom/types/isis/blobs/vm/IsisBlobVm.java     | 2 +-
 .../domain/src/main/java/demoapp/dom/types/isis/clobs/IsisClobs.java  | 2 +-
 .../src/main/java/demoapp/dom/types/isis/clobs/jdo/IsisClobJdo.java   | 2 +-
 .../src/main/java/demoapp/dom/types/isis/clobs/jpa/IsisClobJpa.java   | 2 +-
 .../java/demoapp/dom/types/isis/clobs/persistence/IsisClobEntity.java | 2 +-
 .../src/main/java/demoapp/dom/types/isis/clobs/vm/IsisClobVm.java     | 2 +-
 .../dom/types/isis/localresourcepaths/IsisLocalResourcePaths.java     | 2 +-
 .../types/isis/localresourcepaths/jdo/IsisLocalResourcePathJdo.java   | 2 +-
 .../types/isis/localresourcepaths/jpa/IsisLocalResourcePathJpa.java   | 2 +-
 .../localresourcepaths/persistence/IsisLocalResourcePathEntity.java   | 2 +-
 .../dom/types/isis/localresourcepaths/vm/IsisLocalResourcePathVm.java | 2 +-
 .../src/main/java/demoapp/dom/types/isis/markups/IsisMarkups.java     | 2 +-
 .../main/java/demoapp/dom/types/isis/markups/jdo/IsisMarkupJdo.java   | 2 +-
 .../main/java/demoapp/dom/types/isis/markups/jpa/IsisMarkupJpa.java   | 2 +-
 .../demoapp/dom/types/isis/markups/persistence/IsisMarkupEntity.java  | 2 +-
 .../src/main/java/demoapp/dom/types/isis/markups/vm/IsisMarkupVm.java | 2 +-
 .../src/main/java/demoapp/dom/types/isis/passwords/IsisPasswords.java | 2 +-
 .../java/demoapp/dom/types/isis/passwords/jdo/IsisPasswordJdo.java    | 2 +-
 .../java/demoapp/dom/types/isis/passwords/jpa/IsisPasswordJpa.java    | 2 +-
 .../dom/types/isis/passwords/persistence/IsisPasswordEntity.java      | 2 +-
 .../main/java/demoapp/dom/types/isis/passwords/vm/IsisPasswordVm.java | 2 +-
 .../src/main/java/demoapp/dom/types/isisext/IsisExtTypesMenu.java     | 2 +-
 .../main/java/demoapp/dom/types/isisext/asciidocs/IsisAsciiDocs.java  | 2 +-
 .../java/demoapp/dom/types/isisext/asciidocs/jdo/IsisAsciiDocJdo.java | 2 +-
 .../java/demoapp/dom/types/isisext/asciidocs/jpa/IsisAsciiDocJpa.java | 2 +-
 .../dom/types/isisext/asciidocs/persistence/IsisAsciiDocEntity.java   | 2 +-
 .../java/demoapp/dom/types/isisext/asciidocs/vm/IsisAsciiDocVm.java   | 2 +-
 .../main/java/demoapp/dom/types/isisext/markdowns/IsisMarkdowns.java  | 2 +-
 .../java/demoapp/dom/types/isisext/markdowns/jdo/IsisMarkdownJdo.java | 2 +-
 .../java/demoapp/dom/types/isisext/markdowns/jpa/IsisMarkdownJpa.java | 2 +-
 .../dom/types/isisext/markdowns/persistence/IsisMarkdownEntity.java   | 2 +-
 .../java/demoapp/dom/types/isisext/markdowns/vm/IsisMarkdownVm.java   | 2 +-
 .../src/main/java/demoapp/dom/types/isisext/sse/AsyncActionDemo.java  | 2 +-
 .../src/main/java/demoapp/dom/types/isisext/sse/AsyncActionMenu.java  | 2 +-
 .../domain/src/main/java/demoapp/dom/types/isisext/sse/DemoTask.java  | 2 +-
 .../src/main/java/demoapp/dom/types/javaawt/JavaAwtTypesMenu.java     | 2 +-
 .../java/demoapp/dom/types/javaawt/images/JavaAwtBufferedImages.java  | 2 +-
 .../demoapp/dom/types/javaawt/images/jdo/JavaAwtBufferedImageJdo.java | 2 +-
 .../demoapp/dom/types/javaawt/images/jpa/JavaAwtBufferedImageJpa.java | 2 +-
 .../types/javaawt/images/persistence/JavaAwtBufferedImageEntity.java  | 2 +-
 .../demoapp/dom/types/javaawt/images/vm/JavaAwtBufferedImageVm.java   | 2 +-
 .../src/main/java/demoapp/dom/types/javalang/JavaLangTypesMenu.java   | 2 +-
 .../java/demoapp/dom/types/javalang/JavaLangWrapperTypesMenu.java     | 2 +-
 .../java/demoapp/dom/types/javalang/booleans/WrapperBooleans.java     | 2 +-
 .../demoapp/dom/types/javalang/booleans/jdo/WrapperBooleanJdo.java    | 2 +-
 .../demoapp/dom/types/javalang/booleans/jpa/WrapperBooleanJpa.java    | 2 +-
 .../dom/types/javalang/booleans/persistence/WrapperBooleanEntity.java | 2 +-
 .../java/demoapp/dom/types/javalang/booleans/vm/WrapperBooleanVm.java | 2 +-
 .../src/main/java/demoapp/dom/types/javalang/bytes/WrapperBytes.java  | 2 +-
 .../java/demoapp/dom/types/javalang/bytes/jdo/WrapperByteJdo.java     | 2 +-
 .../java/demoapp/dom/types/javalang/bytes/jpa/WrapperByteJpa.java     | 2 +-
 .../dom/types/javalang/bytes/persistence/WrapperByteEntity.java       | 2 +-
 .../main/java/demoapp/dom/types/javalang/bytes/vm/WrapperByteVm.java  | 2 +-
 .../java/demoapp/dom/types/javalang/characters/WrapperCharacters.java | 2 +-
 .../dom/types/javalang/characters/jdo/WrapperCharacterJdo.java        | 2 +-
 .../dom/types/javalang/characters/jpa/WrapperCharacterJpa.java        | 2 +-
 .../types/javalang/characters/persistence/WrapperCharacterEntity.java | 2 +-
 .../demoapp/dom/types/javalang/characters/vm/WrapperCharacterVm.java  | 2 +-
 .../main/java/demoapp/dom/types/javalang/doubles/WrapperDoubles.java  | 2 +-
 .../java/demoapp/dom/types/javalang/doubles/jdo/WrapperDoubleJdo.java | 2 +-
 .../java/demoapp/dom/types/javalang/doubles/jpa/WrapperDoubleJpa.java | 2 +-
 .../dom/types/javalang/doubles/persistence/WrapperDoubleEntity.java   | 2 +-
 .../java/demoapp/dom/types/javalang/doubles/vm/WrapperDoubleVm.java   | 2 +-
 .../main/java/demoapp/dom/types/javalang/floats/WrapperFloats.java    | 2 +-
 .../java/demoapp/dom/types/javalang/floats/jdo/WrapperFloatJdo.java   | 2 +-
 .../java/demoapp/dom/types/javalang/floats/jpa/WrapperFloatJpa.java   | 2 +-
 .../dom/types/javalang/floats/persistence/WrapperFloatEntity.java     | 2 +-
 .../java/demoapp/dom/types/javalang/floats/vm/WrapperFloatVm.java     | 2 +-
 .../java/demoapp/dom/types/javalang/integers/WrapperIntegers.java     | 2 +-
 .../demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdo.java    | 2 +-
 .../demoapp/dom/types/javalang/integers/jpa/WrapperIntegerJpa.java    | 2 +-
 .../dom/types/javalang/integers/persistence/WrapperIntegerEntity.java | 2 +-
 .../java/demoapp/dom/types/javalang/integers/vm/WrapperIntegerVm.java | 2 +-
 .../src/main/java/demoapp/dom/types/javalang/longs/WrapperLongs.java  | 2 +-
 .../java/demoapp/dom/types/javalang/longs/jdo/WrapperLongJdo.java     | 2 +-
 .../java/demoapp/dom/types/javalang/longs/jpa/WrapperLongJpa.java     | 2 +-
 .../dom/types/javalang/longs/persistence/WrapperLongEntity.java       | 2 +-
 .../main/java/demoapp/dom/types/javalang/longs/vm/WrapperLongVm.java  | 2 +-
 .../main/java/demoapp/dom/types/javalang/shorts/WrapperShorts.java    | 2 +-
 .../java/demoapp/dom/types/javalang/shorts/jdo/WrapperShortJdo.java   | 2 +-
 .../java/demoapp/dom/types/javalang/shorts/jpa/WrapperShortJpa.java   | 2 +-
 .../dom/types/javalang/shorts/persistence/WrapperShortEntity.java     | 2 +-
 .../java/demoapp/dom/types/javalang/shorts/vm/WrapperShortVm.java     | 2 +-
 .../main/java/demoapp/dom/types/javalang/strings/JavaLangStrings.java | 2 +-
 .../demoapp/dom/types/javalang/strings/jdo/JavaLangStringJdo.java     | 2 +-
 .../demoapp/dom/types/javalang/strings/jpa/JavaLangStringJpa.java     | 2 +-
 .../dom/types/javalang/strings/persistence/JavaLangStringEntity.java  | 2 +-
 .../java/demoapp/dom/types/javalang/strings/vm/JavaLangStringVm.java  | 2 +-
 .../src/main/java/demoapp/dom/types/javalang/voids/JavaLangVoids.java | 2 +-
 .../src/main/java/demoapp/dom/types/javamath/JavaMathTypesMenu.java   | 2 +-
 .../demoapp/dom/types/javamath/bigdecimals/JavaMathBigDecimals.java   | 2 +-
 .../dom/types/javamath/bigdecimals/jdo/JavaMathBigDecimalJdo.java     | 2 +-
 .../dom/types/javamath/bigdecimals/jpa/JavaMathBigDecimalJpa.java     | 2 +-
 .../javamath/bigdecimals/persistence/JavaMathBigDecimalEntity.java    | 2 +-
 .../dom/types/javamath/bigdecimals/vm/JavaMathBigDecimalVm.java       | 2 +-
 .../demoapp/dom/types/javamath/bigintegers/JavaMathBigIntegers.java   | 2 +-
 .../dom/types/javamath/bigintegers/jdo/JavaMathBigIntegerJdo.java     | 2 +-
 .../dom/types/javamath/bigintegers/jpa/JavaMathBigIntegerJpa.java     | 2 +-
 .../javamath/bigintegers/persistence/JavaMathBigIntegerEntity.java    | 2 +-
 .../dom/types/javamath/bigintegers/vm/JavaMathBigIntegerVm.java       | 2 +-
 .../src/main/java/demoapp/dom/types/javanet/JavaNetTypesMenu.java     | 2 +-
 .../src/main/java/demoapp/dom/types/javanet/urls/JavaNetUrls.java     | 2 +-
 .../main/java/demoapp/dom/types/javanet/urls/jdo/JavaNetUrlJdo.java   | 2 +-
 .../main/java/demoapp/dom/types/javanet/urls/jpa/JavaNetUrlJpa.java   | 2 +-
 .../demoapp/dom/types/javanet/urls/persistence/JavaNetUrlEntity.java  | 2 +-
 .../src/main/java/demoapp/dom/types/javanet/urls/vm/JavaNetUrlVm.java | 2 +-
 .../src/main/java/demoapp/dom/types/javasql/JavaSqlTypesMenu.java     | 2 +-
 .../main/java/demoapp/dom/types/javasql/javasqldate/JavaSqlDates.java | 2 +-
 .../demoapp/dom/types/javasql/javasqldate/jdo/JavaSqlDateJdo.java     | 2 +-
 .../demoapp/dom/types/javasql/javasqldate/jpa/JavaSqlDateJpa.java     | 2 +-
 .../dom/types/javasql/javasqldate/persistence/JavaSqlDateEntity.java  | 2 +-
 .../java/demoapp/dom/types/javasql/javasqldate/vm/JavaSqlDateVm.java  | 2 +-
 .../demoapp/dom/types/javasql/javasqltimestamp/JavaSqlTimestamps.java | 2 +-
 .../dom/types/javasql/javasqltimestamp/jdo/JavaSqlTimestampJdo.java   | 2 +-
 .../dom/types/javasql/javasqltimestamp/jpa/JavaSqlTimestampJpa.java   | 2 +-
 .../javasql/javasqltimestamp/persistence/JavaSqlTimestampEntity.java  | 2 +-
 .../dom/types/javasql/javasqltimestamp/vm/JavaSqlTimestampVm.java     | 2 +-
 .../src/main/java/demoapp/dom/types/javatime/JavaTimeTypesMenu.java   | 2 +-
 .../dom/types/javatime/javatimelocaldate/JavaTimeLocalDates.java      | 2 +-
 .../types/javatime/javatimelocaldate/jdo/JavaTimeLocalDateJdo.java    | 2 +-
 .../types/javatime/javatimelocaldate/jpa/JavaTimeLocalDateJpa.java    | 2 +-
 .../javatimelocaldate/persistence/JavaTimeLocalDateEntity.java        | 2 +-
 .../dom/types/javatime/javatimelocaldate/vm/JavaTimeLocalDateVm.java  | 2 +-
 .../types/javatime/javatimelocaldatetime/JavaTimeLocalDateTimes.java  | 2 +-
 .../javatime/javatimelocaldatetime/jdo/JavaTimeLocalDateTimeJdo.java  | 2 +-
 .../javatime/javatimelocaldatetime/jpa/JavaTimeLocalDateTimeJpa.java  | 2 +-
 .../persistence/JavaTimeLocalDateTimeEntity.java                      | 2 +-
 .../javatime/javatimelocaldatetime/vm/JavaTimeLocalDateTimeVm.java    | 2 +-
 .../javatime/javatimeoffsetdatetime/JavaTimeOffsetDateTimes.java      | 2 +-
 .../javatimeoffsetdatetime/jdo/JavaTimeOffsetDateTimeJdo.java         | 2 +-
 .../javatimeoffsetdatetime/jpa/JavaTimeOffsetDateTimeJpa.java         | 2 +-
 .../persistence/JavaTimeOffsetDateTimeEntity.java                     | 2 +-
 .../javatime/javatimeoffsetdatetime/vm/JavaTimeOffsetDateTimeVm.java  | 2 +-
 .../dom/types/javatime/javatimeoffsettime/JavaTimeOffsetTimes.java    | 2 +-
 .../types/javatime/javatimeoffsettime/jdo/JavaTimeOffsetTimeJdo.java  | 2 +-
 .../types/javatime/javatimeoffsettime/jpa/JavaTimeOffsetTimeJpa.java  | 2 +-
 .../javatimeoffsettime/persistence/JavaTimeOffsetTimeEntity.java      | 2 +-
 .../types/javatime/javatimeoffsettime/vm/JavaTimeOffsetTimeVm.java    | 2 +-
 .../types/javatime/javatimezoneddatetime/JavaTimeZonedDateTimes.java  | 2 +-
 .../javatime/javatimezoneddatetime/jdo/JavaTimeZonedDateTimeJdo.java  | 2 +-
 .../javatime/javatimezoneddatetime/jpa/JavaTimeZonedDateTimeJpa.java  | 2 +-
 .../persistence/JavaTimeZonedDateTimeEntity.java                      | 2 +-
 .../javatime/javatimezoneddatetime/vm/JavaTimeZonedDateTimeVm.java    | 2 +-
 .../src/main/java/demoapp/dom/types/javautil/JavaUtilTypesMenu.java   | 2 +-
 .../java/demoapp/dom/types/javautil/javautildate/JavaUtilDates.java   | 2 +-
 .../demoapp/dom/types/javautil/javautildate/jdo/JavaUtilDateJdo.java  | 2 +-
 .../demoapp/dom/types/javautil/javautildate/jpa/JavaUtilDateJpa.java  | 2 +-
 .../types/javautil/javautildate/persistence/JavaUtilDateEntity.java   | 2 +-
 .../demoapp/dom/types/javautil/javautildate/vm/JavaUtilDateVm.java    | 2 +-
 .../src/main/java/demoapp/dom/types/javautil/uuids/JavaUtilUuids.java | 2 +-
 .../java/demoapp/dom/types/javautil/uuids/jdo/JavaUtilUuidJdo.java    | 2 +-
 .../java/demoapp/dom/types/javautil/uuids/jpa/JavaUtilUuidJpa.java    | 2 +-
 .../dom/types/javautil/uuids/persistence/JavaUtilUuidEntity.java      | 2 +-
 .../main/java/demoapp/dom/types/javautil/uuids/vm/JavaUtilUuidVm.java | 2 +-
 .../src/main/java/demoapp/dom/types/jodatime/JodaTimeTypesMenu.java   | 2 +-
 .../java/demoapp/dom/types/jodatime/jodadatetime/JodaDateTimes.java   | 2 +-
 .../demoapp/dom/types/jodatime/jodadatetime/jdo/JodaDateTimeJdo.java  | 2 +-
 .../types/jodatime/jodadatetime/persistence/JodaDateTimeEntity.java   | 2 +-
 .../demoapp/dom/types/jodatime/jodadatetime/vm/JodaDateTimeVm.java    | 2 +-
 .../java/demoapp/dom/types/jodatime/jodalocaldate/JodaLocalDates.java | 2 +-
 .../dom/types/jodatime/jodalocaldate/jdo/JodaLocalDateJdo.java        | 2 +-
 .../types/jodatime/jodalocaldate/persistence/JodaLocalDateEntity.java | 2 +-
 .../demoapp/dom/types/jodatime/jodalocaldate/vm/JodaLocalDateVm.java  | 2 +-
 .../dom/types/jodatime/jodalocaldatetime/JodaLocalDateTimes.java      | 2 +-
 .../types/jodatime/jodalocaldatetime/jdo/JodaLocalDateTimeJdo.java    | 2 +-
 .../jodalocaldatetime/persistence/JodaLocalDateTimeEntity.java        | 2 +-
 .../dom/types/jodatime/jodalocaldatetime/vm/JodaLocalDateTimeVm.java  | 2 +-
 .../java/demoapp/dom/types/jodatime/jodalocaltime/JodaLocalTimes.java | 2 +-
 .../dom/types/jodatime/jodalocaltime/jdo/JodaLocalTimeJdo.java        | 2 +-
 .../types/jodatime/jodalocaltime/persistence/JodaLocalTimeEntity.java | 2 +-
 .../demoapp/dom/types/jodatime/jodalocaltime/vm/JodaLocalTimeVm.java  | 2 +-
 .../src/main/java/demoapp/dom/types/primitive/PrimitiveTypesMenu.java | 2 +-
 .../java/demoapp/dom/types/primitive/booleans/PrimitiveBooleans.java  | 2 +-
 .../demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdo.java | 2 +-
 .../demoapp/dom/types/primitive/booleans/jpa/PrimitiveBooleanJpa.java | 2 +-
 .../types/primitive/booleans/persistence/PrimitiveBooleanEntity.java  | 2 +-
 .../demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanVm.java   | 2 +-
 .../main/java/demoapp/dom/types/primitive/bytes/PrimitiveBytes.java   | 2 +-
 .../java/demoapp/dom/types/primitive/bytes/jdo/PrimitiveByteJdo.java  | 2 +-
 .../java/demoapp/dom/types/primitive/bytes/jpa/PrimitiveByteJpa.java  | 2 +-
 .../dom/types/primitive/bytes/persistence/PrimitiveByteEntity.java    | 2 +-
 .../java/demoapp/dom/types/primitive/bytes/vm/PrimitiveByteVm.java    | 2 +-
 .../main/java/demoapp/dom/types/primitive/chars/PrimitiveChars.java   | 2 +-
 .../java/demoapp/dom/types/primitive/chars/jdo/PrimitiveCharJdo.java  | 2 +-
 .../java/demoapp/dom/types/primitive/chars/jpa/PrimitiveCharJpa.java  | 2 +-
 .../dom/types/primitive/chars/persistence/PrimitiveCharEntity.java    | 2 +-
 .../java/demoapp/dom/types/primitive/chars/vm/PrimitiveCharVm.java    | 2 +-
 .../java/demoapp/dom/types/primitive/doubles/PrimitiveDoubles.java    | 2 +-
 .../demoapp/dom/types/primitive/doubles/jdo/PrimitiveDoubleJdo.java   | 2 +-
 .../demoapp/dom/types/primitive/doubles/jpa/PrimitiveDoubleJpa.java   | 2 +-
 .../types/primitive/doubles/persistence/PrimitiveDoubleEntity.java    | 2 +-
 .../demoapp/dom/types/primitive/doubles/vm/PrimitiveDoubleVm.java     | 2 +-
 .../main/java/demoapp/dom/types/primitive/floats/PrimitiveFloats.java | 2 +-
 .../demoapp/dom/types/primitive/floats/jdo/PrimitiveFloatJdo.java     | 2 +-
 .../demoapp/dom/types/primitive/floats/jpa/PrimitiveFloatJpa.java     | 2 +-
 .../dom/types/primitive/floats/persistence/PrimitiveFloatEntity.java  | 2 +-
 .../java/demoapp/dom/types/primitive/floats/vm/PrimitiveFloatVm.java  | 2 +-
 .../src/main/java/demoapp/dom/types/primitive/ints/PrimitiveInts.java | 2 +-
 .../java/demoapp/dom/types/primitive/ints/jdo/PrimitiveIntJdo.java    | 2 +-
 .../java/demoapp/dom/types/primitive/ints/jpa/PrimitiveIntJpa.java    | 2 +-
 .../dom/types/primitive/ints/persistence/PrimitiveIntEntity.java      | 2 +-
 .../main/java/demoapp/dom/types/primitive/ints/vm/PrimitiveIntVm.java | 2 +-
 .../main/java/demoapp/dom/types/primitive/longs/PrimitiveLongs.java   | 2 +-
 .../java/demoapp/dom/types/primitive/longs/jdo/PrimitiveLongJdo.java  | 2 +-
 .../java/demoapp/dom/types/primitive/longs/jpa/PrimitiveLongJpa.java  | 2 +-
 .../dom/types/primitive/longs/persistence/PrimitiveLongEntity.java    | 2 +-
 .../java/demoapp/dom/types/primitive/longs/vm/PrimitiveLongVm.java    | 2 +-
 .../main/java/demoapp/dom/types/primitive/shorts/PrimitiveShorts.java | 2 +-
 .../demoapp/dom/types/primitive/shorts/jdo/PrimitiveShortJdo.java     | 2 +-
 .../demoapp/dom/types/primitive/shorts/jpa/PrimitiveShortJpa.java     | 2 +-
 .../dom/types/primitive/shorts/persistence/PrimitiveShortEntity.java  | 2 +-
 .../java/demoapp/dom/types/primitive/shorts/vm/PrimitiveShortVm.java  | 2 +-
 .../demo/web/src/main/java/demoapp/web/linebreaker/LineBreaker.java   | 2 +-
 .../web/src/main/java/demoapp/web/replay/DemoReplayController.java    | 2 +-
 .../java/demoapp/web/security/PrototypeActionsVisibilityAdvisor.java  | 2 +-
 315 files changed, 316 insertions(+), 316 deletions(-)

diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/_interactions/InteractionDtoVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/_interactions/InteractionDtoVm.java
index ee0c120..6b15d10 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/_interactions/InteractionDtoVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/_interactions/InteractionDtoVm.java
@@ -41,7 +41,7 @@ import lombok.val;
 
 //tag::class[]
 @DomainObject(
-    objectType = "demo.InteractionDtoVm"
+    logicalTypeName = "demo.InteractionDtoVm"
     , nature = Nature.VIEW_MODEL
 )
 @NoArgsConstructor
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/ActionMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/ActionMenu.java
index 1a1a2fb..2d68ebc 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/ActionMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/ActionMenu.java
@@ -43,7 +43,7 @@ import demoapp.dom.domain.actions.Action.semantics.ActionSemanticsVm;
 import demoapp.dom.domain.actions.Action.typeOf.ActionTypeOfVm;
 import demoapp.dom.domain.actions.Action.typeOf.child.ActionTypeOfChildVm;
 
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.ActionMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.ActionMenu")
 @RequiredArgsConstructor(onConstructor_ = {@Inject})
 public class ActionMenu {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/associateWith/ActionAssociateWithVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/associateWith/ActionAssociateWithVm.java
index bbbd91f..e204205 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/associateWith/ActionAssociateWithVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/associateWith/ActionAssociateWithVm.java
@@ -50,7 +50,7 @@ import lombok.val;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
     nature=Nature.VIEW_MODEL,
-    objectType = "demo.ActionAssociateWithVm"
+    logicalTypeName = "demo.ActionAssociateWithVm"
 )
 @NoArgsConstructor
 //tag::class-properties[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/associateWith/child/ActionAssociateWithChildVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/associateWith/child/ActionAssociateWithChildVm.java
index 1dcd292..5d3a7ae 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/associateWith/child/ActionAssociateWithChildVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/associateWith/child/ActionAssociateWithChildVm.java
@@ -41,7 +41,7 @@ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.ActionAssociateWithChildVm"
+        logicalTypeName = "demo.ActionAssociateWithChildVm"
 )
 @NoArgsConstructor
 public class ActionAssociateWithChildVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/ActionCommandPublishingJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/ActionCommandPublishingJdo.java
index 05b9bee..50abf1a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/ActionCommandPublishingJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/ActionCommandPublishingJdo.java
@@ -43,7 +43,7 @@ import lombok.Setter;
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
         nature=Nature.ENTITY
-        , objectType = "demo.ActionCommandJdo"
+        , logicalTypeName = "demo.ActionCommandJdo"
         , editing = Editing.DISABLED
 )
 public class ActionCommandPublishingJdo
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/domainEvent/ActionDomainEventVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/domainEvent/ActionDomainEventVm.java
index b539daf..01cf76c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/domainEvent/ActionDomainEventVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/domainEvent/ActionDomainEventVm.java
@@ -43,7 +43,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
     nature=Nature.VIEW_MODEL,
-    objectType = "demo.ActionDomainEventVm"
+    logicalTypeName = "demo.ActionDomainEventVm"
 )
 @NoArgsConstructor
 //tag::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/domainEvent/subscribers/ActionDomainEventControlService.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/domainEvent/subscribers/ActionDomainEventControlService.java
index a54a08d..3567723 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/domainEvent/subscribers/ActionDomainEventControlService.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/domainEvent/subscribers/ActionDomainEventControlService.java
@@ -29,7 +29,7 @@ import demoapp.dom.domain.actions.Action.domainEvent.ActionDomainEventVm;
 import demoapp.dom.domain.actions.Action.domainEvent.ActionDomainEventVm_mixinUpdateText;
 
 // tag::class[]
-@DomainService(objectType = "demo.ActionDomainEventControlService")
+@DomainService(logicalTypeName = "demo.ActionDomainEventControlService")
 class ActionDomainEventControlService {
 
     ActionDomainEventControlStrategy controlStrategy = ActionDomainEventControlStrategy.DO_NOTHING;         // <.>
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/executionPublishing/ActionExecutionPublishingJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/executionPublishing/ActionExecutionPublishingJdo.java
index b49c6b1..856b3d3 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/executionPublishing/ActionExecutionPublishingJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/executionPublishing/ActionExecutionPublishingJdo.java
@@ -43,7 +43,7 @@ import lombok.Setter;
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
         nature=Nature.ENTITY
-        , objectType = "demo.ActionPublishingJdo"
+        , logicalTypeName = "demo.ActionPublishingJdo"
         , editing = Editing.DISABLED
 )
 public class ActionExecutionPublishingJdo
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHiddenVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHiddenVm.java
index 337963f..8fb056a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHiddenVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/hidden/ActionHiddenVm.java
@@ -43,7 +43,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
     nature=Nature.VIEW_MODEL,
-    objectType = "demo.ActionHiddenVm"
+    logicalTypeName = "demo.ActionHiddenVm"
 )
 @NoArgsConstructor
 //tag::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/restrictTo/ActionRestrictToVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/restrictTo/ActionRestrictToVm.java
index 533328b..8afff49 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/restrictTo/ActionRestrictToVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/restrictTo/ActionRestrictToVm.java
@@ -43,7 +43,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
     nature=Nature.VIEW_MODEL,
-    objectType = "demo.ActionRestrictToVm"
+    logicalTypeName = "demo.ActionRestrictToVm"
 )
 @NoArgsConstructor
 //tag::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/semantics/ActionSemanticsVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/semantics/ActionSemanticsVm.java
index d9fe8b2..b98c45a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/semantics/ActionSemanticsVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/semantics/ActionSemanticsVm.java
@@ -49,7 +49,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
     nature=Nature.VIEW_MODEL,
-    objectType = "demo.ActionSemanticsVm"
+    logicalTypeName = "demo.ActionSemanticsVm"
 )
 @NoArgsConstructor
 //tag::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/typeOf/ActionTypeOfVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/typeOf/ActionTypeOfVm.java
index 58df1c4..8636bcc 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/typeOf/ActionTypeOfVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/typeOf/ActionTypeOfVm.java
@@ -45,7 +45,7 @@ import lombok.NoArgsConstructor;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
     nature=Nature.VIEW_MODEL,
-    objectType = "demo.ActionTypeOfVm"
+    logicalTypeName = "demo.ActionTypeOfVm"
 )
 @NoArgsConstructor
 //tag::class-collections-children[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/typeOf/child/ActionTypeOfChildVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/typeOf/child/ActionTypeOfChildVm.java
index 5467cee..1fcd4ce 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/typeOf/child/ActionTypeOfChildVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/typeOf/child/ActionTypeOfChildVm.java
@@ -40,7 +40,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.ActionTypeOfChildVm"
+        logicalTypeName = "demo.ActionTypeOfChildVm"
 )
 @NoArgsConstructor
 public class ActionTypeOfChildVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/ActionLayoutMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/ActionLayoutMenu.java
index f44cf22..393910b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/ActionLayoutMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/ActionLayoutMenu.java
@@ -26,7 +26,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 
 import lombok.extern.log4j.Log4j2;
 
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.ActionLayoutMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.ActionLayoutMenu")
 @Log4j2
 public class ActionLayoutMenu {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionVm.java
index 2276110..bcc5058 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionVm.java
@@ -40,7 +40,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.ActionLayoutPositionVm"
+        logicalTypeName = "demo.ActionLayoutPositionVm"
 )
 public class ActionLayoutPositionVm implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/promptStyle/ActionLayoutPromptStyleVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/promptStyle/ActionLayoutPromptStyleVm.java
index 60c9b16..7938f89 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/promptStyle/ActionLayoutPromptStyleVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/promptStyle/ActionLayoutPromptStyleVm.java
@@ -42,7 +42,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.ActionLayoutPromptStyleVm"
+        logicalTypeName = "demo.ActionLayoutPromptStyleVm"
 )
 public class ActionLayoutPromptStyleVm implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/assoc/AssociatedActionDemo.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/assoc/AssociatedActionDemo.java
index 8fb6c0e..82f648e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/assoc/AssociatedActionDemo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/assoc/AssociatedActionDemo.java
@@ -44,7 +44,7 @@ import lombok.val;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.AssociatedAction", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.AssociatedAction", editing=Editing.ENABLED)
 @NoArgsConstructor
 public class AssociatedActionDemo implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/assoc/AssociatedActionMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/assoc/AssociatedActionMenu.java
index c3e6851..cd9569a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/assoc/AssociatedActionMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/assoc/AssociatedActionMenu.java
@@ -27,7 +27,7 @@ import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.applib.annotation.NatureOfService;
 import org.apache.isis.applib.services.factory.FactoryService;
 
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.AssociatedActionMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.AssociatedActionMenu")
 @DomainObjectLayout(named="Associated Action")
 public class AssociatedActionMenu {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/assoc/DemoItem.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/assoc/DemoItem.java
index 3976833..c942e3b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/assoc/DemoItem.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/assoc/DemoItem.java
@@ -32,7 +32,7 @@ import lombok.NoArgsConstructor;
 import lombok.Setter;
 
 
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.AssociatedActionDemoTask")
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.AssociatedActionDemoTask")
 @Named("assoc.DemoItem")
 @NoArgsConstructor
 @AllArgsConstructor(staticName="of")
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DemoItem.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DemoItem.java
index 91f712e..ad756ed 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DemoItem.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DemoItem.java
@@ -32,7 +32,7 @@ import lombok.Getter;
 import lombok.NoArgsConstructor;
 import lombok.Setter;
 
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.DependentArgsDemoItem")
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.DependentArgsDemoItem")
 @Named("depargs.DemoItem")
 @NoArgsConstructor
 @AllArgsConstructor(staticName="of")
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DependentArgsActionDemo.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DependentArgsActionDemo.java
index bdf2371..9b60010 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DependentArgsActionDemo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DependentArgsActionDemo.java
@@ -43,7 +43,7 @@ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.DependentArgs", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.DependentArgs", editing=Editing.ENABLED)
 public class DependentArgsActionDemo implements HasAsciiDocDescription {
 
     @Property
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DependentArgsActionMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DependentArgsActionMenu.java
index 653be8b..ad46223 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DependentArgsActionMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/progmodel/depargs/DependentArgsActionMenu.java
@@ -29,7 +29,7 @@ import org.apache.isis.applib.services.factory.FactoryService;
 
 import lombok.val;
 
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.DependentArgsActionMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.DependentArgsActionMenu")
 @DomainObjectLayout(named="Associated Action")
 public class DependentArgsActionMenu {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/CollectionMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/CollectionMenu.java
index 408a756..0e8571a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/CollectionMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/CollectionMenu.java
@@ -34,7 +34,7 @@ import lombok.extern.log4j.Log4j2;
 import demoapp.dom.domain.collections.Collection.domainEvent.CollectionDomainEventVm;
 import demoapp.dom.domain.collections.Collection.domainEvent.CollectionDomainEventVm_addChild;
 
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.CollectionMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.CollectionMenu")
 @Log4j2
 @RequiredArgsConstructor(onConstructor_ = {@Inject})
 public class CollectionMenu {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/CollectionDomainEventVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/CollectionDomainEventVm.java
index 7548547..a1f434f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/CollectionDomainEventVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/CollectionDomainEventVm.java
@@ -46,7 +46,7 @@ import demoapp.dom.domain.collections.Collection.domainEvent.child.CollectionDom
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
     nature=Nature.VIEW_MODEL,
-    objectType = "demo.CollectionDomainEventVm",
+    logicalTypeName = "demo.CollectionDomainEventVm",
     editing = Editing.ENABLED
 )
 //tag::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/child/CollectionDomainEventChildVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/child/CollectionDomainEventChildVm.java
index 32ded0c..3bb05b5 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/child/CollectionDomainEventChildVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/child/CollectionDomainEventChildVm.java
@@ -41,7 +41,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.CollectionDomainEventChildVm"
+        logicalTypeName = "demo.CollectionDomainEventChildVm"
 )
 @NoArgsConstructor
 public class CollectionDomainEventChildVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/subscribers/CollectionDomainEventControlService.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/subscribers/CollectionDomainEventControlService.java
index 50ac780..0966157 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/subscribers/CollectionDomainEventControlService.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/Collection/domainEvent/subscribers/CollectionDomainEventControlService.java
@@ -30,7 +30,7 @@ import lombok.RequiredArgsConstructor;
 import demoapp.dom.domain.collections.Collection.domainEvent.CollectionDomainEventVm;
 
 // tag::class[]
-@DomainService(objectType = "demo.CollectionDomainEventControlService")
+@DomainService(logicalTypeName = "demo.CollectionDomainEventControlService")
 @RequiredArgsConstructor(onConstructor_ = { @Inject })
 class CollectionDomainEventControlService {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/CollectionLayoutMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/CollectionLayoutMenu.java
index a13fcc1..44e7e26 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/CollectionLayoutMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/collections/CollectionLayout/CollectionLayoutMenu.java
@@ -26,7 +26,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 
 import lombok.extern.log4j.Log4j2;
 
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.CollectionLayoutMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.CollectionLayoutMenu")
 @Log4j2
 public class CollectionLayoutMenu {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/DomainObjectMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/DomainObjectMenu.java
index e8328e0..a05104c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/DomainObjectMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/DomainObjectMenu.java
@@ -33,7 +33,7 @@ import demoapp.dom.domain.objects.DomainObject.entityChangePublishing.DomainObje
 import demoapp.dom.domain.objects.DomainObject.nature.viewmodels.jaxbrefentity.StatefulVmJaxbRefsEntity;
 import demoapp.dom.domain.objects.DomainObject.nature.viewmodels.usingjaxb.StatefulVmUsingJaxb;
 
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.DomainObjectMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.DomainObjectMenu")
 //@Log4j2
 @RequiredArgsConstructor(onConstructor_ = {@Inject})
 public class DomainObjectMenu {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/DomainObjectEntityChangePublishingVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/DomainObjectEntityChangePublishingVm.java
index 1828e11..ffb5c4f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/DomainObjectEntityChangePublishingVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/DomainObjectEntityChangePublishingVm.java
@@ -34,7 +34,7 @@ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.DomainObjectEntityChangePublishingVm"
+        logicalTypeName = "demo.DomainObjectEntityChangePublishingVm"
 )
 public class DomainObjectEntityChangePublishingVm implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/disabled/DomainObjectEntityChangePublishingDisabledJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/disabled/DomainObjectEntityChangePublishingDisabledJdo.java
index 3bb0972..5cadb9a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/disabled/DomainObjectEntityChangePublishingDisabledJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/disabled/DomainObjectEntityChangePublishingDisabledJdo.java
@@ -40,7 +40,7 @@ import demoapp.dom.domain.objects.DomainObject.entityChangePublishing.DomainObje
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
     nature=Nature.ENTITY
-    , objectType = "demo.DomainObjectAuditingDisabledJdo"
+    , logicalTypeName = "demo.DomainObjectAuditingDisabledJdo"
     , entityChangePublishing = Publishing.DISABLED           // <.>
     , bounding = Bounding.BOUNDED
 )
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/enabled/DomainObjectEntityChangePublishingEnabledJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/enabled/DomainObjectEntityChangePublishingEnabledJdo.java
index bf189bf..4e332fe 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/enabled/DomainObjectEntityChangePublishingEnabledJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/annotated/enabled/DomainObjectEntityChangePublishingEnabledJdo.java
@@ -40,7 +40,7 @@ import demoapp.dom.domain.objects.DomainObject.entityChangePublishing.DomainObje
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
     nature=Nature.ENTITY
-    , objectType = "demo.DomainObjectAuditingEnabledJdo"
+    , logicalTypeName = "demo.DomainObjectAuditingEnabledJdo"
     , entityChangePublishing = Publishing.ENABLED            // <.>
     , bounding = Bounding.BOUNDED
 )
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnot/enabled/DomainObjectEntityChangePublishingEnabledMetaAnnotatedJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnot/enabled/DomainObjectEntityChangePublishingEnabledMetaAnnotatedJdo.java
index 61fd5cb..ea40205 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnot/enabled/DomainObjectEntityChangePublishingEnabledMetaAnnotatedJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnot/enabled/DomainObjectEntityChangePublishingEnabledMetaAnnotatedJdo.java
@@ -41,7 +41,7 @@ import demoapp.dom.domain.objects.DomainObject.entityChangePublishing.metaAnnot.
 @DomainObjectEntityChangePublishingEnabledMetaAnnotation                    // <.>
 @DomainObject(
     nature=Nature.ENTITY
-    , objectType = "demo.DomainObjectAuditingEnabledMetaAnnotatedJdo"
+    , logicalTypeName = "demo.DomainObjectAuditingEnabledMetaAnnotatedJdo"
     , bounding = Bounding.BOUNDED
 )
 @DomainObjectLayout(
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnotOverridden/enabled/DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnotOverridden/enabled/DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenJdo.java
index ce66540..ad7e35f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnotOverridden/enabled/DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/entityChangePublishing/metaAnnotOverridden/enabled/DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenJdo.java
@@ -42,7 +42,7 @@ import demoapp.dom.domain.objects.DomainObject.entityChangePublishing.metaAnnotO
 @DomainObjectEntityChangePublishingDisabledMetaAnnotation                   // <.>
 @DomainObject(
         nature=Nature.ENTITY
-        , objectType = "demo.DomainObjectAuditingEnabledMetaAnnotOverriddenJdo"
+        , logicalTypeName = "demo.DomainObjectAuditingEnabledMetaAnnotOverriddenJdo"
         , entityChangePublishing = Publishing.ENABLED         // <.>
         , bounding = Bounding.BOUNDED
 )
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/jaxbrefentity/StatefulVmJaxbRefsEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/jaxbrefentity/StatefulVmJaxbRefsEntity.java
index a0f840d..1395b27 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/jaxbrefentity/StatefulVmJaxbRefsEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/jaxbrefentity/StatefulVmJaxbRefsEntity.java
@@ -54,7 +54,7 @@ import lombok.val;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL
-        , objectType = "demo.StatefulViewModelJaxbRefsEntity"
+        , logicalTypeName = "demo.StatefulViewModelJaxbRefsEntity"
 )
 public class StatefulVmJaxbRefsEntity implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/usingjaxb/StatefulVmUsingJaxb.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/usingjaxb/StatefulVmUsingJaxb.java
index 8a7cfab..6272e5c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/usingjaxb/StatefulVmUsingJaxb.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/usingjaxb/StatefulVmUsingJaxb.java
@@ -50,7 +50,7 @@ import lombok.val;
 @XmlAccessorType(XmlAccessType.FIELD)                       // <.>
 @DomainObject(
         nature=Nature.VIEW_MODEL
-        , objectType = "demo.StatefulVmUsingJaxb"
+        , logicalTypeName = "demo.StatefulVmUsingJaxb"
 )
 public class StatefulVmUsingJaxb implements HasAsciiDocDescription {
 
@@ -70,7 +70,7 @@ public class StatefulVmUsingJaxb implements HasAsciiDocDescription {
     @XmlAccessorType(XmlAccessType.FIELD)
     @DomainObject(
             nature=Nature.VIEW_MODEL
-            , objectType = "demo.StatefulViewModelUsingJaxb.Child")
+            , logicalTypeName = "demo.StatefulViewModelUsingJaxb.Child")
     @Data
     public static class Child {
         @Title
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/DomainObjectLayoutMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/DomainObjectLayoutMenu.java
index 3bdc375..59bf8c1 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/DomainObjectLayoutMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/DomainObjectLayoutMenu.java
@@ -26,7 +26,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 
 import lombok.extern.log4j.Log4j2;
 
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.DomainObjectLayoutMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.DomainObjectLayoutMenu")
 @Log4j2
 public class DomainObjectLayoutMenu {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/EmbeddedTypeMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/EmbeddedTypeMenu.java
index 4b153cf..c0936b6 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/EmbeddedTypeMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/EmbeddedTypeMenu.java
@@ -29,7 +29,7 @@ import org.apache.isis.applib.services.factory.FactoryService;
 import lombok.RequiredArgsConstructor;
 
 @Profile("demo-jdo")
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.EmbeddedTypeMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.EmbeddedTypeMenu")
 @RequiredArgsConstructor
 public class EmbeddedTypeMenu {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/EmbeddedTypeVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/EmbeddedTypeVm.java
index cdf9459..387515d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/EmbeddedTypeVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/EmbeddedTypeVm.java
@@ -29,7 +29,7 @@ import org.apache.isis.applib.annotation.Nature;
 import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 
 // tag::class[]
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.EmbeddedTypeVm")
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.EmbeddedTypeVm")
 public class EmbeddedTypeVm implements HasAsciiDocDescription {
 
     // ...
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/mixins/FibonacciNumberVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/mixins/FibonacciNumberVm.java
index b6110f6..7ec775d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/mixins/FibonacciNumberVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/mixins/FibonacciNumberVm.java
@@ -33,7 +33,7 @@ import lombok.Setter;
 @DomainObject(
         nature=Nature.VIEW_MODEL,
         editing = Editing.DISABLED,
-        objectType = "demo.FibonacciNumberVm"
+        logicalTypeName = "demo.FibonacciNumberVm"
 )
 @NoArgsConstructor
 @AllArgsConstructor(staticName = "of")
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/mixins/MixinMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/mixins/MixinMenu.java
index 6d8d4fa..e0fa3dd 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/mixins/MixinMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/mixins/MixinMenu.java
@@ -24,7 +24,7 @@ import org.apache.isis.applib.annotation.DomainService;
 
 import lombok.val;
 
-@DomainService(objectType = "demo.MixinMenu")
+@DomainService(logicalTypeName = "demo.MixinMenu")
 public class MixinMenu {
 
     @Action
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/mixins/MixinVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/mixins/MixinVm.java
index 1a6a5e2..ab74d27 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/mixins/MixinVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/mixins/MixinVm.java
@@ -37,7 +37,7 @@ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.MixinVm")
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.MixinVm")
 public class MixinVm implements HasAsciiDocDescription, CountHolder {
 
     public String title() {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/PropertyMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/PropertyMenu.java
index f34c0f3..759ebb9 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/PropertyMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/PropertyMenu.java
@@ -52,7 +52,7 @@ import demoapp.dom.domain.properties.Property.regexPattern.PropertyRegexPatternV
 import demoapp.dom.domain.properties.Property.snapshot.PropertySnapshotVm;
 import demoapp.dom.types.Samples;
 
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.PropertyMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.PropertyMenu")
 //@Log4j2
 @RequiredArgsConstructor(onConstructor_ = {@Inject})
 public class PropertyMenu {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/PropertyCommandPublishingJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/PropertyCommandPublishingJdo.java
index d49908d..b742fff 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/PropertyCommandPublishingJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/PropertyCommandPublishingJdo.java
@@ -40,7 +40,7 @@ import lombok.Setter;
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
         nature=Nature.ENTITY
-        , objectType = "demo.PropertyCommandJdo"
+        , logicalTypeName = "demo.PropertyCommandJdo"
         , editing = Editing.ENABLED
 )
 public class PropertyCommandPublishingJdo
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/domainEvent/PropertyDomainEventVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/domainEvent/PropertyDomainEventVm.java
index ac6f678..42da163 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/domainEvent/PropertyDomainEventVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/domainEvent/PropertyDomainEventVm.java
@@ -41,7 +41,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
     nature=Nature.VIEW_MODEL,
-    objectType = "demo.PropertyDomainEventVm",
+    logicalTypeName = "demo.PropertyDomainEventVm",
     editing = Editing.ENABLED
 )
 @NoArgsConstructor
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/domainEvent/subscribers/PropertyDomainEventControlService.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/domainEvent/subscribers/PropertyDomainEventControlService.java
index 4f8d211..acc126e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/domainEvent/subscribers/PropertyDomainEventControlService.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/domainEvent/subscribers/PropertyDomainEventControlService.java
@@ -30,7 +30,7 @@ import lombok.RequiredArgsConstructor;
 import demoapp.dom.domain.properties.Property.domainEvent.PropertyDomainEventVm;
 
 // tag::class[]
-@DomainService(objectType = "demo.PropertyDomainEventControlService")
+@DomainService(logicalTypeName = "demo.PropertyDomainEventControlService")
 @RequiredArgsConstructor(onConstructor_ = { @Inject })
 class PropertyDomainEventControlService {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/editing/PropertyEditingVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/editing/PropertyEditingVm.java
index 2f14c62..59f0414 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/editing/PropertyEditingVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/editing/PropertyEditingVm.java
@@ -40,7 +40,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PropertyEditingVm",
+        logicalTypeName = "demo.PropertyEditingVm",
         editing = Editing.DISABLED              // <.>
 )
 public class PropertyEditingVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/executionPublishing/PropertyExecutionPublishingJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/executionPublishing/PropertyExecutionPublishingJdo.java
index d4e82bb..60476d4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/executionPublishing/PropertyExecutionPublishingJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/executionPublishing/PropertyExecutionPublishingJdo.java
@@ -41,7 +41,7 @@ import lombok.Setter;
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
         nature=Nature.ENTITY
-        , objectType = "demo.PropertyPublishingJdo"
+        , logicalTypeName = "demo.PropertyPublishingJdo"
         , editing = Editing.ENABLED
 )
 public class PropertyExecutionPublishingJdo
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/fileAccept/PropertyFileAcceptVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/fileAccept/PropertyFileAcceptVm.java
index eb683a3..3912d35 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/fileAccept/PropertyFileAcceptVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/fileAccept/PropertyFileAcceptVm.java
@@ -42,7 +42,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PropertyFileAcceptVm",
+        logicalTypeName = "demo.PropertyFileAcceptVm",
         editing = Editing.ENABLED
 )
 public class PropertyFileAcceptVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHiddenVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHiddenVm.java
index 2c9be8c..5fa467d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHiddenVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/PropertyHiddenVm.java
@@ -48,7 +48,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PropertyHiddenVm",
+        logicalTypeName = "demo.PropertyHiddenVm",
         editing = Editing.ENABLED
 )
 @NoArgsConstructor
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/child/PropertyHiddenChildVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/child/PropertyHiddenChildVm.java
index 424b840..8489881 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/child/PropertyHiddenChildVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/hidden/child/PropertyHiddenChildVm.java
@@ -43,7 +43,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PropertyHiddenChildVm"
+        logicalTypeName = "demo.PropertyHiddenChildVm"
 )
 @NoArgsConstructor
 public class PropertyHiddenChildVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthVm.java
index a8bc422..8d19eed 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/maxLength/PropertyMaxLengthVm.java
@@ -40,7 +40,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PropertyMaxLengthVm",
+        logicalTypeName = "demo.PropertyMaxLengthVm",
         editing = Editing.ENABLED
 )
 public class PropertyMaxLengthVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/mustSatisfy/PropertyMustSatisfyVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/mustSatisfy/PropertyMustSatisfyVm.java
index 2d1c788..2770c75 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/mustSatisfy/PropertyMustSatisfyVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/mustSatisfy/PropertyMustSatisfyVm.java
@@ -40,7 +40,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PropertyMustSatisfyVm",
+        logicalTypeName = "demo.PropertyMustSatisfyVm",
         editing = Editing.ENABLED
 )
 public class PropertyMustSatisfyVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/optionality/PropertyOptionalityVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/optionality/PropertyOptionalityVm.java
index 9ee8409..9ef0a57 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/optionality/PropertyOptionalityVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/optionality/PropertyOptionalityVm.java
@@ -41,7 +41,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PropertyOptionalityVm",
+        logicalTypeName = "demo.PropertyOptionalityVm",
         editing = Editing.ENABLED
 )
 public class PropertyOptionalityVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/PropertyProjectingVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/PropertyProjectingVm.java
index a3efd0c..73f66e5 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/PropertyProjectingVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/PropertyProjectingVm.java
@@ -46,7 +46,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PropertyProjectingVm",
+        logicalTypeName = "demo.PropertyProjectingVm",
         editing = Editing.ENABLED
 )
 @NoArgsConstructor
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/child/PropertyProjectingChildVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/child/PropertyProjectingChildVm.java
index d357433..a443950 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/child/PropertyProjectingChildVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/child/PropertyProjectingChildVm.java
@@ -44,7 +44,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PropertyProjectingChildVm"
+        logicalTypeName = "demo.PropertyProjectingChildVm"
 )
 @NoArgsConstructor
 public class PropertyProjectingChildVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/jdo/PropertyProjectingChildJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/jdo/PropertyProjectingChildJdo.java
index 494fc49..d03e31f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/jdo/PropertyProjectingChildJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/projecting/jdo/PropertyProjectingChildJdo.java
@@ -40,7 +40,7 @@ import lombok.Setter;
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
         nature=Nature.ENTITY
-        , objectType = "demo.PropertyProjectingChildJdo"
+        , logicalTypeName = "demo.PropertyProjectingChildJdo"
         , editing = Editing.DISABLED
 )
 @XmlJavaTypeAdapter(PersistentEntityAdapter.class)
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/regexPattern/PropertyRegexPatternVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/regexPattern/PropertyRegexPatternVm.java
index 41e7540..38559d8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/regexPattern/PropertyRegexPatternVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/regexPattern/PropertyRegexPatternVm.java
@@ -42,7 +42,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PropertyRegexPatternVm",
+        logicalTypeName = "demo.PropertyRegexPatternVm",
         editing = Editing.ENABLED
 )
 public class PropertyRegexPatternVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/snapshot/PropertySnapshotVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/snapshot/PropertySnapshotVm.java
index 3c05bbe..ec00e57 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/snapshot/PropertySnapshotVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/snapshot/PropertySnapshotVm.java
@@ -41,7 +41,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
     nature=Nature.VIEW_MODEL,
-    objectType = "demo.PropertySnapshotVm",
+    logicalTypeName = "demo.PropertySnapshotVm",
     editing = Editing.ENABLED
 )
 @NoArgsConstructor
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/PropertyLayoutMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/PropertyLayoutMenu.java
index e8aa932..38c7201 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/PropertyLayoutMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/PropertyLayoutMenu.java
@@ -47,7 +47,7 @@ import demoapp.dom.domain.properties.PropertyLayout.repainting.PropertyLayoutRep
 import demoapp.dom.domain.properties.PropertyLayout.typicalLength.PropertyLayoutTypicalLengthVm;
 import demoapp.dom.types.Samples;
 
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.PropertyLayoutMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.PropertyLayoutMenu")
 @Log4j2
 @RequiredArgsConstructor(onConstructor_ = { @Inject })
 public class PropertyLayoutMenu {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/cssClass/PropertyLayoutCssClassVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/cssClass/PropertyLayoutCssClassVm.java
index 89d552e..de5328c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/cssClass/PropertyLayoutCssClassVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/cssClass/PropertyLayoutCssClassVm.java
@@ -41,7 +41,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PropertyLayoutCssClassVm",
+        logicalTypeName = "demo.PropertyLayoutCssClassVm",
         editing = Editing.ENABLED
 )
 public class PropertyLayoutCssClassVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/describedAs/PropertyLayoutDescribedAsVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/describedAs/PropertyLayoutDescribedAsVm.java
index 24a45c5..47a5db2 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/describedAs/PropertyLayoutDescribedAsVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/describedAs/PropertyLayoutDescribedAsVm.java
@@ -41,7 +41,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PropertyLayoutDescribedAsVm",
+        logicalTypeName = "demo.PropertyLayoutDescribedAsVm",
         editing = Editing.ENABLED
 )
 public class PropertyLayoutDescribedAsVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/PropertyLayoutHiddenVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/PropertyLayoutHiddenVm.java
index 4cf1aa4..264b204 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/PropertyLayoutHiddenVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/PropertyLayoutHiddenVm.java
@@ -49,7 +49,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PropertyLayoutHiddenVm",
+        logicalTypeName = "demo.PropertyLayoutHiddenVm",
         editing = Editing.ENABLED
 )
 @NoArgsConstructor
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/child/PropertyLayoutHiddenChildVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/child/PropertyLayoutHiddenChildVm.java
index 8eba4bb..05547e5 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/child/PropertyLayoutHiddenChildVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/hidden/child/PropertyLayoutHiddenChildVm.java
@@ -44,7 +44,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PropertyLayoutHiddenChildVm"
+        logicalTypeName = "demo.PropertyLayoutHiddenChildVm"
 )
 @NoArgsConstructor
 public class PropertyLayoutHiddenChildVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/labelPosition/PropertyLayoutLabelPositionVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/labelPosition/PropertyLayoutLabelPositionVm.java
index 0ee7c9f..70c1188 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/labelPosition/PropertyLayoutLabelPositionVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/labelPosition/PropertyLayoutLabelPositionVm.java
@@ -42,7 +42,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PropertyLayoutLabelPositionVm",
+        logicalTypeName = "demo.PropertyLayoutLabelPositionVm",
         editing = Editing.ENABLED
 )
 public class PropertyLayoutLabelPositionVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/multiLine/PropertyLayoutMultiLineVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/multiLine/PropertyLayoutMultiLineVm.java
index 6b1fb2b..3597c10 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/multiLine/PropertyLayoutMultiLineVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/multiLine/PropertyLayoutMultiLineVm.java
@@ -41,7 +41,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PropertyLayoutMultiLineVm",
+        logicalTypeName = "demo.PropertyLayoutMultiLineVm",
         editing = Editing.ENABLED
 )
 public class PropertyLayoutMultiLineVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/named/PropertyLayoutNamedVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/named/PropertyLayoutNamedVm.java
index 03385c9..ed3c6f8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/named/PropertyLayoutNamedVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/named/PropertyLayoutNamedVm.java
@@ -41,7 +41,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PropertyLayoutNamedVm",
+        logicalTypeName = "demo.PropertyLayoutNamedVm",
         editing = Editing.ENABLED
 )
 public class PropertyLayoutNamedVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/navigable/FileNodeVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/navigable/FileNodeVm.java
index 83ddd6c..df7343d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/navigable/FileNodeVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/navigable/FileNodeVm.java
@@ -40,7 +40,7 @@ import lombok.ToString;
 import lombok.val;
 
 @XmlRootElement(name="FileNode")
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.FileNode")
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.FileNode")
 @ToString
 @NoArgsConstructor
 public class FileNodeVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm.java
index 5d7780f..88fcee1 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/renderDay/PropertyLayoutRenderDayVm.java
@@ -47,7 +47,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PropertyLayoutRenderDayVm",
+        logicalTypeName = "demo.PropertyLayoutRenderDayVm",
         editing = Editing.ENABLED
 )
 @NoArgsConstructor
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PropertyLayoutRepaintingVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PropertyLayoutRepaintingVm.java
index 86ecc2f..a88954b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PropertyLayoutRepaintingVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/repainting/PropertyLayoutRepaintingVm.java
@@ -44,7 +44,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PropertyLayoutRepaintingVm"
+        logicalTypeName = "demo.PropertyLayoutRepaintingVm"
 )
 public class PropertyLayoutRepaintingVm implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthVm.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthVm.java
index e0482ad..b6263a4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/typicalLength/PropertyLayoutTypicalLengthVm.java
@@ -41,7 +41,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PropertyLayoutTypicalLengthVm",
+        logicalTypeName = "demo.PropertyLayoutTypicalLengthVm",
         editing = Editing.ENABLED
 )
 public class PropertyLayoutTypicalLengthVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/featured/customui/vm/WhereInTheWorldMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/featured/customui/vm/WhereInTheWorldMenu.java
index 0d20053..9fae17b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/featured/customui/vm/WhereInTheWorldMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/featured/customui/vm/WhereInTheWorldMenu.java
@@ -34,7 +34,7 @@ import lombok.val;
 import demoapp.dom.featured.customui.geocoding.GeoapifyClient;
 import demoapp.dom.featured.customui.latlng.Zoom;
 
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.WhereInTheWorldMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.WhereInTheWorldMenu")
 public class WhereInTheWorldMenu {
 
 //tag::action[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/featured/customui/vm/WhereInTheWorldVm.java b/examples/demo/domain/src/main/java/demoapp/dom/featured/customui/vm/WhereInTheWorldVm.java
index 54d3407..f079846 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/featured/customui/vm/WhereInTheWorldVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/featured/customui/vm/WhereInTheWorldVm.java
@@ -41,7 +41,7 @@ import demoapp.dom.featured.customui.latlng.Zoom;
 @XmlRootElement(name = "demo.CustomUiVm")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.CustomUiVm")
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.CustomUiVm")
 public class WhereInTheWorldVm implements HasAsciiDocDescription, Serializable {
 
     @Title
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/featured/layout/describedAs/DescribedAsMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/featured/layout/describedAs/DescribedAsMenu.java
index 75cf71b..734c7bf 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/featured/layout/describedAs/DescribedAsMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/featured/layout/describedAs/DescribedAsMenu.java
@@ -32,7 +32,7 @@ import lombok.val;
 
 import demoapp.dom.domain.actions.progmodel.assoc.DemoItem;
 
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.DescribedAsMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.DescribedAsMenu")
 @RequiredArgsConstructor(onConstructor_ = { @Inject })
 public class DescribedAsMenu {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/featured/layout/describedAs/DescribedAsVm.java b/examples/demo/domain/src/main/java/demoapp/dom/featured/layout/describedAs/DescribedAsVm.java
index 48091b3..5138c9c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/featured/layout/describedAs/DescribedAsVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/featured/layout/describedAs/DescribedAsVm.java
@@ -53,7 +53,7 @@ import demoapp.dom.domain.actions.progmodel.assoc.DemoItem;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.Tooltip")
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.Tooltip")
 public class DescribedAsVm implements HasAsciiDocDescription {
 
     public String title() {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/featured/layout/tabs/TabDemo.java b/examples/demo/domain/src/main/java/demoapp/dom/featured/layout/tabs/TabDemo.java
index ebcae7a..77ef963 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/featured/layout/tabs/TabDemo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/featured/layout/tabs/TabDemo.java
@@ -35,7 +35,7 @@ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.Tab")
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.Tab")
 public class TabDemo implements HasAsciiDocDescription {
 
     public String title() {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/featured/layout/tabs/TabMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/featured/layout/tabs/TabMenu.java
index 429f8a9..bfb5fad 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/featured/layout/tabs/TabMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/featured/layout/tabs/TabMenu.java
@@ -28,7 +28,7 @@ import org.apache.isis.applib.services.factory.FactoryService;
 
 import lombok.RequiredArgsConstructor;
 
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.TabMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.TabMenu")
 @RequiredArgsConstructor(onConstructor_ = { @Inject })
 public class TabMenu {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/homepage/DemoHomePage.java b/examples/demo/domain/src/main/java/demoapp/dom/homepage/DemoHomePage.java
index 690231b..3466a53 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/homepage/DemoHomePage.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/homepage/DemoHomePage.java
@@ -32,7 +32,7 @@ import demoapp.dom._infra.resources.AsciiDocReaderService;
 //tag::class[]
 @DomainObject(
     nature=Nature.VIEW_MODEL,
-    objectType = "demo.Homepage"
+    logicalTypeName = "demo.Homepage"
 )
 @HomePage                                                       // <.>
 public class DemoHomePage
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/ServicesMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/ServicesMenu.java
index c5e4bf9..70367c6 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/ServicesMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/ServicesMenu.java
@@ -37,7 +37,7 @@ import demoapp.dom.services.core.xmlSnapshotService.peer.XmlSnapshotPeerVm;
 import lombok.RequiredArgsConstructor;
 import lombok.val;
 
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.ServicesMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.ServicesMenu")
 //@Log4j2
 @RequiredArgsConstructor(onConstructor_ = {@Inject})
 public class ServicesMenu {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/ErrorReportingServiceDemoVm.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/ErrorReportingServiceDemoVm.java
index 0b0ad66..30c8952 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/ErrorReportingServiceDemoVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/errorreportingservice/ErrorReportingServiceDemoVm.java
@@ -34,7 +34,7 @@ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.ErrorReportingServiceDemoVm", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.ErrorReportingServiceDemoVm", editing=Editing.ENABLED)
 public class ErrorReportingServiceDemoVm implements HasAsciiDocDescription {
 
     public String title() {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventBusServiceDemoVm.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventBusServiceDemoVm.java
index fcb5dd7..b86f5e6 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventBusServiceDemoVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventBusServiceDemoVm.java
@@ -32,7 +32,7 @@ import org.apache.isis.applib.services.eventbus.EventBusService;
 
 import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.EventBusServiceDemoVm")
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.EventBusServiceDemoVm")
 public class EventBusServiceDemoVm implements HasAsciiDocDescription {
 
     @Inject private EventLogEntryJdoRepository repository;
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJpa.java
index f266360..b0ddbef 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventLogEntryJpa.java
@@ -39,7 +39,7 @@ import demoapp.dom.services.core.eventbusservice.EventBusServiceDemoVm.UiButtonE
 
 @Profile("demo-jpa")
 @Entity
-@DomainObject(objectType = "demo.EventLogEntryJpa")
+@DomainObject(logicalTypeName = "demo.EventLogEntryJpa")
 public class EventLogEntryJpa {
 
     public static EventLogEntryJpa of(UiButtonEvent even) {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventSubscriberDemoImplementation.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventSubscriberDemoImplementation.java
index 26bc69a..6b10f82 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventSubscriberDemoImplementation.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/eventbusservice/EventSubscriberDemoImplementation.java
@@ -63,7 +63,7 @@ public class EventSubscriberDemoImplementation {
 
     @DomainObject(
             nature = Nature.BEAN, // <-- have this Object's lifecycle managed by Spring
-            objectType = "demo.eventLogWriter")
+            logicalTypeName = "demo.eventLogWriter")
     public static class EventLogWriter {
 
         @Inject private EventLogEntryRepository<? extends Object> eventLogEntryRepository;
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/MessageServiceDemoVm.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/MessageServiceDemoVm.java
index c094b22..9fe6c12 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/MessageServiceDemoVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/messageservice/MessageServiceDemoVm.java
@@ -29,7 +29,7 @@ import org.apache.isis.applib.services.message.MessageService;
 
 import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.MessageServiceDemoVm")
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.MessageServiceDemoVm")
 public class MessageServiceDemoVm implements HasAsciiDocDescription {
 
     @Inject private MessageService messageService;
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/WrapperFactoryEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/WrapperFactoryEntity.java
index 1884a51..d04fb95 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/WrapperFactoryEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/WrapperFactoryEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.domain._commands.ExposePersistedCommands;
 
 @DomainObject(
-        objectType = "demo.WrapperFactoryEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.WrapperFactoryEntity" // shared permissions with concrete sub class
 )
 public abstract class WrapperFactoryEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/jdo/WrapperFactoryJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/jdo/WrapperFactoryJdo.java
index 4842bb4..69fb9e8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/jdo/WrapperFactoryJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/jdo/WrapperFactoryJdo.java
@@ -50,7 +50,7 @@ import lombok.val;
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
         nature=Nature.ENTITY
-        , objectType = "demo.WrapperFactoryEntity"
+        , logicalTypeName = "demo.WrapperFactoryEntity"
         , editing = Editing.DISABLED
 )
 public class WrapperFactoryJdo
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/jpa/WrapperFactoryJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/jpa/WrapperFactoryJpa.java
index 40d9586..564e485 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/jpa/WrapperFactoryJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/wrapperFactory/jpa/WrapperFactoryJpa.java
@@ -57,7 +57,7 @@ import lombok.val;
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
         nature=Nature.ENTITY
-        , objectType = "demo.WrapperFactoryEntity"
+        , logicalTypeName = "demo.WrapperFactoryEntity"
         , editing = Editing.DISABLED
 )
 @NoArgsConstructor
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/XmlSnapshotParentVm.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/XmlSnapshotParentVm.java
index 1469de0..fb6ea65 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/XmlSnapshotParentVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/XmlSnapshotParentVm.java
@@ -48,7 +48,7 @@ import lombok.val;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
     nature=Nature.VIEW_MODEL,
-    objectType = "demo.XmlSnapshotParentVm"
+    logicalTypeName = "demo.XmlSnapshotParentVm"
 )
 @NoArgsConstructor
 public class XmlSnapshotParentVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/child/XmlSnapshotChildVm.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/child/XmlSnapshotChildVm.java
index d0d43f0..4d37b2d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/child/XmlSnapshotChildVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/child/XmlSnapshotChildVm.java
@@ -41,7 +41,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.XmlSnapshotChildVm"
+        logicalTypeName = "demo.XmlSnapshotChildVm"
 )
 @NoArgsConstructor
 public class XmlSnapshotChildVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/peer/XmlSnapshotPeerVm.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/peer/XmlSnapshotPeerVm.java
index 029b553..21ed810 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/peer/XmlSnapshotPeerVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/peer/XmlSnapshotPeerVm.java
@@ -48,7 +48,7 @@ import lombok.val;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.XmlSnapshotPeerVm"
+        logicalTypeName = "demo.XmlSnapshotPeerVm"
 )
 @NoArgsConstructor
 public class XmlSnapshotPeerVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/peer/child/XmlSnapshotPeerChildVm.java b/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/peer/child/XmlSnapshotPeerChildVm.java
index e9753d6..a5df729 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/peer/child/XmlSnapshotPeerChildVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/core/xmlSnapshotService/peer/child/XmlSnapshotPeerChildVm.java
@@ -41,7 +41,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.XmlSnapshotPeerChildVm"
+        logicalTypeName = "demo.XmlSnapshotPeerChildVm"
 )
 @NoArgsConstructor
 public class XmlSnapshotPeerChildVm implements HasAsciiDocDescription {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/ExtSecManMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/ExtSecManMenu.java
index ea8d9ef..d763337 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/ExtSecManMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/ExtSecManMenu.java
@@ -29,7 +29,7 @@ import lombok.extern.log4j.Log4j2;
 
 import demoapp.dom.services.extensions.secman.apptenancy.AppTenancyVm;
 
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.ExtSecManMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.ExtSecManMenu")
 @DomainObjectLayout(named="SecMan")
 @Log4j2
 public class ExtSecManMenu {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/AppTenancyVm.java b/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/AppTenancyVm.java
index 42200ff..0ca6005 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/AppTenancyVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/AppTenancyVm.java
@@ -45,7 +45,7 @@ import demoapp.dom.services.extensions.secman.apptenancy.persistence.TenantedEnt
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL
-        , objectType = "demo.SecManVm"
+        , logicalTypeName = "demo.SecManVm"
 )
 public class AppTenancyVm implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/jdo/TenantedJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/jdo/TenantedJdo.java
index 6b67b74..9e54810 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/jdo/TenantedJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/jdo/TenantedJdo.java
@@ -43,7 +43,7 @@ import lombok.Setter;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo" )
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.TenantedEntity"
+        logicalTypeName = "demo.TenantedEntity"
 )
 public class TenantedJdo
         extends TenantedEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/jpa/TenantedJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/jpa/TenantedJpa.java
index 8fdd669..5a9084e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/jpa/TenantedJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/jpa/TenantedJpa.java
@@ -50,7 +50,7 @@ import lombok.Setter;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-    objectType = "demo.TenantedEntity"
+    logicalTypeName = "demo.TenantedEntity"
 )
 @NoArgsConstructor
 public class TenantedJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/persistence/TenantedEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/persistence/TenantedEntity.java
index a25af0d..65c238c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/persistence/TenantedEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/services/extensions/secman/apptenancy/persistence/TenantedEntity.java
@@ -23,7 +23,7 @@ import org.apache.isis.applib.annotation.DomainObject;
 import demoapp.dom._infra.values.ValueHolder;
 
 @DomainObject(
-        objectType = "demo.TenantedEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.TenantedEntity" // shared permissions with concrete sub class
 )
 public abstract class TenantedEntity
 implements ValueHolder<String>{
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/IsisTypesMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/IsisTypesMenu.java
index 345bfac..5adcf99 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/IsisTypesMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/IsisTypesMenu.java
@@ -32,7 +32,7 @@ import demoapp.dom.types.isis.localresourcepaths.IsisLocalResourcePaths;
 import demoapp.dom.types.isis.markups.IsisMarkups;
 import demoapp.dom.types.isis.passwords.IsisPasswords;
 
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.IsisTypesMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.IsisTypesMenu")
 @DomainObjectLayout(named="Isis Types")
 //@Log4j2
 public class IsisTypesMenu {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/IsisBlobs.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/IsisBlobs.java
index e44912b..bbb4d3e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/IsisBlobs.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/IsisBlobs.java
@@ -46,7 +46,7 @@ import demoapp.dom.types.isis.blobs.vm.IsisBlobVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.IsisBlobs", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.IsisBlobs", editing=Editing.ENABLED)
 //@Log4j2
 public class IsisBlobs implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/jdo/IsisBlobJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/jdo/IsisBlobJdo.java
index ba38a1c..eccbaf0 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/jdo/IsisBlobJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/jdo/IsisBlobJdo.java
@@ -44,7 +44,7 @@ import lombok.Setter;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.IsisBlobEntity"
+        logicalTypeName = "demo.IsisBlobEntity"
 )
 public class IsisBlobJdo                                            // <.>
         extends IsisBlobEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/jpa/IsisBlobJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/jpa/IsisBlobJpa.java
index 0de815c..b2c7e10 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/jpa/IsisBlobJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/jpa/IsisBlobJpa.java
@@ -49,7 +49,7 @@ import lombok.Setter;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.IsisBlobEntity"
+      logicalTypeName = "demo.IsisBlobEntity"
 )
 @NoArgsConstructor
 public class IsisBlobJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/persistence/IsisBlobEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/persistence/IsisBlobEntity.java
index 2c3875b..a726102 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/persistence/IsisBlobEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/persistence/IsisBlobEntity.java
@@ -26,7 +26,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.isis.blobs.holder.IsisBlobHolder2;
 
 @DomainObject(
-        objectType = "demo.IsisBlobEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.IsisBlobEntity" // shared permissions with concrete sub class
 )
 public abstract class IsisBlobEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/vm/IsisBlobVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/vm/IsisBlobVm.java
index 6b91d0b..a8bec0b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/vm/IsisBlobVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/blobs/vm/IsisBlobVm.java
@@ -43,7 +43,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.IsisBlobVm"
+        logicalTypeName = "demo.IsisBlobVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class IsisBlobVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/IsisClobs.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/IsisClobs.java
index d3bc9f8..3fca4dc 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/IsisClobs.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/IsisClobs.java
@@ -46,7 +46,7 @@ import demoapp.dom.types.isis.clobs.vm.IsisClobVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.IsisClobs", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.IsisClobs", editing=Editing.ENABLED)
 //@Log4j2
 public class IsisClobs implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/jdo/IsisClobJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/jdo/IsisClobJdo.java
index 87846c5..4d391e2 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/jdo/IsisClobJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/jdo/IsisClobJdo.java
@@ -44,7 +44,7 @@ import lombok.Setter;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.IsisClobEntity"
+        logicalTypeName = "demo.IsisClobEntity"
 )
 public class IsisClobJdo                                          // <.>
         extends IsisClobEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/jpa/IsisClobJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/jpa/IsisClobJpa.java
index bbcc0f0..7fff14e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/jpa/IsisClobJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/jpa/IsisClobJpa.java
@@ -49,7 +49,7 @@ import lombok.Setter;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.IsisClobEntity"
+      logicalTypeName = "demo.IsisClobEntity"
 )
 @NoArgsConstructor
 public class IsisClobJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/persistence/IsisClobEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/persistence/IsisClobEntity.java
index 07f6899..99ebd50 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/persistence/IsisClobEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/persistence/IsisClobEntity.java
@@ -26,7 +26,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.isis.clobs.holder.IsisClobHolder2;
 
 @DomainObject(
-        objectType = "demo.IsisClobEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.IsisClobEntity" // shared permissions with concrete sub class
 )
 public abstract class IsisClobEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/vm/IsisClobVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/vm/IsisClobVm.java
index 2c193ee..ca2a43d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/vm/IsisClobVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/clobs/vm/IsisClobVm.java
@@ -44,7 +44,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.IsisClobVm"
+        logicalTypeName = "demo.IsisClobVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class IsisClobVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/IsisLocalResourcePaths.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/IsisLocalResourcePaths.java
index 2305461..8b292f1 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/IsisLocalResourcePaths.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/IsisLocalResourcePaths.java
@@ -46,7 +46,7 @@ import demoapp.dom.types.isis.localresourcepaths.vm.IsisLocalResourcePathVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.IsisLocalResourcePaths", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.IsisLocalResourcePaths", editing=Editing.ENABLED)
 //@Log4j2
 public class IsisLocalResourcePaths implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/jdo/IsisLocalResourcePathJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/jdo/IsisLocalResourcePathJdo.java
index 4f8d186..43ad8a1 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/jdo/IsisLocalResourcePathJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/jdo/IsisLocalResourcePathJdo.java
@@ -44,7 +44,7 @@ import lombok.Setter;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.IsisLocalResourcePathEntity"
+        logicalTypeName = "demo.IsisLocalResourcePathEntity"
 )
 public class IsisLocalResourcePathJdo                                   // <.>
         extends IsisLocalResourcePathEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/jpa/IsisLocalResourcePathJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/jpa/IsisLocalResourcePathJpa.java
index 09f2126..379fc88 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/jpa/IsisLocalResourcePathJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/jpa/IsisLocalResourcePathJpa.java
@@ -50,7 +50,7 @@ import lombok.Setter;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.IsisLocalResourcePathEntity"
+      logicalTypeName = "demo.IsisLocalResourcePathEntity"
 )
 @NoArgsConstructor
 public class IsisLocalResourcePathJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/persistence/IsisLocalResourcePathEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/persistence/IsisLocalResourcePathEntity.java
index 61451be..825f48d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/persistence/IsisLocalResourcePathEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/persistence/IsisLocalResourcePathEntity.java
@@ -26,7 +26,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.isis.localresourcepaths.holder.IsisLocalResourcePathHolder2;
 
 @DomainObject(
-        objectType = "demo.IsisLocalResourcePathEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.IsisLocalResourcePathEntity" // shared permissions with concrete sub class
 )
 public abstract class IsisLocalResourcePathEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/vm/IsisLocalResourcePathVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/vm/IsisLocalResourcePathVm.java
index 39f8e6e..9bfd5fc 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/vm/IsisLocalResourcePathVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/localresourcepaths/vm/IsisLocalResourcePathVm.java
@@ -44,7 +44,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.IsisLocalResourcePathVm"
+        logicalTypeName = "demo.IsisLocalResourcePathVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class IsisLocalResourcePathVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/IsisMarkups.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/IsisMarkups.java
index 48e52a0..edb8d97 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/IsisMarkups.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/IsisMarkups.java
@@ -46,7 +46,7 @@ import demoapp.dom.types.isis.markups.vm.IsisMarkupVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.IsisMarkups", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.IsisMarkups", editing=Editing.ENABLED)
 //@Log4j2
 public class IsisMarkups implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/jdo/IsisMarkupJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/jdo/IsisMarkupJdo.java
index 0cf27f1..5925f51 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/jdo/IsisMarkupJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/jdo/IsisMarkupJdo.java
@@ -45,7 +45,7 @@ import lombok.Setter;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.IsisMarkupEntity"
+        logicalTypeName = "demo.IsisMarkupEntity"
 )
 public class IsisMarkupJdo                                          // <.>
         extends IsisMarkupEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/jpa/IsisMarkupJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/jpa/IsisMarkupJpa.java
index f355177..e2676a7 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/jpa/IsisMarkupJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/jpa/IsisMarkupJpa.java
@@ -56,7 +56,7 @@ import lombok.Setter;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.IsisMarkupEntity"
+      logicalTypeName = "demo.IsisMarkupEntity"
 )
 @NoArgsConstructor
 public class IsisMarkupJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/persistence/IsisMarkupEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/persistence/IsisMarkupEntity.java
index 61ca74a..f77474c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/persistence/IsisMarkupEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/persistence/IsisMarkupEntity.java
@@ -26,7 +26,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.isis.markups.holder.IsisMarkupHolder2;
 
 @DomainObject(
-        objectType = "demo.IsisMarkupEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.IsisMarkupEntity" // shared permissions with concrete sub class
 )
 public abstract class IsisMarkupEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/vm/IsisMarkupVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/vm/IsisMarkupVm.java
index 97bf4dd..09b0a55 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/vm/IsisMarkupVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/markups/vm/IsisMarkupVm.java
@@ -44,7 +44,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.IsisMarkupVm"
+        logicalTypeName = "demo.IsisMarkupVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class IsisMarkupVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/IsisPasswords.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/IsisPasswords.java
index 9172ef4..f2848e0 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/IsisPasswords.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/IsisPasswords.java
@@ -46,7 +46,7 @@ import demoapp.dom.types.isis.passwords.vm.IsisPasswordVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.IsisPasswords", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.IsisPasswords", editing=Editing.ENABLED)
 //@Log4j2
 public class IsisPasswords implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/jdo/IsisPasswordJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/jdo/IsisPasswordJdo.java
index 7366fa1..cdf3dab 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/jdo/IsisPasswordJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/jdo/IsisPasswordJdo.java
@@ -43,7 +43,7 @@ import lombok.Setter;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.IsisPasswordEntity"
+        logicalTypeName = "demo.IsisPasswordEntity"
 )
 public class IsisPasswordJdo                                          // <.>
         extends IsisPasswordEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/jpa/IsisPasswordJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/jpa/IsisPasswordJpa.java
index 58ade67..ca80242 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/jpa/IsisPasswordJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/jpa/IsisPasswordJpa.java
@@ -50,7 +50,7 @@ import lombok.Setter;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.IsisPasswordEntity"
+      logicalTypeName = "demo.IsisPasswordEntity"
 )
 @NoArgsConstructor
 public class IsisPasswordJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/persistence/IsisPasswordEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/persistence/IsisPasswordEntity.java
index 7303d0f..06d7786 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/persistence/IsisPasswordEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/persistence/IsisPasswordEntity.java
@@ -26,7 +26,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.isis.passwords.holder.IsisPasswordHolder2;
 
 @DomainObject(
-        objectType = "demo.IsisPasswordEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.IsisPasswordEntity" // shared permissions with concrete sub class
 )
 public abstract class IsisPasswordEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/vm/IsisPasswordVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/vm/IsisPasswordVm.java
index 9aef174..b347632 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/vm/IsisPasswordVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isis/passwords/vm/IsisPasswordVm.java
@@ -44,7 +44,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.IsisPasswordVm"
+        logicalTypeName = "demo.IsisPasswordVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class IsisPasswordVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/IsisExtTypesMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/IsisExtTypesMenu.java
index fe37264..2ed7b18 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/IsisExtTypesMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/IsisExtTypesMenu.java
@@ -31,7 +31,7 @@ import lombok.extern.log4j.Log4j2;
 import demoapp.dom.types.isisext.asciidocs.IsisAsciiDocs;
 import demoapp.dom.types.isisext.markdowns.IsisMarkdowns;
 
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.IsisExtTypesMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.IsisExtTypesMenu")
 @DomainObjectLayout(named="IsisExtTypes")
 @Log4j2
 public class IsisExtTypesMenu {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/IsisAsciiDocs.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/IsisAsciiDocs.java
index e1463ad..3831ac4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/IsisAsciiDocs.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/IsisAsciiDocs.java
@@ -46,7 +46,7 @@ import demoapp.dom.types.isisext.asciidocs.vm.IsisAsciiDocVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.IsisAsciiDocs", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.IsisAsciiDocs", editing=Editing.ENABLED)
 //@Log4j2
 public class IsisAsciiDocs implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/jdo/IsisAsciiDocJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/jdo/IsisAsciiDocJdo.java
index 3d732be..cb825b7 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/jdo/IsisAsciiDocJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/jdo/IsisAsciiDocJdo.java
@@ -45,7 +45,7 @@ import lombok.Setter;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.IsisAsciiDocEntity"
+        logicalTypeName = "demo.IsisAsciiDocEntity"
 )
 public class IsisAsciiDocJdo                                          // <.>
         extends IsisAsciiDocEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/jpa/IsisAsciiDocJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/jpa/IsisAsciiDocJpa.java
index 7f98fb5..b75d767 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/jpa/IsisAsciiDocJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/jpa/IsisAsciiDocJpa.java
@@ -56,7 +56,7 @@ import lombok.Setter;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.IsisAsciiDocEntity"
+      logicalTypeName = "demo.IsisAsciiDocEntity"
 )
 @NoArgsConstructor
 public class IsisAsciiDocJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/persistence/IsisAsciiDocEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/persistence/IsisAsciiDocEntity.java
index f00c6a4..94aa08e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/persistence/IsisAsciiDocEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/persistence/IsisAsciiDocEntity.java
@@ -26,7 +26,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.isisext.asciidocs.holder.IsisAsciiDocHolder2;
 
 @DomainObject(
-        objectType = "demo.IsisAsciiDocEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.IsisAsciiDocEntity" // shared permissions with concrete sub class
 )
 public abstract class IsisAsciiDocEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/vm/IsisAsciiDocVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/vm/IsisAsciiDocVm.java
index fab53dc..97332aa 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/vm/IsisAsciiDocVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/asciidocs/vm/IsisAsciiDocVm.java
@@ -44,7 +44,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.IsisAsciiDocVm"
+        logicalTypeName = "demo.IsisAsciiDocVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class IsisAsciiDocVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/IsisMarkdowns.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/IsisMarkdowns.java
index 8aac944..441a7fd 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/IsisMarkdowns.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/IsisMarkdowns.java
@@ -46,7 +46,7 @@ import demoapp.dom.types.isisext.markdowns.vm.IsisMarkdownVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.IsisMarkdowns", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.IsisMarkdowns", editing=Editing.ENABLED)
 //@Log4j2
 public class IsisMarkdowns implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/jdo/IsisMarkdownJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/jdo/IsisMarkdownJdo.java
index e0817c5..3d58eb3 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/jdo/IsisMarkdownJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/jdo/IsisMarkdownJdo.java
@@ -45,7 +45,7 @@ import lombok.Setter;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.IsisMarkdownEntity"
+        logicalTypeName = "demo.IsisMarkdownEntity"
 )
 public class IsisMarkdownJdo                                          // <.>
         extends IsisMarkdownEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/jpa/IsisMarkdownJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/jpa/IsisMarkdownJpa.java
index 23dab60..04f6d74 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/jpa/IsisMarkdownJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/jpa/IsisMarkdownJpa.java
@@ -56,7 +56,7 @@ import lombok.Setter;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.IsisMarkdownEntity"
+      logicalTypeName = "demo.IsisMarkdownEntity"
 )
 @NoArgsConstructor
 public class IsisMarkdownJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/persistence/IsisMarkdownEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/persistence/IsisMarkdownEntity.java
index f418a9e..74ac8bd 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/persistence/IsisMarkdownEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/persistence/IsisMarkdownEntity.java
@@ -26,7 +26,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.isisext.markdowns.holder.IsisMarkdownHolder2;
 
 @DomainObject(
-        objectType = "demo.IsisMarkdownEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.IsisMarkdownEntity" // shared permissions with concrete sub class
 )
 public abstract class IsisMarkdownEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/vm/IsisMarkdownVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/vm/IsisMarkdownVm.java
index cbb0d20..f5e9759 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/vm/IsisMarkdownVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/markdowns/vm/IsisMarkdownVm.java
@@ -44,7 +44,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.IsisMarkdownVm"
+        logicalTypeName = "demo.IsisMarkdownVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class IsisMarkdownVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/sse/AsyncActionDemo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/sse/AsyncActionDemo.java
index edb970f..8872a67 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/sse/AsyncActionDemo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/sse/AsyncActionDemo.java
@@ -46,7 +46,7 @@ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.AsyncAction", editing=Editing.DISABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.AsyncAction", editing=Editing.DISABLED)
 public class AsyncActionDemo implements HasAsciiDocDescription {
 
     @XmlTransient
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/sse/AsyncActionMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/sse/AsyncActionMenu.java
index 19cbeff..1821ebb 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/sse/AsyncActionMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/sse/AsyncActionMenu.java
@@ -30,7 +30,7 @@ import org.apache.isis.applib.value.Markup;
 
 import lombok.val;
 
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.AsyncActionMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.AsyncActionMenu")
 @DomainObjectLayout(named="Async Actions")
 public class AsyncActionMenu {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/sse/DemoTask.java b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/sse/DemoTask.java
index c5509ad..cc22514 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/sse/DemoTask.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/isisext/sse/DemoTask.java
@@ -29,7 +29,7 @@ import org.apache.isis.valuetypes.sse.applib.service.SseChannel;
 
 import lombok.RequiredArgsConstructor;
 
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.AsyncDemoTask", editing=Editing.DISABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.AsyncDemoTask", editing=Editing.DISABLED)
 @RequiredArgsConstructor(staticName="of")
 public class DemoTask implements SseSource {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/JavaAwtTypesMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/JavaAwtTypesMenu.java
index 215d12c..f18dd10 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/JavaAwtTypesMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/JavaAwtTypesMenu.java
@@ -27,7 +27,7 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 
 import demoapp.dom.types.javaawt.images.JavaAwtBufferedImages;
 
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.JavaAwtTypesMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.JavaAwtTypesMenu")
 @DomainObjectLayout(named="JavaAwtTypes")
 //@Log4j2
 public class JavaAwtTypesMenu {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/JavaAwtBufferedImages.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/JavaAwtBufferedImages.java
index 15a159f..2a3b098 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/JavaAwtBufferedImages.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/JavaAwtBufferedImages.java
@@ -46,7 +46,7 @@ import demoapp.dom.types.javaawt.images.vm.JavaAwtBufferedImageVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.JavaAwtBufferedImages", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaAwtBufferedImages", editing=Editing.ENABLED)
 //@Log4j2
 public class JavaAwtBufferedImages implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/jdo/JavaAwtBufferedImageJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/jdo/JavaAwtBufferedImageJdo.java
index 66a37f6..61ab555 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/jdo/JavaAwtBufferedImageJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/jdo/JavaAwtBufferedImageJdo.java
@@ -42,7 +42,7 @@ import lombok.Setter;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.JavaAwtBufferedImageEntity"
+        logicalTypeName = "demo.JavaAwtBufferedImageEntity"
 )
 public class JavaAwtBufferedImageJdo
         extends JavaAwtBufferedImageEntity
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/jpa/JavaAwtBufferedImageJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/jpa/JavaAwtBufferedImageJpa.java
index 34e98bd..141a1cf 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/jpa/JavaAwtBufferedImageJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/jpa/JavaAwtBufferedImageJpa.java
@@ -51,7 +51,7 @@ import lombok.Setter;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.JavaAwtBufferedImageEntity"
+      logicalTypeName = "demo.JavaAwtBufferedImageEntity"
 )
 @NoArgsConstructor
 public class JavaAwtBufferedImageJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/persistence/JavaAwtBufferedImageEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/persistence/JavaAwtBufferedImageEntity.java
index 10894eb..fbef565 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/persistence/JavaAwtBufferedImageEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/persistence/JavaAwtBufferedImageEntity.java
@@ -27,7 +27,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.javaawt.images.holder.JavaAwtBufferedImageHolder2;
 
 @DomainObject(
-        objectType = "demo.JavaAwtBufferedImageEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.JavaAwtBufferedImageEntity" // shared permissions with concrete sub class
 )
 public abstract class JavaAwtBufferedImageEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/vm/JavaAwtBufferedImageVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/vm/JavaAwtBufferedImageVm.java
index 7e406bf..d8a34e6 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/vm/JavaAwtBufferedImageVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javaawt/images/vm/JavaAwtBufferedImageVm.java
@@ -42,7 +42,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.JavaAwtBufferedImageVm"
+        logicalTypeName = "demo.JavaAwtBufferedImageVm"
 )
 @lombok.NoArgsConstructor                                               // <.>
 public class JavaAwtBufferedImageVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/JavaLangTypesMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/JavaLangTypesMenu.java
index e684119..93a67a9 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/JavaLangTypesMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/JavaLangTypesMenu.java
@@ -31,7 +31,7 @@ import lombok.extern.log4j.Log4j2;
 import demoapp.dom.types.javalang.strings.JavaLangStrings;
 import demoapp.dom.types.javalang.voids.JavaLangVoids;
 
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.JavaLangTypesMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.JavaLangTypesMenu")
 @DomainObjectLayout(named="JavaLangTypes")
 @Log4j2
 public class JavaLangTypesMenu {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/JavaLangWrapperTypesMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/JavaLangWrapperTypesMenu.java
index b716c7c..2ee745e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/JavaLangWrapperTypesMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/JavaLangWrapperTypesMenu.java
@@ -36,7 +36,7 @@ import demoapp.dom.types.javalang.integers.WrapperIntegers;
 import demoapp.dom.types.javalang.longs.WrapperLongs;
 import demoapp.dom.types.javalang.shorts.WrapperShorts;
 
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.JavaLangWrapperTypesMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.JavaLangWrapperTypesMenu")
 @DomainObjectLayout(named="JavaLangWrapperTypes")
 @Log4j2
 public class JavaLangWrapperTypesMenu {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/WrapperBooleans.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/WrapperBooleans.java
index 5841e91..6998221 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/WrapperBooleans.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/WrapperBooleans.java
@@ -45,7 +45,7 @@ import demoapp.dom.types.javalang.booleans.vm.WrapperBooleanVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.WrapperBooleans", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.WrapperBooleans", editing=Editing.ENABLED)
 //@Log4j2
 public class WrapperBooleans implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/jdo/WrapperBooleanJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/jdo/WrapperBooleanJdo.java
index 86e307c..eb0373a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/jdo/WrapperBooleanJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/jdo/WrapperBooleanJdo.java
@@ -43,7 +43,7 @@ import demoapp.dom.types.javalang.booleans.persistence.WrapperBooleanEntity;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.WrapperBooleanEntity"
+        logicalTypeName = "demo.WrapperBooleanEntity"
 )
 public class WrapperBooleanJdo                                          // <.>
         extends WrapperBooleanEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/jpa/WrapperBooleanJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/jpa/WrapperBooleanJpa.java
index 9b5a785..8bab233 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/jpa/WrapperBooleanJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/jpa/WrapperBooleanJpa.java
@@ -50,7 +50,7 @@ import demoapp.dom.types.javalang.booleans.persistence.WrapperBooleanEntity;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.WrapperBooleanEntity"
+      logicalTypeName = "demo.WrapperBooleanEntity"
 )
 @NoArgsConstructor
 public class WrapperBooleanJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/persistence/WrapperBooleanEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/persistence/WrapperBooleanEntity.java
index 69cb81f..7119329 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/persistence/WrapperBooleanEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/persistence/WrapperBooleanEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.javalang.booleans.holder.WrapperBooleanHolder2;
 
 @DomainObject(
-        objectType = "demo.WrapperBooleanEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.WrapperBooleanEntity" // shared permissions with concrete sub class
 )
 public abstract class WrapperBooleanEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/vm/WrapperBooleanVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/vm/WrapperBooleanVm.java
index 11e71c8..8357bbc 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/vm/WrapperBooleanVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/booleans/vm/WrapperBooleanVm.java
@@ -43,7 +43,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.WrapperBooleanVm"
+        logicalTypeName = "demo.WrapperBooleanVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class WrapperBooleanVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/WrapperBytes.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/WrapperBytes.java
index 8786518..1e07cf8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/WrapperBytes.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/WrapperBytes.java
@@ -44,7 +44,7 @@ import demoapp.dom.types.javalang.bytes.vm.WrapperByteVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.WrapperBytes", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.WrapperBytes", editing=Editing.ENABLED)
 //@Log4j2
 public class WrapperBytes implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/jdo/WrapperByteJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/jdo/WrapperByteJdo.java
index b7c1a6e..2517742 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/jdo/WrapperByteJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/jdo/WrapperByteJdo.java
@@ -43,7 +43,7 @@ import demoapp.dom.types.javalang.bytes.persistence.WrapperByteEntity;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.WrapperByteEntity"
+        logicalTypeName = "demo.WrapperByteEntity"
 )
 public class WrapperByteJdo                                          // <.>
         extends WrapperByteEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/jpa/WrapperByteJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/jpa/WrapperByteJpa.java
index 3cd71be..f14a243 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/jpa/WrapperByteJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/jpa/WrapperByteJpa.java
@@ -50,7 +50,7 @@ import demoapp.dom.types.javalang.bytes.persistence.WrapperByteEntity;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.WrapperByteEntity"
+      logicalTypeName = "demo.WrapperByteEntity"
 )
 @NoArgsConstructor
 public class WrapperByteJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/persistence/WrapperByteEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/persistence/WrapperByteEntity.java
index ee97e9d..9271f7b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/persistence/WrapperByteEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/persistence/WrapperByteEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.javalang.bytes.holder.WrapperByteHolder2;
 
 @DomainObject(
-        objectType = "demo.WrapperByteEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.WrapperByteEntity" // shared permissions with concrete sub class
 )
 public abstract class WrapperByteEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/vm/WrapperByteVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/vm/WrapperByteVm.java
index cb8835f..47a83e3 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/vm/WrapperByteVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/bytes/vm/WrapperByteVm.java
@@ -43,7 +43,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.WrapperByteVm"
+        logicalTypeName = "demo.WrapperByteVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class WrapperByteVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/WrapperCharacters.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/WrapperCharacters.java
index 5a6ad9e..a959fa1 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/WrapperCharacters.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/WrapperCharacters.java
@@ -44,7 +44,7 @@ import demoapp.dom.types.javalang.characters.vm.WrapperCharacterVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.WrapperCharacters", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.WrapperCharacters", editing=Editing.ENABLED)
 //@Log4j2
 public class WrapperCharacters implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/jdo/WrapperCharacterJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/jdo/WrapperCharacterJdo.java
index 11f4a49..bb46e81 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/jdo/WrapperCharacterJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/jdo/WrapperCharacterJdo.java
@@ -43,7 +43,7 @@ import demoapp.dom.types.javalang.characters.persistence.WrapperCharacterEntity;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.WrapperCharacterEntity"
+        logicalTypeName = "demo.WrapperCharacterEntity"
 )
 public class WrapperCharacterJdo                                          // <.>
         extends WrapperCharacterEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/jpa/WrapperCharacterJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/jpa/WrapperCharacterJpa.java
index 12d568f..4975b1a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/jpa/WrapperCharacterJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/jpa/WrapperCharacterJpa.java
@@ -50,7 +50,7 @@ import demoapp.dom.types.javalang.characters.persistence.WrapperCharacterEntity;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.WrapperCharacterEntity"
+      logicalTypeName = "demo.WrapperCharacterEntity"
 )
 @NoArgsConstructor
 public class WrapperCharacterJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/persistence/WrapperCharacterEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/persistence/WrapperCharacterEntity.java
index bf3b585..3833e89 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/persistence/WrapperCharacterEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/persistence/WrapperCharacterEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.javalang.characters.holder.WrapperCharacterHolder2;
 
 @DomainObject(
-        objectType = "demo.WrapperCharacterEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.WrapperCharacterEntity" // shared permissions with concrete sub class
 )
 public abstract class WrapperCharacterEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/vm/WrapperCharacterVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/vm/WrapperCharacterVm.java
index 6d17779..f7585b4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/vm/WrapperCharacterVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/characters/vm/WrapperCharacterVm.java
@@ -43,7 +43,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.WrapperCharacterVm"
+        logicalTypeName = "demo.WrapperCharacterVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class WrapperCharacterVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/WrapperDoubles.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/WrapperDoubles.java
index f58be17..c549a01 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/WrapperDoubles.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/WrapperDoubles.java
@@ -44,7 +44,7 @@ import demoapp.dom.types.javalang.doubles.vm.WrapperDoubleVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.WrapperDoubles", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.WrapperDoubles", editing=Editing.ENABLED)
 //@Log4j2
 public class WrapperDoubles implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/jdo/WrapperDoubleJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/jdo/WrapperDoubleJdo.java
index 1a005d1..84f10b1 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/jdo/WrapperDoubleJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/jdo/WrapperDoubleJdo.java
@@ -43,7 +43,7 @@ import demoapp.dom.types.javalang.doubles.persistence.WrapperDoubleEntity;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.WrapperDoubleEntity"
+        logicalTypeName = "demo.WrapperDoubleEntity"
 )
 public class WrapperDoubleJdo                                          // <.>
         extends WrapperDoubleEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/jpa/WrapperDoubleJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/jpa/WrapperDoubleJpa.java
index 3eec35a..9cc067f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/jpa/WrapperDoubleJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/jpa/WrapperDoubleJpa.java
@@ -50,7 +50,7 @@ import demoapp.dom.types.javalang.doubles.persistence.WrapperDoubleEntity;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.WrapperDoubleEntity"
+      logicalTypeName = "demo.WrapperDoubleEntity"
 )
 @NoArgsConstructor
 public class WrapperDoubleJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/persistence/WrapperDoubleEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/persistence/WrapperDoubleEntity.java
index 877ab85..70a415a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/persistence/WrapperDoubleEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/persistence/WrapperDoubleEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.javalang.doubles.holder.WrapperDoubleHolder2;
 
 @DomainObject(
-        objectType = "demo.WrapperDoubleEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.WrapperDoubleEntity" // shared permissions with concrete sub class
 )
 public abstract class WrapperDoubleEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/vm/WrapperDoubleVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/vm/WrapperDoubleVm.java
index 2d8b054..d0b31e5 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/vm/WrapperDoubleVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/doubles/vm/WrapperDoubleVm.java
@@ -43,7 +43,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.WrapperDoubleVm"
+        logicalTypeName = "demo.WrapperDoubleVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class WrapperDoubleVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/WrapperFloats.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/WrapperFloats.java
index 86a3d12..3bbcb25 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/WrapperFloats.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/WrapperFloats.java
@@ -44,7 +44,7 @@ import demoapp.dom.types.javalang.floats.vm.WrapperFloatVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.WrapperFloats", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.WrapperFloats", editing=Editing.ENABLED)
 //@Log4j2
 public class WrapperFloats implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/jdo/WrapperFloatJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/jdo/WrapperFloatJdo.java
index 4f9c3e5..8e59304 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/jdo/WrapperFloatJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/jdo/WrapperFloatJdo.java
@@ -43,7 +43,7 @@ import demoapp.dom.types.javalang.floats.persistence.WrapperFloatEntity;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.WrapperFloatEntity"
+        logicalTypeName = "demo.WrapperFloatEntity"
 )
 public class WrapperFloatJdo                                          // <.>
         extends WrapperFloatEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/jpa/WrapperFloatJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/jpa/WrapperFloatJpa.java
index b162a42..3112daa 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/jpa/WrapperFloatJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/jpa/WrapperFloatJpa.java
@@ -50,7 +50,7 @@ import demoapp.dom.types.javalang.floats.persistence.WrapperFloatEntity;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.WrapperFloatEntity"
+      logicalTypeName = "demo.WrapperFloatEntity"
 )
 @NoArgsConstructor
 public class WrapperFloatJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/persistence/WrapperFloatEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/persistence/WrapperFloatEntity.java
index 8abbc50..46feb4e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/persistence/WrapperFloatEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/persistence/WrapperFloatEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.javalang.floats.holder.WrapperFloatHolder2;
 
 @DomainObject(
-        objectType = "demo.WrapperFloatEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.WrapperFloatEntity" // shared permissions with concrete sub class
 )
 public abstract class WrapperFloatEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/vm/WrapperFloatVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/vm/WrapperFloatVm.java
index 02be013..55b2f1f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/vm/WrapperFloatVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/floats/vm/WrapperFloatVm.java
@@ -43,7 +43,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.WrapperFloatVm"
+        logicalTypeName = "demo.WrapperFloatVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class WrapperFloatVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/WrapperIntegers.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/WrapperIntegers.java
index 42f21f6..894ccc9 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/WrapperIntegers.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/WrapperIntegers.java
@@ -44,7 +44,7 @@ import demoapp.dom.types.javalang.integers.vm.WrapperIntegerVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.WrapperIntegers", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.WrapperIntegers", editing=Editing.ENABLED)
 //@Log4j2
 public class WrapperIntegers implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdo.java
index 31fb0c2..5e27681 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jdo/WrapperIntegerJdo.java
@@ -43,7 +43,7 @@ import demoapp.dom.types.javalang.integers.persistence.WrapperIntegerEntity;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.WrapperIntegerEntity"
+        logicalTypeName = "demo.WrapperIntegerEntity"
 )
 public class WrapperIntegerJdo                                          // <.>
         extends WrapperIntegerEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jpa/WrapperIntegerJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jpa/WrapperIntegerJpa.java
index 3062fac..cf60349 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jpa/WrapperIntegerJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/jpa/WrapperIntegerJpa.java
@@ -50,7 +50,7 @@ import demoapp.dom.types.javalang.integers.persistence.WrapperIntegerEntity;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.WrapperIntegerEntity"
+      logicalTypeName = "demo.WrapperIntegerEntity"
 )
 @NoArgsConstructor
 public class WrapperIntegerJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/persistence/WrapperIntegerEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/persistence/WrapperIntegerEntity.java
index 32cf267..b5ee7c4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/persistence/WrapperIntegerEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/persistence/WrapperIntegerEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.javalang.integers.holder.WrapperIntegerHolder2;
 
 @DomainObject(
-        objectType = "demo.WrapperIntegerEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.WrapperIntegerEntity" // shared permissions with concrete sub class
 )
 public abstract class WrapperIntegerEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/vm/WrapperIntegerVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/vm/WrapperIntegerVm.java
index 7069120..3616622 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/vm/WrapperIntegerVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/integers/vm/WrapperIntegerVm.java
@@ -43,7 +43,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.WrapperIntegerVm"
+        logicalTypeName = "demo.WrapperIntegerVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class WrapperIntegerVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/WrapperLongs.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/WrapperLongs.java
index 9fa8527..ef707f8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/WrapperLongs.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/WrapperLongs.java
@@ -44,7 +44,7 @@ import demoapp.dom.types.javalang.longs.vm.WrapperLongVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.WrapperLongs", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.WrapperLongs", editing=Editing.ENABLED)
 //@Log4j2
 public class WrapperLongs implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/jdo/WrapperLongJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/jdo/WrapperLongJdo.java
index 77e59e2..14b3e90 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/jdo/WrapperLongJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/jdo/WrapperLongJdo.java
@@ -43,7 +43,7 @@ import demoapp.dom.types.javalang.longs.persistence.WrapperLongEntity;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.WrapperLongEntity"
+        logicalTypeName = "demo.WrapperLongEntity"
 )
 public class WrapperLongJdo                                          // <.>
         extends WrapperLongEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/jpa/WrapperLongJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/jpa/WrapperLongJpa.java
index 4f3de68..3e79672 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/jpa/WrapperLongJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/jpa/WrapperLongJpa.java
@@ -50,7 +50,7 @@ import demoapp.dom.types.javalang.longs.persistence.WrapperLongEntity;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.WrapperLongEntity"
+      logicalTypeName = "demo.WrapperLongEntity"
 )
 @NoArgsConstructor
 public class WrapperLongJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/persistence/WrapperLongEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/persistence/WrapperLongEntity.java
index 43884ab..79e8045 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/persistence/WrapperLongEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/persistence/WrapperLongEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.javalang.longs.holder.WrapperLongHolder2;
 
 @DomainObject(
-        objectType = "demo.WrapperLongEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.WrapperLongEntity" // shared permissions with concrete sub class
 )
 public abstract class WrapperLongEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/vm/WrapperLongVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/vm/WrapperLongVm.java
index 9c29c6d..8f3bca1 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/vm/WrapperLongVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/longs/vm/WrapperLongVm.java
@@ -43,7 +43,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.WrapperLongVm"
+        logicalTypeName = "demo.WrapperLongVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class WrapperLongVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/WrapperShorts.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/WrapperShorts.java
index a0807c1..9bbb690 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/WrapperShorts.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/WrapperShorts.java
@@ -44,7 +44,7 @@ import demoapp.dom.types.javalang.shorts.vm.WrapperShortVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.WrapperShorts", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.WrapperShorts", editing=Editing.ENABLED)
 //@Log4j2
 public class WrapperShorts implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/jdo/WrapperShortJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/jdo/WrapperShortJdo.java
index 978cb04..269f69d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/jdo/WrapperShortJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/jdo/WrapperShortJdo.java
@@ -43,7 +43,7 @@ import demoapp.dom.types.javalang.shorts.persistence.WrapperShortEntity;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.WrapperShortEntity"
+        logicalTypeName = "demo.WrapperShortEntity"
 )
 public class WrapperShortJdo                                          // <.>
         extends WrapperShortEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/jpa/WrapperShortJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/jpa/WrapperShortJpa.java
index bfa0317..ee6e1b7 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/jpa/WrapperShortJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/jpa/WrapperShortJpa.java
@@ -50,7 +50,7 @@ import demoapp.dom.types.javalang.shorts.persistence.WrapperShortEntity;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.WrapperShortEntity"
+      logicalTypeName = "demo.WrapperShortEntity"
 )
 @NoArgsConstructor
 public class WrapperShortJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/persistence/WrapperShortEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/persistence/WrapperShortEntity.java
index 4576616..330a3a7 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/persistence/WrapperShortEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/persistence/WrapperShortEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.javalang.shorts.holder.WrapperShortHolder2;
 
 @DomainObject(
-        objectType = "demo.WrapperShortEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.WrapperShortEntity" // shared permissions with concrete sub class
 )
 public abstract class WrapperShortEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/vm/WrapperShortVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/vm/WrapperShortVm.java
index 168addb..7139040 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/vm/WrapperShortVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/shorts/vm/WrapperShortVm.java
@@ -43,7 +43,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.WrapperShortVm"
+        logicalTypeName = "demo.WrapperShortVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class WrapperShortVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/JavaLangStrings.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/JavaLangStrings.java
index 1ae479a..b516e82 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/JavaLangStrings.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/JavaLangStrings.java
@@ -45,7 +45,7 @@ import demoapp.dom.types.javalang.strings.vm.JavaLangStringVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.JavaLangStrings", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaLangStrings", editing=Editing.ENABLED)
 //@Log4j2
 public class JavaLangStrings implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/jdo/JavaLangStringJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/jdo/JavaLangStringJdo.java
index 5a85356..3046fb0 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/jdo/JavaLangStringJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/jdo/JavaLangStringJdo.java
@@ -43,7 +43,7 @@ import demoapp.dom.types.javalang.strings.persistence.JavaLangStringEntity;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.JavaLangStringEntity"
+        logicalTypeName = "demo.JavaLangStringEntity"
 )
 public class JavaLangStringJdo                                                  // <.>
         extends JavaLangStringEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/jpa/JavaLangStringJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/jpa/JavaLangStringJpa.java
index 809b7bd..ba07ff7 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/jpa/JavaLangStringJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/jpa/JavaLangStringJpa.java
@@ -50,7 +50,7 @@ import demoapp.dom.types.javalang.strings.persistence.JavaLangStringEntity;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-        objectType = "demo.JavaLangStringEntity"
+        logicalTypeName = "demo.JavaLangStringEntity"
 )
 @NoArgsConstructor
 public class JavaLangStringJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/persistence/JavaLangStringEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/persistence/JavaLangStringEntity.java
index ef7a238..ba6cebb 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/persistence/JavaLangStringEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/persistence/JavaLangStringEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.javalang.strings.holder.JavaLangStringHolder2;
 
 @DomainObject(
-        objectType = "demo.JavaLangStringEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.JavaLangStringEntity" // shared permissions with concrete sub class
 )
 public abstract class JavaLangStringEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/vm/JavaLangStringVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/vm/JavaLangStringVm.java
index 110c585..25b88ad 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/vm/JavaLangStringVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/strings/vm/JavaLangStringVm.java
@@ -43,7 +43,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.JavaLangStringVm"
+        logicalTypeName = "demo.JavaLangStringVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class JavaLangStringVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/voids/JavaLangVoids.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/voids/JavaLangVoids.java
index c561405..8cd9ffd 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/voids/JavaLangVoids.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javalang/voids/JavaLangVoids.java
@@ -38,7 +38,7 @@ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 @XmlRootElement(name = "demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.JavaLangVoids", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaLangVoids", editing=Editing.ENABLED)
 @Log4j2
 public class JavaLangVoids implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/JavaMathTypesMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/JavaMathTypesMenu.java
index 53cac82..9652d97 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/JavaMathTypesMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/JavaMathTypesMenu.java
@@ -31,7 +31,7 @@ import lombok.extern.log4j.Log4j2;
 import demoapp.dom.types.javamath.bigdecimals.JavaMathBigDecimals;
 import demoapp.dom.types.javamath.bigintegers.JavaMathBigIntegers;
 
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.JavaMathTypesMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.JavaMathTypesMenu")
 @DomainObjectLayout(named="JavaMathTypes")
 @Log4j2
 public class JavaMathTypesMenu {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/JavaMathBigDecimals.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/JavaMathBigDecimals.java
index 5168fc7..1939f10 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/JavaMathBigDecimals.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/JavaMathBigDecimals.java
@@ -46,7 +46,7 @@ import demoapp.dom.types.javamath.bigdecimals.vm.JavaMathBigDecimalVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.JavaMathBigDecimals", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaMathBigDecimals", editing=Editing.ENABLED)
 //@Log4j2
 public class JavaMathBigDecimals implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/jdo/JavaMathBigDecimalJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/jdo/JavaMathBigDecimalJdo.java
index a3e17f5..e3bdbbb 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/jdo/JavaMathBigDecimalJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/jdo/JavaMathBigDecimalJdo.java
@@ -43,7 +43,7 @@ import demoapp.dom.types.javamath.bigdecimals.persistence.JavaMathBigDecimalEnti
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.JavaMathBigDecimalEntity"
+        logicalTypeName = "demo.JavaMathBigDecimalEntity"
 )
 public class JavaMathBigDecimalJdo                                          // <.>
         extends JavaMathBigDecimalEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/jpa/JavaMathBigDecimalJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/jpa/JavaMathBigDecimalJpa.java
index 0f52687..5173935 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/jpa/JavaMathBigDecimalJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/jpa/JavaMathBigDecimalJpa.java
@@ -50,7 +50,7 @@ import demoapp.dom.types.javamath.bigdecimals.persistence.JavaMathBigDecimalEnti
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.JavaMathBigDecimalEntity"
+      logicalTypeName = "demo.JavaMathBigDecimalEntity"
 )
 @NoArgsConstructor
 public class JavaMathBigDecimalJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/persistence/JavaMathBigDecimalEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/persistence/JavaMathBigDecimalEntity.java
index 49fc3d6..1f0018a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/persistence/JavaMathBigDecimalEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/persistence/JavaMathBigDecimalEntity.java
@@ -27,7 +27,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.javamath.bigdecimals.holder.JavaMathBigDecimalHolder2;
 
 @DomainObject(
-        objectType = "demo.JavaMathBigDecimalEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.JavaMathBigDecimalEntity" // shared permissions with concrete sub class
 )
 public abstract class JavaMathBigDecimalEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/vm/JavaMathBigDecimalVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/vm/JavaMathBigDecimalVm.java
index 8fa23c2..f91704b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/vm/JavaMathBigDecimalVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigdecimals/vm/JavaMathBigDecimalVm.java
@@ -43,7 +43,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.JavaMathBigDecimalVm"
+        logicalTypeName = "demo.JavaMathBigDecimalVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class JavaMathBigDecimalVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/JavaMathBigIntegers.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/JavaMathBigIntegers.java
index 82b6258..8e9a2dc 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/JavaMathBigIntegers.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/JavaMathBigIntegers.java
@@ -46,7 +46,7 @@ import demoapp.dom.types.javamath.bigintegers.vm.JavaMathBigIntegerVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.JavaMathBigIntegers", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaMathBigIntegers", editing=Editing.ENABLED)
 //@Log4j2
 public class JavaMathBigIntegers implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/jdo/JavaMathBigIntegerJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/jdo/JavaMathBigIntegerJdo.java
index 5cd3bd9..246b37a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/jdo/JavaMathBigIntegerJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/jdo/JavaMathBigIntegerJdo.java
@@ -43,7 +43,7 @@ import demoapp.dom.types.javamath.bigintegers.persistence.JavaMathBigIntegerEnti
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.JavaMathBigIntegerEntity"
+        logicalTypeName = "demo.JavaMathBigIntegerEntity"
 )
 public class JavaMathBigIntegerJdo                                          // <.>
         extends JavaMathBigIntegerEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/jpa/JavaMathBigIntegerJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/jpa/JavaMathBigIntegerJpa.java
index 0617a83..ac8f4cf 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/jpa/JavaMathBigIntegerJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/jpa/JavaMathBigIntegerJpa.java
@@ -50,7 +50,7 @@ import demoapp.dom.types.javamath.bigintegers.persistence.JavaMathBigIntegerEnti
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.JavaMathBigIntegerEntity"
+      logicalTypeName = "demo.JavaMathBigIntegerEntity"
 )
 @NoArgsConstructor
 public class JavaMathBigIntegerJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/persistence/JavaMathBigIntegerEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/persistence/JavaMathBigIntegerEntity.java
index dccca31..0800603 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/persistence/JavaMathBigIntegerEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/persistence/JavaMathBigIntegerEntity.java
@@ -27,7 +27,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.javamath.bigintegers.holder.JavaMathBigIntegerHolder2;
 
 @DomainObject(
-        objectType = "demo.JavaMathBigIntegerEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.JavaMathBigIntegerEntity" // shared permissions with concrete sub class
 )
 public abstract class JavaMathBigIntegerEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/vm/JavaMathBigIntegerVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/vm/JavaMathBigIntegerVm.java
index 6f9ae48..42e69ec 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/vm/JavaMathBigIntegerVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javamath/bigintegers/vm/JavaMathBigIntegerVm.java
@@ -43,7 +43,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.JavaMathBigIntegerVm"
+        logicalTypeName = "demo.JavaMathBigIntegerVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class JavaMathBigIntegerVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/JavaNetTypesMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/JavaNetTypesMenu.java
index 0a4d29a..58ff1ae 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/JavaNetTypesMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/JavaNetTypesMenu.java
@@ -29,7 +29,7 @@ import lombok.extern.log4j.Log4j2;
 
 import demoapp.dom.types.javanet.urls.JavaNetUrls;
 
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.JavaNetTypesMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.JavaNetTypesMenu")
 @DomainObjectLayout(named="JavaNetTypes")
 @Log4j2
 public class JavaNetTypesMenu {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/JavaNetUrls.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/JavaNetUrls.java
index ab6fadb..37aea04 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/JavaNetUrls.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/JavaNetUrls.java
@@ -46,7 +46,7 @@ import demoapp.dom.types.javanet.urls.vm.JavaNetUrlVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.JavaNetUrls", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaNetUrls", editing=Editing.ENABLED)
 //@Log4j2
 public class JavaNetUrls implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/jdo/JavaNetUrlJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/jdo/JavaNetUrlJdo.java
index fed3831..8e97e40 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/jdo/JavaNetUrlJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/jdo/JavaNetUrlJdo.java
@@ -43,7 +43,7 @@ import demoapp.dom.types.javanet.urls.persistence.JavaNetUrlEntity;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.JavaNetUrlEntity"
+        logicalTypeName = "demo.JavaNetUrlEntity"
 )
 public class JavaNetUrlJdo                                          // <.>
         extends JavaNetUrlEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/jpa/JavaNetUrlJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/jpa/JavaNetUrlJpa.java
index 23a7953..b8a9168 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/jpa/JavaNetUrlJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/jpa/JavaNetUrlJpa.java
@@ -50,7 +50,7 @@ import demoapp.dom.types.javanet.urls.persistence.JavaNetUrlEntity;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.JavaNetUrlEntity"
+      logicalTypeName = "demo.JavaNetUrlEntity"
 )
 @NoArgsConstructor
 public class JavaNetUrlJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/persistence/JavaNetUrlEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/persistence/JavaNetUrlEntity.java
index 032f399..fa7a0c3 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/persistence/JavaNetUrlEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/persistence/JavaNetUrlEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.javanet.urls.holder.JavaNetUrlHolder2;
 
 @DomainObject(
-        objectType = "demo.JavaNetUrlEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.JavaNetUrlEntity" // shared permissions with concrete sub class
 )
 public abstract class JavaNetUrlEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/vm/JavaNetUrlVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/vm/JavaNetUrlVm.java
index 7d3d372..a09607f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/vm/JavaNetUrlVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javanet/urls/vm/JavaNetUrlVm.java
@@ -43,7 +43,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.JavaNetUrlVm"
+        logicalTypeName = "demo.JavaNetUrlVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class JavaNetUrlVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/JavaSqlTypesMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/JavaSqlTypesMenu.java
index 0a91f58..c166390 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/JavaSqlTypesMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/JavaSqlTypesMenu.java
@@ -31,7 +31,7 @@ import lombok.extern.log4j.Log4j2;
 import demoapp.dom.types.javasql.javasqldate.JavaSqlDates;
 import demoapp.dom.types.javasql.javasqltimestamp.JavaSqlTimestamps;
 
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.JavaSqlTypesMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.JavaSqlTypesMenu")
 @DomainObjectLayout(named="JavaSqlTypes")
 @Log4j2
 public class JavaSqlTypesMenu {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/JavaSqlDates.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/JavaSqlDates.java
index ff9a806..8792fac 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/JavaSqlDates.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/JavaSqlDates.java
@@ -44,7 +44,7 @@ import demoapp.dom.types.javasql.javasqldate.vm.JavaSqlDateVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.JavaSqlDates", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaSqlDates", editing=Editing.ENABLED)
 //@Log4j2
 public class JavaSqlDates implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/jdo/JavaSqlDateJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/jdo/JavaSqlDateJdo.java
index d03e0a5..a80481b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/jdo/JavaSqlDateJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/jdo/JavaSqlDateJdo.java
@@ -43,7 +43,7 @@ import demoapp.dom.types.javasql.javasqldate.persistence.JavaSqlDateEntity;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.JavaSqlDateEntity"
+        logicalTypeName = "demo.JavaSqlDateEntity"
 )
 public class JavaSqlDateJdo                                             // <.>
         extends JavaSqlDateEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/jpa/JavaSqlDateJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/jpa/JavaSqlDateJpa.java
index b35223f..2bcaef8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/jpa/JavaSqlDateJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/jpa/JavaSqlDateJpa.java
@@ -50,7 +50,7 @@ import demoapp.dom.types.javasql.javasqldate.persistence.JavaSqlDateEntity;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.JavaSqlDateEntity"
+      logicalTypeName = "demo.JavaSqlDateEntity"
 )
 @NoArgsConstructor
 public class JavaSqlDateJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/persistence/JavaSqlDateEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/persistence/JavaSqlDateEntity.java
index 43d4203..c1589d4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/persistence/JavaSqlDateEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/persistence/JavaSqlDateEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.javasql.javasqldate.holder.JavaSqlDateHolder3;
 
 @DomainObject(
-        objectType = "demo.JavaSqlDateEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.JavaSqlDateEntity" // shared permissions with concrete sub class
 )
 public abstract class JavaSqlDateEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/vm/JavaSqlDateVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/vm/JavaSqlDateVm.java
index fd25853..f1d9eeb 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/vm/JavaSqlDateVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqldate/vm/JavaSqlDateVm.java
@@ -45,7 +45,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.JavaSqlDateVm"
+        logicalTypeName = "demo.JavaSqlDateVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class JavaSqlDateVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/JavaSqlTimestamps.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/JavaSqlTimestamps.java
index 9ac309f..dff42bc 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/JavaSqlTimestamps.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/JavaSqlTimestamps.java
@@ -44,7 +44,7 @@ import demoapp.dom.types.javasql.javasqltimestamp.vm.JavaSqlTimestampVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.JavaSqlTimestamps", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaSqlTimestamps", editing=Editing.ENABLED)
 //@Log4j2
 public class JavaSqlTimestamps implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/jdo/JavaSqlTimestampJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/jdo/JavaSqlTimestampJdo.java
index dfa48ae..972848f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/jdo/JavaSqlTimestampJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/jdo/JavaSqlTimestampJdo.java
@@ -43,7 +43,7 @@ import demoapp.dom.types.javasql.javasqltimestamp.persistence.JavaSqlTimestampEn
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.JavaSqlTimestampEntity"
+        logicalTypeName = "demo.JavaSqlTimestampEntity"
 )
 public class JavaSqlTimestampJdo                                          // <.>
         extends JavaSqlTimestampEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/jpa/JavaSqlTimestampJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/jpa/JavaSqlTimestampJpa.java
index 4758df6..48d1d2e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/jpa/JavaSqlTimestampJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/jpa/JavaSqlTimestampJpa.java
@@ -50,7 +50,7 @@ import demoapp.dom.types.javasql.javasqltimestamp.persistence.JavaSqlTimestampEn
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.JavaSqlTimestampEntity"
+      logicalTypeName = "demo.JavaSqlTimestampEntity"
 )
 @NoArgsConstructor
 public class JavaSqlTimestampJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/persistence/JavaSqlTimestampEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/persistence/JavaSqlTimestampEntity.java
index 8f094f4..3df9d0b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/persistence/JavaSqlTimestampEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/persistence/JavaSqlTimestampEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.javasql.javasqltimestamp.holder.JavaSqlTimestampHolder3;
 
 @DomainObject(
-        objectType = "demo.JavaSqlTimestampEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.JavaSqlTimestampEntity" // shared permissions with concrete sub class
 )
 public abstract class JavaSqlTimestampEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/vm/JavaSqlTimestampVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/vm/JavaSqlTimestampVm.java
index 6e17e1f..aa6e389 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/vm/JavaSqlTimestampVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javasql/javasqltimestamp/vm/JavaSqlTimestampVm.java
@@ -45,7 +45,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.JavaSqlTimestampVm"
+        logicalTypeName = "demo.JavaSqlTimestampVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class JavaSqlTimestampVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/JavaTimeTypesMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/JavaTimeTypesMenu.java
index 88a0237..1b6c32d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/JavaTimeTypesMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/JavaTimeTypesMenu.java
@@ -32,7 +32,7 @@ import demoapp.dom.types.javatime.javatimeoffsetdatetime.JavaTimeOffsetDateTimes
 import demoapp.dom.types.javatime.javatimeoffsettime.JavaTimeOffsetTimes;
 import demoapp.dom.types.javatime.javatimezoneddatetime.JavaTimeZonedDateTimes;
 
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.JavaTimeTypesMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.JavaTimeTypesMenu")
 @DomainObjectLayout(named="JavaTimeTypes")
 //@Log4j2
 public class JavaTimeTypesMenu {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/JavaTimeLocalDates.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/JavaTimeLocalDates.java
index a103659..07cacab 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/JavaTimeLocalDates.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/JavaTimeLocalDates.java
@@ -44,7 +44,7 @@ import demoapp.dom.types.javatime.javatimelocaldate.vm.JavaTimeLocalDateVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.JavaTimeLocalDates", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaTimeLocalDates", editing=Editing.ENABLED)
 //@Log4j2
 public class JavaTimeLocalDates implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/jdo/JavaTimeLocalDateJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/jdo/JavaTimeLocalDateJdo.java
index 9a0f712..a04f2e4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/jdo/JavaTimeLocalDateJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/jdo/JavaTimeLocalDateJdo.java
@@ -43,7 +43,7 @@ import demoapp.dom.types.javatime.javatimelocaldate.persistence.JavaTimeLocalDat
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.JavaTimeLocalDateEntity"
+        logicalTypeName = "demo.JavaTimeLocalDateEntity"
 )
 public class JavaTimeLocalDateJdo                                          // <.>
         extends JavaTimeLocalDateEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/jpa/JavaTimeLocalDateJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/jpa/JavaTimeLocalDateJpa.java
index 9239fe2..16314d7 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/jpa/JavaTimeLocalDateJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/jpa/JavaTimeLocalDateJpa.java
@@ -50,7 +50,7 @@ import demoapp.dom.types.javatime.javatimelocaldate.persistence.JavaTimeLocalDat
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.JavaTimeLocalDateEntity"
+      logicalTypeName = "demo.JavaTimeLocalDateEntity"
 )
 @NoArgsConstructor
 public class JavaTimeLocalDateJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/persistence/JavaTimeLocalDateEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/persistence/JavaTimeLocalDateEntity.java
index 4306770..d1406f4 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/persistence/JavaTimeLocalDateEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/persistence/JavaTimeLocalDateEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.javatime.javatimelocaldate.holder.JavaTimeLocalDateHolder3;
 
 @DomainObject(
-        objectType = "demo.JavaTimeLocalDateEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.JavaTimeLocalDateEntity" // shared permissions with concrete sub class
 )
 public abstract class JavaTimeLocalDateEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/vm/JavaTimeLocalDateVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/vm/JavaTimeLocalDateVm.java
index da9b1a8..7f0bb0f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/vm/JavaTimeLocalDateVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldate/vm/JavaTimeLocalDateVm.java
@@ -45,7 +45,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.JavaTimeLocalDateVm"
+        logicalTypeName = "demo.JavaTimeLocalDateVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class JavaTimeLocalDateVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/JavaTimeLocalDateTimes.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/JavaTimeLocalDateTimes.java
index 799dcdf..745e343 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/JavaTimeLocalDateTimes.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/JavaTimeLocalDateTimes.java
@@ -44,7 +44,7 @@ import demoapp.dom.types.javatime.javatimelocaldatetime.vm.JavaTimeLocalDateTime
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.JavaTimeLocalDateTimes", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaTimeLocalDateTimes", editing=Editing.ENABLED)
 //@Log4j2
 public class JavaTimeLocalDateTimes implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/jdo/JavaTimeLocalDateTimeJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/jdo/JavaTimeLocalDateTimeJdo.java
index c5b86fa..6bcc361 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/jdo/JavaTimeLocalDateTimeJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/jdo/JavaTimeLocalDateTimeJdo.java
@@ -43,7 +43,7 @@ import demoapp.dom.types.javatime.javatimelocaldatetime.persistence.JavaTimeLoca
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.JavaTimeLocalDateTimeEntity"
+        logicalTypeName = "demo.JavaTimeLocalDateTimeEntity"
 )
 public class JavaTimeLocalDateTimeJdo                                          // <.>
         extends JavaTimeLocalDateTimeEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/jpa/JavaTimeLocalDateTimeJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/jpa/JavaTimeLocalDateTimeJpa.java
index 8c9bf2a..e143e4c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/jpa/JavaTimeLocalDateTimeJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/jpa/JavaTimeLocalDateTimeJpa.java
@@ -50,7 +50,7 @@ import demoapp.dom.types.javatime.javatimelocaldatetime.persistence.JavaTimeLoca
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.JavaTimeLocalDateTimeEntity"
+      logicalTypeName = "demo.JavaTimeLocalDateTimeEntity"
 )
 @NoArgsConstructor
 public class JavaTimeLocalDateTimeJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/persistence/JavaTimeLocalDateTimeEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/persistence/JavaTimeLocalDateTimeEntity.java
index 8fd984d..d18f9e1 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/persistence/JavaTimeLocalDateTimeEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/persistence/JavaTimeLocalDateTimeEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.javatime.javatimelocaldatetime.holder.JavaTimeLocalDateTimeHolder3;
 
 @DomainObject(
-        objectType = "demo.JavaTimeLocalDateTimeEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.JavaTimeLocalDateTimeEntity" // shared permissions with concrete sub class
 )
 public abstract class JavaTimeLocalDateTimeEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/vm/JavaTimeLocalDateTimeVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/vm/JavaTimeLocalDateTimeVm.java
index 7996e7e..464e80e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/vm/JavaTimeLocalDateTimeVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimelocaldatetime/vm/JavaTimeLocalDateTimeVm.java
@@ -45,7 +45,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.JavaTimeLocalDateTimeVm"
+        logicalTypeName = "demo.JavaTimeLocalDateTimeVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class JavaTimeLocalDateTimeVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/JavaTimeOffsetDateTimes.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/JavaTimeOffsetDateTimes.java
index b6a7220..0f4d2c0 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/JavaTimeOffsetDateTimes.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/JavaTimeOffsetDateTimes.java
@@ -45,7 +45,7 @@ import demoapp.dom.types.javatime.javatimeoffsetdatetime.vm.JavaTimeOffsetDateTi
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.JavaTimeOffsetDateTimes", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaTimeOffsetDateTimes", editing=Editing.ENABLED)
 //@Log4j2
 public class JavaTimeOffsetDateTimes implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/jdo/JavaTimeOffsetDateTimeJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/jdo/JavaTimeOffsetDateTimeJdo.java
index 54d8346..41e95f7 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/jdo/JavaTimeOffsetDateTimeJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/jdo/JavaTimeOffsetDateTimeJdo.java
@@ -43,7 +43,7 @@ import demoapp.dom.types.javatime.javatimeoffsetdatetime.persistence.JavaTimeOff
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.JavaTimeOffsetDateTimeEntity"
+        logicalTypeName = "demo.JavaTimeOffsetDateTimeEntity"
 )
 public class JavaTimeOffsetDateTimeJdo                                          // <.>
         extends JavaTimeOffsetDateTimeEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/jpa/JavaTimeOffsetDateTimeJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/jpa/JavaTimeOffsetDateTimeJpa.java
index 78009b1..d7edbbe 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/jpa/JavaTimeOffsetDateTimeJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/jpa/JavaTimeOffsetDateTimeJpa.java
@@ -50,7 +50,7 @@ import demoapp.dom.types.javatime.javatimeoffsetdatetime.persistence.JavaTimeOff
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.JavaTimeOffsetDateTimeEntity"
+      logicalTypeName = "demo.JavaTimeOffsetDateTimeEntity"
 )
 @NoArgsConstructor
 public class JavaTimeOffsetDateTimeJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/persistence/JavaTimeOffsetDateTimeEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/persistence/JavaTimeOffsetDateTimeEntity.java
index 9515007..9574de0 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/persistence/JavaTimeOffsetDateTimeEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/persistence/JavaTimeOffsetDateTimeEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.javatime.javatimeoffsetdatetime.holder.JavaTimeOffsetDateTimeHolder3;
 
 @DomainObject(
-        objectType = "demo.JavaTimeOffsetTimeEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.JavaTimeOffsetTimeEntity" // shared permissions with concrete sub class
 )
 public abstract class JavaTimeOffsetDateTimeEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/vm/JavaTimeOffsetDateTimeVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/vm/JavaTimeOffsetDateTimeVm.java
index 3cd61d2..22b5a58 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/vm/JavaTimeOffsetDateTimeVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsetdatetime/vm/JavaTimeOffsetDateTimeVm.java
@@ -45,7 +45,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.JavaTimeOffsetDateTimeVm"
+        logicalTypeName = "demo.JavaTimeOffsetDateTimeVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class JavaTimeOffsetDateTimeVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/JavaTimeOffsetTimes.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/JavaTimeOffsetTimes.java
index 932197a..d8e4044 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/JavaTimeOffsetTimes.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/JavaTimeOffsetTimes.java
@@ -45,7 +45,7 @@ import demoapp.dom.types.javatime.javatimeoffsettime.vm.JavaTimeOffsetTimeVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.JavaTimeOffsetTimes", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaTimeOffsetTimes", editing=Editing.ENABLED)
 //@Log4j2
 public class JavaTimeOffsetTimes implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/jdo/JavaTimeOffsetTimeJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/jdo/JavaTimeOffsetTimeJdo.java
index 50088d5..82512cf 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/jdo/JavaTimeOffsetTimeJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/jdo/JavaTimeOffsetTimeJdo.java
@@ -43,7 +43,7 @@ import demoapp.dom.types.javatime.javatimeoffsettime.persistence.JavaTimeOffsetT
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.JavaTimeOffsetTimeEntity"
+        logicalTypeName = "demo.JavaTimeOffsetTimeEntity"
 )
 public class JavaTimeOffsetTimeJdo                                          // <.>
         extends JavaTimeOffsetTimeEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/jpa/JavaTimeOffsetTimeJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/jpa/JavaTimeOffsetTimeJpa.java
index fa821df..af38417 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/jpa/JavaTimeOffsetTimeJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/jpa/JavaTimeOffsetTimeJpa.java
@@ -50,7 +50,7 @@ import demoapp.dom.types.javatime.javatimeoffsettime.persistence.JavaTimeOffsetT
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.JavaTimeOffsetTimeEntity"
+      logicalTypeName = "demo.JavaTimeOffsetTimeEntity"
 )
 @NoArgsConstructor
 public class JavaTimeOffsetTimeJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/persistence/JavaTimeOffsetTimeEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/persistence/JavaTimeOffsetTimeEntity.java
index c05152b..2367c83 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/persistence/JavaTimeOffsetTimeEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/persistence/JavaTimeOffsetTimeEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.javatime.javatimeoffsettime.holder.JavaTimeOffsetTimeHolder3;
 
 @DomainObject(
-        objectType = "demo.JavaTimeOffsetTimeEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.JavaTimeOffsetTimeEntity" // shared permissions with concrete sub class
 )
 public abstract class JavaTimeOffsetTimeEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/vm/JavaTimeOffsetTimeVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/vm/JavaTimeOffsetTimeVm.java
index f422156..8dbbfec 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/vm/JavaTimeOffsetTimeVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimeoffsettime/vm/JavaTimeOffsetTimeVm.java
@@ -45,7 +45,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.JavaTimeOffsetTimeVm"
+        logicalTypeName = "demo.JavaTimeOffsetTimeVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class JavaTimeOffsetTimeVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/JavaTimeZonedDateTimes.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/JavaTimeZonedDateTimes.java
index 3884ac2..4162b06 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/JavaTimeZonedDateTimes.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/JavaTimeZonedDateTimes.java
@@ -45,7 +45,7 @@ import demoapp.dom.types.javatime.javatimezoneddatetime.vm.JavaTimeZonedDateTime
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.JavaTimeZonedDateTimes", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaTimeZonedDateTimes", editing=Editing.ENABLED)
 //@Log4j2
 public class JavaTimeZonedDateTimes implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/jdo/JavaTimeZonedDateTimeJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/jdo/JavaTimeZonedDateTimeJdo.java
index be80f6a..c1c675b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/jdo/JavaTimeZonedDateTimeJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/jdo/JavaTimeZonedDateTimeJdo.java
@@ -43,7 +43,7 @@ import demoapp.dom.types.javatime.javatimezoneddatetime.persistence.JavaTimeZone
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.JavaTimeZonedDateTimeEntity"
+        logicalTypeName = "demo.JavaTimeZonedDateTimeEntity"
 )
 public class JavaTimeZonedDateTimeJdo                                          // <.>
         extends JavaTimeZonedDateTimeEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/jpa/JavaTimeZonedDateTimeJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/jpa/JavaTimeZonedDateTimeJpa.java
index fc94f1f..2afc61a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/jpa/JavaTimeZonedDateTimeJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/jpa/JavaTimeZonedDateTimeJpa.java
@@ -50,7 +50,7 @@ import demoapp.dom.types.javatime.javatimezoneddatetime.persistence.JavaTimeZone
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.JavaTimeZonedDateTimeEntity"
+      logicalTypeName = "demo.JavaTimeZonedDateTimeEntity"
 )
 @NoArgsConstructor
 public class JavaTimeZonedDateTimeJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/persistence/JavaTimeZonedDateTimeEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/persistence/JavaTimeZonedDateTimeEntity.java
index 3482d72..f6baf95 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/persistence/JavaTimeZonedDateTimeEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/persistence/JavaTimeZonedDateTimeEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.javatime.javatimezoneddatetime.holder.JavaTimeZonedDateTimeHolder3;
 
 @DomainObject(
-        objectType = "demo.JavaTimeZonedDateTimeEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.JavaTimeZonedDateTimeEntity" // shared permissions with concrete sub class
 )
 public abstract class JavaTimeZonedDateTimeEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/vm/JavaTimeZonedDateTimeVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/vm/JavaTimeZonedDateTimeVm.java
index 9965f9d..524b9f0 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/vm/JavaTimeZonedDateTimeVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javatime/javatimezoneddatetime/vm/JavaTimeZonedDateTimeVm.java
@@ -45,7 +45,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.JavaTimeZonedDateTimeVm"
+        logicalTypeName = "demo.JavaTimeZonedDateTimeVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class JavaTimeZonedDateTimeVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/JavaUtilTypesMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/JavaUtilTypesMenu.java
index be05c7a..7cfc9fc 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/JavaUtilTypesMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/JavaUtilTypesMenu.java
@@ -30,7 +30,7 @@ import lombok.extern.log4j.Log4j2;
 import demoapp.dom.types.javautil.javautildate.JavaUtilDates;
 import demoapp.dom.types.javautil.uuids.JavaUtilUuids;
 
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.JavaUtilTypesMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.JavaUtilTypesMenu")
 @DomainObjectLayout(named="JavaUtilTypes")
 @Log4j2
 public class JavaUtilTypesMenu {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/JavaUtilDates.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/JavaUtilDates.java
index 3665247..a323a18 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/JavaUtilDates.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/JavaUtilDates.java
@@ -44,7 +44,7 @@ import demoapp.dom.types.javautil.javautildate.vm.JavaUtilDateVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.JavaUtilDates", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaUtilDates", editing=Editing.ENABLED)
 //@Log4j2
 public class JavaUtilDates implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/jdo/JavaUtilDateJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/jdo/JavaUtilDateJdo.java
index ac8970e..bcb8660 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/jdo/JavaUtilDateJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/jdo/JavaUtilDateJdo.java
@@ -43,7 +43,7 @@ import demoapp.dom.types.javautil.javautildate.persistence.JavaUtilDateEntity;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.JavaUtilDateEntity"
+        logicalTypeName = "demo.JavaUtilDateEntity"
 )
 public class JavaUtilDateJdo                                          // <.>
         extends JavaUtilDateEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/jpa/JavaUtilDateJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/jpa/JavaUtilDateJpa.java
index e478033..2d1a2c2 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/jpa/JavaUtilDateJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/jpa/JavaUtilDateJpa.java
@@ -50,7 +50,7 @@ import demoapp.dom.types.javautil.javautildate.persistence.JavaUtilDateEntity;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.JavaUtilDateEntity"
+      logicalTypeName = "demo.JavaUtilDateEntity"
 )
 @NoArgsConstructor
 public class JavaUtilDateJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/persistence/JavaUtilDateEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/persistence/JavaUtilDateEntity.java
index eae91a1..0b9cb52 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/persistence/JavaUtilDateEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/persistence/JavaUtilDateEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.javautil.javautildate.holder.JavaUtilDateHolder3;
 
 @DomainObject(
-        objectType = "demo.JavaUtilDateEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.JavaUtilDateEntity" // shared permissions with concrete sub class
 )
 public abstract class JavaUtilDateEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/vm/JavaUtilDateVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/vm/JavaUtilDateVm.java
index 5998bfa..90b4184 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/vm/JavaUtilDateVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/javautildate/vm/JavaUtilDateVm.java
@@ -45,7 +45,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.JavaUtilDateVm"
+        logicalTypeName = "demo.JavaUtilDateVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class JavaUtilDateVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/JavaUtilUuids.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/JavaUtilUuids.java
index ad132d1..de16518 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/JavaUtilUuids.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/JavaUtilUuids.java
@@ -45,7 +45,7 @@ import demoapp.dom.types.javautil.uuids.vm.JavaUtilUuidVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.JavaUtilUuids", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JavaUtilUuids", editing=Editing.ENABLED)
 //@Log4j2
 public class JavaUtilUuids implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/jdo/JavaUtilUuidJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/jdo/JavaUtilUuidJdo.java
index ee7f4dd..208bcd7 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/jdo/JavaUtilUuidJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/jdo/JavaUtilUuidJdo.java
@@ -43,7 +43,7 @@ import demoapp.dom.types.javautil.uuids.persistence.JavaUtilUuidEntity;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.JavaUtilUuidEntity"
+        logicalTypeName = "demo.JavaUtilUuidEntity"
 )
 public class JavaUtilUuidJdo                                          // <.>
         extends JavaUtilUuidEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/jpa/JavaUtilUuidJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/jpa/JavaUtilUuidJpa.java
index c66f0b7..d4df2f9 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/jpa/JavaUtilUuidJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/jpa/JavaUtilUuidJpa.java
@@ -50,7 +50,7 @@ import demoapp.dom.types.javautil.uuids.persistence.JavaUtilUuidEntity;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.JavaUtilUuidEntity"
+      logicalTypeName = "demo.JavaUtilUuidEntity"
 )
 @NoArgsConstructor
 public class JavaUtilUuidJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/persistence/JavaUtilUuidEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/persistence/JavaUtilUuidEntity.java
index 2f40b8d..7093366 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/persistence/JavaUtilUuidEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/persistence/JavaUtilUuidEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.javautil.uuids.holder.JavaUtilUuidHolder2;
 
 @DomainObject(
-        objectType = "demo.JavaUtilUuidEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.JavaUtilUuidEntity" // shared permissions with concrete sub class
 )
 public abstract class JavaUtilUuidEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/vm/JavaUtilUuidVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/vm/JavaUtilUuidVm.java
index a8f6681..ddfe628 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/vm/JavaUtilUuidVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/javautil/uuids/vm/JavaUtilUuidVm.java
@@ -43,7 +43,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.JavaUtilUuidVm"
+        logicalTypeName = "demo.JavaUtilUuidVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class JavaUtilUuidVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/JodaTimeTypesMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/JodaTimeTypesMenu.java
index eefde16..8f474ce 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/JodaTimeTypesMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/JodaTimeTypesMenu.java
@@ -36,7 +36,7 @@ import demoapp.dom.types.jodatime.jodalocaldate.JodaLocalDates;
 import demoapp.dom.types.jodatime.jodalocaldatetime.JodaLocalDateTimes;
 import demoapp.dom.types.jodatime.jodalocaltime.JodaLocalTimes;
 
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.JodaTimeTypesMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.JodaTimeTypesMenu")
 @DomainObjectLayout(named="JodaTimeTypes")
 //@Log4j2
 public class JodaTimeTypesMenu {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/JodaDateTimes.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/JodaDateTimes.java
index b9d68ad..0b4f4b0 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/JodaDateTimes.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/JodaDateTimes.java
@@ -48,7 +48,7 @@ import demoapp.dom.types.jodatime.jodadatetime.vm.JodaDateTimeVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.JodaDateTimes", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JodaDateTimes", editing=Editing.ENABLED)
 //@Log4j2
 public class JodaDateTimes implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/jdo/JodaDateTimeJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/jdo/JodaDateTimeJdo.java
index 461a650..bd81adc 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/jdo/JodaDateTimeJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/jdo/JodaDateTimeJdo.java
@@ -43,7 +43,7 @@ import demoapp.dom.types.jodatime.jodadatetime.persistence.JodaDateTimeEntity;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.JodaDateTimeEntity"
+        logicalTypeName = "demo.JodaDateTimeEntity"
 )
 public class JodaDateTimeJdo                                          // <.>
         extends JodaDateTimeEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/persistence/JodaDateTimeEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/persistence/JodaDateTimeEntity.java
index c106ea0..69d9448 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/persistence/JodaDateTimeEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/persistence/JodaDateTimeEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.jodatime.jodadatetime.holder.JodaDateTimeHolder3;
 
 @DomainObject(
-        objectType = "demo.JodaDateTimeEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.JodaDateTimeEntity" // shared permissions with concrete sub class
 )
 public abstract class JodaDateTimeEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/vm/JodaDateTimeVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/vm/JodaDateTimeVm.java
index a5c10be..4f56e0c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/vm/JodaDateTimeVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodadatetime/vm/JodaDateTimeVm.java
@@ -45,7 +45,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.JodaDateTimeVm"
+        logicalTypeName = "demo.JodaDateTimeVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class JodaDateTimeVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/JodaLocalDates.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/JodaLocalDates.java
index 3bfa845..7dbec4d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/JodaLocalDates.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/JodaLocalDates.java
@@ -49,7 +49,7 @@ import demoapp.dom.types.jodatime.jodalocaldate.vm.JodaLocalDateVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.JodaLocalDates", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JodaLocalDates", editing=Editing.ENABLED)
 //@Log4j2
 public class JodaLocalDates implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/jdo/JodaLocalDateJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/jdo/JodaLocalDateJdo.java
index 7e02ef6..234b565 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/jdo/JodaLocalDateJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/jdo/JodaLocalDateJdo.java
@@ -43,7 +43,7 @@ import demoapp.dom.types.jodatime.jodalocaldate.persistence.JodaLocalDateEntity;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.JodaLocalDateEntity"
+        logicalTypeName = "demo.JodaLocalDateEntity"
 )
 public class JodaLocalDateJdo                                          // <.>
         extends JodaLocalDateEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/persistence/JodaLocalDateEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/persistence/JodaLocalDateEntity.java
index fe97e9e..b0650a3 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/persistence/JodaLocalDateEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/persistence/JodaLocalDateEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.jodatime.jodalocaldate.holder.JodaLocalDateHolder3;
 
 @DomainObject(
-        objectType = "demo.JodaLocalDateEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.JodaLocalDateEntity" // shared permissions with concrete sub class
 )
 public abstract class JodaLocalDateEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/vm/JodaLocalDateVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/vm/JodaLocalDateVm.java
index b225aaa..a2e6c9f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/vm/JodaLocalDateVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldate/vm/JodaLocalDateVm.java
@@ -45,7 +45,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.JodaLocalDateVm"
+        logicalTypeName = "demo.JodaLocalDateVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class JodaLocalDateVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/JodaLocalDateTimes.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/JodaLocalDateTimes.java
index 0ff2a7b..2b4dfc8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/JodaLocalDateTimes.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/JodaLocalDateTimes.java
@@ -49,7 +49,7 @@ import demoapp.dom.types.jodatime.jodalocaldatetime.vm.JodaLocalDateTimeVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.JodaLocalDateTimes", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JodaLocalDateTimes", editing=Editing.ENABLED)
 //@Log4j2
 public class JodaLocalDateTimes implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/jdo/JodaLocalDateTimeJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/jdo/JodaLocalDateTimeJdo.java
index cd6580a..7198a5c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/jdo/JodaLocalDateTimeJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/jdo/JodaLocalDateTimeJdo.java
@@ -43,7 +43,7 @@ import demoapp.dom.types.jodatime.jodalocaldatetime.persistence.JodaLocalDateTim
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.JodaLocalDateTimeEntity"
+        logicalTypeName = "demo.JodaLocalDateTimeEntity"
 )
 public class JodaLocalDateTimeJdo                                          // <.>
         extends JodaLocalDateTimeEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/persistence/JodaLocalDateTimeEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/persistence/JodaLocalDateTimeEntity.java
index 4e12b37..6671297 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/persistence/JodaLocalDateTimeEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/persistence/JodaLocalDateTimeEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.jodatime.jodalocaldatetime.holder.JodaLocalDateTimeHolder3;
 
 @DomainObject(
-        objectType = "demo.JodaLocalDateTimeEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.JodaLocalDateTimeEntity" // shared permissions with concrete sub class
 )
 public abstract class JodaLocalDateTimeEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/vm/JodaLocalDateTimeVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/vm/JodaLocalDateTimeVm.java
index 206dae1..730f7a9 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/vm/JodaLocalDateTimeVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaldatetime/vm/JodaLocalDateTimeVm.java
@@ -45,7 +45,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.JodaLocalDateTimeVm"
+        logicalTypeName = "demo.JodaLocalDateTimeVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class JodaLocalDateTimeVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/JodaLocalTimes.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/JodaLocalTimes.java
index 0c7fbf5..c1b47c7 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/JodaLocalTimes.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/JodaLocalTimes.java
@@ -49,7 +49,7 @@ import demoapp.dom.types.jodatime.jodalocaltime.vm.JodaLocalTimeVm;
 @XmlRootElement(name = "Demo")
 @XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
-@DomainObject(nature=Nature.VIEW_MODEL, objectType = "demo.JodaLocalTimes", editing=Editing.ENABLED)
+@DomainObject(nature=Nature.VIEW_MODEL, logicalTypeName = "demo.JodaLocalTimes", editing=Editing.ENABLED)
 //@Log4j2
 public class JodaLocalTimes implements HasAsciiDocDescription {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/jdo/JodaLocalTimeJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/jdo/JodaLocalTimeJdo.java
index ad5dab6..e824f8a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/jdo/JodaLocalTimeJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/jdo/JodaLocalTimeJdo.java
@@ -43,7 +43,7 @@ import demoapp.dom.types.jodatime.jodalocaltime.persistence.JodaLocalTimeEntity;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-      objectType = "demo.JodaLocalTimeEntity"
+      logicalTypeName = "demo.JodaLocalTimeEntity"
 )
 public class JodaLocalTimeJdo                                          // <.>
       extends JodaLocalTimeEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/persistence/JodaLocalTimeEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/persistence/JodaLocalTimeEntity.java
index 53a8435..4aceb7f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/persistence/JodaLocalTimeEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/persistence/JodaLocalTimeEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.jodatime.jodalocaltime.holder.JodaLocalTimeHolder2;
 
 @DomainObject(
-        objectType = "demo.JodaLocalTimeEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.JodaLocalTimeEntity" // shared permissions with concrete sub class
 )
 public abstract class JodaLocalTimeEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/vm/JodaLocalTimeVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/vm/JodaLocalTimeVm.java
index 2e3dbed..37d4908 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/vm/JodaLocalTimeVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/jodatime/jodalocaltime/vm/JodaLocalTimeVm.java
@@ -45,7 +45,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
       nature=Nature.VIEW_MODEL,
-      objectType = "demo.JodaLocalTimeVm"
+      logicalTypeName = "demo.JodaLocalTimeVm"
 )
 @lombok.NoArgsConstructor                                                       // <.>
 public class JodaLocalTimeVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/PrimitiveTypesMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/PrimitiveTypesMenu.java
index 22b1bf2..f409184 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/PrimitiveTypesMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/PrimitiveTypesMenu.java
@@ -36,7 +36,7 @@ import demoapp.dom.types.primitive.ints.PrimitiveInts;
 import demoapp.dom.types.primitive.longs.PrimitiveLongs;
 import demoapp.dom.types.primitive.shorts.PrimitiveShorts;
 
-@DomainService(nature=NatureOfService.VIEW, objectType = "demo.PrimitiveTypesMenu")
+@DomainService(nature=NatureOfService.VIEW, logicalTypeName = "demo.PrimitiveTypesMenu")
 @DomainObjectLayout(named="PrimitiveTypes")
 @Log4j2
 public class PrimitiveTypesMenu {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/PrimitiveBooleans.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/PrimitiveBooleans.java
index cdc28f6..e63ef92 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/PrimitiveBooleans.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/PrimitiveBooleans.java
@@ -46,7 +46,7 @@ import demoapp.dom.types.primitive.booleans.vm.PrimitiveBooleanVm;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PrimitiveBooleans",
+        logicalTypeName = "demo.PrimitiveBooleans",
         editing=Editing.ENABLED
 )
 //@Log4j2
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdo.java
index 90011da..cd9d5bb 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jdo/PrimitiveBooleanJdo.java
@@ -41,7 +41,7 @@ import demoapp.dom.types.primitive.booleans.persistence.PrimitiveBooleanEntity;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.PrimitiveBooleanEntity"
+        logicalTypeName = "demo.PrimitiveBooleanEntity"
 )
 public class PrimitiveBooleanJdo                                        // <.>
         extends PrimitiveBooleanEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jpa/PrimitiveBooleanJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jpa/PrimitiveBooleanJpa.java
index 15545da..ba147fe 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jpa/PrimitiveBooleanJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/jpa/PrimitiveBooleanJpa.java
@@ -48,7 +48,7 @@ import demoapp.dom.types.primitive.booleans.persistence.PrimitiveBooleanEntity;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.PrimitiveBooleanEntity"
+      logicalTypeName = "demo.PrimitiveBooleanEntity"
 )
 @NoArgsConstructor
 public class PrimitiveBooleanJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/persistence/PrimitiveBooleanEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/persistence/PrimitiveBooleanEntity.java
index 7389172..b5afeaf 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/persistence/PrimitiveBooleanEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/persistence/PrimitiveBooleanEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.primitive.booleans.holder.PrimitiveBooleanHolder2;
 
 @DomainObject(
-        objectType = "demo.PrimitiveBooleanEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.PrimitiveBooleanEntity" // shared permissions with concrete sub class
 )
 public abstract class PrimitiveBooleanEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanVm.java
index 363b494..364a938 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/booleans/vm/PrimitiveBooleanVm.java
@@ -41,7 +41,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature= Nature.VIEW_MODEL,
-        objectType = "demo.PrimitiveBooleanVm"
+        logicalTypeName = "demo.PrimitiveBooleanVm"
 )
 @lombok.NoArgsConstructor                                               // <.>
 public class PrimitiveBooleanVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/PrimitiveBytes.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/PrimitiveBytes.java
index 68bd508..e4cf6bb 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/PrimitiveBytes.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/PrimitiveBytes.java
@@ -46,7 +46,7 @@ import demoapp.dom.types.primitive.bytes.vm.PrimitiveByteVm;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PrimitiveBytes",
+        logicalTypeName = "demo.PrimitiveBytes",
         editing=Editing.ENABLED
 )
 //@Log4j2
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jdo/PrimitiveByteJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jdo/PrimitiveByteJdo.java
index a68c6bc..cd99e72 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jdo/PrimitiveByteJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jdo/PrimitiveByteJdo.java
@@ -41,7 +41,7 @@ import demoapp.dom.types.primitive.bytes.persistence.PrimitiveByteEntity;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.PrimitiveByteEntity"
+        logicalTypeName = "demo.PrimitiveByteEntity"
 )
 public class PrimitiveByteJdo                                       // <.>
         extends PrimitiveByteEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jpa/PrimitiveByteJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jpa/PrimitiveByteJpa.java
index 671e844..eee9c14 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jpa/PrimitiveByteJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/jpa/PrimitiveByteJpa.java
@@ -48,7 +48,7 @@ import demoapp.dom.types.primitive.bytes.persistence.PrimitiveByteEntity;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.PrimitiveByteEntity"
+      logicalTypeName = "demo.PrimitiveByteEntity"
 )
 @NoArgsConstructor
 public class PrimitiveByteJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/persistence/PrimitiveByteEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/persistence/PrimitiveByteEntity.java
index 1eea4d7..e639e03 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/persistence/PrimitiveByteEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/persistence/PrimitiveByteEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.primitive.bytes.holder.PrimitiveByteHolder2;
 
 @DomainObject(
-        objectType = "demo.PrimitiveByteEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.PrimitiveByteEntity" // shared permissions with concrete sub class
 )
 public abstract class PrimitiveByteEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/vm/PrimitiveByteVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/vm/PrimitiveByteVm.java
index 59397d6..98ec47f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/vm/PrimitiveByteVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/bytes/vm/PrimitiveByteVm.java
@@ -41,7 +41,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PrimitiveByteVm"
+        logicalTypeName = "demo.PrimitiveByteVm"
 )
 @lombok.NoArgsConstructor                                           // <.>
 public class PrimitiveByteVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/PrimitiveChars.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/PrimitiveChars.java
index d1ff526..e8c7d31 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/PrimitiveChars.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/PrimitiveChars.java
@@ -46,7 +46,7 @@ import demoapp.dom.types.primitive.chars.vm.PrimitiveCharVm;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PrimitiveChars",
+        logicalTypeName = "demo.PrimitiveChars",
         editing=Editing.ENABLED
 )
 //@Log4j2
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/jdo/PrimitiveCharJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/jdo/PrimitiveCharJdo.java
index bba5764..2bedb68 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/jdo/PrimitiveCharJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/jdo/PrimitiveCharJdo.java
@@ -41,7 +41,7 @@ import demoapp.dom.types.primitive.chars.persistence.PrimitiveCharEntity;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.PrimitiveCharEntity"
+        logicalTypeName = "demo.PrimitiveCharEntity"
 )
 public class PrimitiveCharJdo                                       // <.>
     extends PrimitiveCharEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/jpa/PrimitiveCharJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/jpa/PrimitiveCharJpa.java
index e8fc09b..9132218 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/jpa/PrimitiveCharJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/jpa/PrimitiveCharJpa.java
@@ -48,7 +48,7 @@ import demoapp.dom.types.primitive.chars.persistence.PrimitiveCharEntity;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.PrimitiveCharEntity"
+      logicalTypeName = "demo.PrimitiveCharEntity"
 )
 @NoArgsConstructor
 public class PrimitiveCharJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/persistence/PrimitiveCharEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/persistence/PrimitiveCharEntity.java
index 3859d43..aad863b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/persistence/PrimitiveCharEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/persistence/PrimitiveCharEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.primitive.chars.holder.PrimitiveCharHolder2;
 
 @DomainObject(
-        objectType = "demo.PrimitiveCharEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.PrimitiveCharEntity" // shared permissions with concrete sub class
 )
 public abstract class PrimitiveCharEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/vm/PrimitiveCharVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/vm/PrimitiveCharVm.java
index 35bce5b..534ef3b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/vm/PrimitiveCharVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/vm/PrimitiveCharVm.java
@@ -41,7 +41,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PrimitiveCharVm"
+        logicalTypeName = "demo.PrimitiveCharVm"
 )
 @lombok.NoArgsConstructor                                           // <.>
 public class PrimitiveCharVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/PrimitiveDoubles.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/PrimitiveDoubles.java
index 8984745..109f25c 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/PrimitiveDoubles.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/PrimitiveDoubles.java
@@ -46,7 +46,7 @@ import demoapp.dom.types.primitive.doubles.vm.PrimitiveDoubleVm;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PrimitiveDoubles",
+        logicalTypeName = "demo.PrimitiveDoubles",
         editing=Editing.ENABLED
 )
 //@Log4j2
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jdo/PrimitiveDoubleJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jdo/PrimitiveDoubleJdo.java
index c76b431..28052d9 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jdo/PrimitiveDoubleJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jdo/PrimitiveDoubleJdo.java
@@ -41,7 +41,7 @@ import demoapp.dom.types.primitive.doubles.persistence.PrimitiveDoubleEntity;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.PrimitiveDoubleEntity"
+        logicalTypeName = "demo.PrimitiveDoubleEntity"
 )
 public class PrimitiveDoubleJdo                                     // <.>
         extends PrimitiveDoubleEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jpa/PrimitiveDoubleJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jpa/PrimitiveDoubleJpa.java
index 5b8ab6e..5c9e5a2 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jpa/PrimitiveDoubleJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/jpa/PrimitiveDoubleJpa.java
@@ -48,7 +48,7 @@ import demoapp.dom.types.primitive.doubles.persistence.PrimitiveDoubleEntity;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.PrimitiveDoubleEntity"
+      logicalTypeName = "demo.PrimitiveDoubleEntity"
 )
 @NoArgsConstructor
 public class PrimitiveDoubleJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/persistence/PrimitiveDoubleEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/persistence/PrimitiveDoubleEntity.java
index 12b8346..a74c27a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/persistence/PrimitiveDoubleEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/persistence/PrimitiveDoubleEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.primitive.doubles.holder.PrimitiveDoubleHolder2;
 
 @DomainObject(
-        objectType = "demo.PrimitiveDoubleEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.PrimitiveDoubleEntity" // shared permissions with concrete sub class
 )
 public abstract class PrimitiveDoubleEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/vm/PrimitiveDoubleVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/vm/PrimitiveDoubleVm.java
index 43fa723..1f24115 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/vm/PrimitiveDoubleVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/doubles/vm/PrimitiveDoubleVm.java
@@ -41,7 +41,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PrimitiveDoubleVm"
+        logicalTypeName = "demo.PrimitiveDoubleVm"
 )
 @lombok.NoArgsConstructor                                           // <.>
 public class PrimitiveDoubleVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/PrimitiveFloats.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/PrimitiveFloats.java
index 79e8a24..77a38c5 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/PrimitiveFloats.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/PrimitiveFloats.java
@@ -46,7 +46,7 @@ import demoapp.dom.types.primitive.floats.vm.PrimitiveFloatVm;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PrimitiveFloats",
+        logicalTypeName = "demo.PrimitiveFloats",
         editing=Editing.ENABLED
 )
 //@Log4j2
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jdo/PrimitiveFloatJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jdo/PrimitiveFloatJdo.java
index 54f323e..7fafdc5 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jdo/PrimitiveFloatJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jdo/PrimitiveFloatJdo.java
@@ -41,7 +41,7 @@ import demoapp.dom.types.primitive.floats.persistence.PrimitiveFloatEntity;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.PrimitiveFloatEntity"
+        logicalTypeName = "demo.PrimitiveFloatEntity"
 )
 public class PrimitiveFloatJdo                                      // <.>
         extends PrimitiveFloatEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jpa/PrimitiveFloatJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jpa/PrimitiveFloatJpa.java
index 5fd0d4b..709ba58 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jpa/PrimitiveFloatJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/jpa/PrimitiveFloatJpa.java
@@ -48,7 +48,7 @@ import demoapp.dom.types.primitive.floats.persistence.PrimitiveFloatEntity;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.PrimitiveFloatEntity"
+      logicalTypeName = "demo.PrimitiveFloatEntity"
 )
 @NoArgsConstructor
 public class PrimitiveFloatJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/persistence/PrimitiveFloatEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/persistence/PrimitiveFloatEntity.java
index 4bc6a56..326d3d8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/persistence/PrimitiveFloatEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/persistence/PrimitiveFloatEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.primitive.floats.holder.PrimitiveFloatHolder2;
 
 @DomainObject(
-        objectType = "demo.PrimitiveFloatEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.PrimitiveFloatEntity" // shared permissions with concrete sub class
 )
 public abstract class PrimitiveFloatEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/vm/PrimitiveFloatVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/vm/PrimitiveFloatVm.java
index 737d86b..3e63edc 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/vm/PrimitiveFloatVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/floats/vm/PrimitiveFloatVm.java
@@ -41,7 +41,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PrimitiveFloatVm"
+        logicalTypeName = "demo.PrimitiveFloatVm"
 )
 @lombok.NoArgsConstructor                                           // <.>
 public class PrimitiveFloatVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/PrimitiveInts.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/PrimitiveInts.java
index 0b892f8..0a5b085 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/PrimitiveInts.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/PrimitiveInts.java
@@ -46,7 +46,7 @@ import demoapp.dom.types.primitive.ints.vm.PrimitiveIntVm;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PrimitiveInts",
+        logicalTypeName = "demo.PrimitiveInts",
         editing=Editing.ENABLED
 )
 //@Log4j2
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/jdo/PrimitiveIntJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/jdo/PrimitiveIntJdo.java
index ca4e6e8..0f2adfd 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/jdo/PrimitiveIntJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/jdo/PrimitiveIntJdo.java
@@ -41,7 +41,7 @@ import demoapp.dom.types.primitive.ints.persistence.PrimitiveIntEntity;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.PrimitiveIntEntity"
+        logicalTypeName = "demo.PrimitiveIntEntity"
 )
 public class PrimitiveIntJdo                                        // <.>
         extends PrimitiveIntEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/jpa/PrimitiveIntJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/jpa/PrimitiveIntJpa.java
index 08df21e..9f7919b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/jpa/PrimitiveIntJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/jpa/PrimitiveIntJpa.java
@@ -48,7 +48,7 @@ import demoapp.dom.types.primitive.ints.persistence.PrimitiveIntEntity;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.PrimitiveIntEntity"
+      logicalTypeName = "demo.PrimitiveIntEntity"
 )
 @NoArgsConstructor
 public class PrimitiveIntJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/persistence/PrimitiveIntEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/persistence/PrimitiveIntEntity.java
index 115304a..a5ff64a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/persistence/PrimitiveIntEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/persistence/PrimitiveIntEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.primitive.ints.holder.PrimitiveIntHolder2;
 
 @DomainObject(
-        objectType = "demo.PrimitiveIntEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.PrimitiveIntEntity" // shared permissions with concrete sub class
 )
 public abstract class PrimitiveIntEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/vm/PrimitiveIntVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/vm/PrimitiveIntVm.java
index 8404e94..ea28b74 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/vm/PrimitiveIntVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/ints/vm/PrimitiveIntVm.java
@@ -41,7 +41,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PrimitiveIntVm"
+        logicalTypeName = "demo.PrimitiveIntVm"
 )
 @lombok.NoArgsConstructor                                           // <.>
 public class PrimitiveIntVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/PrimitiveLongs.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/PrimitiveLongs.java
index 28e7876..33566a1 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/PrimitiveLongs.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/PrimitiveLongs.java
@@ -46,7 +46,7 @@ import demoapp.dom.types.primitive.longs.vm.PrimitiveLongVm;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PrimitiveLongs",
+        logicalTypeName = "demo.PrimitiveLongs",
         editing=Editing.ENABLED
 )
 //@Log4j2
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/jdo/PrimitiveLongJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/jdo/PrimitiveLongJdo.java
index 921d5ee..737042a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/jdo/PrimitiveLongJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/jdo/PrimitiveLongJdo.java
@@ -41,7 +41,7 @@ import demoapp.dom.types.primitive.longs.persistence.PrimitiveLongEntity;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.PrimitiveLongEntity"
+        logicalTypeName = "demo.PrimitiveLongEntity"
 )
 public class PrimitiveLongJdo                                       // <.>
         extends PrimitiveLongEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/jpa/PrimitiveLongJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/jpa/PrimitiveLongJpa.java
index 1fc53e9..c46b15f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/jpa/PrimitiveLongJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/jpa/PrimitiveLongJpa.java
@@ -48,7 +48,7 @@ import demoapp.dom.types.primitive.longs.persistence.PrimitiveLongEntity;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.PrimitiveLongEntity"
+      logicalTypeName = "demo.PrimitiveLongEntity"
 )
 @NoArgsConstructor
 public class PrimitiveLongJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/persistence/PrimitiveLongEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/persistence/PrimitiveLongEntity.java
index 56a18c5..3c989f9 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/persistence/PrimitiveLongEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/persistence/PrimitiveLongEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.primitive.longs.holder.PrimitiveLongHolder2;
 
 @DomainObject(
-        objectType = "demo.PrimitiveLongEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.PrimitiveLongEntity" // shared permissions with concrete sub class
 )
 public abstract class PrimitiveLongEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/vm/PrimitiveLongVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/vm/PrimitiveLongVm.java
index 2edc92a..e4f69a7 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/vm/PrimitiveLongVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/longs/vm/PrimitiveLongVm.java
@@ -41,7 +41,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PrimitiveLongVm"
+        logicalTypeName = "demo.PrimitiveLongVm"
 )
 @lombok.NoArgsConstructor                                           // <.>
 public class PrimitiveLongVm
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/PrimitiveShorts.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/PrimitiveShorts.java
index 194c64b..bfc81f9 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/PrimitiveShorts.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/PrimitiveShorts.java
@@ -46,7 +46,7 @@ import demoapp.dom.types.primitive.shorts.vm.PrimitiveShortVm;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PrimitiveShorts",
+        logicalTypeName = "demo.PrimitiveShorts",
         editing=Editing.ENABLED
 )
 //@Log4j2
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jdo/PrimitiveShortJdo.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jdo/PrimitiveShortJdo.java
index 312ce9e..f9fef72 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jdo/PrimitiveShortJdo.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jdo/PrimitiveShortJdo.java
@@ -41,7 +41,7 @@ import demoapp.dom.types.primitive.shorts.persistence.PrimitiveShortEntity;
 @PersistenceCapable(identityType = IdentityType.DATASTORE, schema = "demo")
 @DatastoreIdentity(strategy = IdGeneratorStrategy.IDENTITY, column = "id")
 @DomainObject(
-        objectType = "demo.PrimitiveShortEntity"
+        logicalTypeName = "demo.PrimitiveShortEntity"
 )
 public class PrimitiveShortJdo                                      // <.>
         extends PrimitiveShortEntity {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jpa/PrimitiveShortJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jpa/PrimitiveShortJpa.java
index 3fa33a9..5875f41 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jpa/PrimitiveShortJpa.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/jpa/PrimitiveShortJpa.java
@@ -48,7 +48,7 @@ import demoapp.dom.types.primitive.shorts.persistence.PrimitiveShortEntity;
 )
 @EntityListeners(JpaEntityInjectionPointResolver.class)
 @DomainObject(
-      objectType = "demo.PrimitiveShortEntity"
+      logicalTypeName = "demo.PrimitiveShortEntity"
 )
 @NoArgsConstructor
 public class PrimitiveShortJpa
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/persistence/PrimitiveShortEntity.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/persistence/PrimitiveShortEntity.java
index dc341b8..1f90b49 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/persistence/PrimitiveShortEntity.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/persistence/PrimitiveShortEntity.java
@@ -25,7 +25,7 @@ import demoapp.dom._infra.values.ValueHolder;
 import demoapp.dom.types.primitive.shorts.holder.PrimitiveShortHolder2;
 
 @DomainObject(
-        objectType = "demo.PrimitiveShortEntity" // shared permissions with concrete sub class
+        logicalTypeName = "demo.PrimitiveShortEntity" // shared permissions with concrete sub class
 )
 public abstract class PrimitiveShortEntity
 implements
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/vm/PrimitiveShortVm.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/vm/PrimitiveShortVm.java
index a3d5ea7..26ca96f 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/vm/PrimitiveShortVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/shorts/vm/PrimitiveShortVm.java
@@ -41,7 +41,7 @@ import lombok.Setter;
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
         nature=Nature.VIEW_MODEL,
-        objectType = "demo.PrimitiveShortVm"
+        logicalTypeName = "demo.PrimitiveShortVm"
 )
 @lombok.NoArgsConstructor                                           // <.>
 public class PrimitiveShortVm
diff --git a/examples/demo/web/src/main/java/demoapp/web/linebreaker/LineBreaker.java b/examples/demo/web/src/main/java/demoapp/web/linebreaker/LineBreaker.java
index a1bd156..22bde95 100644
--- a/examples/demo/web/src/main/java/demoapp/web/linebreaker/LineBreaker.java
+++ b/examples/demo/web/src/main/java/demoapp/web/linebreaker/LineBreaker.java
@@ -35,7 +35,7 @@ import lombok.extern.log4j.Log4j2;
  * REST endpoint to allow for remote application shutdown
  *
  */
-@DomainService(nature = NatureOfService.REST, objectType = "demo.LineBreaker")
+@DomainService(nature = NatureOfService.REST, logicalTypeName = "demo.LineBreaker")
 @Log4j2
 @RequiredArgsConstructor(onConstructor_ = { @Inject })
 public class LineBreaker {
diff --git a/examples/demo/web/src/main/java/demoapp/web/replay/DemoReplayController.java b/examples/demo/web/src/main/java/demoapp/web/replay/DemoReplayController.java
index d334939..785ff02 100644
--- a/examples/demo/web/src/main/java/demoapp/web/replay/DemoReplayController.java
+++ b/examples/demo/web/src/main/java/demoapp/web/replay/DemoReplayController.java
@@ -27,7 +27,7 @@ import org.apache.isis.applib.annotation.NatureOfService;
 import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.extensions.commandreplay.secondary.spi.ReplayCommandExecutionController;
 
-@DomainService(nature = NatureOfService.VIEW, objectType = "demo.web.DemoReplayController")
+@DomainService(nature = NatureOfService.VIEW, logicalTypeName = "demo.web.DemoReplayController")
 @Profile("secondary")
 public class DemoReplayController implements ReplayCommandExecutionController {
 
diff --git a/examples/demo/web/src/main/java/demoapp/web/security/PrototypeActionsVisibilityAdvisor.java b/examples/demo/web/src/main/java/demoapp/web/security/PrototypeActionsVisibilityAdvisor.java
index 7bc80e2..566dee8 100644
--- a/examples/demo/web/src/main/java/demoapp/web/security/PrototypeActionsVisibilityAdvisor.java
+++ b/examples/demo/web/src/main/java/demoapp/web/security/PrototypeActionsVisibilityAdvisor.java
@@ -34,7 +34,7 @@ import org.apache.isis.core.metamodel.inspect.Object_inspectMetamodel;
 
 @DomainService(
         nature = NatureOfService.VIEW,
-        objectType = "demo.PrototypeActionsVisibilityAdvisor"
+        logicalTypeName = "demo.PrototypeActionsVisibilityAdvisor"
 )
 @DomainServiceLayout(menuBar = DomainServiceLayout.MenuBar.TERTIARY)
 public class PrototypeActionsVisibilityAdvisor {