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

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

commit 209d82732caca731abaedb7c1dcc8887b6175bda
Merge: 3c319fdf6e 94acfec23f
Author: Dan Haywood <[email protected]>
AuthorDate: Thu Oct 10 15:01:26 2024 +0200

    Merge branch 'maintenance-branch'

 antora/components/conguide/antora.yml              |   1 -
 .../conguide/modules/agilej/pages/about.adoc       |  56 --
 .../components/docs/modules/ROOT/pages/about.adoc  |   5 +-
 .../ROOT/partials/module-nav/components.adoc       |  10 +-
 .../ROOT/partials/module-nav/extensions.adoc       |   4 +
 .../pages/index/annotation/DomainObject.adoc       |  58 ++
 .../applib/pages/index/annotation/Property.adoc    |  21 +
 .../AcceptHeaderService_010-implementation.adoc    |   2 +-
 .../index/services/appfeat/ApplicationFeature.adoc |   2 +
 ...cationFeatureRepository_010-implementation.adoc |   3 +-
 .../ApplicationFeature_010-implementation.adoc}    |   4 +-
 .../services/ascii/AsciiIdentifierService.adoc     |   1 +
 ...AsciiIdentifierService_010-implementation.adoc} |   2 +-
 .../hooks/BookmarkService_010-implementation.adoc  |   6 +-
 .../BookmarkUiService_010-implementation.adoc      |   2 +-
 .../hooks/ClockService_010-implementation.adoc     |   3 +-
 .../columnorder/ColumnOrderTxtFileService.adoc     |   1 +
 ...umnOrderTxtFileService_010-implementation.adoc} |   4 +-
 .../CommandExecutorService_010-implementation.adoc |   3 +-
 .../conmap/ContentMappingServiceForCommandDto.adoc |   2 +
 .../ContentMappingService_010-implementation.adoc  |   4 +-
 .../hooks/EmailService_010-implementation.adoc     |   2 +-
 .../hooks/EventBusService_010-implementation.adoc  |   2 +-
 .../ExceptionRecognizer_010-implementation.adoc    |   3 +-
 .../hooks/FactoryService_010-implementation.adoc   |   2 +-
 .../GridLoaderService_010-implementation.adoc      |   3 +-
 .../grid/hooks/GridService_010-implementation.adoc |   4 +-
 .../GridSystemService_010-implementation.adoc      |  20 +-
 .../HealthCheckService_010-implementation.adoc     |  28 +-
 .../hooks/HintIdProvider_010-implementation.adoc   |   3 +
 .../hint/hooks/HintStore_010-implementation.adoc   |   3 +-
 ...HomePageResolverService_010-implementation.adoc |   2 +-
 .../index/services/i18n/LanguageProvider.adoc      |   4 +
 .../index/services/i18n/TranslationService.adoc    |  11 -
 .../LanguageProvider_010-implementation.adoc}      |   2 +-
 ...> LanguageProvider_020-examples-and-usage.adoc} |   0
 .../hooks/LocaleProvider_010-implementation.adoc   |  10 -
 .../TranslationService_010-implementation.adoc     |   3 +-
 .../TranslationsResolver_010-implementation.adoc   |   4 +-
 .../InteractionContext_010-implementation.adoc     |   2 +-
 .../iactnlayer/InteractionLayerTracker.adoc        |   2 +
 .../services/iactnlayer/InteractionService.adoc    |   4 +-
 ...nteractionLayerTracker_010-implementation.adoc} |   4 +-
 .../InteractionService_010-implementation.adoc}    |   4 +-
 .../hooks/ServiceInjector_010-implementation.adoc  |   2 +-
 .../jaxb/hooks/JaxbService_010-implementation.adoc |   2 +-
 .../keyvaluestore/KeyValueSessionStore.adoc        |   2 +
 .../KeyValueSessionStore_010-implementation.adoc}  |   4 +-
 .../hooks/LayoutService_010-implementation.adoc    |   2 +-
 .../hooks/DeepLinkService_010-implementation.adoc  |   2 +-
 .../services/locale/LocaleChoiceProvider.adoc      |   1 +
 .../LocaleChoiceProvider_010-implementation.adoc}  |   2 +-
 .../index/services/marshal/MarshallerService.adoc  |   2 +
 .../MarshallerService_010-implementation.adoc}     |  24 +-
 .../MenuBarsLoaderService_010-implementation.adoc  |   8 +-
 .../hooks/MenuBarsService_010-implementation.adoc  |   6 +-
 .../hooks/MessageService_010-implementation.adoc   |   2 +-
 .../MetaModelServiceMenu_010-implementation.adoc   |   2 +
 .../hooks/MetaModelService_010-implementation.adoc |   2 +-
 .../hooks/MetricsService_010-implementation.adoc   |   3 +-
 .../placeholder/PlaceholderRenderService.adoc      |   2 +
 ...aceholderRenderService_010-implementation.adoc} |   2 +-
 .../publishing/spi/PageRenderSubscriber.adoc       |   2 +
 .../CommandSubscriber_010-implementation.adoc      |  14 +-
 ...EntityChangesSubscriber_010-implementation.adoc |  11 +-
 ...ropertyChangeSubscriber_010-implementation.adoc |  14 +-
 ...rtyChangeSubscriber_020-examples-and-usage.adoc |   3 -
 .../ExecutionSubscriber_010-implementation.adoc    |  18 +-
 .../PageRenderSubscriber_010-implementation.adoc}  |  15 +-
 ...ueryResultsCacheControl_010-implementation.adoc |   2 +-
 .../QueryResultsCache_010-implementation.adoc      |   3 +-
 .../hooks/ServiceRegistry_010-implementation.adoc  |   4 +-
 .../RepositoryService_010-implementation.adoc      |   3 +-
 .../hooks/RoutingService_010-implementation.adoc   |   4 +-
 .../hooks/Scratchpad_010-implementation.adoc       |   4 +-
 .../services/search/CollectionSearchService.adoc   |  33 +
 ...ollectionSearchService_010-implementation.adoc} |   2 +-
 .../SessionLoggingService_010-implementation.adoc  |  16 +-
 .../index/services/sitemap/SitemapService.adoc     |   1 +
 .../index/services/sitemap/SitemapServiceMenu.adoc |   1 +
 .../SitemapServiceMenu_010-implementation.adoc}    |   6 +-
 .../hooks/SitemapService_010-implementation.adoc}  |   4 +-
 .../SudoServiceListener_010-implementation.adoc    |   1 +
 .../sudo/hooks/SudoService_010-implementation.adoc |   2 +-
 .../hooks/SwaggerService_010-implementation.adoc   |   2 +-
 ...TableColumnOrderService_010-implementation.adoc |  11 +-
 .../hooks/TitleService_010-implementation.adoc     |   2 +-
 .../UrlEncodingService_010-implementation.adoc     |   3 +-
 .../user/hooks/UserService_010-implementation.adoc |   3 +-
 ...mailNotificationService_010-implementation.adoc |   3 +-
 ...UserRegistrationService_010-implementation.adoc |   4 +-
 .../pages/index/services/userui/UserMenu_me.adoc}  |   8 +-
 .../hooks/WrapperFactory_010-implementation.adoc   |   5 +-
 .../wrapper/listeners/InteractionListener.adoc     |   2 +
 .../InteractionListener_010-implementation.adoc}   |   5 +-
 .../TransactionService_010-implementation.adoc     |   4 +-
 .../TransactionalProcessor_010-implementation.adoc |   3 +-
 .../xml/hooks/XmlService_010-implementation.adoc   |   2 +-
 .../XmlSnapshotService_010-implementation.adoc     |   2 +-
 .../appfeat/ApplicationFeatureDefault.adoc         |  23 +
 .../ApplicationFeatureRepositoryDefault.adoc       |  31 +
 .../ColumnOrderTxtFileServiceDefault.adoc}         |  10 +-
 .../services/command/CommandDtoFactory.adoc        |  66 --
 ...xceptionRecognizerForRecoverableException.adoc} |  10 +-
 .../services/grid/GridLoaderServiceDefault.adoc    |   2 +
 .../services/grid/GridServiceDefault.adoc}         |  34 +-
 .../bootstrap/GridMarshallerServiceBootstrap.adoc} |  13 +-
 .../bootstrap/GridSystemServiceBootstrap.adoc}     |  17 +-
 .../grid/spi/LayoutResourceLoaderDefault.adoc}     |  10 +-
 ...heckServiceForMetaModelValidationFailures.adoc} |  16 +-
 .../services/inject/ServiceInjectorDefault.adoc}   |  13 +-
 .../services/ixn/InteractionDtoFactory.adoc        |  55 --
 .../services/layout/LayoutServiceDefault.adoc}     |  15 +-
 .../metamodel/services/message/MessageBroker.adoc} |  16 +-
 .../metamodel/MetaModelServiceDefault.adoc         |  25 +
 .../objectlifecycle/ObjectLifecyclePublisher.adoc  | 109 +++
 .../services/registry/ServiceRegistryDefault.adoc} |  14 +-
 .../tablecol/TableColumnOrderServiceDefault.adoc   |   2 +-
 .../services/title/TitleServiceDefault.adoc}       |  11 +-
 .../bookmarks/BookmarkServiceDefault.adoc          |   2 +-
 .../command/CommandDtoFactoryDefault.adoc          |  18 -
 .../command/CommandExecutorServiceDefault.adoc     |   2 +
 .../command/SchemaValueMarshallerDefault.adoc      |   2 +
 .../runtimeservices/email/EmailServiceDefault.adoc |   4 +-
 .../eventbus/EventBusServiceSpring.adoc            |   2 +
 .../executor/MemberExecutorServiceDefault.adoc     |   2 +
 .../factory/FactoryServiceDefault.adoc             |   2 +
 .../homepage/HomePageResolverServiceDefault.adoc   |   4 +
 .../i18n/po/TranslationServicePo.adoc              |   2 +
 .../icons/ObjectIconServiceDefault.adoc            |   2 +
 .../runtimeservices/jaxb/JaxbServiceDefault.adoc   |   2 +
 .../locale/LanguageProviderDefault.adoc            |   2 +
 .../locale/LocaleChoiceProviderDefault.adoc        |   2 +
 .../menubars/MenuBarsLoaderServiceDefault.adoc     |   2 +
 .../MenuBarsMarshallerServiceBootstrap.adoc        |   2 +
 .../bootstrap/MenuBarsServiceBootstrap.adoc        |   2 +
 .../message/MessageServiceDefault.adoc             |   2 +
 .../PlaceholderRenderServiceDefault.adoc}          |  12 +-
 .../publish/CommandPublisherDefault.adoc           |   2 +
 .../publish/EntityChangesPublisherDefault.adoc     |   2 +
 .../EntityPropertyChangePublisherDefault.adoc      |   2 +
 .../publish/ExecutionPublisherDefault.adoc         |   2 +
 .../publish/ObjectLifecyclePublisherDefault.adoc   |   2 +
 .../ExceptionRecognizerServiceDefault.adoc}        |  11 +-
 .../routing/RoutingServiceDefault.adoc             |   2 +
 .../scratchpad/ScratchpadDefault.adoc              |   4 +
 .../session/InteractionIdGenerator.adoc            |   2 +
 .../session/InteractionIdGeneratorDefault.adoc     |   2 +
 .../session/InteractionServiceDefault.adoc         |   2 +-
 .../sitemap/SitemapServiceDefault.adoc             |   2 +
 .../transaction/TransactionServiceSpring.adoc      |   2 +
 .../UrlEncodingServiceWithCompression.adoc         |   2 +
 .../user/ImpersonateMenuAdvisorDefault.adoc        |   2 +-
 .../UserCurrentSessionTimeZoneHolderDefault.adoc   |   2 +
 .../userreg/EmailNotificationServiceDefault.adoc   |   2 +
 .../wrapper/WrapperFactoryDefault.adoc             |   2 +
 .../runtimeservices/xml/XmlServiceDefault.adoc     |   2 +
 .../xmlsnapshot/XmlSnapshotServiceDefault.adoc     |   2 +
 .../changetracking/EntityChangeTracker.adoc        |   2 +
 .../EntityPropertyChangePublisher.adoc             |   2 +
 .../EntityChangePublisher_010-implementation.adoc} |   5 +-
 .../EntityChangeTracker_010-implementation.adoc}   |   5 +-
 ...ropertyChangePublisher_010-implementation.adoc} |   5 +-
 .../ExecutionSubscriberForExecutionOutbox.adoc}    |   9 +-
 .../index/titlecache/applib/event/Cached.adoc      |  24 -
 .../repository/RepositoryServiceDefault.adoc       |  36 +
 .../applib/integration/CausewayEntityListener.adoc |   2 +-
 .../CausewayModulePersistenceQueryDslApplib.adoc}  |   6 +-
 .../index/querydsl/applib/query/DslQuery.adoc      |  51 ++
 .../auto/AutoCompleteGeneratedQueryService.adoc    |  60 ++
 .../applib/services/repo/QueryDslRepository.adoc   | 304 ++++++++
 .../services/support/DetachedQueryFactory.adoc     |  73 ++
 .../applib/services/support/QueryDslSupport.adoc   |  96 +++
 .../querydsl/applib/util/CaseSensitivity.adoc}     |  13 +-
 .../index/querydsl/applib/util/DslExpressions.adoc |  47 ++
 .../index/querydsl/applib/util/Wildcards.adoc}     |  13 +-
 ...sewayModulePersistenceQueryDslIntegration.adoc} |   6 +-
 .../jdo/CausewayModulePersistenceQueryDslJdo.adoc} |   6 +-
 .../jpa/CausewayModulePersistenceQueryDslJpa.adoc} |   6 +-
 ...ausewayModulePersistenceQueryDslMetamodel.adoc} |   6 +-
 .../QueryResultsCacheControlForFixtures.adoc}      |  12 +-
 .../services/i8n/TranslationsResolverDefault.adoc} |  13 +-
 .../userprof/UserProfileUiServiceDefault.adoc}     |  10 +-
 .../acceptheader/AcceptHeaderServiceForRest.adoc   |   1 +
 .../service/swagger/SwaggerServiceDefault.adoc}    |  26 +-
 .../viewer/services/BookmarkUiServiceWicket.adoc}  |  13 +-
 .../viewer/services/DeepLinkServiceWicket.adoc}    |  13 +-
 .../services/HintStoreUsingWicketSession.adoc}     |  14 +-
 .../partials/_presentation-layer-api.adoc          |   1 -
 .../modules/applib-svc/partials/module-nav.adoc    |  18 +-
 .../modules/ROOT/pages/2024/2.1.0/relnotes.adoc    |  14 +
 .../2.0.0-M1/mignotes/updated-annotations.adoc     |   5 +-
 antora/playbooks/site.NEXT.yml                     |   7 +-
 antora/playbooks/site.yml                          |   9 +-
 .../causeway/applib/annotation/DomainObject.java   |  89 +++
 .../causeway/applib/annotation/Property.java       |  74 ++
 .../conmap/ContentMappingServiceForCommandDto.java |   3 +-
 .../services/iactnlayer/InteractionService.java    |   2 +-
 .../causeway/applib/services/userui/UserMenu.java  |   3 +
 bom/pom.xml                                        |  80 ++-
 core/adoc/modules/_overview/pages/about.adoc       | 371 ++++++++--
 .../pages/sections/causeway.value-types.adoc       |  58 +-
 core/metamodel/src/main/java/module-info.java      |   3 +-
 .../metamodel/CausewayModuleCoreMetamodel.java     |   2 +-
 .../appfeat/ApplicationFeatureDefault.java         |   2 +
 .../ApplicationFeatureRepositoryDefault.java       |   4 +
 .../classsubstitutor/ClassSubstitutorDefault.java  |   1 +
 .../ColumnOrderTxtFileServiceDefault.java          |   4 +-
 .../services/command/CommandDtoFactory.java        |   3 +-
 .../services/deadlock/DeadlockRecognizer.java      |   3 +
 ...ExceptionRecognizerForRecoverableException.java |   4 +-
 .../services/grid/GridLoaderServiceDefault.java    |   4 +-
 .../services/grid/GridServiceDefault.java          |   5 +
 .../bootstrap/GridMarshallerServiceBootstrap.java  |   5 +-
 .../grid/bootstrap/GridSystemServiceBootstrap.java |   6 +
 .../grid/spi/LayoutResourceLoaderDefault.java      |   4 +-
 .../idstringifier/IdStringifierLookupService.java  |   2 +
 .../{ => inject}/ServiceInjectorDefault.java       |   6 +-
 .../services/ixn/InteractionDtoFactory.java        |   3 +-
 .../services/layout/LayoutServiceDefault.java      |   5 +
 .../metamodel/services/message/MessageBroker.java  |   5 +
 .../services/metamodel/MetaModelExportSupport.java |   2 +-
 .../metamodel/MetaModelServiceDefault.java         |   5 +
 .../objectlifecycle/ObjectLifecyclePublisher.java  |   2 +-
 .../services/publishing/CommandPublisher.java      |   1 +
 .../services/registry/ServiceRegistryDefault.java  |   5 +
 .../tablecol/TableColumnOrderServiceDefault.java   |   6 +-
 .../TableColumnOrderServiceUsingTxtFile.java       |   2 +
 .../services/title/TitleServiceDefault.java        |   5 +
 .../ServiceInjectorDefaultTest_usingFields.java    |   5 +-
 ...InjectorDefaultTest_validateServices_happy.java |   1 +
 core/pom.xml                                       |   1 +
 .../bookmarks/BookmarkServiceDefault.java          |   2 +-
 .../command/CommandDtoFactoryDefault.java          |   6 +-
 .../command/CommandExecutorServiceDefault.java     |   1 +
 .../command/SchemaValueMarshallerDefault.java      |   2 +
 .../runtimeservices/email/EmailServiceDefault.java |   5 +-
 .../eventbus/EventBusServiceSpring.java            |   2 +
 .../executor/MemberExecutorServiceDefault.java     |   2 +
 .../factory/FactoryServiceDefault.java             |   2 +
 .../homepage/HomePageResolverServiceDefault.java   |   8 +
 .../i18n/po/TranslationServicePo.java              |   2 +-
 .../icons/ObjectIconServiceDefault.java            |   2 +-
 .../interaction/InteractionDtoFactoryDefault.java  |   8 +-
 .../runtimeservices/jaxb/JaxbServiceDefault.java   |   4 +-
 .../locale/LanguageProviderDefault.java            |   1 +
 .../locale/LocaleChoiceProviderDefault.java        |   1 +
 .../menubars/MenuBarsLoaderServiceDefault.java     |   1 +
 .../MenuBarsMarshallerServiceBootstrap.java        |   2 +
 .../bootstrap/MenuBarsServiceBootstrap.java        |   2 +
 .../message/MessageServiceDefault.java             |   1 +
 .../PlaceholderRenderServiceDefault.java           |   4 +-
 .../publish/CommandPublisherDefault.java           |   1 +
 .../publish/EntityChangesPublisherDefault.java     |   1 +
 .../EntityPropertyChangePublisherDefault.java      |   1 +
 .../publish/ExecutionPublisherDefault.java         |   1 +
 .../publish/LifecycleCallbackNotifier.java         |   1 +
 .../publish/ObjectLifecyclePublisherDefault.java   |   5 +-
 .../ExceptionRecognizerServiceDefault.java         |   4 +-
 .../routing/RoutingServiceDefault.java             |   4 +
 .../scratchpad/ScratchpadDefault.java              |   5 +
 .../serializing/SerializingAdapterDefault.java     |   2 +
 .../session/InteractionIdGenerator.java            |   4 +
 .../session/InteractionIdGeneratorDefault.java     |   2 +
 .../session/InteractionServiceDefault.java         |   2 +-
 .../sitemap/SitemapServiceDefault.java             |   3 +-
 .../transaction/TransactionServiceSpring.java      |   6 +-
 .../UrlEncodingServiceWithCompression.java         |   3 +
 .../user/ImpersonateMenuAdvisorDefault.java        |   2 +-
 .../UserCurrentSessionTimeZoneHolderDefault.java   |   1 +
 .../userreg/EmailNotificationServiceDefault.java   |   1 +
 .../wrapper/WrapperFactoryDefault.java             |   1 +
 .../runtimeservices/xml/XmlServiceDefault.java     |   2 +-
 .../xmlsnapshot/XmlSnapshotServiceDefault.java     |   1 +
 ...HealthIndicatorUsingHealthCheckServiceTest.java |  18 +
 .../ExecutionSubscriberForExecutionOutbox.java     |   2 -
 .../setup-and-configure-mavendeps-webapp.adoc      |   1 +
 .../deadlock/DeadlockRecognizerDefault.java        |  19 +-
 .../repository/RepositoryServiceDefault.java       |  10 +-
 persistence/jdo/adoc/modules/ROOT/pages/about.adoc |   2 +-
 persistence/jpa/adoc/modules/ROOT/pages/about.adoc |   2 +-
 persistence/jpa/applib/pom.xml                     |  95 ++-
 .../main/{java => java-jigsaw}/module-info.java    |   2 +
 .../jpa/applib/types/BlobJpaEmbeddable.java        |   1 -
 .../jpa/applib/types/QBlobJpaEmbeddable.java       |  73 ++
 .../jpa/applib/types/QClobJpaEmbeddable.java       |  71 ++
 .../querydsl}/adoc/antora.yml                      |   7 +-
 .../querydsl/adoc/modules/ROOT}/nav.adoc           |   2 +-
 .../querydsl/adoc/modules/ROOT/pages/about.adoc    |  35 +
 .../ROOT/pages/autocomplete-annotations.adoc       |  96 +++
 .../adoc/modules/ROOT/pages/example-queries.adoc   | 119 ++++
 .../ROOT/pages/setup-and-configuration.adoc        |  40 ++
 .../adoc/modules/ROOT/partials/component-nav.adoc  |   2 +
 .../adoc/modules/ROOT/partials/module-nav.adoc     |   3 +
 ...nd-configuration-for-persistence-mechanism.adoc | 104 +++
 persistence/{jpa => querydsl}/applib/pom.xml       |  46 +-
 .../applib/src/main/java/module-info.java          |  26 +-
 .../CausewayModulePersistenceQueryDslApplib.java   |   9 +-
 .../querydsl/applib/query/DslQuery.java            |  80 +++
 .../auto/AutoCompleteGeneratedQueryService.java    |  94 +++
 .../applib/services/repo/QueryDslRepository.java   | 767 +++++++++++++++++++++
 .../services/support/DetachedQueryFactory.java     |  94 +++
 .../applib/services/support/QueryDslSupport.java   | 103 +++
 .../querydsl/applib/util/CaseSensitivity.java      |  22 +-
 .../querydsl/applib/util/DslExpressions.java       | 185 +++++
 .../querydsl/applib/util/Wildcards.java            |  81 +++
 .../WildcardRegexUtil_toAnsiSqlWildcard_Test.java  |  52 ++
 .../WildcardRegexUtil_wildcardToRegex_Test.java    |  57 ++
 persistence/querydsl/integration/pom.xml           |  65 ++
 .../integration/src/main/java/module-info.java     |  27 +-
 ...usewayModulePersistenceQueryDslIntegration.java |  30 +-
 .../AutoCompleteGeneratedQueryServiceImpl.java     | 135 ++++
 persistence/{jpa/applib => querydsl/jdo}/pom.xml   |  43 +-
 .../querydsl/jdo/src/main/java/module-info.java    |  32 +-
 .../jdo/CausewayModulePersistenceQueryDslJdo.java  |  34 +-
 .../querydsl/jdo/query/DslQueryJdo.java            | 328 +++++++++
 .../services/support/DetachedQueryFactoryJdo.java  |  26 +-
 .../jdo/services/support/QueryDslSupportJdo.java   | 122 ++++
 persistence/{jpa/applib => querydsl/jpa}/pom.xml   |  40 +-
 .../querydsl/jpa/src/main/java/module-info.java    |  28 +-
 .../jpa/CausewayModulePersistenceQueryDslJpa.java  |  46 ++
 .../services/query/DetachedQueryFactoryJpa.java    |  25 +-
 .../querydsl/jpa/services/support/DslQueryJpa.java | 273 ++++++++
 .../jpa/services/support/QueryDslSupportJpa.java   | 108 +++
 persistence/querydsl/metamodel/pom.xml             |  61 ++
 .../metamodel}/src/main/java/module-info.java      |  21 +-
 ...CausewayModulePersistenceQueryDslMetamodel.java |  31 +-
 .../facets/AutoCompleteGeneratedDslQuery.java      | 205 ++++++
 .../AutoCompleteGeneratedQueryFacetFactory.java    | 149 ++++
 .../facets/AutoCompleteUsingQueryDslFacet.java     | 187 +++++
 ...AutoCompleteGeneratedQueryMetaModelRefiner.java |  22 +-
 persistence/querydsl/pom.xml                       |  43 ++
 persistence/querydsl/testsupport/pom.xml           |  65 ++
 .../querydsl/testsupport/PredicatePrettifier.java  | 265 +++++++
 .../QueryResultsCacheControlForFixtures.java       |   7 +-
 .../services/i8n/TranslationsResolverDefault.java  |   8 +-
 .../userprof/UserProfileUiServiceDefault.java      |   5 +
 viewers/graphql/adoc/modules/ROOT/pages/about.adoc |   2 +-
 ...iiIdentifierServiceSupportingGraphqlViewer.java |   5 +
 viewers/restfulobjects/adoc/antora.yml             |   1 -
 .../adoc/modules/ROOT/pages/about.adoc             |   2 +-
 .../acceptheader/AcceptHeaderServiceForRest.java   |   5 +-
 .../service/swagger/SwaggerServiceDefault.java     |  13 +-
 viewers/wicket/adoc/modules/ROOT/pages/about.adoc  |   2 +-
 .../ROOT/pages/setup-and-configuration.adoc        |  31 +-
 .../viewer/services/BookmarkUiServiceWicket.java   |  16 +-
 .../viewer/services/DeepLinkServiceWicket.java     |   4 +-
 .../services/HintStoreUsingWicketSession.java      |   5 +
 348 files changed, 6966 insertions(+), 920 deletions(-)

