You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@causeway.apache.org by ah...@apache.org on 2024/12/02 07:56:39 UTC

(causeway) branch v3 updated (c72a75f61ce -> f3e3b451aed)

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

ahuber pushed a change to branch v3
in repository https://gitbox.apache.org/repos/asf/causeway.git


    from c72a75f61ce Merge pull request #2800 from apache/dependabot/maven/v3/org.jsoup-jsoup-1.18.3
     add a8ffae1d784 CAUSEWAY-3834: introduces interface ObjectSpecificationMutable
     add 12b94d258b7 CAUSEWAY-3834: introduces interface SpecificationLoaderInternal
     add bdd6480f152 CAUSEWAY-3834: polish bean-sort lookup
     add f0bc01277e7 CAUSEWAY-3834: converts member impl. to package private if possible
     add f693060ad66 CAUSEWAY-3834: make MemberContainer package private
     add 8ef5e3e7f9a CAUSEWAY-3834: converts Identifier to record
     add 3b44690d6ef CAUSEWAY-3834: makes all ObjectMember impl. package private
     add c03d84465ad CAUSEWAY-3834: makes all ObjectMember impl. package private (part 2)
     add 0910ab15a58 CAUSEWAY-3834: ditch ProgrammingModelService
     add 8cafefa3b1e Merge remote-tracking branch 'origin/v3' into 3834-obj.spec.record
     add 1fa3c492432 CAUSEWAY-3834: makes ObjectSpecificationDefault package private
     add 4ee680ae452 CAUSEWAY-3834: use proper generic type arg for ValueFacet
     add 25d8e86d8e8 CAUSEWAY-3834: makes all ObjectMember impl. package priv. (final part)
     new f3e3b451aed Merge pull request #2797 from apache/3834-obj.spec.record

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/causeway/applib/Identifier.java     |  94 +++++------
 .../apache/causeway/applib/id/HasLogicalType.java  |  32 +++-
 .../org/apache/causeway/applib/id/LogicalType.java | 111 +++++++------
 .../services/appfeat/ApplicationFeatureId.java     |   8 +-
 .../services/wrapper/events/InteractionEvent.java  |  10 +-
 .../apache/causeway/applib/IdentifierTests.java    |   4 +-
 .../progmodel/ProgrammingModelConstants.java       |   4 +-
 core/metamodel/src/main/java/module-info.java      |   2 +
 .../metamodel/CausewayModuleCoreMetamodel.java     |   6 +-
 .../_testing/MetaModelContext_forTesting.java      |  14 +-
 .../core/metamodel/commons/MetaModelVisitor.java   |  10 +-
 .../context/MetaModelContext_usingSpring.java      |   2 +-
 .../core/metamodel/facets/DomainEventHelper.java   |   2 +-
 .../HasFacetedMethod.java}                         |  15 +-
 ...nChoicesForCollectionParameterFacetFactory.java |  12 +-
 .../actions/action/ActionOverloadingValidator.java |   2 +-
 .../actions/action/invocation/IdentifierUtil.java  |   4 +-
 .../annotation/SortedByFacetAnnotationFactory.java |   2 +-
 .../fallback/NamedFacetFallbackFromMemberName.java |   2 +-
 .../DomainObjectAnnotationFacetFactory.java        |   8 +-
 .../facets/object/entity/EntityFacet.java          |   4 +-
 .../hidden/HiddenTypeFacetFromAuthorization.java   |   2 +-
 .../logicaltype/LogicalTypeMalformedValidator.java |   2 +-
 .../LogicalTypeFacetFromClassNameFactory.java      |   2 +-
 .../NavigableParentAnnotationFacetFactory.java     |   4 +-
 .../annotation/TitleAnnotationFacetFactory.java    |   2 +-
 .../facets/object/value/CompositeValueUpdater.java |  52 +++---
 .../value/CompositeValueUpdaterForParameter.java   |  12 +-
 .../value/CompositeValueUpdaterForProperty.java    |  12 +-
 .../facets/object/value/ValueFacetAbstract.java    |  18 +--
 ...ionOrAnyMatchingValueSemanticsFacetFactory.java |   4 -
 .../ViewModelFacetForXmlRootElementAnnotation.java |   4 +-
 .../property/modify/PropertyDomainEventFacet.java  |   6 +-
 .../metamodel/interactions/InteractionUtils.java   |   4 +-
 .../interactions/managed/_BindingUtil.java         |   4 +-
 .../MethodPrefixBasedFacetFactoryAbstract.java     |  12 +-
 .../_OrphanedSupportingMethodValidator.java        |  76 ---------
 .../core/metamodel/object/ManagedObjects.java      |   6 +-
 .../core/metamodel/object/MmEntityUtils.java       |   2 +-
 .../core/metamodel/object/MmSpecUtils.java         |   4 +-
 .../core/metamodel/object/MmValueUtils.java        |  49 +++---
 .../core/metamodel/object/_ManagedObjectEmpty.java |   2 +-
 .../objectmanager/ObjectLoaderFactory.java         |   2 +-
 .../MetaModelPostProcessorAbstract.java            |   4 +-
 .../all/MixinSanityChecksValidator.java            |   6 +-
 .../navigation/NavigationFacetFromHiddenType.java  |   4 +-
 .../progmodel/ProgrammingModelInitFilter.java      |  32 ++--
 .../ProgrammingModelInitFilterDefault.java         |  16 +-
 .../ApplicationFeatureRepositoryDefault.java       |   2 +-
 .../services/metamodel/DomainMemberDefault.java    |   5 +-
 .../services/metamodel/MetaModelExporter.java      |   2 +-
 .../metamodel/MetaModelServiceDefault.java         |   6 +-
 .../services/metamodel/TitleAnnotator.java         |   2 +-
 .../services/metamodel/_ObjectGraphFactory.java    |  14 +-
 .../title/TitlesAndTranslationsValidator.java      |   4 +-
 .../metamodel/spec/HasObjectSpecification.java     |   4 +-
 .../core/metamodel/spec/IntrospectionState.java    |  47 ------
 .../core/metamodel/spec/ObjectSpecification.java   |  61 ++++----
 .../metamodel/spec/ObjectSpecificationRecord.java  | 123 +++++++++++++++
 .../feature/MixedInAction.java}                    |  14 +-
 .../core/metamodel/spec/feature/ObjectAction.java  |   6 +-
 .../spec/feature/OneToOneAssociation.java          |   4 +-
 ...ayModuleCoreMetamodelConfigurationDefault.java} |  62 +++-----
 .../impl}/FacetedMethodsBuilder.java               |  29 ++--
 .../spec/impl/HasSpecificationLoaderInternal.java  |  20 +--
 .../impl}/LogicalTypeResolver.java                 |  10 +-
 .../impl}/ObjectActionDefault.java                 |  33 ++--
 .../impl}/ObjectActionMixedIn.java                 |  33 +---
 .../impl}/ObjectActionParameterAbstract.java       |  14 +-
 .../impl}/ObjectAssociationAbstract.java           |   7 +-
 .../impl}/ObjectMemberAbstract.java                |  15 +-
 .../impl}/ObjectMemberContainer.java               |  10 +-
 .../impl}/ObjectSpecificationDefault.java          |  52 +++---
 .../spec/impl/ObjectSpecificationMutable.java      |  60 +++++++
 .../impl}/OneToManyActionParameterDefault.java     |   4 +-
 .../impl}/OneToManyAssociationDefault.java         |   6 +-
 .../impl}/OneToManyAssociationMixedIn.java         |  25 +--
 .../impl}/OneToOneActionParameterDefault.java      |   4 +-
 .../impl}/OneToOneAssociationDefault.java          |   6 +-
 .../impl}/OneToOneAssociationMixedIn.java          |  23 +--
 .../impl/ProgrammingModelDefault.java}             |  23 +--
 .../impl}/SpecificationLoaderDefault.java          | 111 ++++++-------
 .../spec/impl/SpecificationLoaderInternal.java     | 150 ++++++++++++++++++
 ...deAnnotationEnforcesMetamodelContribution.java} | 174 ++++++++++++---------
 .../core/metamodel/spec/impl/_JUnitSupport.java    |  88 +++++++++++
 .../impl}/_MemberIdClashReporting.java             |   2 +-
 .../impl}/_MemberSortingUtils.java                 |   2 +-
 .../specimpl => spec/impl}/_MembersAsColumns.java  |   6 +-
 .../impl}/_MethodFacadeAutodetect.java             |   6 +-
 .../impl}/_MixedInMemberFactory.java               |   2 +-
 .../impl}/_MixedInMemberNamingStrategy.java        |   4 +-
 .../specimpl => spec/impl}/_SpecPredicates.java    |   2 +-
 .../{specloader => spec/impl}/_ValidateUtil.java   |   5 +-
 .../metamodel/specloader/SpecificationLoader.java  |  97 +++---------
 .../specloader/specimpl/IntrospectionState.java    |  47 ------
 .../specloader/validator/ValidationFailure.java    |  22 +--
 .../tabular/internal/DataTableInternal.java        |   8 +-
 .../core/metamodel/tabular/simple/DataTable.java   |   2 +-
 .../core/metamodel/util/WhereContexts.java         |   2 +-
 .../core/metamodel/util/snapshot/XmlSnapshot.java  |   4 +-
 .../facetapi/FeatureTypeTest_identifierFor.java    |   4 +-
 .../metamodel/facets/FacetFactoryTestAbstract.java |  31 ++--
 .../DomainObjectAnnotationFacetFactoryTest.java    |   9 +-
 .../objects/ObjectActionLayoutXmlDefaultTest.java  |   7 +-
 .../metamodel/MetaModelServiceDefaultTest.java     |   6 +-
 .../impl}/IntrospectionState_comparable_Test.java  |   4 +-
 .../impl}/MixedInMemberNamingStrategyTest.java     |   2 +-
 ...ionParameterAbstractTest_getId_and_getName.java |   2 +-
 .../impl}/ObjectAssociationAbstractTest.java       |   3 +-
 ...ObjectAssociationAbstractTest_alwaysHidden.java |   4 +-
 .../impl}/OneToManyAssociationDefaultTest.java     |   3 +-
 .../impl}/OneToOneAssociationAbstractTest.java     |   5 +-
 .../tabular/simple/DataTableSerializationTest.java |   2 +-
 .../bookmarks/BookmarkServiceDefault.java          |   4 +-
 .../bootstrap/MenuBarsServiceBootstrap.java        |   6 +-
 .../sitemap/SitemapServiceDefault.java             |   6 +-
 .../manager/AuthorizationManager.java              |   4 +-
 .../help/topics/welcome/WelcomeHelpPage.java       |  14 +-
 .../caffeine/dom/TitleCacheSubscriber.java         |  15 +-
 .../TableColumnVisibilityServiceForSecman.java     |   2 +-
 .../commons/integration/changetracking/_Xray.java  |   2 +-
 .../MetaModelValidatorForJdoqlFromClause.java      |   4 +-
 .../AutoCompleteGeneratedQueryFacetFactory.java    |   2 +-
 .../domainmodel/DomainModelTest_forEditing.java    |  13 +-
 .../domainmodel/DomainModelTest_serialization.java |  32 ++--
 .../DomainModelTest_usingGoodDomain.java           |   4 +-
 .../testdomain/domainmodel/SpecLoaderTest.java     |   4 +-
 .../shiro/authorization/AuthorizorShiro.java       |   8 +-
 .../applib/validate/DomainModelValidator.java      |   4 +-
 .../applib/services/menu/model/MenuAction.java     |   2 +-
 .../viewer/commons/model/scalar/UiProperty.java    |   2 +-
 .../viewer/graphql/model/context/Context.java      |  10 +-
 .../viewer/graphql/model/domain/TypeNames.java     |  14 +-
 .../domain/common/query/CommonDomainObject.java    |   2 +-
 .../domain/common/query/CommonDomainService.java   |   6 +-
 .../common/query/CommonTopLevelQueryAbstract.java  |   5 +-
 .../domain/common/query/ObjectFeatureUtils.java    |   8 +-
 .../rich/mutation/RichMutationForAction.java       |   4 +-
 .../rich/mutation/RichMutationForProperty.java     |   2 +-
 .../model/domain/rich/query/RichAction.java        |  10 +-
 .../model/domain/rich/scenario/ScenarioStep.java   |   5 +-
 .../simple/mutation/SimpleMutationForAction.java   |   4 +-
 .../simple/mutation/SimpleMutationForProperty.java |   2 +-
 .../model/domain/simple/query/SimpleAction.java    |   6 +-
 .../domainobjects/DomainObjectReprRenderer.java    |   4 +-
 .../domainobjects/DomainServiceLinkTo.java         |   2 +-
 .../AbstractTypeMemberReprRenderer.java            |   2 +-
 .../domaintypes/ActionDescriptionReprRenderer.java |   2 +-
 .../ActionParameterDescriptionReprRenderer.java    |   2 +-
 .../CollectionDescriptionReprRenderer.java         |   2 +-
 .../domaintypes/DomainTypeReprRenderer.java        |  10 +-
 .../PropertyDescriptionReprRenderer.java           |   2 +-
 .../domaintypes/TypeListReprRenderer.java          |   8 +-
 .../swagger/internal/_OpenApiModelFactory.java     |  16 +-
 .../JsonValueEncoderServiceDefault.java            |   2 +-
 .../viewer/resources/HomePageReprRenderer.java     |   2 +-
 .../wicket/model/models/ActionResultModel.java     |   2 +-
 .../models/AttributeModelWithMultiChoice.java      |   2 +-
 .../viewer/wicket/model/models/PropertyModel.java  |   2 +-
 .../viewer/wicket/model/models/UiObjectWkt.java    |   2 +-
 .../interaction/act/ActionInteractionWkt.java      |   4 +-
 .../CollectionContentsAsAjaxTablePanel.java        |   4 +-
 .../widgets/select2/Select2ChoiceExt.java          |   5 +-
 .../widgets/select2/Select2MultiChoiceExt.java     |   9 +-
 .../apache/causeway/viewer/wicket/ui/util/Wkt.java |   6 +-
 165 files changed, 1300 insertions(+), 1233 deletions(-)
 copy core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{progmodel/ProgrammingModelService.java => facets/HasFacetedMethod.java} (76%)
 delete mode 100644 core/metamodel/src/main/java/org/apache/causeway/core/metamodel/methods/_OrphanedSupportingMethodValidator.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/IntrospectionState.java
 create mode 100644 core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/ObjectSpecificationRecord.java
 rename core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{progmodel/ProgrammingModelService.java => spec/feature/MixedInAction.java} (76%)
 rename core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{specloader/ProgrammingModelServiceDefault.java => spec/impl/CausewayModuleCoreMetamodelConfigurationDefault.java} (59%)
 rename core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{specloader/specimpl => spec/impl}/FacetedMethodsBuilder.java (96%)
 copy api/applib/src/main/java/org/apache/causeway/applib/id/HasLogicalType.java => core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/HasSpecificationLoaderInternal.java (71%)
 rename core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{specloader => spec/impl}/LogicalTypeResolver.java (92%)
 rename core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{specloader/specimpl => spec/impl}/ObjectActionDefault.java (94%)
 rename core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{specloader/specimpl => spec/impl}/ObjectActionMixedIn.java (86%)
 rename core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{specloader/specimpl => spec/impl}/ObjectActionParameterAbstract.java (96%)
 rename core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{specloader/specimpl => spec/impl}/ObjectAssociationAbstract.java (96%)
 rename core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{specloader/specimpl => spec/impl}/ObjectMemberAbstract.java (96%)
 rename core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{specloader/specimpl => spec/impl}/ObjectMemberContainer.java (93%)
 rename core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{specloader/specimpl => spec/impl}/ObjectSpecificationDefault.java (96%)
 create mode 100644 core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/ObjectSpecificationMutable.java
 rename core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{specloader/specimpl => spec/impl}/OneToManyActionParameterDefault.java (94%)
 rename core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{specloader/specimpl => spec/impl}/OneToManyAssociationDefault.java (97%)
 rename core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{specloader/specimpl => spec/impl}/OneToManyAssociationMixedIn.java (89%)
 rename core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{specloader/specimpl => spec/impl}/OneToOneActionParameterDefault.java (92%)
 rename core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{specloader/specimpl => spec/impl}/OneToOneAssociationDefault.java (98%)
 rename core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{specloader/specimpl => spec/impl}/OneToOneAssociationMixedIn.java (88%)
 rename core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{progmodels/dflt/ProgrammingModelFacetsJava11.java => spec/impl/ProgrammingModelDefault.java} (96%)
 rename core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{specloader => spec/impl}/SpecificationLoaderDefault.java (88%)
 create mode 100644 core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/SpecificationLoaderInternal.java
 rename core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{methods/DomainIncludeAnnotationEnforcesMetamodelContributionValidator.java => spec/impl/ValidatorDomainIncludeAnnotationEnforcesMetamodelContribution.java} (50%)
 create mode 100644 core/metamodel/src/main/java/org/apache/causeway/core/metamodel/spec/impl/_JUnitSupport.java
 rename core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{specloader/specimpl => spec/impl}/_MemberIdClashReporting.java (98%)
 rename core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{specloader/specimpl => spec/impl}/_MemberSortingUtils.java (98%)
 rename core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{specloader/specimpl => spec/impl}/_MembersAsColumns.java (97%)
 rename core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{specloader/specimpl => spec/impl}/_MethodFacadeAutodetect.java (96%)
 rename core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{specloader/specimpl => spec/impl}/_MixedInMemberFactory.java (96%)
 rename core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{specloader/specimpl => spec/impl}/_MixedInMemberNamingStrategy.java (94%)
 rename core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{specloader/specimpl => spec/impl}/_SpecPredicates.java (97%)
 rename core/metamodel/src/main/java/org/apache/causeway/core/metamodel/{specloader => spec/impl}/_ValidateUtil.java (96%)
 delete mode 100644 core/metamodel/src/main/java/org/apache/causeway/core/metamodel/specloader/specimpl/IntrospectionState.java
 rename core/metamodel/src/test/java/org/apache/causeway/core/metamodel/{specloader/specimpl => spec/impl}/IntrospectionState_comparable_Test.java (95%)
 rename core/metamodel/src/test/java/org/apache/causeway/core/metamodel/{specloader/specimpl => spec/impl}/MixedInMemberNamingStrategyTest.java (97%)
 rename core/metamodel/src/test/java/org/apache/causeway/core/metamodel/{specloader/specimpl => spec/impl}/ObjectActionParameterAbstractTest_getId_and_getName.java (97%)
 rename core/metamodel/src/test/java/org/apache/causeway/core/metamodel/{specloader/specimpl => spec/impl}/ObjectAssociationAbstractTest.java (98%)
 rename core/metamodel/src/test/java/org/apache/causeway/core/metamodel/{specloader/specimpl => spec/impl}/ObjectAssociationAbstractTest_alwaysHidden.java (98%)
 rename core/metamodel/src/test/java/org/apache/causeway/core/metamodel/{objects => spec/impl}/OneToManyAssociationDefaultTest.java (95%)
 rename core/metamodel/src/test/java/org/apache/causeway/core/metamodel/{specloader/specimpl => spec/impl}/OneToOneAssociationAbstractTest.java (98%)