diff --cc 
antora/components/refguide-index/modules/viewer/pages/index/wicket/viewer/services/DeepLinkServiceWicket.adoc
index a6183d3823,bc625d058a..afb48025d2
--- 
a/antora/components/refguide-index/modules/viewer/pages/index/wicket/viewer/services/DeepLinkServiceWicket.adoc
+++ 
b/antora/components/refguide-index/modules/viewer/pages/index/wicket/viewer/services/DeepLinkServiceWicket.adoc
@@@ -1,10 -1,15 +1,21 @@@
 -= DeepLinkServiceWicket
 +[[r2.1.0]]
 += 2.1.0
 +
++== DeepLinkServiceWicket
++
  :Notice: Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements. See the NOTICE file distributed with this work 
for additional information regarding copyright ownership. The ASF licenses this 
file to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance with the License. You may obtain a copy of 
the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by 
applicable law or a [...]
 +:page-partial:
  
+ An implementation of 
xref:refguide:applib:index/services/linking/DeepLinkService.adoc[DeepLinkService]
 for Wicket Viewer.
+ 
+ == API
  
- v2.1.0 and v3.1.0 are being released at the same time, and are broadly 
equivalent.
+ [source,java]
+ .DeepLinkServiceWicket.java
+ ----
+ class DeepLinkServiceWicket {
+   URI deepLinkFor(Object domainObject)
+ }
+ ----
  
 +include::partial$2024/2.1.0/_relnotes.adoc[]
diff --cc antora/components/relnotes/modules/ROOT/pages/2024/2.1.0/relnotes.adoc
index a6183d3823,bc625d058a..db105e9173
--- a/antora/components/relnotes/modules/ROOT/pages/2024/2.1.0/relnotes.adoc
+++ b/antora/components/relnotes/modules/ROOT/pages/2024/2.1.0/relnotes.adoc
@@@ -1,10 -1,15 +1,24 @@@
 -= DeepLinkServiceWicket
 +[[r2.1.0]]
 += 2.1.0
 +
++== DeepLinkServiceWicket
++
  :Notice: Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements. See the NOTICE file distributed with this work 
for additional information regarding copyright ownership. The ASF licenses this 
file to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance with the License. You may obtain a copy of 
the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by 
applicable law or a [...]
 +:page-partial:
 +
 +
 +v2.1.0 and v3.1.0 are being released at the same time, and are broadly 
equivalent.
  
+ An implementation of 
xref:refguide:applib:index/services/linking/DeepLinkService.adoc[DeepLinkService]
 for Wicket Viewer.
+ 
+ == API
+ 
+ [source,java]
+ .DeepLinkServiceWicket.java
+ ----
+ class DeepLinkServiceWicket {
+   URI deepLinkFor(Object domainObject)
+ }
+ ----
+ 
 +include::partial$2024/2.1.0/_relnotes.adoc[]