(causeway) 01/01: Merge pull request #2797 from apache/3834-obj.spec.record

Posted by ah...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit f3e3b451aed3e3714132fb40c01ef4569d0ecd1d
Merge: c72a75f61ce 25d8e86d8e8
Author: Andi Huber <ah...@apache.org>
AuthorDate: Mon Dec 2 08:56:35 2024 +0100

    Merge pull request #2797 from apache/3834-obj.spec.record
    
    CAUSEWAY-3834: Factor out mutable Aspects from ObjectSpecification and its Loader

 .../org/apache/causeway/applib/Identifier.java     |  94 +++++------
 .../apache/causeway/applib/id/HasLogicalType.java  |  32 +++-
 .../org/apache/causeway/applib/id/LogicalType.java | 111 +++++++------
 .../services/appfeat/ApplicationFeatureId.java     |   8 +-
 .../services/wrapper/events/InteractionEvent.java  |  10 +-
 .../apache/causeway/applib/IdentifierTests.java    |   4 +-
 .../progmodel/ProgrammingModelConstants.java       |   4 +-
 core/metamodel/src/main/java/module-info.java      |   2 +
 .../metamodel/CausewayModuleCoreMetamodel.java     |   6 +-
 .../_testing/MetaModelContext_forTesting.java      |  14 +-
 .../core/metamodel/commons/MetaModelVisitor.java   |  10 +-
 .../context/MetaModelContext_usingSpring.java      |   2 +-
 .../core/metamodel/facets/DomainEventHelper.java   |   2 +-
 .../HasFacetedMethod.java}                         |  15 +-
 ...nChoicesForCollectionParameterFacetFactory.java |  12 +-
 .../actions/action/ActionOverloadingValidator.java |   2 +-
 .../actions/action/invocation/IdentifierUtil.java  |   4 +-
 .../annotation/SortedByFacetAnnotationFactory.java |   2 +-
 .../fallback/NamedFacetFallbackFromMemberName.java |   2 +-
 .../DomainObjectAnnotationFacetFactory.java        |   8 +-
 .../facets/object/entity/EntityFacet.java          |   4 +-
 .../hidden/HiddenTypeFacetFromAuthorization.java   |   2 +-
 .../logicaltype/LogicalTypeMalformedValidator.java |   2 +-
 .../LogicalTypeFacetFromClassNameFactory.java      |   2 +-
 .../NavigableParentAnnotationFacetFactory.java     |   4 +-
 .../annotation/TitleAnnotationFacetFactory.java    |   2 +-
 .../facets/object/value/CompositeValueUpdater.java |  52 +++---
 .../value/CompositeValueUpdaterForParameter.java   |  12 +-
 .../value/CompositeValueUpdaterForProperty.java    |  12 +-
 .../facets/object/value/ValueFacetAbstract.java    |  18 +--
 ...ionOrAnyMatchingValueSemanticsFacetFactory.java |   4 -
 .../ViewModelFacetForXmlRootElementAnnotation.java |   4 +-
 .../property/modify/PropertyDomainEventFacet.java  |   6 +-
 .../metamodel/interactions/InteractionUtils.java   |   4 +-
 .../interactions/managed/_BindingUtil.java         |   4 +-
 .../MethodPrefixBasedFacetFactoryAbstract.java     |  12 +-
 .../_OrphanedSupportingMethodValidator.java        |  76 ---------
 .../core/metamodel/object/ManagedObjects.java      |   6 +-
 .../core/metamodel/object/MmEntityUtils.java       |   2 +-
 .../core/metamodel/object/MmSpecUtils.java         |   4 +-
 .../core/metamodel/object/MmValueUtils.java        |  49 +++---
 .../core/metamodel/object/_ManagedObjectEmpty.java |   2 +-
 .../objectmanager/ObjectLoaderFactory.java         |   2 +-
 .../MetaModelPostProcessorAbstract.java            |   4 +-
 .../all/MixinSanityChecksValidator.java            |   6 +-
 .../navigation/NavigationFacetFromHiddenType.java  |   4 +-
 .../progmodel/ProgrammingModelInitFilter.java      |  32 ++--
 .../ProgrammingModelInitFilterDefault.java         |  16 +-
 .../ApplicationFeatureRepositoryDefault.java       |   2 +-
 .../services/metamodel/DomainMemberDefault.java    |   5 +-
 .../services/metamodel/MetaModelExporter.java      |   2 +-
 .../metamodel/MetaModelServiceDefault.java         |   6 +-
 .../services/metamodel/TitleAnnotator.java         |   2 +-
 .../services/metamodel/_ObjectGraphFactory.java    |  14 +-
 .../title/TitlesAndTranslationsValidator.java      |   4 +-
 .../metamodel/spec/HasObjectSpecification.java     |   4 +-
 .../core/metamodel/spec/IntrospectionState.java    |  47 ------
 .../core/metamodel/spec/ObjectSpecification.java   |  61 ++++----
 .../metamodel/spec/ObjectSpecificationRecord.java  | 123 +++++++++++++++
 .../feature/MixedInAction.java}                    |  14 +-
 .../core/metamodel/spec/feature/ObjectAction.java  |   6 +-
 .../spec/feature/OneToOneAssociation.java          |   4 +-
 ...ayModuleCoreMetamodelConfigurationDefault.java} |  62 +++-----
 .../impl}/FacetedMethodsBuilder.java               |  29 ++--
 .../spec/impl/HasSpecificationLoaderInternal.java  |  20 +--
 .../impl}/LogicalTypeResolver.java                 |  10 +-
 .../impl}/ObjectActionDefault.java                 |  33 ++--
 .../impl}/ObjectActionMixedIn.java                 |  33 +---
 .../impl}/ObjectActionParameterAbstract.java       |  14 +-
 .../impl}/ObjectAssociationAbstract.java           |   7 +-
 .../impl}/ObjectMemberAbstract.java                |  15 +-
 .../impl}/ObjectMemberContainer.java               |  10 +-
 .../impl}/ObjectSpecificationDefault.java          |  52 +++---
 .../spec/impl/ObjectSpecificationMutable.java      |  60 +++++++
 .../impl}/OneToManyActionParameterDefault.java     |   4 +-
 .../impl}/OneToManyAssociationDefault.java         |   6 +-
 .../impl}/OneToManyAssociationMixedIn.java         |  25 +--
 .../impl}/OneToOneActionParameterDefault.java      |   4 +-
 .../impl}/OneToOneAssociationDefault.java          |   6 +-
 .../impl}/OneToOneAssociationMixedIn.java          |  23 +--
 .../impl/ProgrammingModelDefault.java}             |  23 +--
 .../impl}/SpecificationLoaderDefault.java          | 111 ++++++-------
 .../spec/impl/SpecificationLoaderInternal.java     | 150 ++++++++++++++++++
 ...deAnnotationEnforcesMetamodelContribution.java} | 174 ++++++++++++---------
 .../core/metamodel/spec/impl/_JUnitSupport.java    |  88 +++++++++++
 .../impl}/_MemberIdClashReporting.java             |   2 +-
 .../impl}/_MemberSortingUtils.java                 |   2 +-
 .../specimpl => spec/impl}/_MembersAsColumns.java  |   6 +-
 .../impl}/_MethodFacadeAutodetect.java             |   6 +-
 .../impl}/_MixedInMemberFactory.java               |   2 +-
 .../impl}/_MixedInMemberNamingStrategy.java        |   4 +-
 .../specimpl => spec/impl}/_SpecPredicates.java    |   2 +-
 .../{specloader => spec/impl}/_ValidateUtil.java   |   5 +-
 .../metamodel/specloader/SpecificationLoader.java  |  97 +++---------
 .../specloader/specimpl/IntrospectionState.java    |  47 ------
 .../specloader/validator/ValidationFailure.java    |  22 +--
 .../tabular/internal/DataTableInternal.java        |   8 +-
 .../core/metamodel/tabular/simple/DataTable.java   |   2 +-
 .../core/metamodel/util/WhereContexts.java         |   2 +-
 .../core/metamodel/util/snapshot/XmlSnapshot.java  |   4 +-
 .../facetapi/FeatureTypeTest_identifierFor.java    |   4 +-
 .../metamodel/facets/FacetFactoryTestAbstract.java |  31 ++--
 .../DomainObjectAnnotationFacetFactoryTest.java    |   9 +-
 .../objects/ObjectActionLayoutXmlDefaultTest.java  |   7 +-
 .../metamodel/MetaModelServiceDefaultTest.java     |   6 +-
 .../impl}/IntrospectionState_comparable_Test.java  |   4 +-
 .../impl}/MixedInMemberNamingStrategyTest.java     |   2 +-
 ...ionParameterAbstractTest_getId_and_getName.java |   2 +-
 .../impl}/ObjectAssociationAbstractTest.java       |   3 +-
 ...ObjectAssociationAbstractTest_alwaysHidden.java |   4 +-
 .../impl}/OneToManyAssociationDefaultTest.java     |   3 +-
 .../impl}/OneToOneAssociationAbstractTest.java     |   5 +-
 .../tabular/simple/DataTableSerializationTest.java |   2 +-
 .../bookmarks/BookmarkServiceDefault.java          |   4 +-
 .../bootstrap/MenuBarsServiceBootstrap.java        |   6 +-
 .../sitemap/SitemapServiceDefault.java             |   6 +-
 .../manager/AuthorizationManager.java              |   4 +-
 .../help/topics/welcome/WelcomeHelpPage.java       |  14 +-
 .../caffeine/dom/TitleCacheSubscriber.java         |  15 +-
 .../TableColumnVisibilityServiceForSecman.java     |   2 +-
 .../commons/integration/changetracking/_Xray.java  |   2 +-
 .../MetaModelValidatorForJdoqlFromClause.java      |   4 +-
 .../AutoCompleteGeneratedQueryFacetFactory.java    |   2 +-
 .../domainmodel/DomainModelTest_forEditing.java    |  13 +-
 .../domainmodel/DomainModelTest_serialization.java |  32 ++--
 .../DomainModelTest_usingGoodDomain.java           |   4 +-
 .../testdomain/domainmodel/SpecLoaderTest.java     |   4 +-
 .../shiro/authorization/AuthorizorShiro.java       |   8 +-
 .../applib/validate/DomainModelValidator.java      |   4 +-
 .../applib/services/menu/model/MenuAction.java     |   2 +-
 .../viewer/commons/model/scalar/UiProperty.java    |   2 +-
 .../viewer/graphql/model/context/Context.java      |  10 +-
 .../viewer/graphql/model/domain/TypeNames.java     |  14 +-
 .../domain/common/query/CommonDomainObject.java    |   2 +-
 .../domain/common/query/CommonDomainService.java   |   6 +-
 .../common/query/CommonTopLevelQueryAbstract.java  |   5 +-
 .../domain/common/query/ObjectFeatureUtils.java    |   8 +-
 .../rich/mutation/RichMutationForAction.java       |   4 +-
 .../rich/mutation/RichMutationForProperty.java     |   2 +-
 .../model/domain/rich/query/RichAction.java        |  10 +-
 .../model/domain/rich/scenario/ScenarioStep.java   |   5 +-
 .../simple/mutation/SimpleMutationForAction.java   |   4 +-
 .../simple/mutation/SimpleMutationForProperty.java |   2 +-
 .../model/domain/simple/query/SimpleAction.java    |   6 +-
 .../domainobjects/DomainObjectReprRenderer.java    |   4 +-
 .../domainobjects/DomainServiceLinkTo.java         |   2 +-
 .../AbstractTypeMemberReprRenderer.java            |   2 +-
 .../domaintypes/ActionDescriptionReprRenderer.java |   2 +-
 .../ActionParameterDescriptionReprRenderer.java    |   2 +-
 .../CollectionDescriptionReprRenderer.java         |   2 +-
 .../domaintypes/DomainTypeReprRenderer.java        |  10 +-
 .../PropertyDescriptionReprRenderer.java           |   2 +-
 .../domaintypes/TypeListReprRenderer.java          |   8 +-
 .../swagger/internal/_OpenApiModelFactory.java     |  16 +-
 .../JsonValueEncoderServiceDefault.java            |   2 +-
 .../viewer/resources/HomePageReprRenderer.java     |   2 +-
 .../wicket/model/models/ActionResultModel.java     |   2 +-
 .../models/AttributeModelWithMultiChoice.java      |   2 +-
 .../viewer/wicket/model/models/PropertyModel.java  |   2 +-
 .../viewer/wicket/model/models/UiObjectWkt.java    |   2 +-
 .../interaction/act/ActionInteractionWkt.java      |   4 +-
 .../CollectionContentsAsAjaxTablePanel.java        |   4 +-
 .../widgets/select2/Select2ChoiceExt.java          |   5 +-
 .../widgets/select2/Select2MultiChoiceExt.java     |   9 +-
 .../apache/causeway/viewer/wicket/ui/util/Wkt.java |   6 +-
 165 files changed, 1300 insertions(+), 1233 deletions(-)