diff --cc antora/playbooks/site.yml
index 5400a05097,e642df27c1..0aaed5fe19
--- a/antora/playbooks/site.yml
+++ b/antora/playbooks/site.yml
@@@ -26,7 -26,7 +26,7 @@@ urls
  content:
    sources:
  
--    # antora
++# antora
      - url: .
        start_path: antora/components/docs # docs
        branches: HEAD
diff --cc bom/pom.xml
index fcc4bd3d9c,dd0ab615cf..0dc7009b5f
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@@ -167,9 -168,10 +168,10 @@@ It is therefore a copy of org.apache:ap
          <ognl.version>3.4.3</ognl.version>
  
          <picocontainer.version>2.15</picocontainer.version>
 -        <poi.version>5.2.5</poi.version>
 +        <poi.version>5.3.0</poi.version>
  
          <quartz-scheduler.version>2.3.2</quartz-scheduler.version>
+         <querydsl.version>5.1.0</querydsl.version>
  
          
<resteasy-spring-boot-starter.version>5.0.0.Final</resteasy-spring-boot-starter.version>
          <resteasy.version>5.0.0.Final</resteasy.version> <!-- keep in sync 
with property defined in resteasy4-spring-boot-starter -->
diff --cc core/adoc/modules/_overview/pages/about.adoc
index b3a342d1e9,86fc2b84d5..66224980e8
--- a/core/adoc/modules/_overview/pages/about.adoc
+++ b/core/adoc/modules/_overview/pages/about.adoc
@@@ -44,7 -44,7 +44,7 @@@ rectangle "App\n<size:10>[Software Syst
  .Projects/Modules (App)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Starter Parent
  [source,yaml]
@@@ -107,7 -107,7 +107,7 @@@ Mavendeps.ApacheCausewayMavenDeps .[#70
  .Projects/Modules (Mavendeps)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Maven Deps
  [source,yaml]
@@@ -331,7 -331,7 +331,7 @@@ Testing.ApacheCausewayTstUnitTestSuppor
  .Projects/Modules (Testing)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Testing
  [source,yaml]
@@@ -733,7 -733,7 +733,7 @@@ Root.ApacheCausewayAggregator .[#707070
  .Projects/Modules (Root)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway (Aggregator)
  [source,yaml]
@@@ -824,7 -824,7 +824,7 @@@ rectangle "Commons\n<size:10>[Software 
  .Projects/Modules (Commons)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Commons
  [source,yaml]
@@@ -1013,7 -1013,7 +1013,7 @@@ Core.ApacheCausewayCore .[#707070,thick
  .Projects/Modules (Core)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Core
  [source,yaml]
@@@ -1075,7 -1075,7 +1075,7 @@@ org.apache.causeway.core:causeway-schem
  
  .Document Index Entries
  ****
- xref:refguide:applib:index/CausewayModuleApplib.adoc[CausewayModuleApplib], 
xref:refguide:applib:index/CausewayModuleApplibChangeAndExecutionLoggers.adoc[CausewayModuleApplibChangeAndExecutionLoggers],
 
xref:refguide:applib:index/CausewayModuleApplibMixins.adoc[CausewayModuleApplibMixins],
 xref:refguide:applib:index/Identifier.adoc[Identifier], 
xref:refguide:applib:index/ViewModel.adoc[ViewModel], 
xref:refguide:applib:index/annotation/Action.adoc[Action], 
xref:refguide:applib:index/annot [...]
 -xref:refguide:applib:index/CausewayModuleApplib.adoc[CausewayModuleApplib], 
xref:refguide:applib:index/CausewayModuleApplibChangeAndExecutionLoggers.adoc[CausewayModuleApplibChangeAndExecutionLoggers],
 
xref:refguide:applib:index/CausewayModuleApplibMixins.adoc[CausewayModuleApplibMixins],
 xref:refguide:applib:index/Identifier.adoc[Identifier], 
xref:refguide:applib:index/ViewModel.adoc[ViewModel], 
xref:refguide:applib:index/annotation/Action.adoc[Action], 
xref:refguide:applib:index/annot [...]
++xref:refguide:applib:index/CausewayModuleApplib.adoc[CausewayModuleApplib], 
xref:refguide:applib:index/CausewayModuleApplibChangeAndExecutionLoggers.adoc[CausewayModuleApplibChangeAndExecutionLoggers],
 
xref:refguide:applib:index/CausewayModuleApplibMixins.adoc[CausewayModuleApplibMixins],
 xref:refguide:applib:index/Identifier.adoc[Identifier], 
xref:refguide:applib:index/ViewModel.adoc[ViewModel], 
xref:refguide:applib:index/annotation/Action.adoc[Action], 
xref:refguide:applib:index/annot [...]
  ****
  
  |Apache Causeway Core - Code Gen (ByteBuddy)
@@@ -1490,6 -1491,258 +1491,258 @@@ xref:refguide:schema:index/CausewayModu
  
  == Persistence
  
+ [plantuml,Persistence,svg]
+ ----
+ @startuml
+ set separator none
+ title Persistence - Containers
+ 
+ left to right direction
+ 
+ skinparam {
+   arrowFontSize 10
+   defaultTextAlignment center
+   wrapWidth 200
+   maxMessageSize 100
+ }
+ 
+ hide stereotype
+ 
+ skinparam rectangle<<Persistence.ApacheCausewayPersistenceQueryDSL>> {
+   BackgroundColor #438dd5
+   FontColor #fffffe
+   BorderColor #2e6295
+   shadowing false
+ }
+ skinparam rectangle<<Persistence.ApacheCausewayPersistencequerydslapplib>> {
+   BackgroundColor #438dd5
+   FontColor #fffffe
+   BorderColor #2e6295
+   shadowing false
+ }
+ skinparam 
rectangle<<Persistence.ApacheCausewayPersistencequerydslintegration>> {
+   BackgroundColor #438dd5
+   FontColor #fffffe
+   BorderColor #2e6295
+   shadowing false
+ }
+ skinparam rectangle<<Persistence.ApacheCausewayPersistencequerydsljdo>> {
+   BackgroundColor #438dd5
+   FontColor #fffffe
+   BorderColor #2e6295
+   shadowing false
+ }
+ skinparam rectangle<<Persistence.ApacheCausewayPersistencequerydsljpa>> {
+   BackgroundColor #438dd5
+   FontColor #fffffe
+   BorderColor #2e6295
+   shadowing false
+ }
+ skinparam rectangle<<Persistence.ApacheCausewayPersistencequerydslmetamodel>> 
{
+   BackgroundColor #438dd5
+   FontColor #fffffe
+   BorderColor #2e6295
+   shadowing false
+ }
+ skinparam 
rectangle<<Persistence.ApacheCausewayPersistencequerydsltestsupport>> {
+   BackgroundColor #438dd5
+   FontColor #fffffe
+   BorderColor #2e6295
+   shadowing false
+ }
+ skinparam rectangle<<Persistence>> {
+   BorderColor #9a9a9a
+   FontColor #9a9a9a
+   shadowing false
+ }
+ 
+ rectangle "Persistence\n<size:10>[Software System]</size>" <<Persistence>> {
+   rectangle "==Apache Causeway Persistence - QueryDSL\n<size:10>[Container: 
packaging: pom]</size>" <<Persistence.ApacheCausewayPersistenceQueryDSL>> as 
Persistence.ApacheCausewayPersistenceQueryDSL
+   rectangle "==Apache Causeway Persistence - querydsl 
(applib)\n<size:10>[Container: packaging: jar]</size>" 
<<Persistence.ApacheCausewayPersistencequerydslapplib>> as 
Persistence.ApacheCausewayPersistencequerydslapplib
+   rectangle "==Apache Causeway Persistence - querydsl 
(integration)\n<size:10>[Container: packaging: jar]</size>" 
<<Persistence.ApacheCausewayPersistencequerydslintegration>> as 
Persistence.ApacheCausewayPersistencequerydslintegration
+   rectangle "==Apache Causeway Persistence - querydsl 
(jdo)\n<size:10>[Container: packaging: jar]</size>" 
<<Persistence.ApacheCausewayPersistencequerydsljdo>> as 
Persistence.ApacheCausewayPersistencequerydsljdo
+   rectangle "==Apache Causeway Persistence - querydsl 
(jpa)\n<size:10>[Container: packaging: jar]</size>" 
<<Persistence.ApacheCausewayPersistencequerydsljpa>> as 
Persistence.ApacheCausewayPersistencequerydsljpa
+   rectangle "==Apache Causeway Persistence - querydsl 
(metamodel)\n<size:10>[Container: packaging: jar]</size>" 
<<Persistence.ApacheCausewayPersistencequerydslmetamodel>> as 
Persistence.ApacheCausewayPersistencequerydslmetamodel
+   rectangle "==Apache Causeway Persistence - querydsl 
(testsupport)\n<size:10>[Container: packaging: jar]</size>" 
<<Persistence.ApacheCausewayPersistencequerydsltestsupport>> as 
Persistence.ApacheCausewayPersistencequerydsltestsupport
+ }
+ 
+ Persistence.ApacheCausewayPersistenceQueryDSL .[#707070,thickness=2].> 
Persistence.ApacheCausewayPersistencequerydslintegration : "<color:#707070>"
+ Persistence.ApacheCausewayPersistenceQueryDSL .[#707070,thickness=2].> 
Persistence.ApacheCausewayPersistencequerydsljdo : "<color:#707070>"
+ Persistence.ApacheCausewayPersistenceQueryDSL .[#707070,thickness=2].> 
Persistence.ApacheCausewayPersistencequerydsljpa : "<color:#707070>"
+ Persistence.ApacheCausewayPersistenceQueryDSL .[#707070,thickness=2].> 
Persistence.ApacheCausewayPersistencequerydslmetamodel : "<color:#707070>"
+ Persistence.ApacheCausewayPersistenceQueryDSL .[#707070,thickness=2].> 
Persistence.ApacheCausewayPersistencequerydsltestsupport : "<color:#707070>"
+ Persistence.ApacheCausewayPersistenceQueryDSL .[#707070,thickness=2].> 
Persistence.ApacheCausewayPersistencequerydslapplib : "<color:#707070>"
+ @enduml
+ ----
+ 
+ .Projects/Modules (Persistence)
+ [cols="3a,5a", options="header"]
+ |===
 -|Coordinates |Description 
++|Coordinates |Description
+ 
+ |Apache Causeway Persistence - QueryDSL
+ [source,yaml]
+ ----
+ Group: org.apache.causeway.persistence
+ Artifact: causeway-persistence-querydsl
+ Type: pom
+ Directory: /persistence/querydsl
+ ----
+ |Apache Causeway QueryDSL integration
+ 
+ |Apache Causeway Persistence - querydsl (applib)
+ [source,yaml]
+ ----
+ Group: org.apache.causeway.persistence
+ Artifact: causeway-persistence-querydsl-applib
+ Type: jar
+ Directory: /persistence/querydsl/applib
+ ----
+ |Supplementary applib for querydsl support
+ 
+ .Dependencies
+ ****
+ com.querydsl:querydsl-apt:jar:<managed> +
+ com.querydsl:querydsl-core:jar:<managed> +
+ org.apache.causeway.commons:causeway-commons:jar:<managed> +
+ org.apache.causeway.core:causeway-applib:jar:<managed> +
+ org.apache.causeway.core:causeway-core-internaltestsupport:jar:<managed> +
+ org.apache.causeway.core:causeway-core-metamodel:jar:<managed> +
+ org.datanucleus:javax.jdo:jar:<managed> +
+ ****
+ 
+ .Document Index Entries
+ ****
+ 
xref:refguide:persistence:index/querydsl/applib/CausewayModulePersistenceQueryDslApplib.adoc[CausewayModulePersistenceQueryDslApplib],
 xref:refguide:persistence:index/querydsl/applib/query/DslQuery.adoc[DslQuery], 
xref:refguide:persistence:index/querydsl/applib/services/auto/AutoCompleteGeneratedQueryService.adoc[AutoCompleteGeneratedQueryService],
 
xref:refguide:persistence:index/querydsl/applib/services/repo/QueryDslRepository.adoc[QueryDslRepository],
 xref:refguide:persistence:index/q [...]
+ ****
+ 
+ |Apache Causeway Persistence - querydsl (integration)
+ [source,yaml]
+ ----
+ Group: org.apache.causeway.persistence
+ Artifact: causeway-persistence-querydsl-integration
+ Type: jar
+ Directory: /persistence/querydsl/integration
+ ----
+ |querydsl integration Facets / Programming Model
+ 
+ .Components
+ ****
+ 
o.a.i.persistence.querydsl.integration.services.AutoCompleteGeneratedQueryServiceImpl
 +
+ ****
+ 
+ .Dependencies
+ ****
+ org.apache.causeway.core:causeway-core-internaltestsupport:jar:<managed> +
+ 
org.apache.causeway.persistence:causeway-persistence-querydsl-applib:jar:<managed>
 +
+ 
org.apache.causeway.persistence:causeway-persistence-querydsl-metamodel:jar:<managed>
 +
+ ****
+ 
+ .Document Index Entries
+ ****
+ 
xref:refguide:persistence:index/querydsl/integration/CausewayModulePersistenceQueryDslIntegration.adoc[CausewayModulePersistenceQueryDslIntegration]
+ ****
+ 
+ |Apache Causeway Persistence - querydsl (jdo)
+ [source,yaml]
+ ----
+ Group: org.apache.causeway.persistence
+ Artifact: causeway-persistence-querydsl-jdo
+ Type: jar
+ Directory: /persistence/querydsl/jdo
+ ----
+ |Supplementary jdo for querydsl support
+ 
+ .Components
+ ****
+ o.a.i.persistence.querydsl.jdo.services.support.DetachedQueryFactoryJdo +
+ o.a.i.persistence.querydsl.jdo.services.support.QueryDslSupportJdo +
+ ****
+ 
+ .Dependencies
+ ****
+ com.querydsl:querydsl-jdo:jar:<managed> +
+ org.apache.causeway.persistence:causeway-persistence-jdo-applib:jar:<managed> 
+
+ 
org.apache.causeway.persistence:causeway-persistence-querydsl-integration:jar:<managed>
 +
+ ****
+ 
+ .Document Index Entries
+ ****
+ 
xref:refguide:persistence:index/querydsl/jdo/CausewayModulePersistenceQueryDslJdo.adoc[CausewayModulePersistenceQueryDslJdo]
+ ****
+ 
+ |Apache Causeway Persistence - querydsl (jpa)
+ [source,yaml]
+ ----
+ Group: org.apache.causeway.persistence
+ Artifact: causeway-persistence-querydsl-jpa
+ Type: jar
+ Directory: /persistence/querydsl/jpa
+ ----
+ |Supplementary jpa for querydsl support
+ 
+ .Components
+ ****
+ o.a.i.persistence.querydsl.jpa.services.query.DetachedQueryFactoryJpa +
+ o.a.i.persistence.querydsl.jpa.services.support.QueryDslSupportJpa +
+ ****
+ 
+ .Dependencies
+ ****
+ com.querydsl:querydsl-jpa:jar:<managed> +
+ org.apache.causeway.persistence:causeway-persistence-jpa-applib:jar:<managed> 
+
+ 
org.apache.causeway.persistence:causeway-persistence-querydsl-integration:jar:<managed>
 +
+ ****
+ 
+ .Document Index Entries
+ ****
+ 
xref:refguide:persistence:index/querydsl/jpa/CausewayModulePersistenceQueryDslJpa.adoc[CausewayModulePersistenceQueryDslJpa]
+ ****
+ 
+ |Apache Causeway Persistence - querydsl (metamodel)
+ [source,yaml]
+ ----
+ Group: org.apache.causeway.persistence
+ Artifact: causeway-persistence-querydsl-metamodel
+ Type: jar
+ Directory: /persistence/querydsl/metamodel
+ ----
+ |querydsl Metamodel Facets / Programming Model
+ 
+ .Components
+ ****
+ 
o.a.i.persistence.querydsl.metamodel.refiner.AutoCompleteGeneratedQueryMetaModelRefiner
 +
+ ****
+ 
+ .Dependencies
+ ****
+ org.apache.causeway.core:causeway-core-internaltestsupport:jar:<managed> +
+ 
org.apache.causeway.persistence:causeway-persistence-querydsl-applib:jar:<managed>
 +
+ ****
+ 
+ .Document Index Entries
+ ****
+ 
xref:refguide:persistence:index/querydsl/metamodel/CausewayModulePersistenceQueryDslMetamodel.adoc[CausewayModulePersistenceQueryDslMetamodel]
+ ****
+ 
+ |Apache Causeway Persistence - querydsl (testsupport)
+ [source,yaml]
+ ----
+ Group: org.apache.causeway.persistence
+ Artifact: causeway-persistence-querydsl-testsupport
+ Type: jar
+ Directory: /persistence/querydsl/testsupport
+ ----
+ |QueryDSL Test Support
+ 
+ .Dependencies
+ ****
+ com.querydsl:querydsl-apt:jar:<managed> +
+ org.apache.causeway.core:causeway-core-internaltestsupport:jar:<managed> +
+ 
org.apache.causeway.persistence:causeway-persistence-querydsl-applib:jar:<managed>
 +
+ ****
+ |===
+ 
  === Persistence Commons
  
  [plantuml,Persistence Commons,svg]
@@@ -1531,7 -1784,7 +1784,7 @@@ rectangle "Persistence Commons\n<size:1
  .Projects/Modules (Persistence Commons)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Persistence - Commons
  [source,yaml]
@@@ -1656,7 -1909,7 +1909,7 @@@ JDO.ApacheCausewayPersistenceJDO .[#707
  .Projects/Modules (JDO)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Persistence - JDO
  [source,yaml]
@@@ -1915,7 -2168,7 +2168,7 @@@ JPA.ApacheCausewayPersistenceJPA .[#707
  .Projects/Modules (JPA)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Persistence - JPA
  [source,yaml]
@@@ -2068,7 -2322,7 +2322,7 @@@ rectangle "Security\n<size:10>[Softwar
  .Projects/Modules (Security)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Security - Simple
  [source,yaml]
@@@ -2139,7 -2393,7 +2393,7 @@@ rectangle "Bypass\n<size:10>[Software S
  .Projects/Modules (Bypass)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Security - Bypass
  [source,yaml]
@@@ -2207,7 -2461,7 +2461,7 @@@ rectangle "Keycloak\n<size:10>[Softwar
  .Projects/Modules (Keycloak)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Security - Keycloak
  [source,yaml]
@@@ -2284,7 -2538,7 +2538,7 @@@ rectangle "Shiro\n<size:10>[Software Sy
  .Projects/Modules (Shiro)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Security - Shiro
  [source,yaml]
@@@ -2360,7 -2614,7 +2614,7 @@@ rectangle "Spring\n<size:10>[Software S
  .Projects/Modules (Spring)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Security - Spring
  [source,yaml]
@@@ -2470,7 -2724,7 +2724,7 @@@ ViewerCommons.ApacheCausewayViewerCommo
  .Projects/Modules (Viewer Commons)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Viewer - Commons
  [source,yaml]
@@@ -2644,7 -2903,7 +2903,7 @@@ GraphQL.ApacheCausewayViewerGraphQL .[#
  .Projects/Modules (GraphQL)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Viewer - GraphQL
  [source,yaml]
@@@ -2919,7 -3178,7 +3178,7 @@@ RestfulObjects.ApacheCausewayViewerRO .
  .Projects/Modules (Restful Objects)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Viewer - RO
  [source,yaml]
@@@ -3209,7 -3468,7 +3468,7 @@@ Wicket.ApacheCausewayViewerWicket .[#70
  .Projects/Modules (Wicket)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Viewer - Wicket
  [source,yaml]
@@@ -3432,7 -3691,7 +3691,7 @@@ Valuetypes.ApacheCausewayValJodaTimepar
  .Projects/Modules (Valuetypes)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Value types
  [source,yaml]
@@@ -3606,7 -3865,7 +3865,7 @@@ Asciidoc.ApacheCausewayValAsciidoctoru
  .Projects/Modules (Asciidoc)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Val - Asciidoctor (parent)
  [source,yaml]
@@@ -3864,7 -4123,7 +4123,7 @@@ Markdown.ApacheCausewayValMarkdownparen
  .Projects/Modules (Markdown)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Val - Markdown (parent)
  [source,yaml]
@@@ -4090,7 -4349,7 +4349,7 @@@ Vega.ApacheCausewayValVegaparent .[#707
  .Projects/Modules (Vega)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Val - Vega (parent)
  [source,yaml]
@@@ -4585,7 -4844,7 +4844,7 @@@ Extensions.ApacheCausewayExtTitleCache 
  .Projects/Modules (Extensions)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Extensions
  [source,yaml]
@@@ -5519,7 -5778,7 +5778,7 @@@ ApplibExcel.ApacheCausewayExtExcelparen
  .Projects/Modules (Applib: Excel)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Ext - Excel (parent)
  [source,yaml]
@@@ -5683,7 -5942,7 +5942,7 @@@ CoreCommandLog.ApacheCausewayExtCommand
  .Projects/Modules (Core: Command Log)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Ext - Command Log
  [source,yaml]
@@@ -5837,7 -6096,7 +6096,7 @@@ CoreDocGen.ApacheCausewayExtDocgen .[#7
  .Projects/Modules (Core: DocGen)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Ext - Docgen
  [source,yaml]
@@@ -5946,7 -6205,7 +6205,7 @@@ CoreExecutionLog.ApacheCausewayExtExecu
  .Projects/Modules (Core: Execution Log)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Ext - Execution Log
  [source,yaml]
@@@ -6117,7 -6376,7 +6376,7 @@@ CoreExecutionOutbox.ApacheCausewayExtEx
  .Projects/Modules (Core: Execution Outbox)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Ext - Execution Outbox
  [source,yaml]
@@@ -6294,7 -6553,7 +6553,7 @@@ CoreExecutionRepublisher.ApacheCauseway
  .Projects/Modules (Core: Execution Republisher)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Ext - Execution Republisher
  [source,yaml]
@@@ -6378,7 -6637,7 +6637,7 @@@ CoreFlyway.ApacheCausewayExtFlyway .[#7
  .Projects/Modules (Core: Flyway)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Ext - Flyway
  [source,yaml]
@@@ -6465,7 -6724,7 +6724,7 @@@ CoreTabular.ApacheCausewayExtTabularpar
  .Projects/Modules (Core: Tabular)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Ext - Tabular (parent)
  [source,yaml]
@@@ -6750,7 -7009,7 +7009,7 @@@ RegressionTests.ApacheCausewayRegressio
  .Projects/Modules (Regression Tests)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Regression Tests
  [source,yaml]
@@@ -7166,7 -7449,7 +7449,7 @@@ rectangle "Incubator\n<size:10>[Softwar
  .Projects/Modules (Incubator)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Incubator
  [source,yaml]
@@@ -7238,7 -7521,7 +7521,7 @@@ CommandReplay.ApacheCausewayIncCoreComm
  .Projects/Modules (Command Replay)
  [cols="3a,5a", options="header"]
  |===
--|Coordinates |Description 
++|Coordinates |Description
  
  |Apache Causeway Inc - Core Command Replay
  [source,yaml]
diff --cc 
core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/publish/EntityPropertyChangePublisherDefault.java
index bda7605297,1979da989f..2fd9f66504
--- 
a/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/publish/EntityPropertyChangePublisherDefault.java
+++ 
b/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/publish/EntityPropertyChangePublisherDefault.java
@@@ -49,10 -51,11 +49,11 @@@ import org.apache.causeway.core.transac
  
  import lombok.NonNull;
  import lombok.RequiredArgsConstructor;
 -import lombok.extern.log4j.Log4j2;
  import lombok.val;
 +import lombok.extern.log4j.Log4j2;
  
  /**
+  * Default implementation of {@link EntityPropertyChangePublisher}.
   *
   * @since 2.0 {@index}
   */


Reply via email to