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 2022/10/20 09:34:18 UTC
[isis] branch post-rename updated: ISIS-3142: rename core packages and artifacts
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch post-rename
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/post-rename by this push:
new 5821355927 ISIS-3142: rename core packages and artifacts
5821355927 is described below
commit 5821355927f6e6836673eea27828913bc2c4dc1f
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Oct 20 11:33:57 2022 +0200
ISIS-3142: rename core packages and artifacts
---
antora/pom.xml | 6 +-
api/applib/pom.xml | 28 +-
api/applib/src/main/java/module-info.java | 224 +-
.../org/apache/causeway/applib/Identifier.java | 333 ++
.../apache/causeway/applib/IsisModuleApplib.java | 148 +
.../IsisModuleApplibChangeAndExecutionLoggers.java | 47 +
.../causeway/applib/IsisModuleApplibMixins.java | 47 +
.../java/org/apache/causeway/applib/ViewModel.java | 41 +
.../apache/causeway/applib/annotation/Action.java | 233 ++
.../causeway/applib/annotation/ActionLayout.java | 265 ++
.../causeway/applib/annotation/BookmarkPolicy.java | 54 +
.../causeway/applib/annotation/Bounding.java | 30 +
.../causeway/applib/annotation/Collection.java | 108 +
.../applib/annotation/CollectionLayout.java | 179 ++
.../applib/annotation/DependentDefaultsPolicy.java | 55 +
.../apache/causeway/applib/annotation/Domain.java | 84 +
.../causeway/applib/annotation/DomainObject.java | 435 +++
.../applib/annotation/DomainObjectLayout.java | 215 ++
.../causeway/applib/annotation/DomainService.java | 95 +
.../applib/annotation/DomainServiceLayout.java | 83 +
.../apache/causeway/applib/annotation/Editing.java | 52 +
.../applib/annotation/EntityChangeKind.java | 29 +
.../causeway/applib/annotation/HomePage.java | 42 +
.../applib/annotation/InteractionScope.java | 53 +
.../causeway/applib/annotation/Introspection.java | 225 ++
.../causeway/applib/annotation/LabelPosition.java | 50 +
.../applib/annotation/LogicalTypeName.java | 51 +
.../causeway/applib/annotation/MemberSupport.java | 50 +
.../causeway/applib/annotation/MinLength.java | 37 +
.../apache/causeway/applib/annotation/Module.java | 60 +
.../apache/causeway/applib/annotation/Nature.java | 104 +
.../applib/annotation/NatureOfService.java | 60 +
.../causeway/applib/annotation/Navigable.java | 40 +
.../applib/annotation/ObjectLifecycle.java | 50 +
.../causeway/applib/annotation/ObjectSupport.java | 50 +
.../causeway/applib/annotation/Optionality.java | 70 +
.../causeway/applib/annotation/Parameter.java | 150 +
.../applib/annotation/ParameterLayout.java | 130 +
.../applib/annotation/PriorityPrecedence.java | 82 +
.../causeway/applib/annotation/Programmatic.java | 54 +
.../causeway/applib/annotation/Projecting.java | 38 +
.../causeway/applib/annotation/PromptStyle.java | 91 +
.../causeway/applib/annotation/Property.java | 295 ++
.../causeway/applib/annotation/PropertyLayout.java | 259 ++
.../causeway/applib/annotation/Publishing.java | 70 +
.../causeway/applib/annotation/Redirect.java | 48 +
.../causeway/applib/annotation/Repainting.java | 45 +
.../causeway/applib/annotation/RestrictTo.java | 33 +
.../causeway/applib/annotation/SemanticsOf.java | 148 +
.../causeway/applib/annotation/Snapshot.java | 48 +
.../applib/annotation/TableDecoration.java | 60 +
.../causeway/applib/annotation/TimePrecision.java | 59 +
.../applib/annotation/TimeZoneTranslation.java | 44 +
.../apache/causeway/applib/annotation/Title.java | 67 +
.../apache/causeway/applib/annotation/Value.java | 58 +
.../causeway/applib/annotation/ValueSemantics.java | 178 ++
.../apache/causeway/applib/annotation/Where.java | 225 ++
.../causeway/applib/annotation/package-info.java | 23 +
.../client/RepresentationTypeSimplifiedV2.java | 142 +
.../causeway/applib/client/SuppressionType.java | 100 +
.../apache/causeway/applib/clock/VirtualClock.java | 381 +++
.../causeway/applib/clock/VirtualClock_frozen.java | 66 +
.../causeway/applib/clock/VirtualClock_system.java | 57 +
.../applib/clock/VirtualClock_withOffset.java | 70 +
.../causeway/applib/domain/DomainObjectList.java | 194 ++
.../events/ActionArgumentUsabilityEvent.java | 61 +
.../events/ActionArgumentVisibilityEvent.java | 61 +
.../causeway/applib/events/EventObjectBase.java | 78 +
.../applib/events/domain/AbstractDomainEvent.java | 498 +++
.../applib/events/domain/ActionDomainEvent.java | 232 ++
.../events/domain/CollectionDomainEvent.java | 104 +
.../applib/events/domain/PropertyDomainEvent.java | 156 +
.../events/lifecycle/AbstractLifecycleEvent.java | 39 +
.../events/lifecycle/ObjectCreatedEvent.java | 67 +
.../applib/events/lifecycle/ObjectLoadedEvent.java | 63 +
.../events/lifecycle/ObjectPersistedEvent.java | 63 +
.../events/lifecycle/ObjectPersistingEvent.java | 62 +
.../events/lifecycle/ObjectRemovingEvent.java | 63 +
.../events/lifecycle/ObjectUpdatedEvent.java | 60 +
.../events/lifecycle/ObjectUpdatingEvent.java | 60 +
.../applib/events/metamodel/MetamodelEvent.java | 34 +
.../applib/events/metamodel/MetamodelListener.java | 84 +
.../causeway/applib/events/ui/AbstractUiEvent.java | 61 +
.../causeway/applib/events/ui/CssClassUiEvent.java | 104 +
.../causeway/applib/events/ui/IconUiEvent.java | 124 +
.../causeway/applib/events/ui/LayoutUiEvent.java | 104 +
.../causeway/applib/events/ui/TitleUiEvent.java | 133 +
.../applib/exceptions/RecoverableException.java | 108 +
.../applib/exceptions/TranslatableException.java | 49 +
.../applib/exceptions/UnrecoverableException.java | 101 +
.../recoverable/InteractionException.java | 68 +
.../recoverable/InvalidEntryException.java | 41 +
.../recoverable/TextEntryParseException.java | 42 +
.../unrecoverable/DomainModelException.java | 44 +
.../unrecoverable/MetaModelException.java | 41 +
.../unrecoverable/NoAuthenticatorException.java | 44 +
.../unrecoverable/ObjectNotFoundException.java | 39 +
.../unrecoverable/ObjectPersistenceException.java | 40 +
.../unrecoverable/PersistFailedException.java | 54 +
.../unrecoverable/ReflectiveActionException.java | 41 +
.../unrecoverable/RepositoryException.java | 52 +
.../unrecoverable/UnexpectedCallException.java | 36 +
.../unrecoverable/UnknownTypeException.java | 37 +
.../org/apache/causeway/applib/graph/Edge.java | 31 +
.../apache/causeway/applib/graph/SimpleEdge.java | 42 +
.../org/apache/causeway/applib/graph/Vertex.java | 39 +
.../causeway/applib/graph/tree/TreeAdapter.java | 57 +
.../causeway/applib/graph/tree/TreeNode.java | 303 ++
.../graph/tree/TreeNode_iteratorBreadthFirst.java | 60 +
.../graph/tree/TreeNode_iteratorDepthFirst.java | 71 +
.../graph/tree/TreeNode_iteratorHierarchyUp.java | 53 +
.../causeway/applib/graph/tree/TreePath.java | 60 +
.../applib/graph/tree/TreePath_Default.java | 90 +
.../causeway/applib/graph/tree/TreeState.java | 35 +
.../applib/graph/tree/TreeState_Default.java | 34 +
.../apache/causeway/applib/id/HasLogicalType.java | 35 +
.../org/apache/causeway/applib/id/LogicalType.java | 360 +++
.../causeway/applib/jaxb/DataTypeFactory.java | 58 +
.../causeway/applib/jaxb/JavaSqlJaxbAdapters.java | 82 +
.../JavaSqlXMLGregorianCalendarMarshalling.java | 66 +
.../causeway/applib/jaxb/JavaTimeJaxbAdapters.java | 169 +
.../JavaTimeXMLGregorianCalendarMarshalling.java | 156 +
.../causeway/applib/jaxb/JavaUtilJaxbAdapters.java | 54 +
.../applib/jaxb/PersistentEntitiesAdapter.java | 67 +
.../applib/jaxb/PersistentEntityAdapter.java | 50 +
.../applib/jaxb/PrimitiveJaxbAdapters.java | 49 +
.../causeway/applib/layout/LayoutConstants.java | 139 +
.../applib/layout/component/ActionLayoutData.java | 282 ++
.../layout/component/ActionLayoutDataOwner.java | 29 +
.../layout/component/CollectionLayoutData.java | 278 ++
.../component/CollectionLayoutDataOwner.java | 28 +
.../layout/component/CssClassFaPosition.java | 35 +
.../layout/component/DomainObjectLayoutData.java | 238 ++
.../component/DomainObjectLayoutDataOwner.java | 28 +
.../causeway/applib/layout/component/FieldSet.java | 208 ++
.../applib/layout/component/FieldSetOwner.java | 28 +
.../applib/layout/component/HasBookmarking.java | 32 +
.../applib/layout/component/HasCssClass.java | 30 +
.../applib/layout/component/HasCssClassFa.java | 36 +
.../applib/layout/component/HasDescribedAs.java | 32 +
.../applib/layout/component/HasHidden.java | 34 +
.../causeway/applib/layout/component/HasNamed.java | 32 +
.../applib/layout/component/MemberRegion.java | 35 +
.../applib/layout/component/MemberRegionOwner.java | 26 +
.../causeway/applib/layout/component/Owned.java | 26 +
.../causeway/applib/layout/component/Owner.java | 26 +
.../layout/component/PropertyLayoutData.java | 289 ++
.../layout/component/ServiceActionLayoutData.java | 249 ++
.../component/ServiceActionLayoutDataOwner.java | 29 +
.../applib/layout/component/TableDecoration.java | 31 +
.../applib/layout/component/package-info.java | 39 +
.../apache/causeway/applib/layout/grid/Grid.java | 97 +
.../causeway/applib/layout/grid/GridAbstract.java | 210 ++
.../applib/layout/grid/bootstrap/BSClearFix.java | 55 +
.../layout/grid/bootstrap/BSClearFixHidden.java | 49 +
.../layout/grid/bootstrap/BSClearFixVisible.java | 65 +
.../applib/layout/grid/bootstrap/BSCol.java | 286 ++
.../applib/layout/grid/bootstrap/BSElement.java | 38 +
.../layout/grid/bootstrap/BSElementAbstract.java | 52 +
.../applib/layout/grid/bootstrap/BSGrid.java | 305 ++
.../applib/layout/grid/bootstrap/BSRow.java | 142 +
.../applib/layout/grid/bootstrap/BSRowContent.java | 81 +
.../layout/grid/bootstrap/BSRowContentOwner.java | 28 +
.../applib/layout/grid/bootstrap/BSRowOwner.java | 31 +
.../applib/layout/grid/bootstrap/BSTab.java | 179 ++
.../applib/layout/grid/bootstrap/BSTabGroup.java | 140 +
.../layout/grid/bootstrap/BSTabGroupOwner.java | 31 +
.../applib/layout/grid/bootstrap/BSTabOwner.java | 31 +
.../applib/layout/grid/bootstrap/HasCssId.java | 31 +
.../applib/layout/grid/bootstrap/Size.java | 37 +
.../applib/layout/grid/bootstrap/SizeSpan.java | 114 +
.../applib/layout/grid/bootstrap/WithinGrid.java | 30 +
.../applib/layout/grid/bootstrap/package-info.java | 37 +
.../apache/causeway/applib/layout/links/Link.java | 96 +
.../causeway/applib/layout/links/package-info.java | 38 +
.../causeway/applib/layout/menubars/HasNamed.java | 31 +
.../causeway/applib/layout/menubars/Menu.java | 26 +
.../causeway/applib/layout/menubars/MenuBar.java | 26 +
.../causeway/applib/layout/menubars/MenuBars.java | 53 +
.../applib/layout/menubars/MenuBarsAbstract.java | 71 +
.../applib/layout/menubars/MenuSection.java | 33 +
.../applib/layout/menubars/bootstrap/BSMenu.java | 113 +
.../layout/menubars/bootstrap/BSMenuBar.java | 64 +
.../layout/menubars/bootstrap/BSMenuBars.java | 229 ++
.../layout/menubars/bootstrap/BSMenuSection.java | 79 +
.../layout/menubars/bootstrap/package-info.java | 38 +
.../causeway/applib/layout/package-info.java | 25 +
.../apache/causeway/applib/locale/UserLocale.java | 67 +
.../org/apache/causeway/applib/mixins/dto/Dto.java | 48 +
.../applib/mixins/dto/DtoMixinConstants.java | 32 +
.../applib/mixins/dto/Dto_downloadXml.java | 83 +
.../applib/mixins/dto/Dto_downloadXsd.java | 141 +
.../causeway/applib/mixins/dto/package-info.java | 28 +
.../mixins/layout/Object_downloadLayoutXml.java | 96 +
.../metamodel/Object_downloadMetamodelXml.java | 121 +
.../mixins/metamodel/Object_logicalTypeName.java | 86 +
.../mixins/metamodel/Object_objectIdentifier.java | 86 +
.../mixins/metamodel/Object_rebuildMetamodel.java | 72 +
.../applib/mixins/rest/Object_openRestApi.java | 87 +
.../applib/mixins/security/HasUsername.java | 72 +
.../applib/mixins/system/DomainChangeRecord.java | 335 ++
.../applib/mixins/system/HasInteractionId.java | 62 +
.../mixins/system/HasInteractionIdAndSequence.java | 93 +
.../mixins/system/HasTarget_openTargetObject.java | 83 +
.../applib/mixins/updates/OnUpdatedAt.java | 32 +
.../applib/mixins/updates/OnUpdatedBy.java | 41 +
.../applib/mixins/updates/OnUpdatedByAndAt.java | 31 +
.../causeway/applib/query/AllInstancesQuery.java | 26 +
.../apache/causeway/applib/query/NamedQuery.java | 41 +
.../org/apache/causeway/applib/query/Query.java | 97 +
.../apache/causeway/applib/query/QueryRange.java | 136 +
.../applib/query/_AllInstancesQueryDefault.java | 48 +
.../causeway/applib/query/_NamedQueryDefault.java | 82 +
.../causeway/applib/query/_QueryAbstract.java | 33 +
.../causeway/applib/query/_QueryRangeDefault.java | 87 +
.../services/acceptheader/AcceptHeaderService.java | 47 +
.../services/appfeat/ApplicationFeature.java | 111 +
.../services/appfeat/ApplicationFeatureId.java | 453 +++
.../appfeat/ApplicationFeatureRepository.java | 55 +
.../services/appfeat/ApplicationFeatureSort.java | 69 +
.../services/appfeat/ApplicationMemberSort.java | 35 +
.../applib/services/appfeat/package-info.java | 27 +
.../services/appfeatui/ApplicationFeatureMenu.java | 176 +
.../appfeatui/ApplicationFeatureViewModel.java | 417 +++
...ApplicationFeatureViewModel.layout.fallback.xml | 0
.../appfeatui/ApplicationFeatureViewModel.png | Bin
.../services/appfeatui/ApplicationNamespace.java | 86 +
.../applib/services/appfeatui/ApplicationType.java | 135 +
.../services/appfeatui/ApplicationTypeAction.java | 110 +
.../appfeatui/ApplicationTypeCollection.java | 107 +
.../services/appfeatui/ApplicationTypeMember.java | 88 +
.../appfeatui/ApplicationTypeProperty.java | 178 ++
.../applib/services/bookmark/Bookmark.java | 234 ++
.../applib/services/bookmark/BookmarkHolder.java | 38 +
.../services/bookmark/BookmarkHolder_lookup.java | 56 +
.../services/bookmark/BookmarkHolder_object.java | 51 +
.../applib/services/bookmark/BookmarkService.java | 94 +
.../applib/services/bookmark/HasTarget.java | 54 +
.../applib/services/bookmark/IdStringifier.java | 186 ++
.../causeway/applib/services/bookmark/Oid.java | 47 +
.../idstringifiers/PredefinedSerializables.java | 88 +
.../applib/services/bookmark/package-info.java | 27 +
.../services/bookmarkui/BookmarkUiService.java | 32 +
.../applib/services/clock/ClockService.java | 68 +
.../causeway/applib/services/command/Command.java | 377 +++
.../services/command/CommandExecutorService.java | 165 +
.../services/command/CommandOutcomeHandler.java | 72 +
.../applib/services/command/package-info.java | 19 +
.../applib/services/commanddto/HasCommandDto.java | 56 +
.../conmap/ContentMappingServiceForCommandDto.java | 112 +
.../ContentMappingServiceForCommandsDto.java | 100 +
.../services/commanddto/conmap/UserDataKeys.java | 35 +
.../commanddto/processor/CommandDtoProcessor.java | 57 +
.../CommandDtoProcessorForActionAbstract.java | 40 +
.../CommandDtoProcessorForPropertyAbstract.java | 34 +
.../processor/spi/CommandDtoProcessorService.java | 64 +
.../spi/CommandDtoProcessorServiceIdentity.java | 45 +
.../services/confview/ConfigurationMenu.java | 77 +
.../services/confview/ConfigurationProperty.java | 79 +
.../ConfigurationProperty.layout.fallback.xml | 0
.../services/confview/ConfigurationProperty.png | Bin
.../confview/ConfigurationViewService.java | 44 +
.../services/confview/ConfigurationViewmodel.java | 67 +
.../ConfigurationViewmodel.layout.fallback.xml | 0
.../services/confview/ConfigurationViewmodel.png | Bin
.../applib/services/confview/package-info.java | 26 +
.../services/conmap/ContentMappingService.java | 68 +
.../applib/services/conmap/package-info.java | 27 +
.../applib/services/email/EmailService.java | 65 +
.../applib/services/email/package-info.java | 26 +
.../applib/services/error/ErrorDetails.java | 86 +
.../services/error/ErrorReportingService.java | 55 +
.../applib/services/error/SimpleTicket.java | 135 +
.../causeway/applib/services/error/Ticket.java | 87 +
.../applib/services/error/package-info.java | 28 +
.../applib/services/eventbus/EventBusService.java | 47 +
.../applib/services/eventbus/package-info.java | 26 +
.../applib/services/exceprecog/Category.java | 71 +
.../services/exceprecog/ExceptionRecognizer.java | 73 +
.../exceprecog/ExceptionRecognizerAbstract.java | 144 +
.../exceprecog/ExceptionRecognizerForType.java | 130 +
.../exceprecog/ExceptionRecognizerService.java | 62 +
.../applib/services/exceprecog/Recognition.java | 140 +
.../services/exceprecog/RootCauseFinder.java | 36 +
.../applib/services/exceprecog/package-info.java | 28 +
.../applib/services/factory/FactoryService.java | 167 +
.../applib/services/factory/package-info.java | 26 +
.../applib/services/grid/GridLoaderService.java | 85 +
.../causeway/applib/services/grid/GridService.java | 179 ++
.../applib/services/grid/GridSystemService.java | 135 +
.../applib/services/grid/package-info.java | 26 +
.../causeway/applib/services/health/Health.java | 46 +
.../applib/services/health/HealthCheckService.java | 46 +
.../applib/services/hint/HintIdProvider.java | 45 +
.../causeway/applib/services/hint/HintStore.java | 101 +
.../applib/services/hint/package-info.java | 28 +
.../services/homepage/HomePageResolverService.java | 33 +
.../applib/services/homepage/package-info.java | 24 +
.../services/i18n/HasTranslationContext.java | 31 +
.../applib/services/i18n/LanguageProvider.java | 42 +
.../apache/causeway/applib/services/i18n/Mode.java | 79 +
.../applib/services/i18n/TranslatableString.java | 278 ++
.../applib/services/i18n/TranslationContext.java | 88 +
.../applib/services/i18n/TranslationService.java | 90 +
.../applib/services/i18n/TranslationsResolver.java | 49 +
.../applib/services/i18n/package-info.java | 28 +
.../applib/services/iactn/ActionInvocation.java | 48 +
.../causeway/applib/services/iactn/Execution.java | 349 ++
.../applib/services/iactn/HasInteractionDto.java | 51 +
.../applib/services/iactn/Interaction.java | 89 +
.../applib/services/iactn/InteractionProvider.java | 91 +
.../applib/services/iactn/PropertyEdit.java | 47 +
.../applib/services/iactn/package-info.java | 29 +
.../services/iactnlayer/InteractionContext.java | 181 ++
.../services/iactnlayer/InteractionLayer.java | 57 +
.../iactnlayer/InteractionLayerTracker.java | 85 +
.../services/iactnlayer/InteractionService.java | 215 ++
.../applib/services/inject/ServiceInjector.java | 43 +
.../jaxb/CatalogingSchemaOutputResolver.java | 154 +
.../causeway/applib/services/jaxb/IsisSchemas.java | 58 +
.../causeway/applib/services/jaxb/JaxbService.java | 257 ++
.../services/jaxb/StreamResultWithWriter.java | 47 +
.../applib/services/jaxb/package-info.java | 26 +
.../keyvaluestore/KeyValueSessionStore.java | 80 +
.../applib/services/layout/LayoutExportStyle.java | 60 +
.../applib/services/layout/LayoutService.java | 47 +
.../applib/services/layout/LayoutServiceMenu.java | 124 +
.../applib/services/layout/package-info.java | 27 +
.../applib/services/linking/DeepLinkService.java | 48 +
.../applib/services/linking/package-info.java | 26 +
.../services/locale/LocaleChoiceProvider.java | 33 +
.../services/menu/MenuBarsLoaderService.java | 57 +
.../applib/services/menu/MenuBarsService.java | 87 +
.../applib/services/message/MessageService.java | 188 ++
.../applib/services/message/package-info.java | 26 +
.../applib/services/metamodel/BeanSort.java | 154 +
.../causeway/applib/services/metamodel/Config.java | 77 +
.../applib/services/metamodel/DomainMember.java | 49 +
.../applib/services/metamodel/DomainModel.java | 52 +
.../services/metamodel/MetaModelService.java | 138 +
.../services/metamodel/MetaModelServiceMenu.java | 323 ++
.../applib/services/metamodel/_AsciiExport.java | 118 +
.../applib/services/metamodel/_CsvExport.java | 80 +
.../applib/services/metamodel/_DiffExport.java | 386 +++
.../applib/services/metamodel/package-info.java | 26 +
.../applib/services/metrics/MetricsService.java | 59 +
.../applib/services/metrics/package-info.java | 27 +
.../causeway/applib/services/package-info.java | 24 +
.../placeholder/PlaceholderRenderService.java | 61 +
.../services/publishing/log/CommandLogger.java | 68 +
.../publishing/log/EntityChangesLogger.java | 65 +
.../publishing/log/EntityPropertyChangeLogger.java | 59 +
.../services/publishing/log/ExecutionLogger.java | 67 +
.../applib/services/publishing/package-info.java | 34 +
.../services/publishing/spi/CommandSubscriber.java | 43 +
.../services/publishing/spi/EntityChanges.java | 108 +
.../publishing/spi/EntityChangesSubscriber.java | 55 +
.../publishing/spi/EntityPropertyChange.java | 58 +
.../spi/EntityPropertyChangeSubscriber.java | 52 +
.../publishing/spi/ExecutionSubscriber.java | 72 +
.../queryresultscache/MethodReferences.java | 94 +
.../queryresultscache/QueryResultsCache.java | 248 ++
.../QueryResultsCacheControl.java | 40 +
.../services/queryresultscache/package-info.java | 27 +
.../registry/InstanceByPriorityComparator.java | 72 +
.../applib/services/registry/ServiceRegistry.java | 166 +
.../applib/services/registry/package-info.java | 27 +
.../applib/services/repository/EntityState.java | 128 +
.../services/repository/RepositoryService.java | 414 +++
.../applib/services/repository/package-info.java | 27 +
.../applib/services/routing/RoutingService.java | 84 +
.../applib/services/routing/package-info.java | 26 +
.../applib/services/scratchpad/Scratchpad.java | 51 +
.../applib/services/scratchpad/package-info.java | 26 +
.../applib/services/session/SessionLogger.java | 73 +
.../applib/services/session/SessionSubscriber.java | 66 +
.../applib/services/session/package-info.java | 24 +
.../applib/services/sitemap/SitemapService.java | 30 +
.../services/sitemap/SitemapServiceMenu.java | 89 +
.../causeway/applib/services/sudo/SudoService.java | 132 +
.../applib/services/sudo/SudoServiceListener.java | 40 +
.../causeway/applib/services/swagger/Format.java | 58 +
.../applib/services/swagger/SwaggerService.java | 47 +
.../applib/services/swagger/Visibility.java | 86 +
.../TableColumnOrderForCollectionTypeAbstract.java | 102 +
.../services/tablecol/TableColumnOrderService.java | 102 +
.../tablecol/TableColumnVisibilityService.java | 50 +
.../applib/services/title/TitleService.java | 41 +
.../applib/services/title/package-info.java | 25 +
.../services/urlencoding/UrlEncodingService.java | 107 +
.../applib/services/urlencoding/package-info.java | 29 +
.../applib/services/user/ImpersonateMenu.java | 183 ++
.../services/user/ImpersonateMenuAdvisor.java | 80 +
.../applib/services/user/ImpersonateStopMenu.java | 101 +
.../services/user/ImpersonatedUserHolder.java | 58 +
.../causeway/applib/services/user/RoleMemento.java | 95 +
.../services/user/RoleMemento.layout.fallback.xml | 0
.../applib/services/user/RoleMemento.png | Bin
.../user/UserCurrentSessionTimeZoneHolder.java | 58 +
.../causeway/applib/services/user/UserMemento.java | 361 +++
.../services/user/UserMemento.layout.fallback.xml | 0
.../applib/services/user/UserMemento.png | Bin
.../causeway/applib/services/user/UserService.java | 256 ++
.../services/userreg/EmailNotificationService.java | 63 +
.../applib/services/userreg/UserDetails.java | 45 +
.../services/userreg/UserRegistrationService.java | 64 +
.../userreg/events/EmailEventAbstract.java | 52 +
.../userreg/events/EmailRegistrationEvent.java | 35 +
.../userreg/events/PasswordResetEvent.java | 35 +
.../applib/services/userreg/package-info.java | 27 +
.../causeway/applib/services/userui/UserMenu.java | 81 +
.../applib/services/wrapper/DisabledException.java | 45 +
.../applib/services/wrapper/HiddenException.java | 44 +
.../applib/services/wrapper/InvalidException.java | 44 +
.../causeway/applib/services/wrapper/Mixin.java | 33 +
.../applib/services/wrapper/WrapperFactory.java | 289 ++
.../applib/services/wrapper/WrappingObject.java | 73 +
.../services/wrapper/callable/AsyncCallable.java | 112 +
.../services/wrapper/control/AsyncControl.java | 237 ++
.../services/wrapper/control/ControlAbstract.java | 87 +
.../services/wrapper/control/ExceptionHandler.java | 39 +
.../wrapper/control/ExceptionHandlerAbstract.java | 33 +
.../services/wrapper/control/ExecutionMode.java | 44 +
.../services/wrapper/control/SyncControl.java | 95 +
.../services/wrapper/events/AccessEvent.java | 45 +
.../wrapper/events/ActionArgumentEvent.java | 75 +
.../wrapper/events/ActionInvocationEvent.java | 61 +
.../wrapper/events/ActionUsabilityEvent.java | 39 +
.../wrapper/events/ActionVisibilityEvent.java | 39 +
.../wrapper/events/CollectionAccessEvent.java | 39 +
.../wrapper/events/CollectionMethodEvent.java | 92 +
.../wrapper/events/CollectionUsabilityEvent.java | 39 +
.../wrapper/events/CollectionVisibilityEvent.java | 39 +
.../services/wrapper/events/InteractionEvent.java | 186 ++
.../services/wrapper/events/ObjectTitleEvent.java | 46 +
.../wrapper/events/ObjectValidityEvent.java | 46 +
.../wrapper/events/ObjectVisibilityEvent.java | 39 +
.../services/wrapper/events/ParseValueEvent.java | 61 +
.../wrapper/events/PropertyAccessEvent.java | 47 +
.../wrapper/events/PropertyModifyEvent.java | 54 +
.../wrapper/events/PropertyUsabilityEvent.java | 39 +
.../wrapper/events/PropertyVisibilityEvent.java | 39 +
.../wrapper/events/ProposedHolderEvent.java | 37 +
.../services/wrapper/events/UsabilityEvent.java | 43 +
.../services/wrapper/events/ValidityEvent.java | 60 +
.../services/wrapper/events/VisibilityEvent.java | 44 +
.../services/wrapper/events/package-info.java | 26 +
.../wrapper/listeners/InteractionAdapter.java | 109 +
.../wrapper/listeners/InteractionListener.java | 196 ++
.../applib/services/wrapper/package-info.java | 28 +
.../applib/services/xactn/TransactionId.java | 95 +
.../applib/services/xactn/TransactionService.java | 72 +
.../applib/services/xactn/TransactionState.java | 123 +
.../services/xactn/TransactionalProcessor.java | 112 +
.../applib/services/xactn/package-info.java | 26 +
.../causeway/applib/services/xml/XmlService.java | 58 +
.../causeway/applib/services/xml/package-info.java | 24 +
.../services/xmlsnapshot/XmlSnapshotService.java | 102 +
.../applib/services/xmlsnapshot/package-info.java | 26 +
.../snapshot/SnapshottableWithInclusions.java | 40 +
.../causeway/applib/snapshot/package-info.java | 41 +
.../applib/spec/AbstractSpecification.java | 125 +
.../applib/spec/AbstractSpecification2.java | 130 +
.../apache/causeway/applib/spec/Specification.java | 38 +
.../causeway/applib/spec/Specification2.java | 42 +
.../causeway/applib/spec/SpecificationAnd.java | 66 +
.../causeway/applib/spec/SpecificationNot.java | 63 +
.../causeway/applib/spec/SpecificationOr.java | 70 +
.../apache/causeway/applib/spec/package-info.java | 39 +
.../causeway/applib/types/DescriptionType.java | 33 +
.../applib/types/MemberIdentifierType.java | 41 +
.../causeway/applib/types/TargetActionType.java | 39 +
.../causeway/applib/types/TargetClassType.java | 39 +
.../apache/causeway/applib/types/package-info.java | 23 +
.../org/apache/causeway/applib/util/Enums.java | 111 +
.../org/apache/causeway/applib/util/Equality.java | 75 +
.../org/apache/causeway/applib/util/Hashing.java | 65 +
.../org/apache/causeway/applib/util/JaxbUtil.java | 114 +
.../causeway/applib/util/ObjectContract_Empty.java | 93 +
.../causeway/applib/util/ObjectContract_Impl.java | 103 +
.../applib/util/ObjectContract_Parser.java | 177 +
.../causeway/applib/util/ObjectContracts.java | 190 ++
.../apache/causeway/applib/util/ReasonBuffer.java | 74 +
.../apache/causeway/applib/util/ReasonBuffer2.java | 234 ++
.../org/apache/causeway/applib/util/Reasons.java | 52 +
.../apache/causeway/applib/util/TitleBuffer.java | 479 +++
.../causeway/applib/util/TitleBufferException.java | 50 +
.../org/apache/causeway/applib/util/ToString.java | 122 +
.../org/apache/causeway/applib/util/ZipReader.java | 107 +
.../org/apache/causeway/applib/util/ZipWriter.java | 159 +
.../apache/causeway/applib/util/package-info.java | 40 +
.../applib/util/schema/ChangesDtoUtils.java | 105 +
.../applib/util/schema/CommandDtoUtils.java | 175 +
.../applib/util/schema/CommonDtoUtils.java | 725 +++++
.../applib/util/schema/InteractionDtoUtils.java | 380 +++
.../applib/util/schema/InteractionsDtoUtils.java | 151 +
.../util/schema/MemberExecutionDtoUtils.java | 112 +
.../org/apache/causeway/applib/value/Blob.java | 333 ++
.../org/apache/causeway/applib/value/Clob.java | 250 ++
.../causeway/applib/value/LocalResourcePath.java | 143 +
.../org/apache/causeway/applib/value/Markup.java | 110 +
.../causeway/applib/value/NamedWithMimeType.java | 212 ++
.../causeway/applib/value/OpenUrlStrategy.java | 39 +
.../org/apache/causeway/applib/value/Password.java | 88 +
.../apache/causeway/applib/value/package-info.java | 31 +
.../causeway/applib/value/semantics/Converter.java | 41 +
.../applib/value/semantics/DefaultsProvider.java | 55 +
.../applib/value/semantics/OrderRelation.java | 70 +
.../causeway/applib/value/semantics/Parser.java | 109 +
.../applib/value/semantics/ParsingException.java | 46 +
.../causeway/applib/value/semantics/Renderer.java | 60 +
.../value/semantics/TemporalValueSemantics.java | 356 +++
.../applib/value/semantics/ValueDecomposition.java | 80 +
.../value/semantics/ValueSemanticsAbstract.java | 384 +++
.../ValueSemanticsBasedOnIdStringifier.java | 65 +
...emanticsBasedOnIdStringifierEntityAgnostic.java | 102 +
.../value/semantics/ValueSemanticsProvider.java | 153 +
.../value/semantics/ValueSemanticsResolver.java | 44 +
.../applib/value/semantics/package-info.java | 46 +
.../java/org/apache/isis/applib/Identifier.java | 332 --
.../org/apache/isis/applib/IsisModuleApplib.java | 149 -
.../IsisModuleApplibChangeAndExecutionLoggers.java | 47 -
.../apache/isis/applib/IsisModuleApplibMixins.java | 47 -
.../java/org/apache/isis/applib/ViewModel.java | 41 -
.../org/apache/isis/applib/annotation/Action.java | 233 --
.../isis/applib/annotation/ActionLayout.java | 265 --
.../isis/applib/annotation/BookmarkPolicy.java | 54 -
.../apache/isis/applib/annotation/Bounding.java | 30 -
.../apache/isis/applib/annotation/Collection.java | 108 -
.../isis/applib/annotation/CollectionLayout.java | 179 --
.../applib/annotation/DependentDefaultsPolicy.java | 55 -
.../org/apache/isis/applib/annotation/Domain.java | 84 -
.../isis/applib/annotation/DomainObject.java | 435 ---
.../isis/applib/annotation/DomainObjectLayout.java | 215 --
.../isis/applib/annotation/DomainService.java | 95 -
.../applib/annotation/DomainServiceLayout.java | 83 -
.../org/apache/isis/applib/annotation/Editing.java | 52 -
.../isis/applib/annotation/EntityChangeKind.java | 29 -
.../apache/isis/applib/annotation/HomePage.java | 42 -
.../isis/applib/annotation/InteractionScope.java | 53 -
.../isis/applib/annotation/Introspection.java | 225 --
.../isis/applib/annotation/LabelPosition.java | 50 -
.../isis/applib/annotation/LogicalTypeName.java | 51 -
.../isis/applib/annotation/MemberSupport.java | 50 -
.../apache/isis/applib/annotation/MinLength.java | 37 -
.../org/apache/isis/applib/annotation/Module.java | 60 -
.../org/apache/isis/applib/annotation/Nature.java | 104 -
.../isis/applib/annotation/NatureOfService.java | 60 -
.../apache/isis/applib/annotation/Navigable.java | 40 -
.../isis/applib/annotation/ObjectLifecycle.java | 50 -
.../isis/applib/annotation/ObjectSupport.java | 50 -
.../apache/isis/applib/annotation/Optionality.java | 70 -
.../apache/isis/applib/annotation/Parameter.java | 150 -
.../isis/applib/annotation/ParameterLayout.java | 130 -
.../isis/applib/annotation/PriorityPrecedence.java | 82 -
.../isis/applib/annotation/Programmatic.java | 54 -
.../apache/isis/applib/annotation/Projecting.java | 38 -
.../apache/isis/applib/annotation/PromptStyle.java | 91 -
.../apache/isis/applib/annotation/Property.java | 295 --
.../isis/applib/annotation/PropertyLayout.java | 259 --
.../apache/isis/applib/annotation/Publishing.java | 70 -
.../apache/isis/applib/annotation/Redirect.java | 48 -
.../apache/isis/applib/annotation/Repainting.java | 45 -
.../apache/isis/applib/annotation/RestrictTo.java | 33 -
.../apache/isis/applib/annotation/SemanticsOf.java | 148 -
.../apache/isis/applib/annotation/Snapshot.java | 48 -
.../isis/applib/annotation/TableDecoration.java | 60 -
.../isis/applib/annotation/TimePrecision.java | 59 -
.../applib/annotation/TimeZoneTranslation.java | 44 -
.../org/apache/isis/applib/annotation/Title.java | 67 -
.../org/apache/isis/applib/annotation/Value.java | 58 -
.../isis/applib/annotation/ValueSemantics.java | 178 --
.../org/apache/isis/applib/annotation/Where.java | 225 --
.../isis/applib/annotation/package-info.java | 23 -
.../client/RepresentationTypeSimplifiedV2.java | 143 -
.../apache/isis/applib/client/SuppressionType.java | 100 -
.../org/apache/isis/applib/clock/VirtualClock.java | 381 ---
.../isis/applib/clock/VirtualClock_frozen.java | 66 -
.../isis/applib/clock/VirtualClock_system.java | 57 -
.../isis/applib/clock/VirtualClock_withOffset.java | 70 -
.../isis/applib/domain/DomainObjectList.java | 194 --
.../events/ActionArgumentUsabilityEvent.java | 61 -
.../events/ActionArgumentVisibilityEvent.java | 61 -
.../apache/isis/applib/events/EventObjectBase.java | 79 -
.../applib/events/domain/AbstractDomainEvent.java | 498 ---
.../applib/events/domain/ActionDomainEvent.java | 232 --
.../events/domain/CollectionDomainEvent.java | 104 -
.../applib/events/domain/PropertyDomainEvent.java | 156 -
.../events/lifecycle/AbstractLifecycleEvent.java | 39 -
.../events/lifecycle/ObjectCreatedEvent.java | 67 -
.../applib/events/lifecycle/ObjectLoadedEvent.java | 63 -
.../events/lifecycle/ObjectPersistedEvent.java | 63 -
.../events/lifecycle/ObjectPersistingEvent.java | 62 -
.../events/lifecycle/ObjectRemovingEvent.java | 63 -
.../events/lifecycle/ObjectUpdatedEvent.java | 60 -
.../events/lifecycle/ObjectUpdatingEvent.java | 60 -
.../applib/events/metamodel/MetamodelEvent.java | 34 -
.../applib/events/metamodel/MetamodelListener.java | 84 -
.../isis/applib/events/ui/AbstractUiEvent.java | 61 -
.../isis/applib/events/ui/CssClassUiEvent.java | 104 -
.../apache/isis/applib/events/ui/IconUiEvent.java | 124 -
.../isis/applib/events/ui/LayoutUiEvent.java | 104 -
.../apache/isis/applib/events/ui/TitleUiEvent.java | 133 -
.../applib/exceptions/RecoverableException.java | 107 -
.../applib/exceptions/TranslatableException.java | 49 -
.../applib/exceptions/UnrecoverableException.java | 100 -
.../recoverable/InteractionException.java | 68 -
.../recoverable/InvalidEntryException.java | 41 -
.../recoverable/TextEntryParseException.java | 42 -
.../unrecoverable/DomainModelException.java | 44 -
.../unrecoverable/MetaModelException.java | 41 -
.../unrecoverable/NoAuthenticatorException.java | 44 -
.../unrecoverable/ObjectNotFoundException.java | 39 -
.../unrecoverable/ObjectPersistenceException.java | 40 -
.../unrecoverable/PersistFailedException.java | 54 -
.../unrecoverable/ReflectiveActionException.java | 41 -
.../unrecoverable/RepositoryException.java | 52 -
.../unrecoverable/UnexpectedCallException.java | 36 -
.../unrecoverable/UnknownTypeException.java | 37 -
.../java/org/apache/isis/applib/graph/Edge.java | 31 -
.../org/apache/isis/applib/graph/SimpleEdge.java | 42 -
.../java/org/apache/isis/applib/graph/Vertex.java | 39 -
.../apache/isis/applib/graph/tree/TreeAdapter.java | 57 -
.../apache/isis/applib/graph/tree/TreeNode.java | 303 --
.../graph/tree/TreeNode_iteratorBreadthFirst.java | 60 -
.../graph/tree/TreeNode_iteratorDepthFirst.java | 71 -
.../graph/tree/TreeNode_iteratorHierarchyUp.java | 53 -
.../apache/isis/applib/graph/tree/TreePath.java | 60 -
.../isis/applib/graph/tree/TreePath_Default.java | 90 -
.../apache/isis/applib/graph/tree/TreeState.java | 35 -
.../isis/applib/graph/tree/TreeState_Default.java | 34 -
.../org/apache/isis/applib/id/HasLogicalType.java | 35 -
.../org/apache/isis/applib/id/LogicalType.java | 360 ---
.../apache/isis/applib/jaxb/DataTypeFactory.java | 58 -
.../isis/applib/jaxb/JavaSqlJaxbAdapters.java | 82 -
.../JavaSqlXMLGregorianCalendarMarshalling.java | 66 -
.../isis/applib/jaxb/JavaTimeJaxbAdapters.java | 169 -
.../JavaTimeXMLGregorianCalendarMarshalling.java | 156 -
.../isis/applib/jaxb/JavaUtilJaxbAdapters.java | 54 -
.../applib/jaxb/PersistentEntitiesAdapter.java | 67 -
.../isis/applib/jaxb/PersistentEntityAdapter.java | 50 -
.../isis/applib/jaxb/PrimitiveJaxbAdapters.java | 49 -
.../apache/isis/applib/layout/LayoutConstants.java | 139 -
.../applib/layout/component/ActionLayoutData.java | 282 --
.../layout/component/ActionLayoutDataOwner.java | 29 -
.../layout/component/CollectionLayoutData.java | 278 --
.../component/CollectionLayoutDataOwner.java | 28 -
.../layout/component/CssClassFaPosition.java | 35 -
.../layout/component/DomainObjectLayoutData.java | 238 --
.../component/DomainObjectLayoutDataOwner.java | 28 -
.../isis/applib/layout/component/FieldSet.java | 208 --
.../applib/layout/component/FieldSetOwner.java | 28 -
.../applib/layout/component/HasBookmarking.java | 32 -
.../isis/applib/layout/component/HasCssClass.java | 30 -
.../applib/layout/component/HasCssClassFa.java | 36 -
.../applib/layout/component/HasDescribedAs.java | 32 -
.../isis/applib/layout/component/HasHidden.java | 34 -
.../isis/applib/layout/component/HasNamed.java | 32 -
.../isis/applib/layout/component/MemberRegion.java | 35 -
.../applib/layout/component/MemberRegionOwner.java | 26 -
.../apache/isis/applib/layout/component/Owned.java | 26 -
.../apache/isis/applib/layout/component/Owner.java | 26 -
.../layout/component/PropertyLayoutData.java | 289 --
.../layout/component/ServiceActionLayoutData.java | 249 --
.../component/ServiceActionLayoutDataOwner.java | 29 -
.../applib/layout/component/TableDecoration.java | 31 -
.../isis/applib/layout/component/package-info.java | 39 -
.../org/apache/isis/applib/layout/grid/Grid.java | 97 -
.../isis/applib/layout/grid/GridAbstract.java | 210 --
.../applib/layout/grid/bootstrap/BSClearFix.java | 55 -
.../layout/grid/bootstrap/BSClearFixHidden.java | 49 -
.../layout/grid/bootstrap/BSClearFixVisible.java | 65 -
.../isis/applib/layout/grid/bootstrap/BSCol.java | 285 --
.../applib/layout/grid/bootstrap/BSElement.java | 38 -
.../layout/grid/bootstrap/BSElementAbstract.java | 52 -
.../isis/applib/layout/grid/bootstrap/BSGrid.java | 305 --
.../isis/applib/layout/grid/bootstrap/BSRow.java | 142 -
.../applib/layout/grid/bootstrap/BSRowContent.java | 81 -
.../layout/grid/bootstrap/BSRowContentOwner.java | 28 -
.../applib/layout/grid/bootstrap/BSRowOwner.java | 31 -
.../isis/applib/layout/grid/bootstrap/BSTab.java | 179 --
.../applib/layout/grid/bootstrap/BSTabGroup.java | 140 -
.../layout/grid/bootstrap/BSTabGroupOwner.java | 31 -
.../applib/layout/grid/bootstrap/BSTabOwner.java | 31 -
.../applib/layout/grid/bootstrap/HasCssId.java | 31 -
.../isis/applib/layout/grid/bootstrap/Size.java | 37 -
.../applib/layout/grid/bootstrap/SizeSpan.java | 114 -
.../applib/layout/grid/bootstrap/WithinGrid.java | 30 -
.../applib/layout/grid/bootstrap/package-info.java | 37 -
.../org/apache/isis/applib/layout/links/Link.java | 96 -
.../isis/applib/layout/links/package-info.java | 38 -
.../isis/applib/layout/menubars/HasNamed.java | 31 -
.../apache/isis/applib/layout/menubars/Menu.java | 26 -
.../isis/applib/layout/menubars/MenuBar.java | 26 -
.../isis/applib/layout/menubars/MenuBars.java | 52 -
.../applib/layout/menubars/MenuBarsAbstract.java | 71 -
.../isis/applib/layout/menubars/MenuSection.java | 33 -
.../applib/layout/menubars/bootstrap/BSMenu.java | 113 -
.../layout/menubars/bootstrap/BSMenuBar.java | 64 -
.../layout/menubars/bootstrap/BSMenuBars.java | 228 --
.../layout/menubars/bootstrap/BSMenuSection.java | 79 -
.../layout/menubars/bootstrap/package-info.java | 38 -
.../apache/isis/applib/layout/package-info.java | 25 -
.../org/apache/isis/applib/locale/UserLocale.java | 67 -
.../org/apache/isis/applib/mixins/dto/Dto.java | 48 -
.../isis/applib/mixins/dto/DtoMixinConstants.java | 32 -
.../isis/applib/mixins/dto/Dto_downloadXml.java | 83 -
.../isis/applib/mixins/dto/Dto_downloadXsd.java | 141 -
.../isis/applib/mixins/dto/package-info.java | 28 -
.../mixins/layout/Object_downloadLayoutXml.java | 96 -
.../metamodel/Object_downloadMetamodelXml.java | 121 -
.../mixins/metamodel/Object_logicalTypeName.java | 86 -
.../mixins/metamodel/Object_objectIdentifier.java | 86 -
.../mixins/metamodel/Object_rebuildMetamodel.java | 72 -
.../applib/mixins/rest/Object_openRestApi.java | 87 -
.../isis/applib/mixins/security/HasUsername.java | 72 -
.../applib/mixins/system/DomainChangeRecord.java | 335 --
.../applib/mixins/system/HasInteractionId.java | 62 -
.../mixins/system/HasInteractionIdAndSequence.java | 93 -
.../mixins/system/HasTarget_openTargetObject.java | 83 -
.../isis/applib/mixins/updates/OnUpdatedAt.java | 32 -
.../isis/applib/mixins/updates/OnUpdatedBy.java | 41 -
.../applib/mixins/updates/OnUpdatedByAndAt.java | 31 -
.../isis/applib/query/AllInstancesQuery.java | 26 -
.../org/apache/isis/applib/query/NamedQuery.java | 41 -
.../java/org/apache/isis/applib/query/Query.java | 97 -
.../org/apache/isis/applib/query/QueryRange.java | 136 -
.../applib/query/_AllInstancesQueryDefault.java | 48 -
.../isis/applib/query/_NamedQueryDefault.java | 83 -
.../apache/isis/applib/query/_QueryAbstract.java | 33 -
.../isis/applib/query/_QueryRangeDefault.java | 87 -
.../services/acceptheader/AcceptHeaderService.java | 47 -
.../services/appfeat/ApplicationFeature.java | 111 -
.../services/appfeat/ApplicationFeatureId.java | 453 ---
.../appfeat/ApplicationFeatureRepository.java | 55 -
.../services/appfeat/ApplicationFeatureSort.java | 69 -
.../services/appfeat/ApplicationMemberSort.java | 35 -
.../isis/applib/services/appfeat/package-info.java | 27 -
.../services/appfeatui/ApplicationFeatureMenu.java | 175 -
.../appfeatui/ApplicationFeatureViewModel.java | 416 ---
.../services/appfeatui/ApplicationNamespace.java | 86 -
.../applib/services/appfeatui/ApplicationType.java | 135 -
.../services/appfeatui/ApplicationTypeAction.java | 110 -
.../appfeatui/ApplicationTypeCollection.java | 107 -
.../services/appfeatui/ApplicationTypeMember.java | 88 -
.../appfeatui/ApplicationTypeProperty.java | 178 --
.../isis/applib/services/bookmark/Bookmark.java | 234 --
.../applib/services/bookmark/BookmarkHolder.java | 38 -
.../services/bookmark/BookmarkHolder_lookup.java | 56 -
.../services/bookmark/BookmarkHolder_object.java | 51 -
.../applib/services/bookmark/BookmarkService.java | 94 -
.../isis/applib/services/bookmark/HasTarget.java | 54 -
.../applib/services/bookmark/IdStringifier.java | 186 --
.../apache/isis/applib/services/bookmark/Oid.java | 47 -
.../idstringifiers/PredefinedSerializables.java | 87 -
.../applib/services/bookmark/package-info.java | 27 -
.../services/bookmarkui/BookmarkUiService.java | 32 -
.../isis/applib/services/clock/ClockService.java | 68 -
.../isis/applib/services/command/Command.java | 376 ---
.../services/command/CommandExecutorService.java | 165 -
.../services/command/CommandOutcomeHandler.java | 71 -
.../isis/applib/services/command/package-info.java | 19 -
.../applib/services/commanddto/HasCommandDto.java | 56 -
.../conmap/ContentMappingServiceForCommandDto.java | 112 -
.../ContentMappingServiceForCommandsDto.java | 100 -
.../services/commanddto/conmap/UserDataKeys.java | 35 -
.../commanddto/processor/CommandDtoProcessor.java | 57 -
.../CommandDtoProcessorForActionAbstract.java | 40 -
.../CommandDtoProcessorForPropertyAbstract.java | 34 -
.../processor/spi/CommandDtoProcessorService.java | 64 -
.../spi/CommandDtoProcessorServiceIdentity.java | 45 -
.../services/confview/ConfigurationMenu.java | 77 -
.../services/confview/ConfigurationProperty.java | 78 -
.../confview/ConfigurationViewService.java | 44 -
.../services/confview/ConfigurationViewmodel.java | 67 -
.../applib/services/confview/package-info.java | 26 -
.../services/conmap/ContentMappingService.java | 68 -
.../isis/applib/services/conmap/package-info.java | 27 -
.../isis/applib/services/email/EmailService.java | 65 -
.../isis/applib/services/email/package-info.java | 26 -
.../isis/applib/services/error/ErrorDetails.java | 86 -
.../services/error/ErrorReportingService.java | 55 -
.../isis/applib/services/error/SimpleTicket.java | 135 -
.../apache/isis/applib/services/error/Ticket.java | 87 -
.../isis/applib/services/error/package-info.java | 28 -
.../applib/services/eventbus/EventBusService.java | 47 -
.../applib/services/eventbus/package-info.java | 26 -
.../isis/applib/services/exceprecog/Category.java | 71 -
.../services/exceprecog/ExceptionRecognizer.java | 73 -
.../exceprecog/ExceptionRecognizerAbstract.java | 143 -
.../exceprecog/ExceptionRecognizerForType.java | 130 -
.../exceprecog/ExceptionRecognizerService.java | 62 -
.../applib/services/exceprecog/Recognition.java | 140 -
.../services/exceprecog/RootCauseFinder.java | 36 -
.../applib/services/exceprecog/package-info.java | 28 -
.../applib/services/factory/FactoryService.java | 167 -
.../isis/applib/services/factory/package-info.java | 26 -
.../applib/services/grid/GridLoaderService.java | 85 -
.../isis/applib/services/grid/GridService.java | 178 --
.../applib/services/grid/GridSystemService.java | 135 -
.../isis/applib/services/grid/package-info.java | 26 -
.../apache/isis/applib/services/health/Health.java | 46 -
.../applib/services/health/HealthCheckService.java | 46 -
.../isis/applib/services/hint/HintIdProvider.java | 45 -
.../isis/applib/services/hint/HintStore.java | 101 -
.../isis/applib/services/hint/package-info.java | 28 -
.../services/homepage/HomePageResolverService.java | 33 -
.../applib/services/homepage/package-info.java | 24 -
.../services/i18n/HasTranslationContext.java | 31 -
.../applib/services/i18n/LanguageProvider.java | 42 -
.../org/apache/isis/applib/services/i18n/Mode.java | 79 -
.../applib/services/i18n/TranslatableString.java | 277 --
.../applib/services/i18n/TranslationContext.java | 89 -
.../applib/services/i18n/TranslationService.java | 90 -
.../applib/services/i18n/TranslationsResolver.java | 49 -
.../isis/applib/services/i18n/package-info.java | 28 -
.../applib/services/iactn/ActionInvocation.java | 48 -
.../isis/applib/services/iactn/Execution.java | 348 --
.../applib/services/iactn/HasInteractionDto.java | 51 -
.../isis/applib/services/iactn/Interaction.java | 88 -
.../applib/services/iactn/InteractionProvider.java | 90 -
.../isis/applib/services/iactn/PropertyEdit.java | 47 -
.../isis/applib/services/iactn/package-info.java | 29 -
.../services/iactnlayer/InteractionContext.java | 181 --
.../services/iactnlayer/InteractionLayer.java | 57 -
.../iactnlayer/InteractionLayerTracker.java | 84 -
.../services/iactnlayer/InteractionService.java | 215 --
.../applib/services/inject/ServiceInjector.java | 43 -
.../jaxb/CatalogingSchemaOutputResolver.java | 155 -
.../isis/applib/services/jaxb/IsisSchemas.java | 58 -
.../isis/applib/services/jaxb/JaxbService.java | 258 --
.../services/jaxb/StreamResultWithWriter.java | 47 -
.../isis/applib/services/jaxb/package-info.java | 26 -
.../keyvaluestore/KeyValueSessionStore.java | 80 -
.../applib/services/layout/LayoutExportStyle.java | 60 -
.../isis/applib/services/layout/LayoutService.java | 47 -
.../applib/services/layout/LayoutServiceMenu.java | 123 -
.../isis/applib/services/layout/package-info.java | 27 -
.../applib/services/linking/DeepLinkService.java | 48 -
.../isis/applib/services/linking/package-info.java | 26 -
.../services/locale/LocaleChoiceProvider.java | 33 -
.../services/menu/MenuBarsLoaderService.java | 57 -
.../isis/applib/services/menu/MenuBarsService.java | 86 -
.../applib/services/message/MessageService.java | 188 --
.../isis/applib/services/message/package-info.java | 26 -
.../isis/applib/services/metamodel/BeanSort.java | 154 -
.../isis/applib/services/metamodel/Config.java | 77 -
.../applib/services/metamodel/DomainMember.java | 49 -
.../applib/services/metamodel/DomainModel.java | 53 -
.../services/metamodel/MetaModelService.java | 138 -
.../services/metamodel/MetaModelServiceMenu.java | 322 --
.../applib/services/metamodel/_AsciiExport.java | 118 -
.../isis/applib/services/metamodel/_CsvExport.java | 80 -
.../applib/services/metamodel/_DiffExport.java | 385 ---
.../applib/services/metamodel/package-info.java | 26 -
.../applib/services/metrics/MetricsService.java | 59 -
.../isis/applib/services/metrics/package-info.java | 27 -
.../apache/isis/applib/services/package-info.java | 24 -
.../placeholder/PlaceholderRenderService.java | 61 -
.../services/publishing/log/CommandLogger.java | 68 -
.../publishing/log/EntityChangesLogger.java | 65 -
.../publishing/log/EntityPropertyChangeLogger.java | 59 -
.../services/publishing/log/ExecutionLogger.java | 67 -
.../applib/services/publishing/package-info.java | 34 -
.../services/publishing/spi/CommandSubscriber.java | 42 -
.../services/publishing/spi/EntityChanges.java | 108 -
.../publishing/spi/EntityChangesSubscriber.java | 54 -
.../publishing/spi/EntityPropertyChange.java | 58 -
.../spi/EntityPropertyChangeSubscriber.java | 51 -
.../publishing/spi/ExecutionSubscriber.java | 71 -
.../queryresultscache/MethodReferences.java | 94 -
.../queryresultscache/QueryResultsCache.java | 248 --
.../QueryResultsCacheControl.java | 40 -
.../services/queryresultscache/package-info.java | 27 -
.../registry/InstanceByPriorityComparator.java | 72 -
.../applib/services/registry/ServiceRegistry.java | 165 -
.../applib/services/registry/package-info.java | 27 -
.../applib/services/repository/EntityState.java | 128 -
.../services/repository/RepositoryService.java | 414 ---
.../applib/services/repository/package-info.java | 27 -
.../applib/services/routing/RoutingService.java | 84 -
.../isis/applib/services/routing/package-info.java | 26 -
.../applib/services/scratchpad/Scratchpad.java | 51 -
.../applib/services/scratchpad/package-info.java | 26 -
.../applib/services/session/SessionLogger.java | 73 -
.../applib/services/session/SessionSubscriber.java | 66 -
.../isis/applib/services/session/package-info.java | 24 -
.../applib/services/sitemap/SitemapService.java | 30 -
.../services/sitemap/SitemapServiceMenu.java | 88 -
.../isis/applib/services/sudo/SudoService.java | 132 -
.../applib/services/sudo/SudoServiceListener.java | 40 -
.../isis/applib/services/swagger/Format.java | 58 -
.../applib/services/swagger/SwaggerService.java | 47 -
.../isis/applib/services/swagger/Visibility.java | 86 -
.../TableColumnOrderForCollectionTypeAbstract.java | 102 -
.../services/tablecol/TableColumnOrderService.java | 102 -
.../tablecol/TableColumnVisibilityService.java | 50 -
.../isis/applib/services/title/TitleService.java | 41 -
.../isis/applib/services/title/package-info.java | 25 -
.../services/urlencoding/UrlEncodingService.java | 107 -
.../applib/services/urlencoding/package-info.java | 29 -
.../isis/applib/services/user/ImpersonateMenu.java | 183 --
.../services/user/ImpersonateMenuAdvisor.java | 80 -
.../applib/services/user/ImpersonateStopMenu.java | 101 -
.../services/user/ImpersonatedUserHolder.java | 58 -
.../isis/applib/services/user/RoleMemento.java | 95 -
.../user/UserCurrentSessionTimeZoneHolder.java | 58 -
.../isis/applib/services/user/UserMemento.java | 361 ---
.../isis/applib/services/user/UserService.java | 256 --
.../services/userreg/EmailNotificationService.java | 63 -
.../isis/applib/services/userreg/UserDetails.java | 45 -
.../services/userreg/UserRegistrationService.java | 64 -
.../userreg/events/EmailEventAbstract.java | 52 -
.../userreg/events/EmailRegistrationEvent.java | 35 -
.../userreg/events/PasswordResetEvent.java | 35 -
.../isis/applib/services/userreg/package-info.java | 27 -
.../isis/applib/services/userui/UserMenu.java | 81 -
.../applib/services/wrapper/DisabledException.java | 45 -
.../applib/services/wrapper/HiddenException.java | 44 -
.../applib/services/wrapper/InvalidException.java | 44 -
.../apache/isis/applib/services/wrapper/Mixin.java | 33 -
.../applib/services/wrapper/WrapperFactory.java | 289 --
.../applib/services/wrapper/WrappingObject.java | 72 -
.../services/wrapper/callable/AsyncCallable.java | 112 -
.../services/wrapper/control/AsyncControl.java | 236 --
.../services/wrapper/control/ControlAbstract.java | 86 -
.../services/wrapper/control/ExceptionHandler.java | 39 -
.../wrapper/control/ExceptionHandlerAbstract.java | 33 -
.../services/wrapper/control/ExecutionMode.java | 44 -
.../services/wrapper/control/SyncControl.java | 95 -
.../services/wrapper/events/AccessEvent.java | 45 -
.../wrapper/events/ActionArgumentEvent.java | 75 -
.../wrapper/events/ActionInvocationEvent.java | 61 -
.../wrapper/events/ActionUsabilityEvent.java | 39 -
.../wrapper/events/ActionVisibilityEvent.java | 39 -
.../wrapper/events/CollectionAccessEvent.java | 39 -
.../wrapper/events/CollectionMethodEvent.java | 92 -
.../wrapper/events/CollectionUsabilityEvent.java | 39 -
.../wrapper/events/CollectionVisibilityEvent.java | 39 -
.../services/wrapper/events/InteractionEvent.java | 185 --
.../services/wrapper/events/ObjectTitleEvent.java | 46 -
.../wrapper/events/ObjectValidityEvent.java | 46 -
.../wrapper/events/ObjectVisibilityEvent.java | 39 -
.../services/wrapper/events/ParseValueEvent.java | 61 -
.../wrapper/events/PropertyAccessEvent.java | 47 -
.../wrapper/events/PropertyModifyEvent.java | 54 -
.../wrapper/events/PropertyUsabilityEvent.java | 39 -
.../wrapper/events/PropertyVisibilityEvent.java | 39 -
.../wrapper/events/ProposedHolderEvent.java | 37 -
.../services/wrapper/events/UsabilityEvent.java | 43 -
.../services/wrapper/events/ValidityEvent.java | 60 -
.../services/wrapper/events/VisibilityEvent.java | 44 -
.../services/wrapper/events/package-info.java | 26 -
.../wrapper/listeners/InteractionAdapter.java | 109 -
.../wrapper/listeners/InteractionListener.java | 196 --
.../isis/applib/services/wrapper/package-info.java | 28 -
.../isis/applib/services/xactn/TransactionId.java | 95 -
.../applib/services/xactn/TransactionService.java | 72 -
.../applib/services/xactn/TransactionState.java | 123 -
.../services/xactn/TransactionalProcessor.java | 113 -
.../isis/applib/services/xactn/package-info.java | 26 -
.../isis/applib/services/xml/XmlService.java | 58 -
.../isis/applib/services/xml/package-info.java | 24 -
.../services/xmlsnapshot/XmlSnapshotService.java | 102 -
.../applib/services/xmlsnapshot/package-info.java | 26 -
.../snapshot/SnapshottableWithInclusions.java | 40 -
.../apache/isis/applib/snapshot/package-info.java | 41 -
.../isis/applib/spec/AbstractSpecification.java | 124 -
.../isis/applib/spec/AbstractSpecification2.java | 129 -
.../org/apache/isis/applib/spec/Specification.java | 38 -
.../apache/isis/applib/spec/Specification2.java | 42 -
.../apache/isis/applib/spec/SpecificationAnd.java | 66 -
.../apache/isis/applib/spec/SpecificationNot.java | 63 -
.../apache/isis/applib/spec/SpecificationOr.java | 70 -
.../org/apache/isis/applib/spec/package-info.java | 39 -
.../apache/isis/applib/types/DescriptionType.java | 33 -
.../isis/applib/types/MemberIdentifierType.java | 41 -
.../apache/isis/applib/types/TargetActionType.java | 39 -
.../apache/isis/applib/types/TargetClassType.java | 39 -
.../org/apache/isis/applib/types/package-info.java | 23 -
.../java/org/apache/isis/applib/util/Enums.java | 112 -
.../java/org/apache/isis/applib/util/Equality.java | 75 -
.../java/org/apache/isis/applib/util/Hashing.java | 65 -
.../java/org/apache/isis/applib/util/JaxbUtil.java | 114 -
.../isis/applib/util/ObjectContract_Empty.java | 93 -
.../isis/applib/util/ObjectContract_Impl.java | 103 -
.../isis/applib/util/ObjectContract_Parser.java | 177 -
.../apache/isis/applib/util/ObjectContracts.java | 190 --
.../org/apache/isis/applib/util/ReasonBuffer.java | 74 -
.../org/apache/isis/applib/util/ReasonBuffer2.java | 234 --
.../java/org/apache/isis/applib/util/Reasons.java | 52 -
.../org/apache/isis/applib/util/TitleBuffer.java | 478 ---
.../isis/applib/util/TitleBufferException.java | 50 -
.../java/org/apache/isis/applib/util/ToString.java | 122 -
.../org/apache/isis/applib/util/ZipReader.java | 107 -
.../org/apache/isis/applib/util/ZipWriter.java | 160 -
.../org/apache/isis/applib/util/package-info.java | 40 -
.../isis/applib/util/schema/ChangesDtoUtils.java | 104 -
.../isis/applib/util/schema/CommandDtoUtils.java | 174 -
.../isis/applib/util/schema/CommonDtoUtils.java | 725 -----
.../applib/util/schema/InteractionDtoUtils.java | 379 ---
.../applib/util/schema/InteractionsDtoUtils.java | 150 -
.../util/schema/MemberExecutionDtoUtils.java | 111 -
.../java/org/apache/isis/applib/value/Blob.java | 332 --
.../java/org/apache/isis/applib/value/Clob.java | 249 --
.../isis/applib/value/LocalResourcePath.java | 143 -
.../java/org/apache/isis/applib/value/Markup.java | 109 -
.../isis/applib/value/NamedWithMimeType.java | 212 --
.../apache/isis/applib/value/OpenUrlStrategy.java | 39 -
.../org/apache/isis/applib/value/Password.java | 88 -
.../org/apache/isis/applib/value/package-info.java | 31 -
.../isis/applib/value/semantics/Converter.java | 41 -
.../applib/value/semantics/DefaultsProvider.java | 55 -
.../isis/applib/value/semantics/OrderRelation.java | 70 -
.../apache/isis/applib/value/semantics/Parser.java | 110 -
.../applib/value/semantics/ParsingException.java | 46 -
.../isis/applib/value/semantics/Renderer.java | 60 -
.../value/semantics/TemporalValueSemantics.java | 355 --
.../applib/value/semantics/ValueDecomposition.java | 79 -
.../value/semantics/ValueSemanticsAbstract.java | 384 ---
.../ValueSemanticsBasedOnIdStringifier.java | 64 -
...emanticsBasedOnIdStringifierEntityAgnostic.java | 101 -
.../value/semantics/ValueSemanticsProvider.java | 153 -
.../value/semantics/ValueSemanticsResolver.java | 43 -
.../isis/applib/value/semantics/package-info.java | 46 -
.../apache/causeway/applib/IdentifierTests.java | 70 +
.../apache/causeway/applib/SomeDomainClass.java | 23 +
.../client/RepresentationTypeSimplifiedV2Test.java | 43 +
.../causeway/applib/clock/VirtualClock_Test.java | 211 ++
.../reflection/ReflectSampleForTesting.java | 36 +
.../commons/internal/reflection/ReflectTest.java | 138 +
.../applib/events/InteractionEventTest.java | 146 +
.../causeway/applib/graph/tree/TreePathTest.java | 48 +
.../apache/causeway/applib/id/LogicalTypeTest.java | 79 +
.../applib/id/LogicalTypeTest_valueSemantics.java | 46 +
...Adapters_LocalDateTimeToStringAdapter_Test.java | 32 +
...JaxbAdapters_LocalDateToStringAdapter_Test.java | 32 +
...dapters_OffsetDateTimeToStringAdapter_Test.java | 33 +
...avaTimeJaxbAdapters_OffsetTimeAdapter_Test.java | 34 +
...TimeJaxbAdapters_ZonedDateTimeAdapter_Test.java | 33 +
.../JavaTmeJaxbAdapters_LocalTimeAdapter_Test.java | 32 +
.../jaxbadapters/JaxbXmlAdaptersContractTest.java | 68 +
.../PrimitiveAdapters_BytesAdapter_Test.java | 30 +
...ropertyLayoutData_renderedAsDayBefore_Test.java | 55 +
.../component/PropertyLayoutData_repaint_Test.java | 61 +
.../applib/layout/grid/bootstrap/BSColTest.java | 63 +
.../applib/layout/grid/bootstrap/SizeSpanTest.java | 62 +
.../bootstrap/BSMenuBars_roundtrip_Test.java | 85 +
.../NamedQueryTest_withStart_or_withCount.java | 150 +
.../appfeat/ApplicationMemberTypeTest.java | 36 +
.../applib/services/bookmark/BookmarkTest.java | 75 +
.../eventbus/AbstractDomainEvent_veto_Test.java | 179 ++
.../exceprecog/ExceptionRecognizerForTypeTest.java | 68 +
.../exceprecog/ExceptionRecognizerGeneralTest.java | 61 +
.../services/i18n/TranslatableStringTest.java | 140 +
.../InteractionContext_combine_Test.java | 43 +
.../applib/services/iactnlayer/TryTest.java | 184 ++
.../applib/services/jaxb/JaxbServiceTest.java | 81 +
.../metamodel/MetaModelService_Config_Test.java | 58 +
.../QueryResultsCache_KeyTest.java | 40 +
.../applib/services/user/UserMemento_Test.java | 311 ++
.../wrapper/control/AsyncControl_Test.java | 117 +
.../services/wrapper/control/SyncControl_Test.java | 106 +
.../applib/spec/AbstractSpecification2Test.java | 91 +
.../applib/spec/AbstractSpecificationTest.java | 96 +
.../org/apache/causeway/applib/util/EnumsTest.java | 42 +
.../causeway/applib/util/EnumsTest_converts.java | 45 +
.../org/apache/causeway/applib/util/Invoice.java | 40 +
.../apache/causeway/applib/util/InvoiceItem.java | 75 +
.../org/apache/causeway/applib/util/Numbered.java | 24 +
.../causeway/applib/util/NumberedEvaluator.java | 35 +
.../applib/util/ObjectContractsTest_compareTo.java | 77 +
.../applib/util/ObjectContractsTest_equals.java | 138 +
.../ObjectContractsTest_equals_and_hashCode.java | 130 +
.../applib/util/ObjectContractsTest_toString.java | 146 +
.../causeway/applib/util/ReasonBufferTest.java | 65 +
.../apache/causeway/applib/util/ReasonsTest.java | 64 +
.../causeway/applib/util/TitleBufferTest.java | 290 ++
.../causeway/applib/util/TitleTestObject.java | 44 +
.../applib/util/schema/CommandDtoUtils_Test.java | 79 +
.../applib/util/schema/CommonDtoUtils_Test.java | 106 +
...eractionDtoUtilsTest_deriveLogicalMemberId.java | 36 +
.../causeway/applib/util/schema/Vertical.java | 23 +
.../value/Blob_JaxbToStringAdapter_Test.java | 32 +
.../applib/value/Blob_constructor_Test.java | 38 +
.../value/Clob_JaxbToStringAdapter_Test.java | 29 +
.../applib/value/Clob_constructor_Test.java | 38 +
...LocalResourcePath_JaxbToStringAdapter_Test.java | 30 +
.../value/Markup_JaxbToStringAdapter_Test.java | 30 +
.../value/Password_JaxbToStringAdapter_Test.java | 30 +
.../causeway/applib/value/Password_Test.java | 83 +
.../org/apache/isis/applib/IdentifierTests.java | 70 -
.../org/apache/isis/applib/SomeDomainClass.java | 23 -
.../client/RepresentationTypeSimplifiedV2Test.java | 43 -
.../isis/applib/clock/VirtualClock_Test.java | 211 --
.../reflection/ReflectSampleForTesting.java | 36 -
.../commons/internal/reflection/ReflectTest.java | 139 -
.../isis/applib/events/InteractionEventTest.java | 146 -
.../isis/applib/graph/tree/TreePathTest.java | 48 -
.../org/apache/isis/applib/id/LogicalTypeTest.java | 79 -
.../applib/id/LogicalTypeTest_valueSemantics.java | 45 -
...Adapters_LocalDateTimeToStringAdapter_Test.java | 32 -
...JaxbAdapters_LocalDateToStringAdapter_Test.java | 32 -
...dapters_OffsetDateTimeToStringAdapter_Test.java | 33 -
...avaTimeJaxbAdapters_OffsetTimeAdapter_Test.java | 34 -
...TimeJaxbAdapters_ZonedDateTimeAdapter_Test.java | 33 -
.../JavaTmeJaxbAdapters_LocalTimeAdapter_Test.java | 32 -
.../jaxbadapters/JaxbXmlAdaptersContractTest.java | 68 -
.../PrimitiveAdapters_BytesAdapter_Test.java | 30 -
...ropertyLayoutData_renderedAsDayBefore_Test.java | 55 -
.../component/PropertyLayoutData_repaint_Test.java | 61 -
.../applib/layout/grid/bootstrap/BSColTest.java | 63 -
.../applib/layout/grid/bootstrap/SizeSpanTest.java | 62 -
.../bootstrap/BSMenuBars_roundtrip_Test.java | 85 -
.../NamedQueryTest_withStart_or_withCount.java | 150 -
.../appfeat/ApplicationMemberTypeTest.java | 36 -
.../applib/services/bookmark/BookmarkTest.java | 75 -
.../eventbus/AbstractDomainEvent_veto_Test.java | 179 --
.../exceprecog/ExceptionRecognizerForTypeTest.java | 68 -
.../exceprecog/ExceptionRecognizerGeneralTest.java | 61 -
.../services/i18n/TranslatableStringTest.java | 140 -
.../InteractionContext_combine_Test.java | 43 -
.../isis/applib/services/iactnlayer/TryTest.java | 185 --
.../isis/applib/services/jaxb/JaxbServiceTest.java | 81 -
.../metamodel/MetaModelService_Config_Test.java | 58 -
.../QueryResultsCache_KeyTest.java | 40 -
.../applib/services/user/UserMemento_Test.java | 311 --
.../wrapper/control/AsyncControl_Test.java | 117 -
.../services/wrapper/control/SyncControl_Test.java | 107 -
.../applib/spec/AbstractSpecification2Test.java | 91 -
.../applib/spec/AbstractSpecificationTest.java | 96 -
.../org/apache/isis/applib/util/EnumsTest.java | 42 -
.../isis/applib/util/EnumsTest_converts.java | 45 -
.../java/org/apache/isis/applib/util/Invoice.java | 40 -
.../org/apache/isis/applib/util/InvoiceItem.java | 75 -
.../java/org/apache/isis/applib/util/Numbered.java | 24 -
.../apache/isis/applib/util/NumberedEvaluator.java | 35 -
.../applib/util/ObjectContractsTest_compareTo.java | 77 -
.../applib/util/ObjectContractsTest_equals.java | 138 -
.../ObjectContractsTest_equals_and_hashCode.java | 130 -
.../applib/util/ObjectContractsTest_toString.java | 146 -
.../apache/isis/applib/util/ReasonBufferTest.java | 65 -
.../org/apache/isis/applib/util/ReasonsTest.java | 64 -
.../apache/isis/applib/util/TitleBufferTest.java | 290 --
.../apache/isis/applib/util/TitleTestObject.java | 44 -
.../applib/util/schema/CommandDtoUtils_Test.java | 79 -
.../applib/util/schema/CommonDtoUtils_Test.java | 106 -
...eractionDtoUtilsTest_deriveLogicalMemberId.java | 36 -
.../apache/isis/applib/util/schema/Vertical.java | 23 -
.../value/Blob_JaxbToStringAdapter_Test.java | 32 -
.../isis/applib/value/Blob_constructor_Test.java | 38 -
.../value/Clob_JaxbToStringAdapter_Test.java | 29 -
.../isis/applib/value/Clob_constructor_Test.java | 38 -
...LocalResourcePath_JaxbToStringAdapter_Test.java | 30 -
.../value/Markup_JaxbToStringAdapter_Test.java | 30 -
.../value/Password_JaxbToStringAdapter_Test.java | 30 -
.../apache/isis/applib/value/Password_Test.java | 83 -
api/schema/pom.xml | 22 +-
api/schema/src/main/java/module-info.java | 24 +-
.../apache/causeway/schema/IsisModuleSchema.java | 29 +
.../org/apache/isis/schema/IsisModuleSchema.java | 29 -
.../org/apache/causeway/schema/bindings.xml | 90 +
.../{isis => causeway}/schema/chg/chg-2.0.xsd | 0
.../{isis => causeway}/schema/cmd/cmd-2.0.xsd | 0
.../schema/common/common-2.0.xsd | 0
.../{isis => causeway}/schema/ixn/ixn-2.0.xsd | 0
.../schema/metamodel/metamodel-2.0.xsd | 0
.../resources/org/apache/isis/schema/bindings.xml | 90 -
bom/pom.xml | 96 +-
commons/pom.xml | 24 +-
.../src/main/adoc/modules/commons/pages/about.adoc | 6 +-
commons/src/main/java/module-info.java | 78 +-
.../apache/causeway/commons/binding/Bindable.java | 40 +
.../causeway/commons/binding/ChangeListener.java | 28 +
.../commons/binding/InvalidationListener.java | 25 +
.../causeway/commons/binding/Observable.java | 38 +
.../apache/causeway/commons/binding/Writable.java | 29 +
.../apache/causeway/commons/collections/Can.java | 706 ++++
.../causeway/commons/collections/CanVector.java | 104 +
.../causeway/commons/collections/Can_Empty.java | 270 ++
.../causeway/commons/collections/Can_Multiple.java | 403 +++
.../commons/collections/Can_Singleton.java | 336 ++
.../causeway/commons/collections/Cardinality.java | 54 +
.../commons/collections/ImmutableCollection.java | 93 +
.../commons/collections/ImmutableEnumSet.java | 118 +
.../causeway/commons/collections/_CanFactory.java | 69 +
.../commons/concurrent/AwaitableLatch.java | 68 +
.../apache/causeway/commons/functional/Either.java | 235 ++
.../commons/functional/IndexedConsumer.java | 61 +
.../commons/functional/IndexedFunction.java | 61 +
.../causeway/commons/functional/Railway.java | 267 ++
.../commons/functional/ThrowingRunnable.java | 50 +
.../apache/causeway/commons/functional/Try.java | 348 ++
.../commons/handler/ChainOfResponsibility.java | 100 +
.../causeway/commons/having/HasEnabling.java | 28 +
.../commons/having/HasTypeSpecificAttributes.java | 37 +
.../causeway/commons/internal/_Constants.java | 99 +
.../commons/internal/assertions/_Assert.java | 259 ++
.../causeway/commons/internal/base/_Blackhole.java | 79 +
.../causeway/commons/internal/base/_Bytes.java | 279 ++
.../internal/base/_Bytes_GZipCompressor.java | 64 +
.../internal/base/_Bytes_GZipCompressorSmart.java | 73 +
.../causeway/commons/internal/base/_Casts.java | 142 +
.../causeway/commons/internal/base/_Files.java | 224 ++
.../causeway/commons/internal/base/_Lazy.java | 99 +
.../commons/internal/base/_Lazy_Simple.java | 93 +
.../commons/internal/base/_Lazy_ThreadSafe.java | 95 +
.../causeway/commons/internal/base/_NullSafe.java | 354 ++
.../causeway/commons/internal/base/_Objects.java | 142 +
.../causeway/commons/internal/base/_Oneshot.java | 78 +
.../causeway/commons/internal/base/_Optionals.java | 54 +
.../causeway/commons/internal/base/_Reduction.java | 98 +
.../causeway/commons/internal/base/_Refs.java | 425 +++
.../internal/base/_StringInterpolation.java | 85 +
.../causeway/commons/internal/base/_Strings.java | 875 +++++
.../commons/internal/base/_Strings_FastSplit.java | 66 +
.../internal/base/_Strings_HtmlEscaper.java | 53 +
.../internal/base/_Strings_KeyValuePair.java | 75 +
.../internal/base/_Strings_NaturalNames.java | 90 +
.../internal/base/_Strings_SplitIterator.java | 81 +
.../causeway/commons/internal/base/_Temporals.java | 327 ++
.../causeway/commons/internal/base/_Text.java | 420 +++
.../causeway/commons/internal/base/_Timing.java | 146 +
.../causeway/commons/internal/base/_Tuples.java | 76 +
.../causeway/commons/internal/base/_With.java | 323 ++
.../commons/internal/base/package-info.java | 28 +
.../binding/InternalBidirectionalBinding.java | 213 ++
.../commons/internal/binding/InternalUtil.java | 449 +++
.../internal/binding/_BindableAbstract.java | 245 ++
.../commons/internal/binding/_Bindables.java | 60 +
.../commons/internal/binding/_Observables.java | 82 +
.../commons/internal/binding/package-info.java | 28 +
.../commons/internal/codec/_DocumentFactories.java | 96 +
.../commons/internal/codec/_UrlDecoderUtil.java | 55 +
.../commons/internal/collections/_Arrays.java | 466 +++
.../internal/collections/_Arrays_Collector.java | 98 +
.../collections/_Arrays_CollectorUnknownSize.java | 81 +
.../commons/internal/collections/_Collections.java | 329 ++
.../collections/_Collections_Collector.java | 80 +
.../collections/_Collections_SortedSetOfList.java | 151 +
.../commons/internal/collections/_Inbox.java | 86 +
.../commons/internal/collections/_Lists.java | 250 ++
.../commons/internal/collections/_Maps.java | 381 +++
.../commons/internal/collections/_Multimaps.java | 417 +++
.../commons/internal/collections/_Sets.java | 379 +++
.../commons/internal/collections/_Streams.java | 104 +
.../commons/internal/collections/package-info.java | 28 +
.../collections/snapshot/_VersionedList.java | 214 ++
.../commons/internal/compare/_Comparators.java | 52 +
.../compare/_Comparators_SequenceCompare.java | 113 +
.../commons/internal/compare/package-info.java | 28 +
.../internal/concurrent/_ConcurrentContext.java | 55 +
.../internal/concurrent/_ConcurrentTask.java | 200 ++
.../internal/concurrent/_ConcurrentTaskList.java | 202 ++
.../commons/internal/concurrent/_ThreadSleep.java | 56 +
.../commons/internal/context/_Context.java | 357 +++
.../causeway/commons/internal/context/_Plugin.java | 186 ++
.../internal/context/_PluginResolveException.java | 37 +
.../commons/internal/context/package-info.java | 28 +
.../causeway/commons/internal/debug/_Debug.java | 104 +
.../commons/internal/debug/_IconResource.java | 36 +
.../causeway/commons/internal/debug/_Probe.java | 250 ++
.../causeway/commons/internal/debug/_Xray.java | 61 +
.../commons/internal/debug/_XrayEvent.java | 136 +
.../commons/internal/debug/package-info.java | 28 +
.../commons/internal/debug/xray/XrayDataModel.java | 208 ++
.../commons/internal/debug/xray/XrayEnable.java | 35 +
.../commons/internal/debug/xray/XrayModel.java | 112 +
.../internal/debug/xray/XrayModelSimple.java | 91 +
.../commons/internal/debug/xray/XrayUi.java | 411 +++
.../internal/debug/xray/_CallStackMerger.java | 179 ++
.../commons/internal/debug/xray/_SwingUtil.java | 109 +
.../debug/xray/graphics/CallStackDiagram.java | 37 +
.../debug/xray/graphics/SequenceDiagram.java | 419 +++
.../internal/debug/xray/graphics/_Graphics.java | 155 +
.../commons/internal/delegate/_Delegate.java | 103 +
.../commons/internal/exceptions/_Exceptions.java | 513 +++
.../commons/internal/exceptions/package-info.java | 28 +
.../factory/_InstanceCreationClassException.java | 31 +
.../factory/_InstanceCreationException.java | 31 +
.../commons/internal/factory/_InstanceUtil.java | 173 +
.../factory/_UnavailableClassException.java | 39 +
.../commons/internal/factory/package-info.java | 28 +
.../commons/internal/functions/_Functions.java | 248 ++
.../commons/internal/functions/_Predicates.java | 96 +
.../commons/internal/functions/package-info.java | 28 +
.../causeway/commons/internal/graph/_Graph.java | 53 +
.../commons/internal/hardening/_Hardening.java | 68 +
.../causeway/commons/internal/hash/_Hashes.java | 90 +
.../commons/internal/html/_BootstrapBadge.java | 89 +
.../causeway/commons/internal/image/_Images.java | 186 ++
.../commons/internal/ioc/_IocContainer.java | 131 +
.../commons/internal/ioc/_IocContainer_Spring.java | 161 +
.../commons/internal/ioc/_ManagedBeanAdapter.java | 50 +
.../internal/ioc/_ManagedBeanAdapter_Spring.java | 48 +
.../ioc/_ManagedBeanAdapter_forTestingLazy.java | 44 +
.../commons/internal/memento/_MementoDefault.java | 136 +
.../commons/internal/memento/_Mementos.java | 195 ++
.../commons/internal/memento/package-info.java | 28 +
.../causeway/commons/internal/os/_OsUtil.java | 179 ++
.../causeway/commons/internal/package-info.java | 28 +
.../commons/internal/primitives/_Doubles.java | 70 +
.../commons/internal/primitives/_Floats.java | 67 +
.../commons/internal/primitives/_Ints.java | 397 +++
.../commons/internal/primitives/_Longs.java | 247 ++
.../commons/internal/proxy/_ProxyFactory.java | 77 +
.../internal/proxy/_ProxyFactoryService.java | 44 +
.../proxy/_ProxyFactoryServiceAbstract.java | 66 +
.../commons/internal/reflection/_Annotations.java | 197 ++
.../reflection/_Annotations_AttributeMethods.java | 314 ++
...nthesizedMergedAnnotationInvocationHandler.java | 266 ++
.../commons/internal/reflection/_ClassCache.java | 305 ++
.../commons/internal/reflection/_Generics.java | 165 +
.../commons/internal/reflection/_Reflect.java | 724 +++++
.../commons/internal/reflection/package-info.java | 28 +
.../commons/internal/resources/_DataSink.java | 35 +
.../commons/internal/resources/_DataSource.java | 139 +
.../causeway/commons/internal/resources/_Json.java | 245 ++
.../commons/internal/resources/_Resources.java | 164 +
.../commons/internal/resources/_Serializables.java | 84 +
.../causeway/commons/internal/resources/_Xml.java | 230 ++
.../causeway/commons/internal/resources/_Yaml.java | 147 +
.../commons/internal/resources/package-info.java | 28 +
.../internal/testing/_SerializationTester.java | 57 +
.../commons/resource/ResourceCoordinates.java | 125 +
.../org/apache/isis/commons/binding/Bindable.java | 40 -
.../isis/commons/binding/ChangeListener.java | 28 -
.../isis/commons/binding/InvalidationListener.java | 25 -
.../apache/isis/commons/binding/Observable.java | 38 -
.../org/apache/isis/commons/binding/Writable.java | 29 -
.../org/apache/isis/commons/collections/Can.java | 707 ----
.../apache/isis/commons/collections/CanVector.java | 104 -
.../apache/isis/commons/collections/Can_Empty.java | 271 --
.../isis/commons/collections/Can_Multiple.java | 404 ---
.../isis/commons/collections/Can_Singleton.java | 337 --
.../isis/commons/collections/Cardinality.java | 54 -
.../commons/collections/ImmutableCollection.java | 94 -
.../isis/commons/collections/ImmutableEnumSet.java | 118 -
.../isis/commons/collections/_CanFactory.java | 69 -
.../isis/commons/concurrent/AwaitableLatch.java | 68 -
.../org/apache/isis/commons/functional/Either.java | 235 --
.../isis/commons/functional/IndexedConsumer.java | 61 -
.../isis/commons/functional/IndexedFunction.java | 61 -
.../apache/isis/commons/functional/Railway.java | 267 --
.../isis/commons/functional/ThrowingRunnable.java | 50 -
.../org/apache/isis/commons/functional/Try.java | 349 --
.../commons/handler/ChainOfResponsibility.java | 100 -
.../apache/isis/commons/having/HasEnabling.java | 28 -
.../commons/having/HasTypeSpecificAttributes.java | 37 -
.../apache/isis/commons/internal/_Constants.java | 99 -
.../isis/commons/internal/assertions/_Assert.java | 260 --
.../isis/commons/internal/base/_Blackhole.java | 79 -
.../apache/isis/commons/internal/base/_Bytes.java | 279 --
.../internal/base/_Bytes_GZipCompressor.java | 64 -
.../internal/base/_Bytes_GZipCompressorSmart.java | 73 -
.../apache/isis/commons/internal/base/_Casts.java | 142 -
.../apache/isis/commons/internal/base/_Files.java | 225 --
.../apache/isis/commons/internal/base/_Lazy.java | 99 -
.../isis/commons/internal/base/_Lazy_Simple.java | 93 -
.../commons/internal/base/_Lazy_ThreadSafe.java | 95 -
.../isis/commons/internal/base/_NullSafe.java | 355 --
.../isis/commons/internal/base/_Objects.java | 143 -
.../isis/commons/internal/base/_Oneshot.java | 78 -
.../isis/commons/internal/base/_Optionals.java | 54 -
.../isis/commons/internal/base/_Reduction.java | 98 -
.../apache/isis/commons/internal/base/_Refs.java | 426 ---
.../internal/base/_StringInterpolation.java | 86 -
.../isis/commons/internal/base/_Strings.java | 876 -----
.../commons/internal/base/_Strings_FastSplit.java | 66 -
.../internal/base/_Strings_HtmlEscaper.java | 53 -
.../internal/base/_Strings_KeyValuePair.java | 75 -
.../internal/base/_Strings_NaturalNames.java | 90 -
.../internal/base/_Strings_SplitIterator.java | 82 -
.../isis/commons/internal/base/_Temporals.java | 328 --
.../apache/isis/commons/internal/base/_Text.java | 421 ---
.../apache/isis/commons/internal/base/_Timing.java | 146 -
.../apache/isis/commons/internal/base/_Tuples.java | 76 -
.../apache/isis/commons/internal/base/_With.java | 323 --
.../isis/commons/internal/base/package-info.java | 28 -
.../binding/InternalBidirectionalBinding.java | 213 --
.../commons/internal/binding/InternalUtil.java | 450 ---
.../internal/binding/_BindableAbstract.java | 245 --
.../isis/commons/internal/binding/_Bindables.java | 60 -
.../commons/internal/binding/_Observables.java | 82 -
.../commons/internal/binding/package-info.java | 28 -
.../commons/internal/codec/_DocumentFactories.java | 96 -
.../commons/internal/codec/_UrlDecoderUtil.java | 55 -
.../isis/commons/internal/collections/_Arrays.java | 467 ---
.../internal/collections/_Arrays_Collector.java | 98 -
.../collections/_Arrays_CollectorUnknownSize.java | 81 -
.../commons/internal/collections/_Collections.java | 330 --
.../collections/_Collections_Collector.java | 80 -
.../collections/_Collections_SortedSetOfList.java | 151 -
.../isis/commons/internal/collections/_Inbox.java | 86 -
.../isis/commons/internal/collections/_Lists.java | 251 --
.../isis/commons/internal/collections/_Maps.java | 382 ---
.../commons/internal/collections/_Multimaps.java | 418 ---
.../isis/commons/internal/collections/_Sets.java | 380 ---
.../commons/internal/collections/_Streams.java | 104 -
.../commons/internal/collections/package-info.java | 28 -
.../collections/snapshot/_VersionedList.java | 214 --
.../commons/internal/compare/_Comparators.java | 52 -
.../compare/_Comparators_SequenceCompare.java | 114 -
.../commons/internal/compare/package-info.java | 28 -
.../internal/concurrent/_ConcurrentContext.java | 55 -
.../internal/concurrent/_ConcurrentTask.java | 200 --
.../internal/concurrent/_ConcurrentTaskList.java | 203 --
.../commons/internal/concurrent/_ThreadSleep.java | 56 -
.../isis/commons/internal/context/_Context.java | 357 ---
.../isis/commons/internal/context/_Plugin.java | 187 --
.../internal/context/_PluginResolveException.java | 37 -
.../commons/internal/context/package-info.java | 28 -
.../apache/isis/commons/internal/debug/_Debug.java | 104 -
.../isis/commons/internal/debug/_IconResource.java | 36 -
.../apache/isis/commons/internal/debug/_Probe.java | 250 --
.../apache/isis/commons/internal/debug/_Xray.java | 61 -
.../isis/commons/internal/debug/_XrayEvent.java | 136 -
.../isis/commons/internal/debug/package-info.java | 28 -
.../commons/internal/debug/xray/XrayDataModel.java | 208 --
.../commons/internal/debug/xray/XrayEnable.java | 35 -
.../commons/internal/debug/xray/XrayModel.java | 113 -
.../internal/debug/xray/XrayModelSimple.java | 91 -
.../isis/commons/internal/debug/xray/XrayUi.java | 411 ---
.../internal/debug/xray/_CallStackMerger.java | 179 --
.../commons/internal/debug/xray/_SwingUtil.java | 109 -
.../debug/xray/graphics/CallStackDiagram.java | 37 -
.../debug/xray/graphics/SequenceDiagram.java | 419 ---
.../internal/debug/xray/graphics/_Graphics.java | 155 -
.../isis/commons/internal/delegate/_Delegate.java | 104 -
.../commons/internal/exceptions/_Exceptions.java | 514 ---
.../commons/internal/exceptions/package-info.java | 28 -
.../factory/_InstanceCreationClassException.java | 31 -
.../factory/_InstanceCreationException.java | 31 -
.../commons/internal/factory/_InstanceUtil.java | 173 -
.../factory/_UnavailableClassException.java | 39 -
.../commons/internal/factory/package-info.java | 28 -
.../commons/internal/functions/_Functions.java | 248 --
.../commons/internal/functions/_Predicates.java | 96 -
.../commons/internal/functions/package-info.java | 28 -
.../apache/isis/commons/internal/graph/_Graph.java | 53 -
.../commons/internal/hardening/_Hardening.java | 69 -
.../apache/isis/commons/internal/hash/_Hashes.java | 91 -
.../commons/internal/html/_BootstrapBadge.java | 89 -
.../isis/commons/internal/image/_Images.java | 187 --
.../isis/commons/internal/ioc/_IocContainer.java | 132 -
.../commons/internal/ioc/_IocContainer_Spring.java | 162 -
.../commons/internal/ioc/_ManagedBeanAdapter.java | 50 -
.../internal/ioc/_ManagedBeanAdapter_Spring.java | 49 -
.../ioc/_ManagedBeanAdapter_forTestingLazy.java | 44 -
.../commons/internal/memento/_MementoDefault.java | 137 -
.../isis/commons/internal/memento/_Mementos.java | 195 --
.../commons/internal/memento/package-info.java | 28 -
.../apache/isis/commons/internal/os/_OsUtil.java | 180 --
.../apache/isis/commons/internal/package-info.java | 28 -
.../isis/commons/internal/primitives/_Doubles.java | 70 -
.../isis/commons/internal/primitives/_Floats.java | 67 -
.../isis/commons/internal/primitives/_Ints.java | 398 ---
.../isis/commons/internal/primitives/_Longs.java | 248 --
.../isis/commons/internal/proxy/_ProxyFactory.java | 77 -
.../internal/proxy/_ProxyFactoryService.java | 44 -
.../proxy/_ProxyFactoryServiceAbstract.java | 66 -
.../commons/internal/reflection/_Annotations.java | 197 --
.../reflection/_Annotations_AttributeMethods.java | 314 --
...nthesizedMergedAnnotationInvocationHandler.java | 267 --
.../commons/internal/reflection/_ClassCache.java | 306 --
.../commons/internal/reflection/_Generics.java | 166 -
.../isis/commons/internal/reflection/_Reflect.java | 725 -----
.../commons/internal/reflection/package-info.java | 28 -
.../isis/commons/internal/resources/_DataSink.java | 35 -
.../commons/internal/resources/_DataSource.java | 139 -
.../isis/commons/internal/resources/_Json.java | 246 --
.../commons/internal/resources/_Resources.java | 165 -
.../commons/internal/resources/_Serializables.java | 84 -
.../isis/commons/internal/resources/_Xml.java | 231 --
.../isis/commons/internal/resources/_Yaml.java | 148 -
.../commons/internal/resources/package-info.java | 28 -
.../internal/testing/_SerializationTester.java | 57 -
.../isis/commons/resource/ResourceCoordinates.java | 126 -
.../test/java/org/apache/causeway/commons/X.java | 5 +
.../commons/collections/CanCompareTest.java | 82 +
.../causeway/commons/collections/CanTest.java | 255 ++
.../commons/collections/CanVectorTest.java | 51 +
.../commons/functional/ThrowingRunnableTest.java | 57 +
.../handlers/ChainOfResponsibilityTest.java | 142 +
.../causeway/commons/internal/base/BytesTest.java | 196 ++
.../commons/internal/base/NullSafeTest.java | 159 +
.../commons/internal/base/ReductionTest.java | 73 +
.../commons/internal/base/StringsTest.java | 324 ++
.../commons/internal/base/TemporalsTest.java | 98 +
.../causeway/commons/internal/base/TextTest.java | 75 +
.../internal/base/_Strings_trimmed_Test.java | 50 +
.../commons/internal/base/debug/XrayUiTest.java | 104 +
.../commons/internal/binding/BindableTest.java | 302 ++
.../commons/internal/collections/Samples.java | 86 +
.../commons/internal/collections/_ArraysTest.java | 396 +++
.../commons/internal/collections/_MapsTest.java | 127 +
.../commons/internal/collections/_SetsTest.java | 413 +++
.../collections/snapshot/VersionedListTest.java | 70 +
.../commons/internal/compare/ComparatorsTest.java | 147 +
.../concurrent/ConcurrentTaskListTest.java | 55 +
.../commons/internal/context/ContextTest.java | 240 ++
.../internal/debug/xray/CallStackMergerTest.java | 76 +
.../commons/internal/image/_ImagesTest.java | 86 +
.../commons/internal/primitives/IntsTest.java | 107 +
.../commons/internal/primitives/_IntsTest.java | 37 +
.../internal/reflection/AnnotationsTest.java | 116 +
.../internal/reflection/ClassCacheTest.java | 100 +
.../commons/internal/reflection/GenericsTest.java | 76 +
.../commons/internal/reflection/ReflectTest.java | 113 +
.../internal/resources/JsonYamlReaderTest.java | 77 +
.../commons/internal/resources/ResourcesTest.java | 67 +
.../internal/resources/XmlRoundTripTest.java | 65 +
.../commons/internal/strings/FormatTest.java | 83 +
.../isis/commons/collections/CanCompareTest.java | 82 -
.../apache/isis/commons/collections/CanTest.java | 255 --
.../isis/commons/collections/CanVectorTest.java | 50 -
.../commons/functional/ThrowingRunnableTest.java | 57 -
.../handlers/ChainOfResponsibilityTest.java | 143 -
.../isis/commons/internal/base/BytesTest.java | 195 --
.../isis/commons/internal/base/NullSafeTest.java | 157 -
.../isis/commons/internal/base/ReductionTest.java | 73 -
.../isis/commons/internal/base/StringsTest.java | 323 --
.../isis/commons/internal/base/TemporalsTest.java | 97 -
.../isis/commons/internal/base/TextTest.java | 75 -
.../internal/base/_Strings_trimmed_Test.java | 49 -
.../commons/internal/base/debug/XrayUiTest.java | 104 -
.../commons/internal/binding/BindableTest.java | 302 --
.../isis/commons/internal/collections/Samples.java | 86 -
.../commons/internal/collections/_ArraysTest.java | 395 ---
.../commons/internal/collections/_MapsTest.java | 127 -
.../commons/internal/collections/_SetsTest.java | 410 ---
.../collections/snapshot/VersionedListTest.java | 69 -
.../commons/internal/compare/ComparatorsTest.java | 147 -
.../concurrent/ConcurrentTaskListTest.java | 53 -
.../isis/commons/internal/context/ContextTest.java | 239 --
.../internal/debug/xray/CallStackMergerTest.java | 76 -
.../isis/commons/internal/image/_ImagesTest.java | 85 -
.../isis/commons/internal/primitives/IntsTest.java | 106 -
.../commons/internal/primitives/_IntsTest.java | 36 -
.../internal/reflection/AnnotationsTest.java | 115 -
.../internal/reflection/ClassCacheTest.java | 99 -
.../commons/internal/reflection/GenericsTest.java | 76 -
.../commons/internal/reflection/ReflectTest.java | 112 -
.../internal/resources/JsonYamlReaderTest.java | 75 -
.../commons/internal/resources/ResourcesTest.java | 66 -
.../internal/resources/XmlRoundTripTest.java | 64 -
.../isis/commons/internal/strings/FormatTest.java | 83 -
.../commons/internal/resources/customer.json | 0
.../commons/internal/resources/customer.yml | 0
core/codegen-bytebuddy/pom.xml | 16 +-
.../src/main/java/module-info.java | 10 +-
.../bytebuddy/IsisModuleCoreCodegenByteBuddy.java | 31 +
.../services/ClassLoadingStrategyAdvisor.java | 58 +
.../services/ProxyFactoryServiceByteBuddy.java | 146 +
.../bytebuddy/IsisModuleCoreCodegenByteBuddy.java | 32 -
.../services/ClassLoadingStrategyAdvisor.java | 58 -
.../services/ProxyFactoryServiceByteBuddy.java | 147 -
core/config/generateConfigDocs.groovy | 46 +-
core/config/pom.xml | 24 +-
core/config/src/main/java/module-info.java | 44 +-
.../core/config/DatanucleusConfiguration.java | 591 ++++
.../core/config/EclipselinkConfiguration.java | 530 +++
.../causeway/core/config/IsisConfiguration.java | 3382 ++++++++++++++++++++
.../causeway/core/config/IsisModuleCoreConfig.java | 83 +
.../core/config/RestEasyConfiguration.java | 84 +
.../core/config/applib/RestfulPathProvider.java | 46 +
.../IsisBeanFactoryPostProcessorForSpring.java | 132 +
.../core/config/beans/IsisBeanMetaData.java | 123 +
.../core/config/beans/IsisBeanTypeClassifier.java | 71 +
.../beans/IsisBeanTypeClassifierDefault.java | 182 ++
.../core/config/beans/IsisBeanTypeRegistry.java | 71 +
.../config/beans/IsisBeanTypeRegistryDefault.java | 131 +
.../config/beans/IsisComponentScanInterceptor.java | 57 +
.../beans/IsisComponentScanInterceptorImpl.java | 101 +
.../core/config/beans/PersistenceStack.java | 40 +
.../core/config/beans/ScannedTypeMetaData.java | 79 +
.../core/config/beans/aoppatch/AopPatch.java | 105 +
.../aoppatch/TransactionInterceptorFactory.java | 28 +
.../core/config/converters/PatternsConverter.java | 81 +
.../DataSourceIntrospectionService.java | 112 +
.../core/config/environment/DeploymentType.java | 39 +
.../config/environment/IsisLocaleInitializer.java | 65 +
.../config/environment/IsisSystemEnvironment.java | 216 ++
.../environment/IsisTimeZoneInitializer.java | 49 +
.../core/config/messages/MessageRegistry.java | 41 +
.../metamodel/facets/ActionConfigOptions.java | 46 +
.../facets/CollectionLayoutConfigOptions.java | 74 +
.../facets/DomainObjectConfigOptions.java | 42 +
.../facets/DomainObjectLayoutConfigOptions.java | 53 +
.../metamodel/facets/ParameterConfigOptions.java | 53 +
.../metamodel/facets/PropertyConfigOptions.java | 41 +
.../core/config/metamodel/facets/Util.java | 41 +
.../ApplicationFeaturesInitConfiguration.java | 28 +
.../metamodel/specloader/IntrospectionMode.java | 67 +
.../DatanucleusAutocreateNoValidate.properties | 0
.../DatanucleusEagerlyCreateTables.properties | 0
.../core/config/presets/DebugDiscovery.properties | 0
.../config/presets/DebugIsisInteraction.properties | 0
.../core/config/presets/DebugMetaModel.properties | 0
.../config/presets/DebugPersistence.properties | 0
.../presets/DebugProgrammingModel.properties | 0
.../presets/DebugRequestScopedServices.properties | 0
.../DebugTransactionScopedServices.properties | 0
.../core/config/presets/DebugVaadin.properties | 0
.../presets/H2InMemory_withUniqueSchema.properties | 0
.../core/config/presets/IntrospectFully.properties | 0
.../config/presets/IntrospectLazily.properties | 0
.../causeway/core/config/presets/IsisPresets.java | 82 +
.../core/config/presets/NoTranslations.properties | 0
.../config/presets/SilenceMetaModel.properties | 0
.../presets/SilenceProgrammingModel.properties | 0
.../core/config/presets/SilenceWicket.properties | 0
.../core/config/presets/UseLog4j2Test.properties | 0
.../progmodel/ProgrammingModelConstants.java | 740 +++++
.../core/config/util/SpringProfileUtil.java | 61 +
.../core/config/util/ValueMaskingUtil.java | 65 +
.../PatternOptionalStringConstraintValidator.java | 53 +
.../core/config/viewer/web/DialogMode.java | 26 +
.../core/config/viewer/web/WebAppContextPath.java | 160 +
.../isis/core/config/DatanucleusConfiguration.java | 591 ----
.../isis/core/config/EclipselinkConfiguration.java | 530 ---
.../apache/isis/core/config/IsisConfiguration.java | 3382 --------------------
.../isis/core/config/IsisModuleCoreConfig.java | 84 -
.../isis/core/config/RestEasyConfiguration.java | 84 -
.../core/config/applib/RestfulPathProvider.java | 46 -
.../IsisBeanFactoryPostProcessorForSpring.java | 132 -
.../isis/core/config/beans/IsisBeanMetaData.java | 123 -
.../core/config/beans/IsisBeanTypeClassifier.java | 72 -
.../beans/IsisBeanTypeClassifierDefault.java | 182 --
.../core/config/beans/IsisBeanTypeRegistry.java | 71 -
.../config/beans/IsisBeanTypeRegistryDefault.java | 131 -
.../config/beans/IsisComponentScanInterceptor.java | 58 -
.../beans/IsisComponentScanInterceptorImpl.java | 101 -
.../isis/core/config/beans/PersistenceStack.java | 40 -
.../core/config/beans/ScannedTypeMetaData.java | 79 -
.../isis/core/config/beans/aoppatch/AopPatch.java | 106 -
.../aoppatch/TransactionInterceptorFactory.java | 28 -
.../core/config/converters/PatternsConverter.java | 82 -
.../DataSourceIntrospectionService.java | 112 -
.../core/config/environment/DeploymentType.java | 39 -
.../config/environment/IsisLocaleInitializer.java | 66 -
.../config/environment/IsisSystemEnvironment.java | 217 --
.../environment/IsisTimeZoneInitializer.java | 50 -
.../isis/core/config/messages/MessageRegistry.java | 41 -
.../metamodel/facets/ActionConfigOptions.java | 46 -
.../facets/CollectionLayoutConfigOptions.java | 75 -
.../facets/DomainObjectConfigOptions.java | 42 -
.../facets/DomainObjectLayoutConfigOptions.java | 53 -
.../metamodel/facets/ParameterConfigOptions.java | 53 -
.../metamodel/facets/PropertyConfigOptions.java | 41 -
.../isis/core/config/metamodel/facets/Util.java | 41 -
.../ApplicationFeaturesInitConfiguration.java | 28 -
.../metamodel/specloader/IntrospectionMode.java | 67 -
.../isis/core/config/presets/IsisPresets.java | 82 -
.../progmodel/ProgrammingModelConstants.java | 740 -----
.../isis/core/config/util/SpringProfileUtil.java | 62 -
.../isis/core/config/util/ValueMaskingUtil.java | 65 -
.../PatternOptionalStringConstraintValidator.java | 53 -
.../isis/core/config/viewer/web/DialogMode.java | 26 -
.../core/config/viewer/web/WebAppContextPath.java | 160 -
.../additional-spring-configuration-metadata.json | 22 +-
.../services/javax.validation.ConstraintValidator | 2 +-
.../main/resources/ValidationMessages.properties | 2 +-
...ion_getMaxTitleLengthInParentedTables_Test.java | 80 +
...n_getMaxTitleLengthInStandaloneTables_Test.java | 80 +
.../progmodel/ProgrammingModelConstantsTest.java | 72 +
.../config/util/ConfigUtil_isProtected_Test.java | 69 +
.../core/config/util/ConfigUtil_mask_Test.java | 50 +
.../WebAppContextPath_setContextPath_Test.java | 105 +
...ion_getMaxTitleLengthInParentedTables_Test.java | 79 -
...n_getMaxTitleLengthInStandaloneTables_Test.java | 79 -
.../progmodel/ProgrammingModelConstantsTest.java | 73 -
.../config/util/ConfigUtil_isProtected_Test.java | 68 -
.../core/config/util/ConfigUtil_mask_Test.java | 49 -
.../WebAppContextPath_setContextPath_Test.java | 106 -
core/interaction/pom.xml | 20 +-
core/interaction/src/main/java/module-info.java | 20 +-
.../interaction/IsisModuleCoreInteraction.java | 36 +
...teractionAwareTransactionalBoundaryHandler.java | 172 +
.../core/interaction/scope/InteractionScope.java | 192 ++
.../InteractionScopeBeanFactoryPostProcessor.java | 46 +
.../scope/InteractionScopeLifecycleHandler.java | 30 +
.../scope/TransactionBoundaryAware.java | 41 +
.../core/interaction/session/IsisInteraction.java | 261 ++
.../interaction/session/MessageBrokerImpl.java | 124 +
.../interaction/IsisModuleCoreInteraction.java | 37 -
...teractionAwareTransactionalBoundaryHandler.java | 172 -
.../core/interaction/scope/InteractionScope.java | 192 --
.../InteractionScopeBeanFactoryPostProcessor.java | 46 -
.../scope/InteractionScopeLifecycleHandler.java | 30 -
.../scope/TransactionBoundaryAware.java | 41 -
.../core/interaction/session/IsisInteraction.java | 260 --
.../interaction/session/MessageBrokerImpl.java | 123 -
.../interaction/InteractionDefaultTest_next.java | 46 +
.../interaction/InteractionDefaultTest_next.java | 47 -
core/internaltestsupport/pom.xml | 20 +-
.../contract/ComparableContractTester.java | 3 +-
core/internaltestvintage/pom.xml | 16 +-
.../jmocking/ImposteriserUsingCodegenPlugin.java | 91 +
.../jmocking/Imposterisers.java | 34 +
.../jmocking/InjectIntoJMockAction.java | 62 +
.../internaltestsupport/jmocking/IsisActions.java | 60 +
.../internaltestsupport/jmocking/JMockActions.java | 86 +
.../jmocking/JUnitRuleMockery2.java | 306 ++
.../internaltestsupport/jmocking/MyMockomatic.java | 110 +
.../jmocking/PostponedAction.java | 48 +
.../jmocking/ImposteriserUsingCodegenPlugin.java | 92 -
.../jmocking/Imposterisers.java | 34 -
.../jmocking/InjectIntoJMockAction.java | 62 -
.../internaltestsupport/jmocking/IsisActions.java | 60 -
.../internaltestsupport/jmocking/JMockActions.java | 86 -
.../jmocking/JUnitRuleMockery2.java | 307 --
.../internaltestsupport/jmocking/MyMockomatic.java | 111 -
.../jmocking/PostponedAction.java | 48 -
core/jdk-supplemental/pom.xml | 8 +-
core/metamodel/pom.xml | 28 +-
core/metamodel/src/main/java/module-info.java | 176 +-
.../core/metamodel/IsisModuleCoreMetamodel.java | 249 ++
.../_testing/FactoryService_forTesting.java | 82 +
.../_testing/MetaModelContext_forTesting.java | 583 ++++
.../_testing/MethodRemover_forTesting.java | 87 +
.../_testing/ServiceInjector_forTesting.java | 64 +
.../_testing/ServiceRegistry_forTesting.java | 168 +
.../_testing/TranslationService_forTesting.java | 42 +
.../_testing/WrapperFactory_forTesting.java | 97 +
.../_testing/_InjectorMethodEvaluator.java | 36 +
.../metamodel/_testing/_ServiceInjectorLegacy.java | 316 ++
.../core/metamodel/_testing/_TestDummies.java | 51 +
.../core/metamodel/commons/ArrayExtensions.java | 68 +
.../causeway/core/metamodel/commons/CanBeVoid.java | 24 +
.../core/metamodel/commons/CanonicalInvoker.java | 206 ++
.../core/metamodel/commons/ClassExtensions.java | 198 ++
.../core/metamodel/commons/ClassFunctions.java | 46 +
.../core/metamodel/commons/ClassPredicates.java | 37 +
.../causeway/core/metamodel/commons/ClassUtil.java | 175 +
.../core/metamodel/commons/DateExtensions.java | 34 +
.../metamodel/commons/InputStreamExtensions.java | 68 +
.../core/metamodel/commons/ListExtensions.java | 114 +
.../core/metamodel/commons/LocaleUtil.java | 39 +
.../causeway/core/metamodel/commons/MapUtil.java | 47 +
.../core/metamodel/commons/MethodUtil.java | 209 ++
.../core/metamodel/commons/ObjectExtensions.java | 81 +
.../core/metamodel/commons/ParameterAdapter.java | 91 +
.../core/metamodel/commons/ResourceUtil.java | 63 +
.../metamodel/commons/ScalarRepresentation.java | 52 +
.../core/metamodel/commons/StringExtensions.java | 352 ++
.../metamodel/commons/ThrowableExtensions.java | 57 +
.../causeway/core/metamodel/commons/ToString.java | 164 +
.../core/metamodel/commons/package-info.java | 27 +
.../causeway/core/metamodel/consent/Allow.java | 38 +
.../causeway/core/metamodel/consent/Consent.java | 72 +
.../core/metamodel/consent/ConsentAbstract.java | 156 +
.../core/metamodel/consent/InteractionAdvisor.java | 70 +
.../metamodel/consent/InteractionContextType.java | 134 +
.../metamodel/consent/InteractionInitiatedBy.java | 60 +
.../core/metamodel/consent/InteractionResult.java | 153 +
.../metamodel/consent/InteractionResultSet.java | 102 +
.../causeway/core/metamodel/consent/Veto.java | 47 +
.../metamodel/context/HasMetaModelContext.java | 206 ++
.../core/metamodel/context/MetaModelContext.java | 39 +
.../context/MetaModelContext_usingSpring.java | 214 ++
.../core/metamodel/context/MetaModelContexts.java | 45 +
.../metamodel/execution/InteractionInternal.java | 155 +
.../metamodel/execution/MemberExecutorService.java | 104 +
.../causeway/core/metamodel/facetapi/Facet.java | 201 ++
.../core/metamodel/facetapi/FacetAbstract.java | 114 +
.../core/metamodel/facetapi/FacetHolder.java | 159 +
.../metamodel/facetapi/FacetHolderAbstract.java | 136 +
.../metamodel/facetapi/FacetHolderLayered.java | 185 ++
.../core/metamodel/facetapi/FacetHolderSimple.java | 38 +
.../core/metamodel/facetapi/FacetRanking.java | 290 ++
.../core/metamodel/facetapi/FacetUtil.java | 164 +
.../metamodel/facetapi/FacetWithAttributes.java | 32 +
.../core/metamodel/facetapi/FeatureType.java | 161 +
.../core/metamodel/facetapi/HasFacetHolder.java | 81 +
.../metamodel/facetapi/HasSemanticEquality.java | 35 +
.../facetapi/HasSemanticEqualityByClass.java | 31 +
.../core/metamodel/facetapi/MetaModelRefiner.java | 33 +
.../core/metamodel/facetapi/MethodRemover.java | 92 +
.../core/metamodel/facets/ActionSupport.java | 176 +
.../core/metamodel/facets/DomainEventHelper.java | 430 +++
.../causeway/core/metamodel/facets/Evaluators.java | 220 ++
.../core/metamodel/facets/FacetFactory.java | 405 +++
.../metamodel/facets/FacetFactoryAbstract.java | 91 +
.../core/metamodel/facets/FacetedMethod.java | 241 ++
.../metamodel/facets/FacetedMethodParameter.java | 65 +
.../core/metamodel/facets/HasImperativeAspect.java | 40 +
.../facets/HasPostConstructMethodCache.java | 58 +
.../core/metamodel/facets/ImperativeAspect.java | 81 +
.../core/metamodel/facets/ImperativeFacet.java | 131 +
.../metamodel/facets/ObjectTypeFacetFactory.java | 51 +
.../core/metamodel/facets/ParameterSupport.java | 255 ++
...ropertyOrCollectionIdentifyingFacetFactory.java | 82 +
...rCollectionIdentifyingFacetFactoryAbstract.java | 46 +
.../metamodel/facets/SingleClassValueFacet.java | 34 +
.../facets/SingleClassValueFacetAbstract.java | 71 +
.../core/metamodel/facets/SingleIntValueFacet.java | 26 +
.../facets/SingleIntValueFacetAbstract.java | 83 +
.../metamodel/facets/SingleStringValueFacet.java | 22 +
.../facets/SingleStringValueFacetAbstract.java | 66 +
.../core/metamodel/facets/SingleValueFacet.java | 27 +
.../metamodel/facets/SingleValueFacetAbstract.java | 48 +
.../core/metamodel/facets/TypedHolder.java | 39 +
.../core/metamodel/facets/TypedHolderAbstract.java | 57 +
.../core/metamodel/facets/WhereValueFacet.java | 52 +
.../metamodel/facets/WhereValueFacetAbstract.java | 66 +
.../facets/actcoll/typeof/TypeOfFacet.java | 101 +
.../facets/actcoll/typeof/TypeOfFacetAbstract.java | 87 +
.../actcoll/typeof/TypeOfFacetFromFeature.java | 31 +
.../facets/actcoll/typeof/TypeOfFacetFromType.java | 31 +
.../action/ActionAnnotationFacetFactory.java | 291 ++
...reteTypeToBeIncludedWithMetamodelValidator.java | 71 +
...nChoicesForCollectionParameterFacetFactory.java | 159 +
.../actions/action/ActionOverloadingValidator.java | 81 +
.../action/choicesfrom/ChoicesFromFacet.java | 29 +
.../choicesfrom/ChoicesFromFacetAbstract.java | 43 +
.../ChoicesFromFacetForActionAnnotation.java | 47 +
.../action/explicit/ActionExplicitFacet.java | 28 +
.../explicit/ActionExplicitFacetAbstract.java | 31 +
.../ActionExplicitFacetForActionAnnotation.java | 40 +
.../hidden/HiddenFacetForActionAnnotation.java | 54 +
.../action/invocation/ActionDomainEventFacet.java | 33 +
.../invocation/ActionDomainEventFacetAbstract.java | 149 +
.../invocation/ActionDomainEventFacetDefault.java | 32 +
.../ActionDomainEventFacetForActionAnnotation.java | 31 +
.../action/invocation/ActionInvocationFacet.java | 50 +
.../invocation/ActionInvocationFacetAbstract.java | 37 +
...ctionInvocationFacetForDomainEventAbstract.java | 249 ++
...ionFacetForDomainEventFromActionAnnotation.java | 39 +
...onInvocationFacetForDomainEventFromDefault.java | 39 +
.../actions/action/invocation/IdentifierUtil.java | 157 +
.../PrototypeFacetForActionAnnotation.java | 49 +
...ctionSemanticsFacetFallbackToNonIdempotent.java | 31 +
.../ActionSemanticsFacetForActionAnnotation.java | 48 +
.../typeof/TypeOfFacetForActionAnnotation.java | 55 +
.../actions/contributing/ContributingFacet.java | 82 +
.../contributing/ContributingFacetAbstract.java | 55 +
.../ContributingFacetFromMixinFacetFactory.java | 73 +
.../FileAcceptFacetForActionAnnotation.java | 47 +
.../facets/actions/homepage/HomePageFacet.java | 33 +
.../actions/homepage/HomePageFacetAbstract.java | 35 +
.../facets/actions/homepage/HomePageFacetImpl.java | 29 +
.../annotation/HomePageFacetAnnotation.java | 30 +
.../annotation/HomePageFacetAnnotationFactory.java | 138 +
.../actions/layout/ActionLayoutFacetFactory.java | 114 +
...tionPositionFacetForActionLayoutAnnotation.java | 44 +
.../ActionPositionFacetForActionLayoutXml.java | 51 +
...okmarkPolicyFacetForActionLayoutAnnotation.java | 56 +
.../BookmarkPolicyFacetForActionLayoutXml.java | 54 +
.../CssClassFaFacetForActionLayoutAnnotation.java | 60 +
.../layout/CssClassFaFacetForActionLayoutXml.java | 57 +
.../layout/CssClassFaFacetForMenuBarXml.java | 55 +
.../CssClassFacetForActionLayoutAnnotation.java | 46 +
.../layout/CssClassFacetForActionLayoutXml.java | 54 +
.../actions/layout/CssClassFacetForMenuBarXml.java | 48 +
.../HiddenFacetForActionLayoutAnnotation.java | 53 +
.../layout/HiddenFacetForActionLayoutXml.java | 63 +
...berDescribedFacetForActionLayoutAnnotation.java | 50 +
.../MemberDescribedFacetForActionLayoutXml.java | 54 +
.../layout/MemberDescribedFacetForMenuBarXml.java | 48 +
.../layout/MemberNamedFacetForActionLayoutXml.java | 54 +
.../layout/MemberNamedFacetForMenuBarXml.java | 48 +
.../NamedFacetForActionLayoutAnnotation.java | 47 +
.../PromptStyleFacetForActionLayoutAnnotation.java | 106 +
.../layout/PromptStyleFacetForActionLayoutXml.java | 68 +
.../RedirectFacetFromActionLayoutAnnotation.java | 46 +
.../layout/RedirectFacetFromActionLayoutXml.java | 54 +
.../notinservicemenu/NotInServiceMenuFacet.java | 36 +
.../NotInServiceMenuFacetAbstract.java | 39 +
...otInServiceMenuFacetFromDomainServiceFacet.java | 55 +
...viceMenuFacetFromDomainServiceFacetFactory.java | 65 +
.../actions/position/ActionPositionFacet.java | 43 +
.../position/ActionPositionFacetAbstract.java | 62 +
.../position/ActionPositionFacetFallback.java | 30 +
.../facets/actions/prototype/PrototypeFacet.java | 29 +
.../actions/prototype/PrototypeFacetAbstract.java | 57 +
.../facets/actions/redirect/RedirectFacet.java | 32 +
.../actions/redirect/RedirectFacetAbstract.java | 64 +
.../actions/redirect/RedirectFacetFallback.java | 30 +
.../actions/semantics/ActionSemanticsFacet.java | 32 +
.../semantics/ActionSemanticsFacetAbstract.java | 38 +
.../validate/ActionParameterValidationFacet.java | 45 +
.../ActionParameterValidationFacetAbstract.java | 47 +
.../actions/validate/ActionValidationFacet.java | 48 +
.../validate/ActionValidationFacetAbstract.java | 47 +
.../ActionParameterValidationFacetViaMethod.java | 80 +
.../method/ActionValidationFacetViaMethod.java | 88 +
.../ActionValidationFacetViaMethodFactory.java | 69 +
.../facets/all/described/MemberDescribedFacet.java | 38 +
...erDescribedFacetWithImperativeTextAbstract.java | 59 +
...MemberDescribedFacetWithStaticTextAbstract.java | 67 +
.../facets/all/described/ObjectDescribedFacet.java | 29 +
.../described/ObjectDescribedFacetAbstract.java | 45 +
.../facets/all/described/ParamDescribedFacet.java | 32 +
.../all/described/ParamDescribedFacetAbstract.java | 58 +
.../core/metamodel/facets/all/help/HelpFacet.java | 28 +
.../facets/all/help/HelpFacetAbstract.java | 41 +
.../metamodel/facets/all/hide/HiddenFacet.java | 61 +
.../facets/all/i8n/HasMemoizableTranslation.java | 25 +
.../all/i8n/imperative/HasImperativeText.java | 44 +
.../imperative/HasImperativeTextFacetAbstract.java | 97 +
.../metamodel/facets/all/i8n/noun/HasNoun.java | 83 +
.../facets/all/i8n/noun/HasNounFacetAbstract.java | 115 +
.../metamodel/facets/all/i8n/noun/NounForm.java | 46 +
.../metamodel/facets/all/i8n/noun/NounForms.java | 118 +
.../facets/all/i8n/staatic/HasStaticText.java | 41 +
.../i8n/staatic/HasStaticTextFacetAbstract.java | 98 +
.../facets/all/named/MemberNamedFacet.java | 38 +
.../named/MemberNamedFacetForStaticMemberName.java | 39 +
...MemberNamedFacetWithImperativeTextAbstract.java | 59 +
.../MemberNamedFacetWithStaticTextAbstract.java | 67 +
.../facets/all/named/ObjectNamedFacet.java | 29 +
.../facets/all/named/ObjectNamedFacetAbstract.java | 57 +
.../all/named/ObjectNamedFacetSynthesized.java | 43 +
.../facets/all/named/ParamNamedFacet.java | 32 +
.../facets/all/named/ParamNamedFacetAbstract.java | 54 +
.../facets/collections/CollectionFacet.java | 196 ++
.../collections/CollectionFacetAbstract.java | 38 +
.../CollectionAccessorFacetViaAccessor.java | 94 +
.../CollectionAccessorFacetViaAccessorFactory.java | 108 +
.../CollectionAnnotationFacetFactory.java | 184 ++
.../collection/defaultview/DefaultViewFacet.java | 25 +
.../defaultview/DefaultViewFacetAbstract.java | 42 +
.../hidden/HiddenFacetForCollectionAnnotation.java | 53 +
.../modify/CollectionDomainEventFacet.java | 31 +
.../modify/CollectionDomainEventFacetAbstract.java | 76 +
.../modify/CollectionDomainEventFacetDefault.java | 31 +
...ionDomainEventFacetForCollectionAnnotation.java | 44 +
.../typeof/TypeOfFacetForCollectionAnnotation.java | 55 +
.../javautilcollection/CollectionFacetFactory.java | 55 +
.../javautilcollection/JavaArrayFacet.java | 89 +
.../javautilcollection/JavaCollectionFacet.java | 80 +
.../layout/CollectionLayoutFacetFactory.java | 92 +
...CssClassFacetForCollectionLayoutAnnotation.java | 45 +
.../CssClassFacetForCollectionLayoutXml.java | 54 +
.../layout/DefaultViewFacetAsConfigured.java | 40 +
...aultViewFacetForCollectionLayoutAnnotation.java | 48 +
.../DefaultViewFacetForCollectionLayoutXml.java | 54 +
.../HiddenFacetForCollectionLayoutAnnotation.java | 56 +
.../layout/HiddenFacetForCollectionLayoutXml.java | 63 +
...escribedFacetForCollectionLayoutAnnotation.java | 50 +
...MemberDescribedFacetForCollectionLayoutXml.java | 56 +
...berNamedFacetForCollectionLayoutAnnotation.java | 50 +
.../MemberNamedFacetForCollectionLayoutXml.java | 57 +
.../PagedFacetForCollectionLayoutAnnotation.java | 52 +
.../layout/PagedFacetForCollectionLayoutXml.java | 53 +
...PagedFacetOverriddenByDataTablesDecoration.java | 34 +
...SortedByFacetForCollectionLayoutAnnotation.java | 53 +
.../SortedByFacetForCollectionLayoutXml.java | 64 +
.../CollectionLayoutTableDecorationFacet.java | 73 +
...llectionLayoutTableDecorationFacetAbstract.java | 39 +
...corationFacetForCollectionLayoutAnnotation.java | 33 +
...tForCollectionLayoutAnnotationAsConfigured.java | 33 +
...TableDecorationFacetForCollectionLayoutXml.java | 53 +
...ayoutTableDecorationFacetFromConfiguration.java | 33 +
.../parented/ParentedCollectionFacetDefault.java | 36 +
.../ParentedFacetSinceCollectionFactory.java | 55 +
.../facets/collections/sortedby/SortedByFacet.java | 31 +
.../sortedby/SortedByFacetAbstract.java | 38 +
.../annotation/SortedByFacetAnnotationFactory.java | 84 +
.../facets/fallback/FallbackFacetFactory.java | 117 +
.../LabelAtFacetFromLayoutConfiguration.java | 31 +
.../facets/fallback/MaxLengthFacetUnlimited.java | 42 +
.../facets/fallback/MultiLineFacetNone.java | 33 +
.../fallback/NamedFacetFallbackFromMemberName.java | 35 +
.../fallback/PagedFacetFromConfiguration.java | 29 +
.../metamodel/facets/fallback/TitleFacetNone.java | 36 +
.../metamodel/facets/jaxb/JaxbFacetFactory.java | 376 +++
.../facets/jaxb/XmlAccessorTypeFacet.java | 30 +
.../facets/jaxb/XmlAccessorTypeFacetAbstract.java | 39 +
.../facets/jaxb/XmlAccessorTypeFacetDefault.java | 32 +
.../facets/jaxb/XmlJavaTypeAdapterFacet.java | 28 +
.../jaxb/XmlJavaTypeAdapterFacetAbstract.java | 37 +
.../jaxb/XmlJavaTypeAdapterFacetDefault.java | 30 +
.../metamodel/facets/jaxb/XmlTransientFacet.java | 28 +
.../facets/jaxb/XmlTransientFacetAbstract.java | 37 +
.../facets/jaxb/XmlTransientFacetDefault.java | 29 +
.../facets/members/cssclass/CssClassFacet.java | 38 +
.../members/cssclass/CssClassFacetAbstract.java | 40 +
.../members/cssclass/CssClassFacetSimple.java | 62 +
.../CssClassFacetOnActionFromConfiguredRegex.java | 29 +
...assFacetOnActionFromConfiguredRegexFactory.java | 83 +
.../facets/members/cssclassfa/CssClassFaFacet.java | 37 +
.../members/cssclassfa/CssClassFaFactory.java | 78 +
.../cssclassfa/CssClassFaImperativeFacet.java | 31 +
.../CssClassFaImperativeFacetAbstract.java | 60 +
.../members/cssclassfa/CssClassFaStaticFacet.java | 24 +
.../cssclassfa/CssClassFaStaticFacetAbstract.java | 162 +
...CssClassFaFacetOnMemberFromConfiguredRegex.java | 176 +
.../CssClassFaFacetOnMemberPostProcessor.java | 56 +
.../annotprop/MemberDescribedFacetFromType.java | 53 +
.../DescribedAsFacetForMemberViaMethodFactory.java | 52 +
.../method/MemberDescribedFacetViaMethod.java | 37 +
.../facets/members/disabled/DisabledFacet.java | 76 +
.../members/disabled/DisabledFacetAbstract.java | 100 +
.../disabled/DisabledFacetForContributee.java | 30 +
.../disabled/method/DisableForContextFacet.java | 36 +
.../method/DisableForContextFacetAbstract.java | 39 +
.../method/DisableForContextFacetNone.java | 42 +
.../method/DisableForContextFacetViaMethod.java | 85 +
.../DisableForContextFacetViaMethodFactory.java | 53 +
.../facets/members/hidden/HiddenFacetAbstract.java | 75 +
.../HiddenFacetAbstractAlwaysEverywhere.java | 40 +
.../members/hidden/HiddenFacetAbstractImpl.java | 42 +
.../HiddenFacetFromLayoutPropertiesAbstract.java | 53 +
.../members/hidden/method/HideForContextFacet.java | 36 +
.../hidden/method/HideForContextFacetAbstract.java | 39 +
.../hidden/method/HideForContextFacetNone.java | 39 +
.../method/HideForContextFacetViaMethod.java | 70 +
.../HideForContextFacetViaMethodFactory.java | 53 +
.../members/layout/group/GroupIdAndName.java | 190 ++
.../members/layout/group/LayoutGroupFacet.java | 79 +
.../layout/group/LayoutGroupFacetAbstract.java | 62 +
.../group/LayoutGroupFacetForActionAnnotation.java | 43 +
.../layout/group/LayoutGroupFacetForLayoutXml.java | 68 +
...LayoutGroupFacetFromActionLayoutAnnotation.java | 42 +
...youtGroupFacetFromPropertyLayoutAnnotation.java | 42 +
.../members/layout/order/LayoutOrderFacet.java | 50 +
.../layout/order/LayoutOrderFacetAbstract.java | 46 +
.../layout/order/LayoutOrderFacetForLayoutXml.java | 41 +
...LayoutOrderFacetFromActionLayoutAnnotation.java | 42 +
...utOrderFacetFromCollectionLayoutAnnotation.java | 42 +
...youtOrderFacetFromPropertyLayoutAnnotation.java | 42 +
.../named/method/MemberNamedFacetViaMethod.java | 37 +
.../NamedFacetForMemberViaMethodFactory.java | 53 +
.../facets/members/navigation/NavigationFacet.java | 32 +
.../publish/command/CommandPublishingFacet.java | 69 +
.../command/CommandPublishingFacetAbstract.java | 90 +
.../CommandPublishingFacetForActionAnnotation.java | 124 +
...ishingFacetForActionAnnotationAsConfigured.java | 33 +
...ommandPublishingFacetForPropertyAnnotation.java | 99 +
...hingFacetForPropertyAnnotationAsConfigured.java | 32 +
.../CommandPublishingFacetFromConfiguration.java | 38 +
...onPublishingActionFacetForActionAnnotation.java | 108 +
...ActionFacetForActionAnnotationAsConfigured.java | 31 +
...tionPublishingActionFacetFromConfiguration.java | 31 +
.../execution/ExecutionPublishingFacet.java | 49 +
.../ExecutionPublishingFacetAbstract.java | 36 +
...blishingPropertyFacetForPropertyAnnotation.java | 88 +
...ertyFacetForPropertyAnnotationAsConfigured.java | 29 +
...onPublishingPropertyFacetFromConfiguration.java | 30 +
...mberAndPropertySupportFacetFactoryAbstract.java | 49 +
.../support/MemberSupportFacetFactoryAbstract.java | 86 +
.../ViewModelSemanticCheckingFacetFactory.java | 77 +
.../object/autocomplete/AutoCompleteFacet.java | 34 +
.../autocomplete/AutoCompleteFacetAbstract.java | 114 +
.../object/bookmarkpolicy/BookmarkPolicyFacet.java | 37 +
.../BookmarkPolicyFacetAbstract.java | 63 +
.../BookmarkPolicyFacetFallback.java | 33 +
.../BookmarkPolicyFacetFallbackFactory.java | 103 +
.../facets/object/callbacks/CallbackFacet.java | 54 +
.../object/callbacks/CallbackFacetAbstract.java | 65 +
.../object/callbacks/CallbackFacetFactory.java | 87 +
.../object/callbacks/CreatedCallbackFacet.java | 35 +
.../callbacks/CreatedCallbackFacetAbstract.java | 42 +
.../callbacks/CreatedCallbackFacetViaMethod.java | 38 +
.../callbacks/CreatedLifecycleEventFacet.java | 29 +
...fecycleEventFacetForDomainObjectAnnotation.java | 46 +
.../object/callbacks/LifecycleEventFacet.java | 27 +
.../object/callbacks/LoadedCallbackFacet.java | 36 +
.../callbacks/LoadedCallbackFacetAbstract.java | 42 +
.../callbacks/LoadedCallbackFacetViaMethod.java | 36 +
.../callbacks/LoadedLifecycleEventFacet.java | 29 +
...fecycleEventFacetForDomainObjectAnnotation.java | 44 +
.../object/callbacks/PersistedCallbackFacet.java | 35 +
.../callbacks/PersistedCallbackFacetAbstract.java | 42 +
.../callbacks/PersistedCallbackFacetViaMethod.java | 36 +
.../callbacks/PersistedLifecycleEventFacet.java | 29 +
...fecycleEventFacetForDomainObjectAnnotation.java | 44 +
.../object/callbacks/PersistingCallbackFacet.java | 36 +
.../callbacks/PersistingCallbackFacetAbstract.java | 42 +
.../PersistingCallbackFacetViaMethod.java | 36 +
.../callbacks/PersistingLifecycleEventFacet.java | 29 +
...fecycleEventFacetForDomainObjectAnnotation.java | 45 +
.../object/callbacks/RemovingCallbackFacet.java | 31 +
.../callbacks/RemovingCallbackFacetAbstract.java | 42 +
.../callbacks/RemovingCallbackFacetViaMethod.java | 36 +
.../callbacks/RemovingLifecycleEventFacet.java | 29 +
...fecycleEventFacetForDomainObjectAnnotation.java | 47 +
.../object/callbacks/UpdatedCallbackFacet.java | 36 +
.../callbacks/UpdatedCallbackFacetAbstract.java | 42 +
.../callbacks/UpdatedCallbackFacetViaMethod.java | 36 +
.../callbacks/UpdatedLifecycleEventFacet.java | 29 +
...fecycleEventFacetForDomainObjectAnnotation.java | 47 +
.../object/callbacks/UpdatingCallbackFacet.java | 36 +
.../callbacks/UpdatingCallbackFacetAbstract.java | 42 +
.../callbacks/UpdatingCallbackFacetViaMethod.java | 36 +
.../callbacks/UpdatingLifecycleEventFacet.java | 29 +
...fecycleEventFacetForDomainObjectAnnotation.java | 47 +
.../choices/ChoicesFacetFromBoundedAbstract.java | 123 +
.../object/choices/enums/ChoicesFacetFromEnum.java | 67 +
.../choices/enums/ChoicesFacetFromEnumFactory.java | 47 +
.../method/CssClassFacetViaCssClassMethod.java | 72 +
...ssClassFaFacetForDomainObjectLayoutFactory.java | 54 +
.../facets/object/defaults/DefaultedFacet.java | 43 +
.../object/defaults/DefaultedFacetAbstract.java | 65 +
.../defaults/DefaultedFacetFromValueFacet.java | 44 +
.../object/disabled/DisabledObjectFacet.java | 54 +
.../disabled/DisabledObjectFacetAbstract.java | 49 +
.../method/DisabledObjectFacetViaMethod.java | 93 +
.../AliasedFacetForDomainObjectAnnotation.java | 61 +
.../DomainObjectAnnotationFacetFactory.java | 653 ++++
...AutoCompleteFacetForDomainObjectAnnotation.java | 45 +
.../ChoicesFacetForDomainObjectAnnotation.java | 47 +
...EventDefaultFacetForDomainObjectAnnotation.java | 51 +
...EventDefaultFacetForDomainObjectAnnotation.java | 50 +
...EventDefaultFacetForDomainObjectAnnotation.java | 50 +
...itingEnabledFacetForDomainObjectAnnotation.java | 57 +
.../ImmutableFacetForDomainObjectAnnotation.java | 94 +
...FacetForDomainObjectAnnotationAsConfigured.java | 38 +
.../editing/ImmutableFacetFromConfiguration.java | 50 +
...gePublishingFacetForDomainObjectAnnotation.java | 74 +
...FacetForDomainObjectAnnotationAsConfigured.java | 31 +
...tityChangePublishingFacetFromConfiguration.java | 38 +
...ectionPolicyFacetForDomainObjectAnnotation.java | 59 +
...PolicyFacetForDomainObjectLayoutAnnotation.java | 44 +
...ookmarkPolicyFacetForDomainObjectLayoutXml.java | 56 +
...lassFaFacetForDomainObjectLayoutAnnotation.java | 58 +
.../CssClassFaFacetForDomainObjectLayoutXml.java | 59 +
...sClassFacetForDomainObjectLayoutAnnotation.java | 57 +
.../CssClassFacetForDomainObjectLayoutXml.java | 54 +
...ObjectLayoutAnnotationUsingCssClassUiEvent.java | 125 +
.../DomainObjectLayoutFacetFactory.java | 98 +
...mainObjectLayoutAnnotationUsingIconUiEvent.java | 124 +
...inObjectLayoutAnnotationUsingLayoutUiEvent.java | 125 +
...cribedFacetForDomainObjectLayoutAnnotation.java | 47 +
...jectDescribedFacetForDomainObjectLayoutXml.java | 56 +
...tNamedFacetForDomainObjectLayoutAnnotation.java | 71 +
.../ObjectNamedFacetForDomainObjectLayoutXml.java | 74 +
.../PagedFacetForDomainObjectLayoutAnnotation.java | 54 +
...PagedFacetOverriddenByDataTablesDecoration.java | 30 +
...ainObjectLayoutAnnotationUsingTitleUiEvent.java | 159 +
.../DomainObjectLayoutTableDecorationFacet.java | 72 +
...inObjectLayoutTableDecorationFacetAbstract.java | 39 +
...rationFacetForDomainObjectLayoutAnnotation.java | 33 +
...orDomainObjectLayoutAnnotationAsConfigured.java | 33 +
...bleDecorationFacetForDomainObjectLayoutXml.java | 62 +
...ayoutTableDecorationFacetFromConfiguration.java | 33 +
.../object/domainservice/DomainServiceFacet.java | 80 +
.../domainservice/DomainServiceFacetAbstract.java | 57 +
.../AliasedFacetForDomainServiceAnnotation.java | 61 +
.../DomainServiceFacetAnnotationFactory.java | 97 +
.../DomainServiceFacetForAnnotation.java | 33 +
.../DomainServiceLayoutFacet.java | 36 +
.../DomainServiceLayoutFacetAbstract.java | 55 +
.../DomainServiceLayoutFacetFactory.java | 69 +
...NamedFacetForDomainServiceLayoutAnnotation.java | 56 +
.../DomainServiceLayoutFacetAnnotation.java | 34 +
.../facets/object/entity/EntityFacet.java | 175 +
.../object/entity/_EntityFacetForTesting.java | 110 +
.../metamodel/facets/object/grid/GridFacet.java | 43 +
.../facets/object/grid/GridFacetDefault.java | 133 +
.../facets/object/grid/GridFacetFactory.java | 53 +
.../facets/object/hidden/HiddenInstanceFacet.java | 47 +
.../facets/object/hidden/HiddenObjectFacet.java | 36 +
.../object/hidden/HiddenObjectFacetAbstract.java | 47 +
.../facets/object/hidden/HiddenTypeFacet.java | 23 +
.../hidden/HiddenTypeFacetFromAuthorization.java | 77 +
.../HiddenTypeFacetFromAuthorizationFactory.java | 48 +
.../hidden/method/HiddenObjectFacetViaMethod.java | 80 +
.../metamodel/facets/object/icon/IconFacet.java | 43 +
.../facets/object/icon/IconFacetAbstract.java | 41 +
.../metamodel/facets/object/icon/ObjectIcon.java | 102 +
.../facets/object/icon/ObjectIconService.java | 52 +
.../icon/method/IconFacetViaIconNameMethod.java | 72 +
.../RemoveAnnotatedMethodsFacetFactory.java | 72 +
...oveDatanucleusPersistableTypesFacetFactory.java | 74 +
.../RemoveDnPrefixedMethodsFacetFactory.java | 48 +
.../javalang/IteratorFilteringFacetFactory.java | 60 +
.../ignore/javalang/RemoveMethodsFacetFactory.java | 147 +
.../jdo/RemoveJdoEnhancementTypesFacetFactory.java | 74 +
.../jdo/RemoveJdoPrefixedMethodsFacetFactory.java | 49 +
.../object/immutable/EditingEnabledFacet.java | 38 +
.../facets/object/immutable/ImmutableFacet.java | 49 +
.../object/immutable/ImmutableFacetAbstract.java | 87 +
.../CopyImmutableFacetOntoMembersFactory.java | 53 +
.../introspection/IntrospectionPolicyFacet.java | 58 +
.../IntrospectionPolicyFacetAbstract.java | 61 +
.../facets/object/layout/LayoutFacet.java | 36 +
.../facets/object/layout/LayoutFacetAbstract.java | 42 +
.../facets/object/layout/LayoutFacetFallback.java | 43 +
.../object/layout/LayoutFacetViaLayoutMethod.java | 78 +
.../facets/object/logicaltype/AliasedFacet.java | 53 +
.../object/logicaltype/AliasedFacetAbstract.java | 64 +
.../logicaltype/LogicalTypeMalformedValidator.java | 76 +
.../LogicalTypeFacetFromClassNameFactory.java | 137 +
.../mixin/MetaModelValidatorForMixinTypes.java | 77 +
.../metamodel/facets/object/mixin/MixinFacet.java | 65 +
.../facets/object/mixin/MixinFacetAbstract.java | 128 +
.../mixin/MixinFacetForDomainObjectAnnotation.java | 65 +
.../object/navparent/NavigableParentFacet.java | 41 +
.../navparent/NavigableParentFacetAbstract.java | 37 +
.../NavigableParentAnnotationFacetFactory.java | 200 ++
.../method/NavigableParentFacetViaMethod.java | 128 +
.../ObjectValidPropertiesFacet.java | 41 +
.../ObjectValidPropertiesFacetAbstract.java | 46 +
.../impl/ObjectValidPropertiesFacetImpl.java | 66 +
.../ObjectValidPropertiesFacetImplFactory.java | 40 +
.../metamodel/facets/object/paged/PagedFacet.java | 32 +
.../facets/object/paged/PagedFacetAbstract.java | 51 +
.../object/parented/ParentedCollectionFacet.java | 39 +
.../parented/ParentedCollectionFacetAbstract.java | 35 +
.../facets/object/projection/ProjectionFacet.java | 28 +
.../object/projection/ProjectionFacetAbstract.java | 37 +
.../ProjectionFacetFromProjectingProperty.java | 59 +
.../ident/CssClassFacetFromProjectionFacet.java | 58 +
.../ident/IconFacetFromProjectionFacet.java | 64 +
.../ident/TitleFacetFromProjectionFacet.java | 57 +
.../object/promptStyle/PromptStyleFacet.java | 32 +
.../promptStyle/PromptStyleFacetAbstract.java | 41 +
.../promptStyle/PromptStyleFacetAsConfigured.java | 46 +
.../entitychange/EntityChangePublishingFacet.java | 54 +
.../EntityChangePublishingFacetAbstract.java | 43 +
.../object/support/ObjectSupportFacetAbstract.java | 26 +
.../object/support/ObjectSupportFacetFactory.java | 150 +
.../metamodel/facets/object/title/TitleFacet.java | 49 +
.../facets/object/title/TitleFacetAbstract.java | 73 +
.../facets/object/title/TitleRenderRequest.java | 58 +
.../annotation/TitleAnnotationFacetFactory.java | 101 +
.../annotation/TitleFacetViaTitleAnnotation.java | 254 ++
.../methods/TitleFacetFromToStringMethod.java | 74 +
.../title/methods/TitleFacetViaTitleMethod.java | 112 +
.../title/parser/TitleFacetFromValueFacet.java | 121 +
.../facets/object/value/CompositeValueUpdater.java | 93 +
.../value/CompositeValueUpdaterForParameter.java | 63 +
.../value/CompositeValueUpdaterForProperty.java | 63 +
.../value/ImmutableFacetViaValueSemantics.java | 37 +
.../object/value/MaxLengthFacetFromValueFacet.java | 58 +
.../value/TypicalLengthFacetFromValueFacet.java | 52 +
.../metamodel/facets/object/value/ValueFacet.java | 175 +
.../facets/object/value/ValueFacetAbstract.java | 420 +++
.../facets/object/value/ValueSerializer.java | 43 +
.../object/value/ValueSerializerDefault.java | 71 +
...ionOrAnyMatchingValueSemanticsFacetFactory.java | 160 +
.../vsp/ValueFacetUsingSemanticsProvider.java | 44 +
.../value/vsp/ValueSemanticsFacetAbstract.java | 65 +
.../facets/object/viewmodel/ViewModelFacet.java | 57 +
.../object/viewmodel/ViewModelFacetAbstract.java | 112 +
.../object/viewmodel/ViewModelFacetFactory.java | 124 +
.../ViewModelFacetForDomainObjectAnnotation.java | 186 ++
.../ViewModelFacetForSerializableInterface.java | 101 +
.../ViewModelFacetForViewModelInterface.java | 114 +
.../ViewModelFacetForXmlRootElementAnnotation.java | 106 +
.../facets/objectvalue/choices/ChoicesFacet.java | 36 +
.../objectvalue/choices/ChoicesFacetAbstract.java | 37 +
.../daterenderedadjust/DateRenderAdjustFacet.java | 44 +
.../DateRenderAdjustFacetAbstract.java | 62 +
.../digits/MaxFractionalDigitsFacet.java | 47 +
.../digits/MaxFractionalDigitsFacetAbstract.java | 91 +
.../objectvalue/digits/MaxTotalDigitsFacet.java | 46 +
.../digits/MaxTotalDigitsFacetAbstract.java | 90 +
.../digits/MinFractionalDigitsFacet.java | 44 +
.../digits/MinFractionalDigitsFacetAbstract.java | 71 +
.../objectvalue/digits/MinIntegerDigitsFacet.java | 43 +
.../digits/MinIntegerDigitsFacetAbstract.java | 71 +
.../objectvalue/fileaccept/FileAcceptFacet.java | 34 +
.../fileaccept/FileAcceptFacetAbstract.java | 36 +
.../facets/objectvalue/labelat/LabelAtFacet.java | 35 +
.../objectvalue/labelat/LabelAtFacetAbstract.java | 62 +
.../labelat/LabelAtFacetFromMultiLineFacet.java | 38 +
.../objectvalue/mandatory/MandatoryFacet.java | 84 +
.../mandatory/MandatoryFacetAbstract.java | 115 +
.../mandatory/MandatoryFacetDefault.java | 43 +
.../facets/objectvalue/maxlen/MaxLengthFacet.java | 40 +
.../objectvalue/maxlen/MaxLengthFacetAbstract.java | 88 +
.../objectvalue/multiline/MultiLineFacet.java | 38 +
.../multiline/MultiLineFacetAbstract.java | 66 +
.../MustSatisfySpecificationFacet.java | 26 +
.../MustSatisfySpecificationFacetAbstract.java | 117 +
.../mustsatisfyspec/SpecificationEvaluator.java | 79 +
.../facets/objectvalue/regex/RegExFacet.java | 38 +
.../objectvalue/regex/RegExFacetAbstract.java | 120 +
.../temporalformat/DateFormatStyleFacet.java | 38 +
.../DateFormatStyleFacetAbstract.java | 73 +
.../temporalformat/TimeFormatPrecisionFacet.java | 39 +
.../TimeFormatPrecisionFacetAbstract.java | 73 +
.../temporalformat/TimeFormatStyleFacet.java | 38 +
.../TimeFormatStyleFacetAbstract.java | 73 +
.../temporalformat/TimeZoneTranslationFacet.java | 41 +
.../TimeZoneTranslationFacetAbstract.java | 73 +
.../objectvalue/typicallen/TypicalLengthFacet.java | 54 +
.../typicallen/TypicalLengthFacetAbstract.java | 60 +
.../ValueSemanticsSelectingFacet.java | 36 +
.../ValueSemanticsSelectingFacetAbstract.java | 38 +
.../ActionParameterAutoCompleteFacet.java | 48 +
.../ActionParameterAutoCompleteFacetAbstract.java | 40 +
.../facets/param/autocomplete/MinLengthUtil.java | 55 +
.../ActionParameterAutoCompleteFacetViaMethod.java | 112 +
...ParameterAutoCompleteFacetViaMethodFactory.java | 55 +
.../param/choices/ActionParameterChoicesFacet.java | 43 +
.../ActionParameterChoicesFacetAbstract.java | 41 +
...ctionParameterChoicesFacetFromChoicesFacet.java | 60 +
...nParameterChoicesFacetFromChoicesFromFacet.java | 74 +
.../ActionParameterChoicesFacetViaMethod.java | 100 +
...ctionParameterChoicesFacetViaMethodFactory.java | 52 +
.../defaults/ActionParameterDefaultsFacet.java | 47 +
.../ActionParameterDefaultsFacetAbstract.java | 37 +
.../ActionParameterDefaultsFacetViaMethod.java | 104 +
...tionParameterDefaultsFacetViaMethodFactory.java | 51 +
.../annotderived/ParamDescribedFacetFromType.java | 52 +
.../disable/ActionParameterDisabledFacet.java | 41 +
.../ActionParameterDisabledFacetAbstract.java | 47 +
.../ActionParameterDisabledFacetViaMethod.java | 90 +
...tionParameterDisabledFacetViaMethodFactory.java | 54 +
.../param/hide/ActionParameterHiddenFacet.java | 42 +
.../hide/ActionParameterHiddenFacetAbstract.java | 53 +
.../ActionParameterHiddenFacetViaMethod.java | 97 +
...ActionParameterHiddenFacetViaMethodFactory.java | 55 +
.../CssClassFacetForParameterLayoutAnnotation.java | 46 +
.../LabelAtFacetForParameterLayoutAnnotation.java | 45 +
...MultiLineFacetForParameterLayoutAnnotation.java | 44 +
.../NamedFacetForParameterLayoutAnnotation.java | 52 +
...DescribedFacetForParameterLayoutAnnotation.java | 48 +
.../param/layout/ParameterLayoutFacetFactory.java | 77 +
...calLengthFacetForParameterLayoutAnnotation.java | 47 +
.../MandatoryFacetOnParametersDefaultFactory.java | 58 +
.../NamedFacetForParameterUsingReflection.java | 37 +
.../ParameterNameFacetFactoryUsingReflection.java | 74 +
.../parameter/ParameterAnnotationFacetFactory.java | 154 +
...ActionFacetForActionAnnotationAsConfigured.java | 33 +
.../depdef/ParameterDependentDefaultsFacet.java | 73 +
.../ParameterDependentDefaultsFacetAbstract.java | 39 +
...pendentDefaultsFacetForParameterAnnotation.java | 33 +
...terDependentDefaultsFacetFromConfiguration.java | 33 +
.../FileAcceptFacetForParameterAnnotation.java | 47 +
.../MandatoryFacetForParameterAnnotation.java | 78 +
...cetInvertedByNullableAnnotationOnParameter.java | 59 +
.../MaxLengthFacetForParameterAnnotation.java | 45 +
...fySpecificationFacetForParameterAnnotation.java | 59 +
.../regex/RegExFacetForParameterAnnotation.java | 57 +
.../RegExFacetForPatternAnnotationOnParameter.java | 55 +
...ActionParameterSupportFacetFactoryAbstract.java | 95 +
.../TypicalLengthFacetOnParameterFromType.java | 75 +
.../validate/ActionParameterValidationFacet.java | 51 +
.../ActionParameterValidationFacetAbstract.java | 52 +
.../ActionParameterValidationFacetViaMethod.java | 91 +
...onParameterValidationFacetViaMethodFactory.java | 54 +
.../PropertyOrCollectionAccessorFacet.java | 52 +
.../PropertyOrCollectionAccessorFacetAbstract.java | 55 +
.../propcoll/memserexcl/SnapshotExcludeFacet.java | 29 +
.../memserexcl/SnapshotExcludeFacetAbstract.java | 37 +
.../accessor/PropertyAccessorFacetViaAccessor.java | 90 +
.../PropertyAccessorFacetViaAccessorFactory.java | 102 +
.../autocomplete/PropertyAutoCompleteFacet.java | 50 +
.../PropertyAutoCompleteFacetAbstract.java | 38 +
.../method/PropertyAutoCompleteFacetMethod.java | 95 +
.../PropertyAutoCompleteFacetMethodFactory.java | 58 +
.../properties/businesskey/BusinessKeyFacet.java | 35 +
.../businesskey/BusinessKeyFacetAbstract.java | 35 +
.../properties/choices/PropertyChoicesFacet.java | 51 +
.../choices/PropertyChoicesFacetAbstract.java | 39 +
.../PropertyChoicesFacetFromChoicesFacet.java | 57 +
.../method/PropertyChoicesFacetViaMethod.java | 82 +
.../PropertyChoicesFacetViaMethodFactory.java | 58 +
.../properties/defaults/PropertyDefaultFacet.java | 45 +
.../defaults/PropertyDefaultFacetAbstract.java | 39 +
.../defaults/PropertyDefaultFacetNone.java | 39 +
.../PropertyDefaultFacetFromDefaultedFacet.java | 71 +
.../PropertyDefaultFacetFromTypeFactory.java | 69 +
.../method/PropertyDefaultFacetViaMethod.java | 80 +
.../PropertyDefaultFacetViaMethodFactory.java | 53 +
.../DisabledFacetOnPropertyFromImmutable.java | 74 +
...isabledFacetOnPropertyFromImmutableFactory.java | 61 +
.../DisabledFacetOnPropertyFromMissingSetter.java | 33 +
.../DisabledFacetOnPropertyInferredFactory.java | 60 +
.../MandatoryFacetOnProperyDefaultFactory.java | 59 +
.../properties/projection/ProjectingFacet.java | 29 +
.../projection/ProjectingFacetAbstract.java | 37 +
.../ProjectingFacetFromPropertyAnnotation.java | 67 +
.../property/PropertyAnnotationFacetFactory.java | 382 +++
.../DisabledFacetForPropertyAnnotation.java | 64 +
...acetForPropertyAnnotationInvertedSemantics.java | 36 +
.../EntityPropertyChangePublishingPolicyFacet.java | 71 +
...ropertyChangePublishingPolicyFacetAbstract.java | 65 +
...PublishingPolicyFacetForPropertyAnnotation.java | 50 +
.../FileAcceptFacetForPropertyAnnotation.java | 46 +
.../hidden/HiddenFacetForPropertyAnnotation.java | 54 +
.../MandatoryFacetForPropertyAnnotation.java | 89 +
...acetInvertedByNullableAnnotationOnProperty.java | 63 +
.../MaxLengthFacetForPropertyAnnotation.java | 43 +
...ropertyClearFacetForDomainEventFromDefault.java | 40 +
...rFacetForDomainEventFromPropertyAnnotation.java | 40 +
.../property/modify/PropertyDomainEventFacet.java | 32 +
.../modify/PropertyDomainEventFacetAbstract.java | 163 +
.../modify/PropertyDomainEventFacetDefault.java | 39 +
...pertyDomainEventFacetForPropertyAnnotation.java | 39 +
...opertySetterFacetForDomainEventFromDefault.java | 41 +
...rFacetForDomainEventFromPropertyAnnotation.java | 40 +
...tySetterOrClearFacetForDomainEventAbstract.java | 297 ++
.../facets/properties/property/modify/Utils.java | 23 +
...sfySpecificationFacetForPropertyAnnotation.java | 59 +
.../RegExFacetForPatternAnnotationOnProperty.java | 56 +
.../regex/RegExFacetForPropertyAnnotation.java | 59 +
.../SnapshotExcludeFacetForPropertyAnnotation.java | 46 +
.../CssClassFacetForPropertyLayoutAnnotation.java | 45 +
.../CssClassFacetForPropertyLayoutXml.java | 54 +
.../HiddenFacetForPropertyLayoutAnnotation.java | 54 +
.../HiddenFacetForPropertyLayoutXml.java | 63 +
.../LabelAtFacetForPropertyLayoutAnnotation.java | 45 +
.../LabelAtFacetForPropertyLayoutXml.java | 53 +
...rDescribedFacetForPropertyLayoutAnnotation.java | 49 +
.../MemberDescribedFacetForPropertyLayoutXml.java | 55 +
.../MemberNamedFacetForPropertyLayoutXml.java | 56 +
.../MultiLineFacetForPropertyLayoutAnnotation.java | 43 +
.../MultiLineFacetForPropertyLayoutXml.java | 52 +
.../NamedFacetForPropertyLayoutAnnotation.java | 52 +
...romptStyleFacetForPropertyLayoutAnnotation.java | 115 +
.../PromptStyleFacetForPropertyLayoutXml.java | 68 +
.../propertylayout/PropertyLayoutFacetFactory.java | 95 +
.../RenderedAdjustedFacetForPropertyLayoutXml.java | 52 +
...icalLengthFacetForPropertyLayoutAnnotation.java | 46 +
.../TypicalLengthFacetForPropertyLayoutXml.java | 53 +
...UnchangingFacetForPropertyLayoutAnnotation.java | 56 +
.../UnchangingFacetForPropertyLayoutXml.java | 55 +
.../renderunchanged/UnchangingFacet.java | 29 +
.../renderunchanged/UnchangingFacetAbstract.java | 34 +
.../properties/searchable/SearchableFacet.java | 48 +
.../searchable/SearchableFacetAbstract.java | 50 +
.../TypicalLengthFacetOnPropertyFromType.java | 77 +
.../update/PropertySetterFacetFactory.java | 94 +
.../SnapshotExcludeFacetFromImmutableMember.java | 31 +
.../update/clear/PropertyClearFacet.java | 36 +
.../update/clear/PropertyClearFacetAbstract.java | 34 +
.../clear/PropertyClearFacetViaClearMethod.java | 69 +
.../clear/PropertyClearFacetViaSetterMethod.java | 70 +
.../update/clear/PropertyClearingAccessor.java | 38 +
.../update/init/PropertyInitializationFacet.java | 49 +
.../init/PropertyInitializationFacetAbstract.java | 34 +
...PropertyInitializationFacetViaSetterMethod.java | 64 +
.../update/modify/PropertySetterFacet.java | 39 +
.../update/modify/PropertySetterFacetAbstract.java | 34 +
.../modify/PropertySetterFacetViaSetterMethod.java | 71 +
.../update/modify/PropertySettingAccessor.java | 44 +
.../validating/PropertyValidateFacet.java | 49 +
.../validating/PropertyValidateFacetAbstract.java | 58 +
.../validating/PropertyValidateFacetNone.java | 42 +
.../dflt/PropertyValidateFacetDefault.java | 47 +
.../dflt/PropertyValidateFacetDefaultFactory.java | 63 +
.../method/PropertyValidateFacetViaMethod.java | 80 +
.../PropertyValidateFacetViaMethodFactory.java | 58 +
...rmatStyleFacetFromValueSemanticsAnnotation.java | 47 +
...derAdjustFacetFromValueSemanticsAnnotation.java | 45 +
...tsFacetFromJavaxValidationDigitsAnnotation.java | 48 +
...nalDigitsFacetFromValueSemanticsAnnotation.java | 48 +
...tsFacetFromJavaxValidationDigitsAnnotation.java | 49 +
...talDigitsFacetFromValueSemanticsAnnotation.java | 47 +
...nalDigitsFacetFromValueSemanticsAnnotation.java | 47 +
...gerDigitsFacetFromValueSemanticsAnnotation.java | 47 +
...PrecisionFacetFromValueSemanticsAnnotation.java | 47 +
...rmatStyleFacetFromValueSemanticsAnnotation.java | 47 +
...anslationFacetFromValueSemanticsAnnotation.java | 47 +
.../ValueSemanticsAnnotationFacetFactory.java | 152 +
.../ValueSemanticsSelectingFacetForAnnotation.java | 47 +
.../inspect/IsisModuleCoreMetamodelInspection.java | 48 +
.../metamodel/inspect/Object_inspectMetamodel.java | 118 +
.../metamodel/inspect/model/ActionNode-mixedin.svg | 0
.../core/metamodel/inspect/model/ActionNode.java | 88 +
.../core/metamodel/inspect/model/ActionNode.svg | 0
.../metamodel/inspect/model/AnnotationNode.java | 83 +
.../metamodel/inspect/model/AnnotationNode.svg | 0
.../inspect/model/CollectionNode-mixedin.svg | 0
.../metamodel/inspect/model/CollectionNode.java | 73 +
.../metamodel/inspect/model/CollectionNode.svg | 0
.../metamodel/inspect/model/FacetAttrNode.java | 83 +
.../core/metamodel/inspect/model/FacetAttrNode.svg | 0
.../metamodel/inspect/model/FacetGroupNode.java | 89 +
.../metamodel/inspect/model/FacetGroupNode.svg | 0
.../core/metamodel/inspect/model/FacetNode.java | 99 +
.../core/metamodel/inspect/model/FacetNode.svg | 0
.../core/metamodel/inspect/model/MMNode.java | 135 +
.../metamodel/inspect/model/MMNodeFactory.java | 103 +
.../metamodel/inspect/model/MMTreeAdapter.java | 45 +
.../core/metamodel/inspect/model/MemberNode.java | 71 +
.../metamodel/inspect/model/ParameterNode.java | 89 +
.../core/metamodel/inspect/model/ParameterNode.svg | 0
.../inspect/model/PropertyNode-mixedin.svg | 0
.../core/metamodel/inspect/model/PropertyNode.java | 71 +
.../core/metamodel/inspect/model/PropertyNode.svg | 0
.../core/metamodel/inspect/model/TypeNode.java | 107 +
.../core/metamodel/inspect/model/TypeNode.svg | 0
.../core/metamodel/inspect/model/icons.html | 0
.../core/metamodel/interactions/AccessContext.java | 43 +
.../interactions/ActionArgUsabilityContext.java | 75 +
.../interactions/ActionArgValidityContext.java | 74 +
.../interactions/ActionArgVisibilityContext.java | 75 +
.../interactions/ActionInteractionContext.java | 30 +
.../interactions/ActionUsabilityContext.java | 59 +
.../interactions/ActionValidityContext.java | 66 +
.../interactions/ActionVisibilityContext.java | 59 +
.../interactions/CollectionAccessContext.java | 45 +
.../interactions/CollectionUsabilityContext.java | 47 +
.../interactions/CollectionVisibilityContext.java | 48 +
.../interactions/DisablingInteractionAdvisor.java | 45 +
.../interactions/HidingInteractionAdvisor.java | 45 +
.../interactions/InteractionAdvisorFacet.java | 44 +
.../metamodel/interactions/InteractionContext.java | 133 +
.../interactions/InteractionEventSupplier.java | 36 +
.../metamodel/interactions/InteractionHead.java | 91 +
.../metamodel/interactions/InteractionUtils.java | 93 +
.../metamodel/interactions/ObjectTitleContext.java | 57 +
.../interactions/ObjectValidityContext.java | 58 +
.../interactions/ObjectVisibilityContext.java | 58 +
.../metamodel/interactions/ParseValueContext.java | 59 +
.../interactions/PropertyAccessContext.java | 62 +
.../interactions/PropertyModifyContext.java | 70 +
.../interactions/PropertyUsabilityContext.java | 48 +
.../interactions/PropertyVisibilityContext.java | 47 +
.../metamodel/interactions/ProposedHolder.java | 37 +
.../metamodel/interactions/UsabilityContext.java | 44 +
.../interactions/ValidatingInteractionAdvisor.java | 48 +
.../metamodel/interactions/ValidityContext.java | 51 +
.../metamodel/interactions/VisibilityContext.java | 44 +
.../interactions/managed/ActionInteraction.java | 285 ++
.../managed/ActionInteractionHead.java | 176 +
.../managed/CollectionInteraction.java | 71 +
.../interactions/managed/HasMetaModel.java | 27 +
.../interactions/managed/InteractionRailway.java | 67 +
.../interactions/managed/InteractionVeto.java | 111 +
.../interactions/managed/ManagedAction.java | 235 ++
.../interactions/managed/ManagedCollection.java | 115 +
.../interactions/managed/ManagedFeature.java | 92 +
.../interactions/managed/ManagedMember.java | 173 +
.../interactions/managed/ManagedParameter.java | 71 +
.../interactions/managed/ManagedProperty.java | 169 +
.../interactions/managed/ManagedValue.java | 80 +
.../interactions/managed/MemberInteraction.java | 113 +
.../interactions/managed/MultiselectChoices.java | 30 +
.../managed/ParameterNegotiationModel.java | 427 +++
.../interactions/managed/PropertyInteraction.java | 89 +
.../managed/PropertyNegotiationModel.java | 230 ++
.../interactions/managed/_BindingUtil.java | 190 ++
.../interactions/managed/nonscalar/DataColumn.java | 48 +
.../interactions/managed/nonscalar/DataRow.java | 67 +
.../managed/nonscalar/DataTableModel.java | 305 ++
.../managed/nonscalar/_ToggleDebug.java | 44 +
.../core/metamodel/layout/DeweyOrderSet.java | 407 +++
.../core/metamodel/layout/LayoutFacetUtil.java | 409 +++
.../MemberIdentifierComparator.java | 43 +
.../memberorderfacet/MemberOrderComparator.java | 84 +
.../OrderSetGroupNameComparator.java | 54 +
...tionEnforcesMetamodelContributionValidator.java | 183 ++
.../core/metamodel/methods/MethodByClassMap.java | 30 +
.../methods/MethodFilteringFacetFactory.java | 34 +
.../core/metamodel/methods/MethodFinder.java | 280 ++
.../core/metamodel/methods/MethodFinderPAT.java | 89 +
.../methods/MethodPrefixBasedFacetFactory.java | 40 +
.../MethodPrefixBasedFacetFactoryAbstract.java | 163 +
.../_OrphanedSupportingMethodValidator.java | 75 +
.../core/metamodel/object/Bookmarkable.java | 89 +
.../core/metamodel/object/ManagedObject.java | 607 ++++
.../core/metamodel/object/ManagedObjects.java | 447 +++
.../core/metamodel/object/MmAssertionUtil.java | 138 +
.../core/metamodel/object/MmDebugUtil.java | 76 +
.../core/metamodel/object/MmEntityUtil.java | 164 +
.../core/metamodel/object/MmInvokeUtil.java | 177 +
.../core/metamodel/object/MmRenderUtil.java | 56 +
.../causeway/core/metamodel/object/MmSpecUtil.java | 45 +
.../core/metamodel/object/MmTitleUtil.java | 54 +
.../core/metamodel/object/MmUnwrapUtil.java | 125 +
.../core/metamodel/object/MmVisibilityUtil.java | 131 +
.../core/metamodel/object/PackedManagedObject.java | 32 +
.../core/metamodel/object/ProtoObject.java | 59 +
.../core/metamodel/object/_InternalTitleUtil.java | 103 +
.../core/metamodel/object/_ManagedObjectEmpty.java | 41 +
.../object/_ManagedObjectEntityBookmarked.java | 157 +
.../object/_ManagedObjectEntityHybrid.java | 170 +
.../object/_ManagedObjectEntityTransient.java | 73 +
.../core/metamodel/object/_ManagedObjectMixin.java | 55 +
.../core/metamodel/object/_ManagedObjectOther.java | 54 +
.../metamodel/object/_ManagedObjectPacked.java | 66 +
.../metamodel/object/_ManagedObjectService.java | 76 +
.../metamodel/object/_ManagedObjectSpecified.java | 191 ++
.../object/_ManagedObjectUnspecified.java | 92 +
.../core/metamodel/object/_ManagedObjectValue.java | 78 +
.../metamodel/object/_ManagedObjectViewmodel.java | 160 +
.../core/metamodel/object/_Refetchable.java | 27 +
.../metamodel/object/_RefreshableViewmodel.java | 41 +
.../metamodel/objectmanager/ObjectBookmarker.java | 42 +
.../metamodel/objectmanager/ObjectBulkLoader.java | 122 +
.../metamodel/objectmanager/ObjectCreator.java | 115 +
.../core/metamodel/objectmanager/ObjectLoader.java | 155 +
.../metamodel/objectmanager/ObjectManager.java | 190 ++
.../objectmanager/ObjectManagerDefault.java | 115 +
.../objectmanager/memento/ObjectMemento.java | 97 +
.../memento/ObjectMementoCollection.java | 59 +
.../memento/ObjectMementoForEmpty.java | 51 +
.../memento/ObjectMementoForScalar.java | 158 +
.../objectmanager/memento/_Recreatable.java | 69 +
.../objectmanager/memento/_RecreatableLookup.java | 59 +
.../objectmanager/memento/_RecreatableValue.java | 48 +
.../ObjectSpecificationPostProcessor.java | 41 +
.../ObjectSpecificationPostProcessorAbstract.java | 52 +
.../all/DescribedAsFromTypePostProcessor.java | 92 +
.../i18n/SynthesizeObjectNamingPostProcessor.java | 98 +
.../all/i18n/TranslationPostProcessor.java | 110 +
.../authorization/AuthorizationFacet.java | 84 +
.../authorization/AuthorizationFacetAbstract.java | 91 +
.../authorization/AuthorizationFacetImpl.java | 29 +
.../authorization/AuthorizationPostProcessor.java | 63 +
.../allbutparam/authorization/package-info.java | 33 +
.../TweakDomainEventsForMixinPostProcessor.java | 171 +
.../navigation/NavigationFacetFromHiddenType.java | 66 +
...NavigationFacetFromHiddenTypePostProcessor.java | 68 +
.../object/ProjectionFacetsPostProcessor.java | 80 +
...arameterChoicesFacetFromParentedCollection.java | 64 +
...meterDefaultsFacetFromAssociatedCollection.java | 48 +
.../param/ChoicesAndDefaultsPostProcessor.java | 201 ++
.../param/TypicalLengthFromTypePostProcessor.java | 76 +
.../DisabledFromImmutablePostProcessor.java | 86 +
.../core/metamodel/progmodel/ProgrammingModel.java | 174 +
.../progmodel/ProgrammingModelAbstract.java | 243 ++
.../progmodel/ProgrammingModelInitFilter.java | 81 +
.../ProgrammingModelInitFilterDefault.java | 90 +
.../progmodel/ProgrammingModelService.java | 32 +
.../dflt/ProgrammingModelFacetsJava11.java | 275 ++
.../core/metamodel/render/ScalarRenderMode.java | 56 +
.../core/metamodel/services/CollectionHelper.java | 95 +
.../metamodel/services/ServiceInjectorDefault.java | 79 +
.../core/metamodel/services/ServiceUtil.java | 37 +
.../appfeat/ApplicationFeatureDefault.java | 160 +
.../ApplicationFeatureRepositoryDefault.java | 487 +++
.../core/metamodel/services/appfeat/_Asserts.java | 51 +
.../classsubstitutor/ClassSubstitutor.java | 138 +
.../classsubstitutor/ClassSubstitutorAbstract.java | 159 +
.../classsubstitutor/ClassSubstitutorDefault.java | 73 +
.../ClassSubstitutorForCollections.java | 46 +
.../ClassSubstitutorForDomainObjects.java | 64 +
.../classsubstitutor/ClassSubstitutorRegistry.java | 93 +
.../services/command/CommandDtoFactory.java | 117 +
.../metamodel/services/devutils/MemberType.java | 25 +
.../services/events/MetamodelEventService.java | 85 +
...ExceptionRecognizerForRecoverableException.java | 50 +
.../services/grid/GridLoaderServiceDefault.java | 231 ++
.../services/grid/GridReaderUsingJaxb.java | 93 +
.../services/grid/GridServiceDefault.java | 209 ++
.../services/grid/GridSystemServiceAbstract.java | 509 +++
.../services/grid/bootstrap/GridFallbackLayout.xml | 0
.../grid/bootstrap/GridSystemServiceBootstrap.java | 589 ++++
.../services/grid/bootstrap/_GridModel.java | 232 ++
.../metamodel/services/homepage/package-info.java | 26 +
.../idstringifier/IdStringifierLookupService.java | 106 +
.../services/ixn/InteractionDtoFactory.java | 101 +
.../services/layout/LayoutServiceDefault.java | 132 +
.../metamodel/services/message/MessageBroker.java | 41 +
.../services/message/MessageServiceNoop.java | 92 +
.../services/metamodel/DomainMemberDefault.java | 302 ++
.../services/metamodel/DomainModelDefault.java | 59 +
.../services/metamodel/MetaModelAnnotator.java | 111 +
.../services/metamodel/MetaModelExportSupport.java | 31 +
.../services/metamodel/MetaModelExporter.java | 497 +++
.../metamodel/MetaModelServiceDefault.java | 240 ++
.../ShadowedFactetAttributeAnnotator.java | 98 +
.../services/metamodel/TitleAnnotator.java | 127 +
.../core/metamodel/services/metamodel/_Util.java | 154 +
.../HasEnlistedEntityPropertyChanges.java | 32 +
.../objectlifecycle/ObjectLifecyclePublisher.java | 126 +
.../services/objectlifecycle/PreAndPostValue.java | 95 +
.../objectlifecycle/PropertyChangeRecord.java | 144 +
.../objectlifecycle/PropertyChangeRecordId.java | 63 +
.../objectlifecycle/PropertyValuePlaceholder.java | 38 +
.../services/publishing/CommandPublisher.java | 38 +
.../services/publishing/ExecutionPublisher.java | 61 +
.../services/registry/ServiceRegistryDefault.java | 103 +
.../services/registry/SpringContextProvider.java | 23 +
.../services/schema/SchemaValueMarshaller.java | 129 +
.../schema/SchemaValueMarshallerAbstract.java | 364 +++
.../tablecol/TableColumnOrderServiceDefault.java | 73 +
.../TableColumnOrderServiceUsingTxtFile.java | 187 ++
.../services/title/TitleServiceDefault.java | 97 +
.../title/TitlesAndTranslationsValidator.java | 187 ++
.../causeway/core/metamodel/spec/ActionScope.java | 49 +
.../causeway/core/metamodel/spec/Described.java | 36 +
.../metamodel/spec/HasObjectSpecification.java | 60 +
.../causeway/core/metamodel/spec/Hierarchical.java | 73 +
.../spec/ObjectInstantiationException.java | 40 +
.../core/metamodel/spec/ObjectSpecification.java | 649 ++++
.../spec/ObjectSpecificationException.java | 35 +
.../core/metamodel/spec/Specification.java | 43 +
.../core/metamodel/spec/TypeOfAnyCardinality.java | 185 ++
.../core/metamodel/spec/feature/CurrentHolder.java | 45 +
.../metamodel/spec/feature/HasObjectFeature.java | 26 +
.../core/metamodel/spec/feature/MixedIn.java | 60 +
.../core/metamodel/spec/feature/MixedInMember.java | 37 +
.../spec/feature/MutableCurrentHolder.java | 67 +
.../core/metamodel/spec/feature/ObjectAction.java | 537 ++++
.../spec/feature/ObjectActionContainer.java | 161 +
.../spec/feature/ObjectActionParameter.java | 264 ++
.../metamodel/spec/feature/ObjectAssociation.java | 201 ++
.../spec/feature/ObjectAssociationContainer.java | 149 +
.../core/metamodel/spec/feature/ObjectFeature.java | 174 +
.../core/metamodel/spec/feature/ObjectMember.java | 334 ++
.../spec/feature/OneToManyActionParameter.java | 27 +
.../spec/feature/OneToManyAssociation.java | 88 +
.../metamodel/spec/feature/OneToManyFeature.java | 49 +
.../spec/feature/OneToOneActionParameter.java | 27 +
.../spec/feature/OneToOneAssociation.java | 84 +
.../metamodel/spec/feature/OneToOneFeature.java | 27 +
.../spec/feature/memento/ActionMemento.java | 83 +
.../feature/memento/ActionParameterMemento.java | 90 +
.../spec/feature/memento/CollectionMemento.java | 82 +
.../spec/feature/memento/ObjectMemberMemento.java | 83 +
.../spec/feature/memento/PropertyMemento.java | 82 +
.../metamodel/specloader/LogicalTypeResolver.java | 69 +
.../specloader/LogicalTypeResolverDefault.java | 107 +
.../specloader/ProgrammingModelServiceDefault.java | 100 +
.../metamodel/specloader/SpecificationCache.java | 45 +
.../specloader/SpecificationCacheDefault.java | 122 +
.../metamodel/specloader/SpecificationLoader.java | 270 ++
.../specloader/SpecificationLoaderDefault.java | 690 ++++
.../causeway/core/metamodel/specloader/_Util.java | 81 +
.../specloader/facetprocessor/FacetProcessor.java | 451 +++
.../core/metamodel/specloader/package-info.java | 43 +
.../specloader/postprocessor/PostProcessor.java | 104 +
.../specloader/specimpl/FacetedMethodsBuilder.java | 509 +++
.../specloader/specimpl/IntrospectionState.java | 47 +
.../specloader/specimpl/MemberSortingUtils.java | 88 +
.../specloader/specimpl/ObjectActionDefault.java | 540 ++++
.../specloader/specimpl/ObjectActionMixedIn.java | 180 ++
.../specimpl/ObjectActionParameterAbstract.java | 385 +++
.../specimpl/ObjectAssociationAbstract.java | 90 +
.../specloader/specimpl/ObjectMemberAbstract.java | 337 ++
.../specloader/specimpl/ObjectMemberContainer.java | 159 +
.../specimpl/ObjectSpecificationAbstract.java | 900 ++++++
.../specimpl/OneToManyActionParameterDefault.java | 53 +
.../specimpl/OneToManyAssociationDefault.java | 199 ++
.../specimpl/OneToManyAssociationMixedIn.java | 186 ++
.../specimpl/OneToOneActionParameterDefault.java | 37 +
.../specimpl/OneToOneAssociationDefault.java | 346 ++
.../specimpl/OneToOneAssociationMixedIn.java | 169 +
.../specloader/specimpl/_MixedInMemberFactory.java | 56 +
.../specimpl/_MixedInMemberNamingStrategy.java | 83 +
.../specloader/specimpl/_SpecPredicates.java | 72 +
.../specimpl/dflt/ObjectSpecificationDefault.java | 380 +++
.../specimpl/dflt/_PropertiesAsColumns.java | 206 ++
.../specloader/typeextract/TypeExtractor.java | 132 +
.../validator/MetaModelInvalidException.java | 34 +
.../specloader/validator/MetaModelValidator.java | 25 +
.../validator/MetaModelValidatorAbstract.java | 44 +
...ModelValidatorForAmbiguousMixinAnnotations.java | 45 +
...etaModelValidatorForConflictingOptionality.java | 85 +
.../validator/MetaModelVisitingValidator.java | 38 +
.../MetaModelVisitingValidatorAbstract.java | 45 +
.../specloader/validator/ValidationFailure.java | 113 +
.../specloader/validator/ValidationFailures.java | 116 +
.../core/metamodel/util/DeweyOrderComparator.java | 36 +
.../causeway/core/metamodel/util/EventUtil.java | 42 +
.../causeway/core/metamodel/util/Facets.java | 456 +++
.../core/metamodel/util/pchain/ParentChain.java | 79 +
.../metamodel/util/pchain/ParentChainDefault.java | 42 +
.../core/metamodel/util/snapshot/Helper.java | 90 +
.../core/metamodel/util/snapshot/IsisSchema.java | 179 ++
.../core/metamodel/util/snapshot/Place.java | 64 +
.../core/metamodel/util/snapshot/XmlSchema.java | 648 ++++
.../core/metamodel/util/snapshot/XmlSnapshot.java | 850 +++++
.../core/metamodel/util/snapshot/XsMetaModel.java | 336 ++
.../ApplicationFeatureIdValueSemantics.java | 109 +
.../valuesemantics/BigDecimalValueSemantics.java | 172 +
.../valuesemantics/BigIntegerValueSemantics.java | 131 +
.../valuesemantics/BlobValueSemantics.java | 112 +
.../valuesemantics/BookmarkValueSemantics.java | 136 +
.../valuesemantics/BooleanValueSemantics.java | 138 +
.../BufferedImageValueSemantics.java | 162 +
.../valuesemantics/ByteValueSemantics.java | 155 +
.../valuesemantics/ChangesDtoValueSemantics.java | 61 +
.../valuesemantics/CharacterValueSemantics.java | 171 +
.../valuesemantics/ClobValueSemantics.java | 110 +
.../valuesemantics/CommandDtoValueSemantics.java | 61 +
.../valuesemantics/DoubleValueSemantics.java | 126 +
.../valuesemantics/EnumValueSemanticsAbstract.java | 227 ++
.../valuesemantics/FloatValueSemantics.java | 126 +
.../IdStringifierForSerializable.java | 116 +
.../valuesemantics/ImageValueSemantics.java | 37 +
.../valuesemantics/IntValueSemantics.java | 153 +
.../InteractionDtoValueSemantics.java | 61 +
.../LocalResourcePathValueSemantics.java | 130 +
.../valuesemantics/LocaleValueSemantics.java | 149 +
.../valuesemantics/LongValueSemantics.java | 153 +
.../valuesemantics/MarkupValueSemantics.java | 116 +
.../valuesemantics/OidDtoValueSemantics.java | 69 +
.../valuesemantics/PasswordValueSemantics.java | 107 +
.../valuesemantics/ShortValueSemantics.java | 155 +
.../valuesemantics/StringValueSemantics.java | 129 +
.../valuesemantics/TreeNodeValueSemantics.java | 136 +
.../valuesemantics/URLValueSemantics.java | 135 +
.../valuesemantics/UUIDValueSemantics.java | 129 +
.../valuesemantics/XmlValueSemanticsAbstract.java | 109 +
.../valuesemantics/temporal/BadgeRenderer.java | 55 +
.../temporal/LocalDateTimeValueSemantics.java | 72 +
.../temporal/LocalDateValueSemantics.java | 72 +
.../temporal/LocalTimeValueSemantics.java | 70 +
.../temporal/OffsetDateTimeValueSemantics.java | 70 +
.../temporal/OffsetTimeValueSemantics.java | 70 +
.../valuesemantics/temporal/TemporalAdjust.java | 191 ++
.../temporal/TemporalValueSemanticsProvider.java | 417 +++
.../temporal/ZonedDateTimeValueSemantics.java | 70 +
.../temporal/legacy/JavaSqlDateValueSemantics.java | 78 +
.../legacy/JavaSqlTimeStampValueSemantics.java | 72 +
.../temporal/legacy/JavaSqlTimeValueSemantics.java | 76 +
.../legacy/JavaUtilDateValueSemantics.java | 83 +
.../valuetypes/TemporalSemanticsAdapter.java | 32 +
.../valuetypes/ValueSemanticsAdapter.java | 157 +
.../valuetypes/ValueSemanticsResolverDefault.java | 120 +
.../core/metamodel/IsisModuleCoreMetamodel.java | 249 --
.../_testing/FactoryService_forTesting.java | 82 -
.../_testing/MetaModelContext_forTesting.java | 583 ----
.../_testing/MethodRemover_forTesting.java | 87 -
.../_testing/ServiceInjector_forTesting.java | 64 -
.../_testing/ServiceRegistry_forTesting.java | 167 -
.../_testing/TranslationService_forTesting.java | 42 -
.../_testing/WrapperFactory_forTesting.java | 97 -
.../_testing/_InjectorMethodEvaluator.java | 36 -
.../metamodel/_testing/_ServiceInjectorLegacy.java | 316 --
.../isis/core/metamodel/_testing/_TestDummies.java | 51 -
.../core/metamodel/commons/ArrayExtensions.java | 68 -
.../isis/core/metamodel/commons/CanBeVoid.java | 24 -
.../core/metamodel/commons/CanonicalInvoker.java | 207 --
.../core/metamodel/commons/ClassExtensions.java | 197 --
.../core/metamodel/commons/ClassFunctions.java | 46 -
.../core/metamodel/commons/ClassPredicates.java | 37 -
.../isis/core/metamodel/commons/ClassUtil.java | 175 -
.../core/metamodel/commons/DateExtensions.java | 34 -
.../metamodel/commons/InputStreamExtensions.java | 68 -
.../core/metamodel/commons/ListExtensions.java | 114 -
.../isis/core/metamodel/commons/LocaleUtil.java | 39 -
.../isis/core/metamodel/commons/MapUtil.java | 47 -
.../isis/core/metamodel/commons/MethodUtil.java | 208 --
.../core/metamodel/commons/ObjectExtensions.java | 81 -
.../core/metamodel/commons/ParameterAdapter.java | 91 -
.../isis/core/metamodel/commons/ResourceUtil.java | 63 -
.../metamodel/commons/ScalarRepresentation.java | 52 -
.../core/metamodel/commons/StringExtensions.java | 352 --
.../metamodel/commons/ThrowableExtensions.java | 57 -
.../isis/core/metamodel/commons/ToString.java | 164 -
.../isis/core/metamodel/commons/package-info.java | 27 -
.../apache/isis/core/metamodel/consent/Allow.java | 38 -
.../isis/core/metamodel/consent/Consent.java | 72 -
.../core/metamodel/consent/ConsentAbstract.java | 156 -
.../core/metamodel/consent/InteractionAdvisor.java | 70 -
.../metamodel/consent/InteractionContextType.java | 134 -
.../metamodel/consent/InteractionInitiatedBy.java | 60 -
.../core/metamodel/consent/InteractionResult.java | 153 -
.../metamodel/consent/InteractionResultSet.java | 102 -
.../apache/isis/core/metamodel/consent/Veto.java | 47 -
.../metamodel/context/HasMetaModelContext.java | 206 --
.../core/metamodel/context/MetaModelContext.java | 39 -
.../context/MetaModelContext_usingSpring.java | 213 --
.../core/metamodel/context/MetaModelContexts.java | 45 -
.../metamodel/execution/InteractionInternal.java | 155 -
.../metamodel/execution/MemberExecutorService.java | 103 -
.../apache/isis/core/metamodel/facetapi/Facet.java | 200 --
.../core/metamodel/facetapi/FacetAbstract.java | 114 -
.../isis/core/metamodel/facetapi/FacetHolder.java | 159 -
.../metamodel/facetapi/FacetHolderAbstract.java | 135 -
.../metamodel/facetapi/FacetHolderLayered.java | 184 --
.../core/metamodel/facetapi/FacetHolderSimple.java | 38 -
.../isis/core/metamodel/facetapi/FacetRanking.java | 289 --
.../isis/core/metamodel/facetapi/FacetUtil.java | 164 -
.../metamodel/facetapi/FacetWithAttributes.java | 32 -
.../isis/core/metamodel/facetapi/FeatureType.java | 160 -
.../core/metamodel/facetapi/HasFacetHolder.java | 81 -
.../metamodel/facetapi/HasSemanticEquality.java | 35 -
.../facetapi/HasSemanticEqualityByClass.java | 31 -
.../core/metamodel/facetapi/MetaModelRefiner.java | 33 -
.../core/metamodel/facetapi/MethodRemover.java | 91 -
.../isis/core/metamodel/facets/ActionSupport.java | 175 -
.../core/metamodel/facets/DomainEventHelper.java | 430 ---
.../isis/core/metamodel/facets/Evaluators.java | 219 --
.../isis/core/metamodel/facets/FacetFactory.java | 405 ---
.../metamodel/facets/FacetFactoryAbstract.java | 91 -
.../isis/core/metamodel/facets/FacetedMethod.java | 240 --
.../metamodel/facets/FacetedMethodParameter.java | 65 -
.../core/metamodel/facets/HasImperativeAspect.java | 40 -
.../facets/HasPostConstructMethodCache.java | 58 -
.../core/metamodel/facets/ImperativeAspect.java | 80 -
.../core/metamodel/facets/ImperativeFacet.java | 130 -
.../metamodel/facets/ObjectTypeFacetFactory.java | 50 -
.../core/metamodel/facets/ParameterSupport.java | 254 --
...ropertyOrCollectionIdentifyingFacetFactory.java | 82 -
...rCollectionIdentifyingFacetFactoryAbstract.java | 45 -
.../metamodel/facets/SingleClassValueFacet.java | 34 -
.../facets/SingleClassValueFacetAbstract.java | 71 -
.../core/metamodel/facets/SingleIntValueFacet.java | 26 -
.../facets/SingleIntValueFacetAbstract.java | 83 -
.../metamodel/facets/SingleStringValueFacet.java | 22 -
.../facets/SingleStringValueFacetAbstract.java | 66 -
.../core/metamodel/facets/SingleValueFacet.java | 27 -
.../metamodel/facets/SingleValueFacetAbstract.java | 48 -
.../isis/core/metamodel/facets/TypedHolder.java | 39 -
.../core/metamodel/facets/TypedHolderAbstract.java | 57 -
.../core/metamodel/facets/WhereValueFacet.java | 52 -
.../metamodel/facets/WhereValueFacetAbstract.java | 66 -
.../facets/actcoll/typeof/TypeOfFacet.java | 101 -
.../facets/actcoll/typeof/TypeOfFacetAbstract.java | 87 -
.../actcoll/typeof/TypeOfFacetFromFeature.java | 31 -
.../facets/actcoll/typeof/TypeOfFacetFromType.java | 31 -
.../action/ActionAnnotationFacetFactory.java | 291 --
...reteTypeToBeIncludedWithMetamodelValidator.java | 71 -
...nChoicesForCollectionParameterFacetFactory.java | 158 -
.../actions/action/ActionOverloadingValidator.java | 80 -
.../action/choicesfrom/ChoicesFromFacet.java | 29 -
.../choicesfrom/ChoicesFromFacetAbstract.java | 43 -
.../ChoicesFromFacetForActionAnnotation.java | 46 -
.../action/explicit/ActionExplicitFacet.java | 28 -
.../explicit/ActionExplicitFacetAbstract.java | 31 -
.../ActionExplicitFacetForActionAnnotation.java | 40 -
.../hidden/HiddenFacetForActionAnnotation.java | 54 -
.../action/invocation/ActionDomainEventFacet.java | 33 -
.../invocation/ActionDomainEventFacetAbstract.java | 148 -
.../invocation/ActionDomainEventFacetDefault.java | 32 -
.../ActionDomainEventFacetForActionAnnotation.java | 31 -
.../action/invocation/ActionInvocationFacet.java | 49 -
.../invocation/ActionInvocationFacetAbstract.java | 37 -
...ctionInvocationFacetForDomainEventAbstract.java | 248 --
...ionFacetForDomainEventFromActionAnnotation.java | 39 -
...onInvocationFacetForDomainEventFromDefault.java | 39 -
.../actions/action/invocation/IdentifierUtil.java | 157 -
.../PrototypeFacetForActionAnnotation.java | 49 -
...ctionSemanticsFacetFallbackToNonIdempotent.java | 31 -
.../ActionSemanticsFacetForActionAnnotation.java | 48 -
.../typeof/TypeOfFacetForActionAnnotation.java | 55 -
.../actions/contributing/ContributingFacet.java | 82 -
.../contributing/ContributingFacetAbstract.java | 55 -
.../ContributingFacetFromMixinFacetFactory.java | 73 -
.../FileAcceptFacetForActionAnnotation.java | 46 -
.../facets/actions/homepage/HomePageFacet.java | 33 -
.../actions/homepage/HomePageFacetAbstract.java | 35 -
.../facets/actions/homepage/HomePageFacetImpl.java | 29 -
.../annotation/HomePageFacetAnnotation.java | 30 -
.../annotation/HomePageFacetAnnotationFactory.java | 137 -
.../actions/layout/ActionLayoutFacetFactory.java | 114 -
...tionPositionFacetForActionLayoutAnnotation.java | 44 -
.../ActionPositionFacetForActionLayoutXml.java | 51 -
...okmarkPolicyFacetForActionLayoutAnnotation.java | 56 -
.../BookmarkPolicyFacetForActionLayoutXml.java | 54 -
.../CssClassFaFacetForActionLayoutAnnotation.java | 59 -
.../layout/CssClassFaFacetForActionLayoutXml.java | 56 -
.../layout/CssClassFaFacetForMenuBarXml.java | 55 -
.../CssClassFacetForActionLayoutAnnotation.java | 45 -
.../layout/CssClassFacetForActionLayoutXml.java | 53 -
.../actions/layout/CssClassFacetForMenuBarXml.java | 48 -
.../HiddenFacetForActionLayoutAnnotation.java | 53 -
.../layout/HiddenFacetForActionLayoutXml.java | 63 -
...berDescribedFacetForActionLayoutAnnotation.java | 49 -
.../MemberDescribedFacetForActionLayoutXml.java | 53 -
.../layout/MemberDescribedFacetForMenuBarXml.java | 48 -
.../layout/MemberNamedFacetForActionLayoutXml.java | 53 -
.../layout/MemberNamedFacetForMenuBarXml.java | 48 -
.../NamedFacetForActionLayoutAnnotation.java | 46 -
.../PromptStyleFacetForActionLayoutAnnotation.java | 105 -
.../layout/PromptStyleFacetForActionLayoutXml.java | 68 -
.../RedirectFacetFromActionLayoutAnnotation.java | 46 -
.../layout/RedirectFacetFromActionLayoutXml.java | 54 -
.../notinservicemenu/NotInServiceMenuFacet.java | 36 -
.../NotInServiceMenuFacetAbstract.java | 39 -
...otInServiceMenuFacetFromDomainServiceFacet.java | 55 -
...viceMenuFacetFromDomainServiceFacetFactory.java | 65 -
.../actions/position/ActionPositionFacet.java | 43 -
.../position/ActionPositionFacetAbstract.java | 62 -
.../position/ActionPositionFacetFallback.java | 30 -
.../facets/actions/prototype/PrototypeFacet.java | 29 -
.../actions/prototype/PrototypeFacetAbstract.java | 57 -
.../facets/actions/redirect/RedirectFacet.java | 32 -
.../actions/redirect/RedirectFacetAbstract.java | 64 -
.../actions/redirect/RedirectFacetFallback.java | 30 -
.../actions/semantics/ActionSemanticsFacet.java | 32 -
.../semantics/ActionSemanticsFacetAbstract.java | 38 -
.../validate/ActionParameterValidationFacet.java | 45 -
.../ActionParameterValidationFacetAbstract.java | 47 -
.../actions/validate/ActionValidationFacet.java | 47 -
.../validate/ActionValidationFacetAbstract.java | 47 -
.../ActionParameterValidationFacetViaMethod.java | 79 -
.../method/ActionValidationFacetViaMethod.java | 87 -
.../ActionValidationFacetViaMethodFactory.java | 69 -
.../facets/all/described/MemberDescribedFacet.java | 37 -
...erDescribedFacetWithImperativeTextAbstract.java | 58 -
...MemberDescribedFacetWithStaticTextAbstract.java | 66 -
.../facets/all/described/ObjectDescribedFacet.java | 29 -
.../described/ObjectDescribedFacetAbstract.java | 45 -
.../facets/all/described/ParamDescribedFacet.java | 32 -
.../all/described/ParamDescribedFacetAbstract.java | 58 -
.../core/metamodel/facets/all/help/HelpFacet.java | 28 -
.../facets/all/help/HelpFacetAbstract.java | 41 -
.../metamodel/facets/all/hide/HiddenFacet.java | 61 -
.../facets/all/i8n/HasMemoizableTranslation.java | 25 -
.../all/i8n/imperative/HasImperativeText.java | 44 -
.../imperative/HasImperativeTextFacetAbstract.java | 96 -
.../metamodel/facets/all/i8n/noun/HasNoun.java | 83 -
.../facets/all/i8n/noun/HasNounFacetAbstract.java | 114 -
.../metamodel/facets/all/i8n/noun/NounForm.java | 46 -
.../metamodel/facets/all/i8n/noun/NounForms.java | 118 -
.../facets/all/i8n/staatic/HasStaticText.java | 41 -
.../i8n/staatic/HasStaticTextFacetAbstract.java | 97 -
.../facets/all/named/MemberNamedFacet.java | 37 -
.../named/MemberNamedFacetForStaticMemberName.java | 39 -
...MemberNamedFacetWithImperativeTextAbstract.java | 58 -
.../MemberNamedFacetWithStaticTextAbstract.java | 66 -
.../facets/all/named/ObjectNamedFacet.java | 29 -
.../facets/all/named/ObjectNamedFacetAbstract.java | 57 -
.../all/named/ObjectNamedFacetSynthesized.java | 42 -
.../facets/all/named/ParamNamedFacet.java | 32 -
.../facets/all/named/ParamNamedFacetAbstract.java | 54 -
.../facets/collections/CollectionFacet.java | 196 --
.../collections/CollectionFacetAbstract.java | 38 -
.../CollectionAccessorFacetViaAccessor.java | 93 -
.../CollectionAccessorFacetViaAccessorFactory.java | 107 -
.../CollectionAnnotationFacetFactory.java | 184 --
.../collection/defaultview/DefaultViewFacet.java | 25 -
.../defaultview/DefaultViewFacetAbstract.java | 42 -
.../hidden/HiddenFacetForCollectionAnnotation.java | 53 -
.../modify/CollectionDomainEventFacet.java | 31 -
.../modify/CollectionDomainEventFacetAbstract.java | 75 -
.../modify/CollectionDomainEventFacetDefault.java | 31 -
...ionDomainEventFacetForCollectionAnnotation.java | 44 -
.../typeof/TypeOfFacetForCollectionAnnotation.java | 55 -
.../javautilcollection/CollectionFacetFactory.java | 55 -
.../javautilcollection/JavaArrayFacet.java | 89 -
.../javautilcollection/JavaCollectionFacet.java | 80 -
.../layout/CollectionLayoutFacetFactory.java | 92 -
...CssClassFacetForCollectionLayoutAnnotation.java | 44 -
.../CssClassFacetForCollectionLayoutXml.java | 53 -
.../layout/DefaultViewFacetAsConfigured.java | 39 -
...aultViewFacetForCollectionLayoutAnnotation.java | 47 -
.../DefaultViewFacetForCollectionLayoutXml.java | 53 -
.../HiddenFacetForCollectionLayoutAnnotation.java | 56 -
.../layout/HiddenFacetForCollectionLayoutXml.java | 63 -
...escribedFacetForCollectionLayoutAnnotation.java | 49 -
...MemberDescribedFacetForCollectionLayoutXml.java | 55 -
...berNamedFacetForCollectionLayoutAnnotation.java | 49 -
.../MemberNamedFacetForCollectionLayoutXml.java | 56 -
.../PagedFacetForCollectionLayoutAnnotation.java | 52 -
.../layout/PagedFacetForCollectionLayoutXml.java | 53 -
...PagedFacetOverriddenByDataTablesDecoration.java | 34 -
...SortedByFacetForCollectionLayoutAnnotation.java | 53 -
.../SortedByFacetForCollectionLayoutXml.java | 64 -
.../CollectionLayoutTableDecorationFacet.java | 72 -
...llectionLayoutTableDecorationFacetAbstract.java | 39 -
...corationFacetForCollectionLayoutAnnotation.java | 33 -
...tForCollectionLayoutAnnotationAsConfigured.java | 33 -
...TableDecorationFacetForCollectionLayoutXml.java | 53 -
...ayoutTableDecorationFacetFromConfiguration.java | 33 -
.../parented/ParentedCollectionFacetDefault.java | 36 -
.../ParentedFacetSinceCollectionFactory.java | 55 -
.../facets/collections/sortedby/SortedByFacet.java | 31 -
.../sortedby/SortedByFacetAbstract.java | 38 -
.../annotation/SortedByFacetAnnotationFactory.java | 84 -
.../facets/fallback/FallbackFacetFactory.java | 117 -
.../LabelAtFacetFromLayoutConfiguration.java | 31 -
.../facets/fallback/MaxLengthFacetUnlimited.java | 42 -
.../facets/fallback/MultiLineFacetNone.java | 33 -
.../fallback/NamedFacetFallbackFromMemberName.java | 35 -
.../fallback/PagedFacetFromConfiguration.java | 29 -
.../metamodel/facets/fallback/TitleFacetNone.java | 36 -
.../metamodel/facets/jaxb/JaxbFacetFactory.java | 375 ---
.../facets/jaxb/XmlAccessorTypeFacet.java | 30 -
.../facets/jaxb/XmlAccessorTypeFacetAbstract.java | 39 -
.../facets/jaxb/XmlAccessorTypeFacetDefault.java | 32 -
.../facets/jaxb/XmlJavaTypeAdapterFacet.java | 28 -
.../jaxb/XmlJavaTypeAdapterFacetAbstract.java | 37 -
.../jaxb/XmlJavaTypeAdapterFacetDefault.java | 30 -
.../metamodel/facets/jaxb/XmlTransientFacet.java | 28 -
.../facets/jaxb/XmlTransientFacetAbstract.java | 37 -
.../facets/jaxb/XmlTransientFacetDefault.java | 29 -
.../facets/members/cssclass/CssClassFacet.java | 38 -
.../members/cssclass/CssClassFacetAbstract.java | 40 -
.../members/cssclass/CssClassFacetSimple.java | 62 -
.../CssClassFacetOnActionFromConfiguredRegex.java | 29 -
...assFacetOnActionFromConfiguredRegexFactory.java | 83 -
.../facets/members/cssclassfa/CssClassFaFacet.java | 36 -
.../members/cssclassfa/CssClassFaFactory.java | 77 -
.../cssclassfa/CssClassFaImperativeFacet.java | 31 -
.../CssClassFaImperativeFacetAbstract.java | 59 -
.../members/cssclassfa/CssClassFaStaticFacet.java | 24 -
.../cssclassfa/CssClassFaStaticFacetAbstract.java | 161 -
...CssClassFaFacetOnMemberFromConfiguredRegex.java | 175 -
.../CssClassFaFacetOnMemberPostProcessor.java | 56 -
.../annotprop/MemberDescribedFacetFromType.java | 52 -
.../DescribedAsFacetForMemberViaMethodFactory.java | 52 -
.../method/MemberDescribedFacetViaMethod.java | 37 -
.../facets/members/disabled/DisabledFacet.java | 76 -
.../members/disabled/DisabledFacetAbstract.java | 100 -
.../disabled/DisabledFacetForContributee.java | 30 -
.../disabled/method/DisableForContextFacet.java | 36 -
.../method/DisableForContextFacetAbstract.java | 39 -
.../method/DisableForContextFacetNone.java | 42 -
.../method/DisableForContextFacetViaMethod.java | 84 -
.../DisableForContextFacetViaMethodFactory.java | 53 -
.../facets/members/hidden/HiddenFacetAbstract.java | 75 -
.../HiddenFacetAbstractAlwaysEverywhere.java | 40 -
.../members/hidden/HiddenFacetAbstractImpl.java | 42 -
.../HiddenFacetFromLayoutPropertiesAbstract.java | 52 -
.../members/hidden/method/HideForContextFacet.java | 36 -
.../hidden/method/HideForContextFacetAbstract.java | 39 -
.../hidden/method/HideForContextFacetNone.java | 39 -
.../method/HideForContextFacetViaMethod.java | 69 -
.../HideForContextFacetViaMethodFactory.java | 53 -
.../members/layout/group/GroupIdAndName.java | 190 --
.../members/layout/group/LayoutGroupFacet.java | 79 -
.../layout/group/LayoutGroupFacetAbstract.java | 62 -
.../group/LayoutGroupFacetForActionAnnotation.java | 43 -
.../layout/group/LayoutGroupFacetForLayoutXml.java | 68 -
...LayoutGroupFacetFromActionLayoutAnnotation.java | 42 -
...youtGroupFacetFromPropertyLayoutAnnotation.java | 42 -
.../members/layout/order/LayoutOrderFacet.java | 50 -
.../layout/order/LayoutOrderFacetAbstract.java | 46 -
.../layout/order/LayoutOrderFacetForLayoutXml.java | 41 -
...LayoutOrderFacetFromActionLayoutAnnotation.java | 42 -
...utOrderFacetFromCollectionLayoutAnnotation.java | 42 -
...youtOrderFacetFromPropertyLayoutAnnotation.java | 42 -
.../named/method/MemberNamedFacetViaMethod.java | 37 -
.../NamedFacetForMemberViaMethodFactory.java | 53 -
.../facets/members/navigation/NavigationFacet.java | 32 -
.../publish/command/CommandPublishingFacet.java | 69 -
.../command/CommandPublishingFacetAbstract.java | 90 -
.../CommandPublishingFacetForActionAnnotation.java | 123 -
...ishingFacetForActionAnnotationAsConfigured.java | 33 -
...ommandPublishingFacetForPropertyAnnotation.java | 98 -
...hingFacetForPropertyAnnotationAsConfigured.java | 32 -
.../CommandPublishingFacetFromConfiguration.java | 38 -
...onPublishingActionFacetForActionAnnotation.java | 107 -
...ActionFacetForActionAnnotationAsConfigured.java | 31 -
...tionPublishingActionFacetFromConfiguration.java | 31 -
.../execution/ExecutionPublishingFacet.java | 49 -
.../ExecutionPublishingFacetAbstract.java | 36 -
...blishingPropertyFacetForPropertyAnnotation.java | 87 -
...ertyFacetForPropertyAnnotationAsConfigured.java | 29 -
...onPublishingPropertyFacetFromConfiguration.java | 30 -
...mberAndPropertySupportFacetFactoryAbstract.java | 48 -
.../support/MemberSupportFacetFactoryAbstract.java | 85 -
.../ViewModelSemanticCheckingFacetFactory.java | 77 -
.../object/autocomplete/AutoCompleteFacet.java | 33 -
.../autocomplete/AutoCompleteFacetAbstract.java | 113 -
.../object/bookmarkpolicy/BookmarkPolicyFacet.java | 37 -
.../BookmarkPolicyFacetAbstract.java | 63 -
.../BookmarkPolicyFacetFallback.java | 33 -
.../BookmarkPolicyFacetFallbackFactory.java | 103 -
.../facets/object/callbacks/CallbackFacet.java | 54 -
.../object/callbacks/CallbackFacetAbstract.java | 64 -
.../object/callbacks/CallbackFacetFactory.java | 86 -
.../object/callbacks/CreatedCallbackFacet.java | 35 -
.../callbacks/CreatedCallbackFacetAbstract.java | 41 -
.../callbacks/CreatedCallbackFacetViaMethod.java | 37 -
.../callbacks/CreatedLifecycleEventFacet.java | 29 -
...fecycleEventFacetForDomainObjectAnnotation.java | 45 -
.../object/callbacks/LifecycleEventFacet.java | 27 -
.../object/callbacks/LoadedCallbackFacet.java | 36 -
.../callbacks/LoadedCallbackFacetAbstract.java | 41 -
.../callbacks/LoadedCallbackFacetViaMethod.java | 35 -
.../callbacks/LoadedLifecycleEventFacet.java | 29 -
...fecycleEventFacetForDomainObjectAnnotation.java | 43 -
.../object/callbacks/PersistedCallbackFacet.java | 35 -
.../callbacks/PersistedCallbackFacetAbstract.java | 41 -
.../callbacks/PersistedCallbackFacetViaMethod.java | 35 -
.../callbacks/PersistedLifecycleEventFacet.java | 29 -
...fecycleEventFacetForDomainObjectAnnotation.java | 43 -
.../object/callbacks/PersistingCallbackFacet.java | 36 -
.../callbacks/PersistingCallbackFacetAbstract.java | 41 -
.../PersistingCallbackFacetViaMethod.java | 35 -
.../callbacks/PersistingLifecycleEventFacet.java | 29 -
...fecycleEventFacetForDomainObjectAnnotation.java | 44 -
.../object/callbacks/RemovingCallbackFacet.java | 31 -
.../callbacks/RemovingCallbackFacetAbstract.java | 41 -
.../callbacks/RemovingCallbackFacetViaMethod.java | 35 -
.../callbacks/RemovingLifecycleEventFacet.java | 29 -
...fecycleEventFacetForDomainObjectAnnotation.java | 46 -
.../object/callbacks/UpdatedCallbackFacet.java | 36 -
.../callbacks/UpdatedCallbackFacetAbstract.java | 41 -
.../callbacks/UpdatedCallbackFacetViaMethod.java | 35 -
.../callbacks/UpdatedLifecycleEventFacet.java | 29 -
...fecycleEventFacetForDomainObjectAnnotation.java | 46 -
.../object/callbacks/UpdatingCallbackFacet.java | 36 -
.../callbacks/UpdatingCallbackFacetAbstract.java | 41 -
.../callbacks/UpdatingCallbackFacetViaMethod.java | 35 -
.../callbacks/UpdatingLifecycleEventFacet.java | 29 -
...fecycleEventFacetForDomainObjectAnnotation.java | 46 -
.../choices/ChoicesFacetFromBoundedAbstract.java | 122 -
.../object/choices/enums/ChoicesFacetFromEnum.java | 66 -
.../choices/enums/ChoicesFacetFromEnumFactory.java | 47 -
.../method/CssClassFacetViaCssClassMethod.java | 72 -
...ssClassFaFacetForDomainObjectLayoutFactory.java | 53 -
.../facets/object/defaults/DefaultedFacet.java | 43 -
.../object/defaults/DefaultedFacetAbstract.java | 65 -
.../defaults/DefaultedFacetFromValueFacet.java | 44 -
.../object/disabled/DisabledObjectFacet.java | 54 -
.../disabled/DisabledObjectFacetAbstract.java | 49 -
.../method/DisabledObjectFacetViaMethod.java | 93 -
.../AliasedFacetForDomainObjectAnnotation.java | 60 -
.../DomainObjectAnnotationFacetFactory.java | 652 ----
...AutoCompleteFacetForDomainObjectAnnotation.java | 45 -
.../ChoicesFacetForDomainObjectAnnotation.java | 47 -
...EventDefaultFacetForDomainObjectAnnotation.java | 51 -
...EventDefaultFacetForDomainObjectAnnotation.java | 50 -
...EventDefaultFacetForDomainObjectAnnotation.java | 50 -
...itingEnabledFacetForDomainObjectAnnotation.java | 57 -
.../ImmutableFacetForDomainObjectAnnotation.java | 93 -
...FacetForDomainObjectAnnotationAsConfigured.java | 38 -
.../editing/ImmutableFacetFromConfiguration.java | 50 -
...gePublishingFacetForDomainObjectAnnotation.java | 73 -
...FacetForDomainObjectAnnotationAsConfigured.java | 31 -
...tityChangePublishingFacetFromConfiguration.java | 38 -
...ectionPolicyFacetForDomainObjectAnnotation.java | 58 -
...PolicyFacetForDomainObjectLayoutAnnotation.java | 44 -
...ookmarkPolicyFacetForDomainObjectLayoutXml.java | 56 -
...lassFaFacetForDomainObjectLayoutAnnotation.java | 57 -
.../CssClassFaFacetForDomainObjectLayoutXml.java | 58 -
...sClassFacetForDomainObjectLayoutAnnotation.java | 56 -
.../CssClassFacetForDomainObjectLayoutXml.java | 53 -
...ObjectLayoutAnnotationUsingCssClassUiEvent.java | 124 -
.../DomainObjectLayoutFacetFactory.java | 97 -
...mainObjectLayoutAnnotationUsingIconUiEvent.java | 123 -
...inObjectLayoutAnnotationUsingLayoutUiEvent.java | 124 -
...cribedFacetForDomainObjectLayoutAnnotation.java | 46 -
...jectDescribedFacetForDomainObjectLayoutXml.java | 55 -
...tNamedFacetForDomainObjectLayoutAnnotation.java | 70 -
.../ObjectNamedFacetForDomainObjectLayoutXml.java | 73 -
.../PagedFacetForDomainObjectLayoutAnnotation.java | 54 -
...PagedFacetOverriddenByDataTablesDecoration.java | 30 -
...ainObjectLayoutAnnotationUsingTitleUiEvent.java | 158 -
.../DomainObjectLayoutTableDecorationFacet.java | 71 -
...inObjectLayoutTableDecorationFacetAbstract.java | 39 -
...rationFacetForDomainObjectLayoutAnnotation.java | 33 -
...orDomainObjectLayoutAnnotationAsConfigured.java | 33 -
...bleDecorationFacetForDomainObjectLayoutXml.java | 61 -
...ayoutTableDecorationFacetFromConfiguration.java | 33 -
.../object/domainservice/DomainServiceFacet.java | 80 -
.../domainservice/DomainServiceFacetAbstract.java | 57 -
.../AliasedFacetForDomainServiceAnnotation.java | 60 -
.../DomainServiceFacetAnnotationFactory.java | 97 -
.../DomainServiceFacetForAnnotation.java | 33 -
.../DomainServiceLayoutFacet.java | 36 -
.../DomainServiceLayoutFacetAbstract.java | 55 -
.../DomainServiceLayoutFacetFactory.java | 69 -
...NamedFacetForDomainServiceLayoutAnnotation.java | 55 -
.../DomainServiceLayoutFacetAnnotation.java | 34 -
.../facets/object/entity/EntityFacet.java | 175 -
.../object/entity/_EntityFacetForTesting.java | 109 -
.../metamodel/facets/object/grid/GridFacet.java | 43 -
.../facets/object/grid/GridFacetDefault.java | 133 -
.../facets/object/grid/GridFacetFactory.java | 52 -
.../facets/object/hidden/HiddenInstanceFacet.java | 47 -
.../facets/object/hidden/HiddenObjectFacet.java | 36 -
.../object/hidden/HiddenObjectFacetAbstract.java | 47 -
.../facets/object/hidden/HiddenTypeFacet.java | 23 -
.../hidden/HiddenTypeFacetFromAuthorization.java | 77 -
.../HiddenTypeFacetFromAuthorizationFactory.java | 48 -
.../hidden/method/HiddenObjectFacetViaMethod.java | 80 -
.../metamodel/facets/object/icon/IconFacet.java | 43 -
.../facets/object/icon/IconFacetAbstract.java | 41 -
.../metamodel/facets/object/icon/ObjectIcon.java | 101 -
.../facets/object/icon/ObjectIconService.java | 52 -
.../icon/method/IconFacetViaIconNameMethod.java | 72 -
.../RemoveAnnotatedMethodsFacetFactory.java | 72 -
...oveDatanucleusPersistableTypesFacetFactory.java | 73 -
.../RemoveDnPrefixedMethodsFacetFactory.java | 48 -
.../javalang/IteratorFilteringFacetFactory.java | 60 -
.../ignore/javalang/RemoveMethodsFacetFactory.java | 146 -
.../jdo/RemoveJdoEnhancementTypesFacetFactory.java | 73 -
.../jdo/RemoveJdoPrefixedMethodsFacetFactory.java | 49 -
.../object/immutable/EditingEnabledFacet.java | 38 -
.../facets/object/immutable/ImmutableFacet.java | 49 -
.../object/immutable/ImmutableFacetAbstract.java | 87 -
.../CopyImmutableFacetOntoMembersFactory.java | 53 -
.../introspection/IntrospectionPolicyFacet.java | 57 -
.../IntrospectionPolicyFacetAbstract.java | 61 -
.../facets/object/layout/LayoutFacet.java | 36 -
.../facets/object/layout/LayoutFacetAbstract.java | 42 -
.../facets/object/layout/LayoutFacetFallback.java | 43 -
.../object/layout/LayoutFacetViaLayoutMethod.java | 78 -
.../facets/object/logicaltype/AliasedFacet.java | 52 -
.../object/logicaltype/AliasedFacetAbstract.java | 63 -
.../logicaltype/LogicalTypeMalformedValidator.java | 75 -
.../LogicalTypeFacetFromClassNameFactory.java | 137 -
.../mixin/MetaModelValidatorForMixinTypes.java | 76 -
.../metamodel/facets/object/mixin/MixinFacet.java | 65 -
.../facets/object/mixin/MixinFacetAbstract.java | 127 -
.../mixin/MixinFacetForDomainObjectAnnotation.java | 65 -
.../object/navparent/NavigableParentFacet.java | 41 -
.../navparent/NavigableParentFacetAbstract.java | 37 -
.../NavigableParentAnnotationFacetFactory.java | 199 --
.../method/NavigableParentFacetViaMethod.java | 127 -
.../ObjectValidPropertiesFacet.java | 41 -
.../ObjectValidPropertiesFacetAbstract.java | 46 -
.../impl/ObjectValidPropertiesFacetImpl.java | 66 -
.../ObjectValidPropertiesFacetImplFactory.java | 40 -
.../metamodel/facets/object/paged/PagedFacet.java | 32 -
.../facets/object/paged/PagedFacetAbstract.java | 51 -
.../object/parented/ParentedCollectionFacet.java | 39 -
.../parented/ParentedCollectionFacetAbstract.java | 35 -
.../facets/object/projection/ProjectionFacet.java | 28 -
.../object/projection/ProjectionFacetAbstract.java | 37 -
.../ProjectionFacetFromProjectingProperty.java | 59 -
.../ident/CssClassFacetFromProjectionFacet.java | 58 -
.../ident/IconFacetFromProjectionFacet.java | 64 -
.../ident/TitleFacetFromProjectionFacet.java | 57 -
.../object/promptStyle/PromptStyleFacet.java | 32 -
.../promptStyle/PromptStyleFacetAbstract.java | 41 -
.../promptStyle/PromptStyleFacetAsConfigured.java | 46 -
.../entitychange/EntityChangePublishingFacet.java | 54 -
.../EntityChangePublishingFacetAbstract.java | 43 -
.../object/support/ObjectSupportFacetAbstract.java | 26 -
.../object/support/ObjectSupportFacetFactory.java | 149 -
.../metamodel/facets/object/title/TitleFacet.java | 49 -
.../facets/object/title/TitleFacetAbstract.java | 73 -
.../facets/object/title/TitleRenderRequest.java | 58 -
.../annotation/TitleAnnotationFacetFactory.java | 100 -
.../annotation/TitleFacetViaTitleAnnotation.java | 253 --
.../methods/TitleFacetFromToStringMethod.java | 74 -
.../title/methods/TitleFacetViaTitleMethod.java | 112 -
.../title/parser/TitleFacetFromValueFacet.java | 121 -
.../facets/object/value/CompositeValueUpdater.java | 92 -
.../value/CompositeValueUpdaterForParameter.java | 62 -
.../value/CompositeValueUpdaterForProperty.java | 62 -
.../value/ImmutableFacetViaValueSemantics.java | 37 -
.../object/value/MaxLengthFacetFromValueFacet.java | 58 -
.../value/TypicalLengthFacetFromValueFacet.java | 52 -
.../metamodel/facets/object/value/ValueFacet.java | 175 -
.../facets/object/value/ValueFacetAbstract.java | 420 ---
.../facets/object/value/ValueSerializer.java | 43 -
.../object/value/ValueSerializerDefault.java | 71 -
...ionOrAnyMatchingValueSemanticsFacetFactory.java | 159 -
.../vsp/ValueFacetUsingSemanticsProvider.java | 43 -
.../value/vsp/ValueSemanticsFacetAbstract.java | 65 -
.../facets/object/viewmodel/ViewModelFacet.java | 57 -
.../object/viewmodel/ViewModelFacetAbstract.java | 111 -
.../object/viewmodel/ViewModelFacetFactory.java | 124 -
.../ViewModelFacetForDomainObjectAnnotation.java | 185 --
.../ViewModelFacetForSerializableInterface.java | 100 -
.../ViewModelFacetForViewModelInterface.java | 114 -
.../ViewModelFacetForXmlRootElementAnnotation.java | 105 -
.../facets/objectvalue/choices/ChoicesFacet.java | 35 -
.../objectvalue/choices/ChoicesFacetAbstract.java | 37 -
.../daterenderedadjust/DateRenderAdjustFacet.java | 44 -
.../DateRenderAdjustFacetAbstract.java | 62 -
.../digits/MaxFractionalDigitsFacet.java | 47 -
.../digits/MaxFractionalDigitsFacetAbstract.java | 91 -
.../objectvalue/digits/MaxTotalDigitsFacet.java | 46 -
.../digits/MaxTotalDigitsFacetAbstract.java | 90 -
.../digits/MinFractionalDigitsFacet.java | 44 -
.../digits/MinFractionalDigitsFacetAbstract.java | 71 -
.../objectvalue/digits/MinIntegerDigitsFacet.java | 43 -
.../digits/MinIntegerDigitsFacetAbstract.java | 71 -
.../objectvalue/fileaccept/FileAcceptFacet.java | 34 -
.../fileaccept/FileAcceptFacetAbstract.java | 36 -
.../facets/objectvalue/labelat/LabelAtFacet.java | 35 -
.../objectvalue/labelat/LabelAtFacetAbstract.java | 62 -
.../labelat/LabelAtFacetFromMultiLineFacet.java | 38 -
.../objectvalue/mandatory/MandatoryFacet.java | 84 -
.../mandatory/MandatoryFacetAbstract.java | 114 -
.../mandatory/MandatoryFacetDefault.java | 43 -
.../facets/objectvalue/maxlen/MaxLengthFacet.java | 40 -
.../objectvalue/maxlen/MaxLengthFacetAbstract.java | 88 -
.../objectvalue/multiline/MultiLineFacet.java | 38 -
.../multiline/MultiLineFacetAbstract.java | 66 -
.../MustSatisfySpecificationFacet.java | 26 -
.../MustSatisfySpecificationFacetAbstract.java | 116 -
.../mustsatisfyspec/SpecificationEvaluator.java | 79 -
.../facets/objectvalue/regex/RegExFacet.java | 38 -
.../objectvalue/regex/RegExFacetAbstract.java | 120 -
.../temporalformat/DateFormatStyleFacet.java | 38 -
.../DateFormatStyleFacetAbstract.java | 73 -
.../temporalformat/TimeFormatPrecisionFacet.java | 39 -
.../TimeFormatPrecisionFacetAbstract.java | 73 -
.../temporalformat/TimeFormatStyleFacet.java | 38 -
.../TimeFormatStyleFacetAbstract.java | 73 -
.../temporalformat/TimeZoneTranslationFacet.java | 41 -
.../TimeZoneTranslationFacetAbstract.java | 73 -
.../objectvalue/typicallen/TypicalLengthFacet.java | 53 -
.../typicallen/TypicalLengthFacetAbstract.java | 60 -
.../ValueSemanticsSelectingFacet.java | 36 -
.../ValueSemanticsSelectingFacetAbstract.java | 38 -
.../ActionParameterAutoCompleteFacet.java | 47 -
.../ActionParameterAutoCompleteFacetAbstract.java | 40 -
.../facets/param/autocomplete/MinLengthUtil.java | 55 -
.../ActionParameterAutoCompleteFacetViaMethod.java | 111 -
...ParameterAutoCompleteFacetViaMethodFactory.java | 54 -
.../param/choices/ActionParameterChoicesFacet.java | 42 -
.../ActionParameterChoicesFacetAbstract.java | 41 -
...ctionParameterChoicesFacetFromChoicesFacet.java | 59 -
...nParameterChoicesFacetFromChoicesFromFacet.java | 73 -
.../ActionParameterChoicesFacetViaMethod.java | 99 -
...ctionParameterChoicesFacetViaMethodFactory.java | 52 -
.../defaults/ActionParameterDefaultsFacet.java | 46 -
.../ActionParameterDefaultsFacetAbstract.java | 37 -
.../ActionParameterDefaultsFacetViaMethod.java | 103 -
...tionParameterDefaultsFacetViaMethodFactory.java | 51 -
.../annotderived/ParamDescribedFacetFromType.java | 51 -
.../disable/ActionParameterDisabledFacet.java | 40 -
.../ActionParameterDisabledFacetAbstract.java | 47 -
.../ActionParameterDisabledFacetViaMethod.java | 89 -
...tionParameterDisabledFacetViaMethodFactory.java | 54 -
.../param/hide/ActionParameterHiddenFacet.java | 41 -
.../hide/ActionParameterHiddenFacetAbstract.java | 53 -
.../ActionParameterHiddenFacetViaMethod.java | 96 -
...ActionParameterHiddenFacetViaMethodFactory.java | 55 -
.../CssClassFacetForParameterLayoutAnnotation.java | 45 -
.../LabelAtFacetForParameterLayoutAnnotation.java | 45 -
...MultiLineFacetForParameterLayoutAnnotation.java | 44 -
.../NamedFacetForParameterLayoutAnnotation.java | 51 -
...DescribedFacetForParameterLayoutAnnotation.java | 47 -
.../param/layout/ParameterLayoutFacetFactory.java | 77 -
...calLengthFacetForParameterLayoutAnnotation.java | 47 -
.../MandatoryFacetOnParametersDefaultFactory.java | 58 -
.../NamedFacetForParameterUsingReflection.java | 37 -
.../ParameterNameFacetFactoryUsingReflection.java | 74 -
.../parameter/ParameterAnnotationFacetFactory.java | 154 -
...ActionFacetForActionAnnotationAsConfigured.java | 33 -
.../depdef/ParameterDependentDefaultsFacet.java | 72 -
.../ParameterDependentDefaultsFacetAbstract.java | 39 -
...pendentDefaultsFacetForParameterAnnotation.java | 33 -
...terDependentDefaultsFacetFromConfiguration.java | 33 -
.../FileAcceptFacetForParameterAnnotation.java | 46 -
.../MandatoryFacetForParameterAnnotation.java | 78 -
...cetInvertedByNullableAnnotationOnParameter.java | 59 -
.../MaxLengthFacetForParameterAnnotation.java | 45 -
...fySpecificationFacetForParameterAnnotation.java | 58 -
.../regex/RegExFacetForParameterAnnotation.java | 56 -
.../RegExFacetForPatternAnnotationOnParameter.java | 54 -
...ActionParameterSupportFacetFactoryAbstract.java | 95 -
.../TypicalLengthFacetOnParameterFromType.java | 75 -
.../validate/ActionParameterValidationFacet.java | 50 -
.../ActionParameterValidationFacetAbstract.java | 52 -
.../ActionParameterValidationFacetViaMethod.java | 90 -
...onParameterValidationFacetViaMethodFactory.java | 54 -
.../PropertyOrCollectionAccessorFacet.java | 52 -
.../PropertyOrCollectionAccessorFacetAbstract.java | 55 -
.../propcoll/memserexcl/SnapshotExcludeFacet.java | 29 -
.../memserexcl/SnapshotExcludeFacetAbstract.java | 37 -
.../accessor/PropertyAccessorFacetViaAccessor.java | 89 -
.../PropertyAccessorFacetViaAccessorFactory.java | 101 -
.../autocomplete/PropertyAutoCompleteFacet.java | 50 -
.../PropertyAutoCompleteFacetAbstract.java | 38 -
.../method/PropertyAutoCompleteFacetMethod.java | 94 -
.../PropertyAutoCompleteFacetMethodFactory.java | 58 -
.../properties/businesskey/BusinessKeyFacet.java | 35 -
.../businesskey/BusinessKeyFacetAbstract.java | 35 -
.../properties/choices/PropertyChoicesFacet.java | 50 -
.../choices/PropertyChoicesFacetAbstract.java | 39 -
.../PropertyChoicesFacetFromChoicesFacet.java | 56 -
.../method/PropertyChoicesFacetViaMethod.java | 81 -
.../PropertyChoicesFacetViaMethodFactory.java | 58 -
.../properties/defaults/PropertyDefaultFacet.java | 45 -
.../defaults/PropertyDefaultFacetAbstract.java | 39 -
.../defaults/PropertyDefaultFacetNone.java | 39 -
.../PropertyDefaultFacetFromDefaultedFacet.java | 71 -
.../PropertyDefaultFacetFromTypeFactory.java | 69 -
.../method/PropertyDefaultFacetViaMethod.java | 79 -
.../PropertyDefaultFacetViaMethodFactory.java | 53 -
.../DisabledFacetOnPropertyFromImmutable.java | 73 -
...isabledFacetOnPropertyFromImmutableFactory.java | 61 -
.../DisabledFacetOnPropertyFromMissingSetter.java | 33 -
.../DisabledFacetOnPropertyInferredFactory.java | 60 -
.../MandatoryFacetOnProperyDefaultFactory.java | 59 -
.../properties/projection/ProjectingFacet.java | 29 -
.../projection/ProjectingFacetAbstract.java | 37 -
.../ProjectingFacetFromPropertyAnnotation.java | 67 -
.../property/PropertyAnnotationFacetFactory.java | 381 ---
.../DisabledFacetForPropertyAnnotation.java | 64 -
...acetForPropertyAnnotationInvertedSemantics.java | 36 -
.../EntityPropertyChangePublishingPolicyFacet.java | 71 -
...ropertyChangePublishingPolicyFacetAbstract.java | 65 -
...PublishingPolicyFacetForPropertyAnnotation.java | 50 -
.../FileAcceptFacetForPropertyAnnotation.java | 45 -
.../hidden/HiddenFacetForPropertyAnnotation.java | 54 -
.../MandatoryFacetForPropertyAnnotation.java | 89 -
...acetInvertedByNullableAnnotationOnProperty.java | 63 -
.../MaxLengthFacetForPropertyAnnotation.java | 43 -
...ropertyClearFacetForDomainEventFromDefault.java | 40 -
...rFacetForDomainEventFromPropertyAnnotation.java | 40 -
.../property/modify/PropertyDomainEventFacet.java | 32 -
.../modify/PropertyDomainEventFacetAbstract.java | 162 -
.../modify/PropertyDomainEventFacetDefault.java | 39 -
...pertyDomainEventFacetForPropertyAnnotation.java | 39 -
...opertySetterFacetForDomainEventFromDefault.java | 41 -
...rFacetForDomainEventFromPropertyAnnotation.java | 40 -
...tySetterOrClearFacetForDomainEventAbstract.java | 297 --
.../facets/properties/property/modify/Utils.java | 23 -
...sfySpecificationFacetForPropertyAnnotation.java | 58 -
.../RegExFacetForPatternAnnotationOnProperty.java | 55 -
.../regex/RegExFacetForPropertyAnnotation.java | 58 -
.../SnapshotExcludeFacetForPropertyAnnotation.java | 46 -
.../CssClassFacetForPropertyLayoutAnnotation.java | 44 -
.../CssClassFacetForPropertyLayoutXml.java | 53 -
.../HiddenFacetForPropertyLayoutAnnotation.java | 54 -
.../HiddenFacetForPropertyLayoutXml.java | 63 -
.../LabelAtFacetForPropertyLayoutAnnotation.java | 45 -
.../LabelAtFacetForPropertyLayoutXml.java | 53 -
...rDescribedFacetForPropertyLayoutAnnotation.java | 48 -
.../MemberDescribedFacetForPropertyLayoutXml.java | 54 -
.../MemberNamedFacetForPropertyLayoutXml.java | 55 -
.../MultiLineFacetForPropertyLayoutAnnotation.java | 43 -
.../MultiLineFacetForPropertyLayoutXml.java | 52 -
.../NamedFacetForPropertyLayoutAnnotation.java | 51 -
...romptStyleFacetForPropertyLayoutAnnotation.java | 114 -
.../PromptStyleFacetForPropertyLayoutXml.java | 68 -
.../propertylayout/PropertyLayoutFacetFactory.java | 95 -
.../RenderedAdjustedFacetForPropertyLayoutXml.java | 52 -
...icalLengthFacetForPropertyLayoutAnnotation.java | 46 -
.../TypicalLengthFacetForPropertyLayoutXml.java | 53 -
...UnchangingFacetForPropertyLayoutAnnotation.java | 56 -
.../UnchangingFacetForPropertyLayoutXml.java | 55 -
.../renderunchanged/UnchangingFacet.java | 29 -
.../renderunchanged/UnchangingFacetAbstract.java | 34 -
.../properties/searchable/SearchableFacet.java | 48 -
.../searchable/SearchableFacetAbstract.java | 50 -
.../TypicalLengthFacetOnPropertyFromType.java | 77 -
.../update/PropertySetterFacetFactory.java | 93 -
.../SnapshotExcludeFacetFromImmutableMember.java | 31 -
.../update/clear/PropertyClearFacet.java | 36 -
.../update/clear/PropertyClearFacetAbstract.java | 34 -
.../clear/PropertyClearFacetViaClearMethod.java | 68 -
.../clear/PropertyClearFacetViaSetterMethod.java | 69 -
.../update/clear/PropertyClearingAccessor.java | 38 -
.../update/init/PropertyInitializationFacet.java | 49 -
.../init/PropertyInitializationFacetAbstract.java | 34 -
...PropertyInitializationFacetViaSetterMethod.java | 63 -
.../update/modify/PropertySetterFacet.java | 39 -
.../update/modify/PropertySetterFacetAbstract.java | 34 -
.../modify/PropertySetterFacetViaSetterMethod.java | 70 -
.../update/modify/PropertySettingAccessor.java | 44 -
.../validating/PropertyValidateFacet.java | 49 -
.../validating/PropertyValidateFacetAbstract.java | 58 -
.../validating/PropertyValidateFacetNone.java | 42 -
.../dflt/PropertyValidateFacetDefault.java | 47 -
.../dflt/PropertyValidateFacetDefaultFactory.java | 63 -
.../method/PropertyValidateFacetViaMethod.java | 79 -
.../PropertyValidateFacetViaMethodFactory.java | 58 -
...rmatStyleFacetFromValueSemanticsAnnotation.java | 47 -
...derAdjustFacetFromValueSemanticsAnnotation.java | 45 -
...tsFacetFromJavaxValidationDigitsAnnotation.java | 48 -
...nalDigitsFacetFromValueSemanticsAnnotation.java | 48 -
...tsFacetFromJavaxValidationDigitsAnnotation.java | 49 -
...talDigitsFacetFromValueSemanticsAnnotation.java | 47 -
...nalDigitsFacetFromValueSemanticsAnnotation.java | 47 -
...gerDigitsFacetFromValueSemanticsAnnotation.java | 47 -
...PrecisionFacetFromValueSemanticsAnnotation.java | 47 -
...rmatStyleFacetFromValueSemanticsAnnotation.java | 47 -
...anslationFacetFromValueSemanticsAnnotation.java | 47 -
.../ValueSemanticsAnnotationFacetFactory.java | 152 -
.../ValueSemanticsSelectingFacetForAnnotation.java | 46 -
.../inspect/IsisModuleCoreMetamodelInspection.java | 48 -
.../metamodel/inspect/Object_inspectMetamodel.java | 117 -
.../core/metamodel/inspect/model/ActionNode.java | 88 -
.../metamodel/inspect/model/AnnotationNode.java | 83 -
.../metamodel/inspect/model/CollectionNode.java | 73 -
.../metamodel/inspect/model/FacetAttrNode.java | 83 -
.../metamodel/inspect/model/FacetGroupNode.java | 88 -
.../core/metamodel/inspect/model/FacetNode.java | 98 -
.../isis/core/metamodel/inspect/model/MMNode.java | 134 -
.../metamodel/inspect/model/MMNodeFactory.java | 103 -
.../metamodel/inspect/model/MMTreeAdapter.java | 44 -
.../core/metamodel/inspect/model/MemberNode.java | 71 -
.../metamodel/inspect/model/ParameterNode.java | 89 -
.../core/metamodel/inspect/model/PropertyNode.java | 71 -
.../core/metamodel/inspect/model/TypeNode.java | 106 -
.../core/metamodel/interactions/AccessContext.java | 43 -
.../interactions/ActionArgUsabilityContext.java | 74 -
.../interactions/ActionArgValidityContext.java | 73 -
.../interactions/ActionArgVisibilityContext.java | 74 -
.../interactions/ActionInteractionContext.java | 30 -
.../interactions/ActionUsabilityContext.java | 59 -
.../interactions/ActionValidityContext.java | 65 -
.../interactions/ActionVisibilityContext.java | 59 -
.../interactions/CollectionAccessContext.java | 45 -
.../interactions/CollectionUsabilityContext.java | 47 -
.../interactions/CollectionVisibilityContext.java | 48 -
.../interactions/DisablingInteractionAdvisor.java | 45 -
.../interactions/HidingInteractionAdvisor.java | 45 -
.../interactions/InteractionAdvisorFacet.java | 44 -
.../metamodel/interactions/InteractionContext.java | 133 -
.../interactions/InteractionEventSupplier.java | 36 -
.../metamodel/interactions/InteractionHead.java | 90 -
.../metamodel/interactions/InteractionUtils.java | 93 -
.../metamodel/interactions/ObjectTitleContext.java | 57 -
.../interactions/ObjectValidityContext.java | 58 -
.../interactions/ObjectVisibilityContext.java | 58 -
.../metamodel/interactions/ParseValueContext.java | 59 -
.../interactions/PropertyAccessContext.java | 62 -
.../interactions/PropertyModifyContext.java | 70 -
.../interactions/PropertyUsabilityContext.java | 48 -
.../interactions/PropertyVisibilityContext.java | 47 -
.../metamodel/interactions/ProposedHolder.java | 37 -
.../metamodel/interactions/UsabilityContext.java | 44 -
.../interactions/ValidatingInteractionAdvisor.java | 48 -
.../metamodel/interactions/ValidityContext.java | 51 -
.../metamodel/interactions/VisibilityContext.java | 44 -
.../interactions/managed/ActionInteraction.java | 284 --
.../managed/ActionInteractionHead.java | 176 -
.../managed/CollectionInteraction.java | 71 -
.../interactions/managed/HasMetaModel.java | 27 -
.../interactions/managed/InteractionRailway.java | 67 -
.../interactions/managed/InteractionVeto.java | 111 -
.../interactions/managed/ManagedAction.java | 235 --
.../interactions/managed/ManagedCollection.java | 114 -
.../interactions/managed/ManagedFeature.java | 92 -
.../interactions/managed/ManagedMember.java | 172 -
.../interactions/managed/ManagedParameter.java | 70 -
.../interactions/managed/ManagedProperty.java | 169 -
.../interactions/managed/ManagedValue.java | 79 -
.../interactions/managed/MemberInteraction.java | 113 -
.../interactions/managed/MultiselectChoices.java | 29 -
.../managed/ParameterNegotiationModel.java | 427 ---
.../interactions/managed/PropertyInteraction.java | 89 -
.../managed/PropertyNegotiationModel.java | 229 --
.../interactions/managed/_BindingUtil.java | 189 --
.../interactions/managed/nonscalar/DataColumn.java | 47 -
.../interactions/managed/nonscalar/DataRow.java | 66 -
.../managed/nonscalar/DataTableModel.java | 305 --
.../managed/nonscalar/_ToggleDebug.java | 44 -
.../isis/core/metamodel/layout/DeweyOrderSet.java | 406 ---
.../core/metamodel/layout/LayoutFacetUtil.java | 408 ---
.../MemberIdentifierComparator.java | 43 -
.../memberorderfacet/MemberOrderComparator.java | 83 -
.../OrderSetGroupNameComparator.java | 54 -
...tionEnforcesMetamodelContributionValidator.java | 182 --
.../core/metamodel/methods/MethodByClassMap.java | 30 -
.../methods/MethodFilteringFacetFactory.java | 34 -
.../isis/core/metamodel/methods/MethodFinder.java | 280 --
.../core/metamodel/methods/MethodFinderPAT.java | 89 -
.../methods/MethodPrefixBasedFacetFactory.java | 39 -
.../MethodPrefixBasedFacetFactoryAbstract.java | 162 -
.../_OrphanedSupportingMethodValidator.java | 75 -
.../isis/core/metamodel/object/Bookmarkable.java | 88 -
.../isis/core/metamodel/object/ManagedObject.java | 607 ----
.../isis/core/metamodel/object/ManagedObjects.java | 447 ---
.../core/metamodel/object/MmAssertionUtil.java | 138 -
.../isis/core/metamodel/object/MmDebugUtil.java | 75 -
.../isis/core/metamodel/object/MmEntityUtil.java | 164 -
.../isis/core/metamodel/object/MmInvokeUtil.java | 177 -
.../isis/core/metamodel/object/MmRenderUtil.java | 56 -
.../isis/core/metamodel/object/MmSpecUtil.java | 45 -
.../isis/core/metamodel/object/MmTitleUtil.java | 54 -
.../isis/core/metamodel/object/MmUnwrapUtil.java | 126 -
.../core/metamodel/object/MmVisibilityUtil.java | 130 -
.../core/metamodel/object/PackedManagedObject.java | 32 -
.../isis/core/metamodel/object/ProtoObject.java | 59 -
.../core/metamodel/object/_InternalTitleUtil.java | 103 -
.../core/metamodel/object/_ManagedObjectEmpty.java | 41 -
.../object/_ManagedObjectEntityBookmarked.java | 157 -
.../object/_ManagedObjectEntityHybrid.java | 169 -
.../object/_ManagedObjectEntityTransient.java | 72 -
.../core/metamodel/object/_ManagedObjectMixin.java | 54 -
.../core/metamodel/object/_ManagedObjectOther.java | 53 -
.../metamodel/object/_ManagedObjectPacked.java | 66 -
.../metamodel/object/_ManagedObjectService.java | 75 -
.../metamodel/object/_ManagedObjectSpecified.java | 191 --
.../object/_ManagedObjectUnspecified.java | 91 -
.../core/metamodel/object/_ManagedObjectValue.java | 77 -
.../metamodel/object/_ManagedObjectViewmodel.java | 160 -
.../isis/core/metamodel/object/_Refetchable.java | 27 -
.../metamodel/object/_RefreshableViewmodel.java | 41 -
.../metamodel/objectmanager/ObjectBookmarker.java | 42 -
.../metamodel/objectmanager/ObjectBulkLoader.java | 121 -
.../metamodel/objectmanager/ObjectCreator.java | 114 -
.../core/metamodel/objectmanager/ObjectLoader.java | 154 -
.../metamodel/objectmanager/ObjectManager.java | 190 --
.../objectmanager/ObjectManagerDefault.java | 115 -
.../objectmanager/memento/ObjectMemento.java | 97 -
.../memento/ObjectMementoCollection.java | 58 -
.../memento/ObjectMementoForEmpty.java | 51 -
.../memento/ObjectMementoForScalar.java | 158 -
.../objectmanager/memento/_Recreatable.java | 69 -
.../objectmanager/memento/_RecreatableLookup.java | 59 -
.../objectmanager/memento/_RecreatableValue.java | 48 -
.../ObjectSpecificationPostProcessor.java | 41 -
.../ObjectSpecificationPostProcessorAbstract.java | 52 -
.../all/DescribedAsFromTypePostProcessor.java | 92 -
.../i18n/SynthesizeObjectNamingPostProcessor.java | 97 -
.../all/i18n/TranslationPostProcessor.java | 110 -
.../authorization/AuthorizationFacet.java | 84 -
.../authorization/AuthorizationFacetAbstract.java | 91 -
.../authorization/AuthorizationFacetImpl.java | 29 -
.../authorization/AuthorizationPostProcessor.java | 63 -
.../allbutparam/authorization/package-info.java | 33 -
.../TweakDomainEventsForMixinPostProcessor.java | 170 -
.../navigation/NavigationFacetFromHiddenType.java | 66 -
...NavigationFacetFromHiddenTypePostProcessor.java | 68 -
.../object/ProjectionFacetsPostProcessor.java | 80 -
...arameterChoicesFacetFromParentedCollection.java | 63 -
...meterDefaultsFacetFromAssociatedCollection.java | 47 -
.../param/ChoicesAndDefaultsPostProcessor.java | 201 --
.../param/TypicalLengthFromTypePostProcessor.java | 76 -
.../DisabledFromImmutablePostProcessor.java | 86 -
.../core/metamodel/progmodel/ProgrammingModel.java | 174 -
.../progmodel/ProgrammingModelAbstract.java | 242 --
.../progmodel/ProgrammingModelInitFilter.java | 81 -
.../ProgrammingModelInitFilterDefault.java | 90 -
.../progmodel/ProgrammingModelService.java | 32 -
.../dflt/ProgrammingModelFacetsJava11.java | 275 --
.../core/metamodel/render/ScalarRenderMode.java | 56 -
.../core/metamodel/services/CollectionHelper.java | 95 -
.../metamodel/services/ServiceInjectorDefault.java | 79 -
.../isis/core/metamodel/services/ServiceUtil.java | 37 -
.../appfeat/ApplicationFeatureDefault.java | 159 -
.../ApplicationFeatureRepositoryDefault.java | 487 ---
.../core/metamodel/services/appfeat/_Asserts.java | 51 -
.../classsubstitutor/ClassSubstitutor.java | 138 -
.../classsubstitutor/ClassSubstitutorAbstract.java | 158 -
.../classsubstitutor/ClassSubstitutorDefault.java | 73 -
.../ClassSubstitutorForCollections.java | 46 -
.../ClassSubstitutorForDomainObjects.java | 64 -
.../classsubstitutor/ClassSubstitutorRegistry.java | 93 -
.../services/command/CommandDtoFactory.java | 116 -
.../metamodel/services/devutils/MemberType.java | 25 -
.../services/events/MetamodelEventService.java | 85 -
...ExceptionRecognizerForRecoverableException.java | 50 -
.../services/grid/GridLoaderServiceDefault.java | 231 --
.../services/grid/GridReaderUsingJaxb.java | 93 -
.../services/grid/GridServiceDefault.java | 209 --
.../services/grid/GridSystemServiceAbstract.java | 508 ---
.../grid/bootstrap/GridSystemServiceBootstrap.java | 589 ----
.../services/grid/bootstrap/_GridModel.java | 231 --
.../metamodel/services/homepage/package-info.java | 26 -
.../idstringifier/IdStringifierLookupService.java | 106 -
.../services/ixn/InteractionDtoFactory.java | 100 -
.../services/layout/LayoutServiceDefault.java | 132 -
.../metamodel/services/message/MessageBroker.java | 41 -
.../services/message/MessageServiceNoop.java | 92 -
.../services/metamodel/DomainMemberDefault.java | 301 --
.../services/metamodel/DomainModelDefault.java | 58 -
.../services/metamodel/MetaModelAnnotator.java | 111 -
.../services/metamodel/MetaModelExportSupport.java | 31 -
.../services/metamodel/MetaModelExporter.java | 496 ---
.../metamodel/MetaModelServiceDefault.java | 240 --
.../ShadowedFactetAttributeAnnotator.java | 97 -
.../services/metamodel/TitleAnnotator.java | 127 -
.../core/metamodel/services/metamodel/_Util.java | 153 -
.../HasEnlistedEntityPropertyChanges.java | 31 -
.../objectlifecycle/ObjectLifecyclePublisher.java | 126 -
.../services/objectlifecycle/PreAndPostValue.java | 95 -
.../objectlifecycle/PropertyChangeRecord.java | 144 -
.../objectlifecycle/PropertyChangeRecordId.java | 63 -
.../objectlifecycle/PropertyValuePlaceholder.java | 38 -
.../services/publishing/CommandPublisher.java | 38 -
.../services/publishing/ExecutionPublisher.java | 61 -
.../services/registry/ServiceRegistryDefault.java | 103 -
.../services/registry/SpringContextProvider.java | 23 -
.../services/schema/SchemaValueMarshaller.java | 128 -
.../schema/SchemaValueMarshallerAbstract.java | 364 ---
.../tablecol/TableColumnOrderServiceDefault.java | 73 -
.../TableColumnOrderServiceUsingTxtFile.java | 187 --
.../services/title/TitleServiceDefault.java | 97 -
.../title/TitlesAndTranslationsValidator.java | 186 --
.../isis/core/metamodel/spec/ActionScope.java | 48 -
.../apache/isis/core/metamodel/spec/Described.java | 36 -
.../metamodel/spec/HasObjectSpecification.java | 60 -
.../isis/core/metamodel/spec/Hierarchical.java | 73 -
.../spec/ObjectInstantiationException.java | 40 -
.../core/metamodel/spec/ObjectSpecification.java | 649 ----
.../spec/ObjectSpecificationException.java | 35 -
.../isis/core/metamodel/spec/Specification.java | 43 -
.../core/metamodel/spec/TypeOfAnyCardinality.java | 185 --
.../core/metamodel/spec/feature/CurrentHolder.java | 45 -
.../metamodel/spec/feature/HasObjectFeature.java | 26 -
.../isis/core/metamodel/spec/feature/MixedIn.java | 60 -
.../core/metamodel/spec/feature/MixedInMember.java | 37 -
.../spec/feature/MutableCurrentHolder.java | 67 -
.../core/metamodel/spec/feature/ObjectAction.java | 536 ----
.../spec/feature/ObjectActionContainer.java | 160 -
.../spec/feature/ObjectActionParameter.java | 264 --
.../metamodel/spec/feature/ObjectAssociation.java | 200 --
.../spec/feature/ObjectAssociationContainer.java | 148 -
.../core/metamodel/spec/feature/ObjectFeature.java | 173 -
.../core/metamodel/spec/feature/ObjectMember.java | 333 --
.../spec/feature/OneToManyActionParameter.java | 27 -
.../spec/feature/OneToManyAssociation.java | 87 -
.../metamodel/spec/feature/OneToManyFeature.java | 48 -
.../spec/feature/OneToOneActionParameter.java | 27 -
.../spec/feature/OneToOneAssociation.java | 84 -
.../metamodel/spec/feature/OneToOneFeature.java | 27 -
.../spec/feature/memento/ActionMemento.java | 83 -
.../feature/memento/ActionParameterMemento.java | 90 -
.../spec/feature/memento/CollectionMemento.java | 82 -
.../spec/feature/memento/ObjectMemberMemento.java | 83 -
.../spec/feature/memento/PropertyMemento.java | 82 -
.../metamodel/specloader/LogicalTypeResolver.java | 69 -
.../specloader/LogicalTypeResolverDefault.java | 106 -
.../specloader/ProgrammingModelServiceDefault.java | 100 -
.../metamodel/specloader/SpecificationCache.java | 44 -
.../specloader/SpecificationCacheDefault.java | 122 -
.../metamodel/specloader/SpecificationLoader.java | 270 --
.../specloader/SpecificationLoaderDefault.java | 690 ----
.../isis/core/metamodel/specloader/_Util.java | 81 -
.../specloader/facetprocessor/FacetProcessor.java | 450 ---
.../core/metamodel/specloader/package-info.java | 43 -
.../specloader/postprocessor/PostProcessor.java | 103 -
.../specloader/specimpl/FacetedMethodsBuilder.java | 509 ---
.../specloader/specimpl/IntrospectionState.java | 47 -
.../specloader/specimpl/MemberSortingUtils.java | 87 -
.../specloader/specimpl/ObjectActionDefault.java | 539 ----
.../specloader/specimpl/ObjectActionMixedIn.java | 179 --
.../specimpl/ObjectActionParameterAbstract.java | 384 ---
.../specimpl/ObjectAssociationAbstract.java | 90 -
.../specloader/specimpl/ObjectMemberAbstract.java | 336 --
.../specloader/specimpl/ObjectMemberContainer.java | 158 -
.../specimpl/ObjectSpecificationAbstract.java | 900 ------
.../specimpl/OneToManyActionParameterDefault.java | 52 -
.../specimpl/OneToManyAssociationDefault.java | 198 --
.../specimpl/OneToManyAssociationMixedIn.java | 185 --
.../specimpl/OneToOneActionParameterDefault.java | 37 -
.../specimpl/OneToOneAssociationDefault.java | 345 --
.../specimpl/OneToOneAssociationMixedIn.java | 168 -
.../specloader/specimpl/_MixedInMemberFactory.java | 56 -
.../specimpl/_MixedInMemberNamingStrategy.java | 82 -
.../specloader/specimpl/_SpecPredicates.java | 72 -
.../specimpl/dflt/ObjectSpecificationDefault.java | 380 ---
.../specimpl/dflt/_PropertiesAsColumns.java | 206 --
.../specloader/typeextract/TypeExtractor.java | 132 -
.../validator/MetaModelInvalidException.java | 34 -
.../specloader/validator/MetaModelValidator.java | 25 -
.../validator/MetaModelValidatorAbstract.java | 44 -
...ModelValidatorForAmbiguousMixinAnnotations.java | 45 -
...etaModelValidatorForConflictingOptionality.java | 84 -
.../validator/MetaModelVisitingValidator.java | 38 -
.../MetaModelVisitingValidatorAbstract.java | 45 -
.../specloader/validator/ValidationFailure.java | 113 -
.../specloader/validator/ValidationFailures.java | 115 -
.../core/metamodel/util/DeweyOrderComparator.java | 36 -
.../apache/isis/core/metamodel/util/EventUtil.java | 42 -
.../apache/isis/core/metamodel/util/Facets.java | 456 ---
.../core/metamodel/util/pchain/ParentChain.java | 79 -
.../metamodel/util/pchain/ParentChainDefault.java | 42 -
.../isis/core/metamodel/util/snapshot/Helper.java | 90 -
.../core/metamodel/util/snapshot/IsisSchema.java | 179 --
.../isis/core/metamodel/util/snapshot/Place.java | 64 -
.../core/metamodel/util/snapshot/XmlSchema.java | 648 ----
.../core/metamodel/util/snapshot/XmlSnapshot.java | 850 -----
.../core/metamodel/util/snapshot/XsMetaModel.java | 336 --
.../ApplicationFeatureIdValueSemantics.java | 109 -
.../valuesemantics/BigDecimalValueSemantics.java | 172 -
.../valuesemantics/BigIntegerValueSemantics.java | 131 -
.../valuesemantics/BlobValueSemantics.java | 112 -
.../valuesemantics/BookmarkValueSemantics.java | 136 -
.../valuesemantics/BooleanValueSemantics.java | 138 -
.../BufferedImageValueSemantics.java | 162 -
.../valuesemantics/ByteValueSemantics.java | 155 -
.../valuesemantics/ChangesDtoValueSemantics.java | 61 -
.../valuesemantics/CharacterValueSemantics.java | 171 -
.../valuesemantics/ClobValueSemantics.java | 110 -
.../valuesemantics/CommandDtoValueSemantics.java | 61 -
.../valuesemantics/DoubleValueSemantics.java | 126 -
.../valuesemantics/EnumValueSemanticsAbstract.java | 226 --
.../valuesemantics/FloatValueSemantics.java | 126 -
.../IdStringifierForSerializable.java | 116 -
.../valuesemantics/ImageValueSemantics.java | 37 -
.../valuesemantics/IntValueSemantics.java | 153 -
.../InteractionDtoValueSemantics.java | 61 -
.../LocalResourcePathValueSemantics.java | 130 -
.../valuesemantics/LocaleValueSemantics.java | 149 -
.../valuesemantics/LongValueSemantics.java | 153 -
.../valuesemantics/MarkupValueSemantics.java | 116 -
.../valuesemantics/OidDtoValueSemantics.java | 69 -
.../valuesemantics/PasswordValueSemantics.java | 107 -
.../valuesemantics/ShortValueSemantics.java | 155 -
.../valuesemantics/StringValueSemantics.java | 129 -
.../valuesemantics/TreeNodeValueSemantics.java | 136 -
.../valuesemantics/URLValueSemantics.java | 135 -
.../valuesemantics/UUIDValueSemantics.java | 129 -
.../valuesemantics/XmlValueSemanticsAbstract.java | 109 -
.../valuesemantics/temporal/BadgeRenderer.java | 55 -
.../temporal/LocalDateTimeValueSemantics.java | 72 -
.../temporal/LocalDateValueSemantics.java | 72 -
.../temporal/LocalTimeValueSemantics.java | 70 -
.../temporal/OffsetDateTimeValueSemantics.java | 70 -
.../temporal/OffsetTimeValueSemantics.java | 70 -
.../valuesemantics/temporal/TemporalAdjust.java | 191 --
.../temporal/TemporalValueSemanticsProvider.java | 417 ---
.../temporal/ZonedDateTimeValueSemantics.java | 70 -
.../temporal/legacy/JavaSqlDateValueSemantics.java | 78 -
.../legacy/JavaSqlTimeStampValueSemantics.java | 72 -
.../temporal/legacy/JavaSqlTimeValueSemantics.java | 76 -
.../legacy/JavaUtilDateValueSemantics.java | 83 -
.../valuetypes/TemporalSemanticsAdapter.java | 32 -
.../valuetypes/ValueSemanticsAdapter.java | 157 -
.../valuetypes/ValueSemanticsResolverDefault.java | 120 -
.../metamodel/MetaModelContext_configTest.java | 68 +
.../core/metamodel/MetaModelTestAbstract.java | 70 +
.../core/metamodel/commons/IoUtils_CopyTest.java | 138 +
.../commons/JavaClassUtilsTest_getBuiltIn.java | 40 +
.../metamodel/commons/ListUtilsTest_adjust.java | 67 +
.../metamodel/commons/ListUtilsTest_insert.java | 83 +
.../commons/ListUtilsTest_mutableCopy.java | 89 +
.../core/metamodel/commons/LocaleUtilsTest.java | 34 +
.../core/metamodel/commons/NameUtilTest.java | 77 +
.../core/metamodel/commons/PrintLocale.java | 58 +
.../commons/StringUtilsTest_enumTitle.java | 40 +
.../commons/StringUtils_NaturalNameTest.java | 58 +
.../commons/StringUtils_NaturalizeTest.java | 48 +
.../commons/StringUtils_NormalizedTest.java | 54 +
.../StringUtils_RemoveLeadingWhiteSpace.java | 52 +
.../commons/StringUtils_SplitOnCommas.java | 81 +
.../commons/StringUtils_StripLeadingSlashTest.java | 50 +
.../commons/StringUtils_StripNewLinesTest.java | 58 +
.../commons/StringUtils_camelLowerFirst.java | 37 +
.../commons/StringUtils_toLineSeparated.java | 51 +
.../commons/StringUtils_toLowerDashed.java | 35 +
.../metamodel/commons/TypesTest_filteredList.java | 70 +
.../metamodel/commons/matchers/IsisMatchers.java | 72 +
.../matchers/IsisMatchers_NonEmptyStringTest.java | 52 +
.../metamodel/consent/InteractionResultTest.java | 82 +
.../core/metamodel/facetapi/FacetAbstractTest.java | 73 +
.../facetapi/FeatureTypeTest_identifierFor.java | 87 +
.../AbstractFacetFactoryJupiterTestCase.java | 138 +
.../metamodel/facets/AbstractFacetFactoryTest.java | 164 +
.../facets/AbstractTestWithMetaModelContext.java | 67 +
.../Annotations_getAnnotations_on_Class_Test.java | 248 ++
.../Annotations_getAnnotations_on_Field_Test.java | 203 ++
.../Annotations_getAnnotations_on_Method_Test.java | 183 ++
...notations_getAnnotations_on_Parameter_Test.java | 199 ++
.../metamodel/facets/CollectionFacetUtilsTest.java | 118 +
...nEventHelperTest_newActionInteractionEvent.java | 87 +
...HelperTest_newCollectionDomainEvent_forAdd.java | 82 +
...perTest_newCollectionDomainEvent_forRemove.java | 82 +
...HelperTest_newPropertyDomainEvent_forClear.java | 79 +
...elperTest_newPropertyDomainEvent_forModify.java | 76 +
.../metamodel/facets/MethodFinderUtilsTest.java | 77 +
.../metamodel/facets/ObjectAdapterUtilsTest.java | 74 +
.../causeway/core/metamodel/facets/Utils.java | 64 +
.../actions/ActionMethodsFacetFactoryTest.java | 265 ++
.../actions/IteratorFilteringFacetFactoryTest.java | 88 +
.../action/ActionAnnotationFacetFactoryTest.java | 91 +
...nnotationFacetFactoryTest_ActionInvocation.java | 238 ++
.../ActionAnnotationFacetFactoryTest_Hidden.java | 73 +
...ctionAnnotationFacetFactoryTest_Invocation.java | 209 ++
...ctionAnnotationFacetFactoryTest_RestrictTo.java | 110 +
...ActionAnnotationFacetFactoryTest_Semantics.java | 115 +
.../ActionAnnotationFacetFactoryTest_TypeOf.java | 187 ++
...notationFacetFactoryTest_commandPublishing.java | 120 +
...tationFacetFactoryTest_executionPublishing.java | 324 ++
...icsFacetFallbackToNonIdempotentFactoryTest.java | 77 +
.../PrototypeFacetAnnotationFactoryTest.java | 78 +
...kmarkableAnnotationFacetFactoryTest_action.java | 68 +
...nLayoutXmlLayoutAnnotationFacetFactoryTest.java | 142 +
...MenuFacetFromDomainServiceFacetFactoryTest.java | 158 +
.../prototype/PrototypeFacetAbstractTest.java | 51 +
.../CollectionFieldMethodsFacetFactoryTest.java | 199 ++
.../collections/JavaCollectionFacetTest.java | 62 +
.../CollectionAnnotationFacetFactoryTest.java | 239 ++
...ollectionAnnotationFacetFactoryTest_typeOf.java | 124 +
...etForCollectionLayoutAnnotationFactoryTest.java | 64 +
.../cssclassfa/CssClassFaFacetAbstractTest.java | 45 +
.../ViewModelSemanticCheckingFacetFactoryTest.java | 84 +
...okmarkableAnnotationFacetFactoryTest_class.java | 66 +
.../callback/CallbackFacetFactoryTestAbstract.java | 81 +
.../callback/CreatedCallbackFacetFactoryTest.java | 36 +
.../callback/LoadedCallbackFacetFactoryTest.java | 36 +
.../PersistedCallbackFacetFactoryTest.java | 59 +
.../PersistingCallbackFacetFactoryTest.java | 59 +
.../callback/RemovingCallbackFacetFactoryTest.java | 57 +
.../callback/UpdatedCallbackFacetFactoryTest.java | 36 +
.../callback/UpdatingCallbackFacetFactoryTest.java | 36 +
...CssClassFaFacetOnTypeAnnotationFactoryTest.java | 68 +
.../ObjectDisabledMethodFacetFactoryTest.java | 37 +
...oicesFacetFromBoundedAnnotationFactoryTest.java | 68 +
.../DomainObjectAnnotationFacetFactoryTest.java | 656 ++++
.../NamedAnnotationFacetFactoryTest.java | 47 +
.../DomainObjectLayoutFactoryTest.java | 415 +++
.../DomainServiceFacetAnnotationFactoryTest.java | 66 +
.../DomainServiceLayoutFacetFactoryTest.java | 128 +
.../hidden/ObjectHiddenMethodFacetFactoryTest.java | 37 +
.../cssclass/CssClassFacetMethodFactoryTest.java | 38 +
.../ident/cssclass/CssClassFacetMethodTest.java | 101 +
.../CssClassFacetMethodWithProblemTest.java | 79 +
.../ident/icon/IconFacetMethodFactoryTest.java | 38 +
.../object/ident/icon/IconFacetMethodTest.java | 79 +
.../ident/layout/LayoutFacetFactoryTest.java | 38 +
.../object/ident/layout/LayoutFacetMethodTest.java | 78 +
.../title/TitleAnnotationFacetFactoryTest.java | 250 ++
.../ident/title/TitleFacetViaMethodTest.java | 80 +
.../title/TitleFacetViaMethodsFactoryTest.java | 92 +
.../title/TitleFacetViaTitleAnnotationTest.java | 119 +
.../object/layoutxml/GridFacetDefaultTest.java | 60 +
.../logicaltype/LogicalTypeInferenceTest.java | 66 +
.../object/mixin/MixinFacetAbstract_Test.java | 61 +
.../facets/object/mixin/MixinIntendedAs.java | 104 +
.../object/mixin/MixinIntendedAsActionTest.java | 175 +
.../navparent/NavigableParentFacetMethodTest.java | 80 +
.../NavigableParentAnnotationFacetFactoryTest.java | 107 +
.../annotation/NavigableParentTestSamples.java | 63 +
.../RecreatableObjectFacetFactoryTest.java | 74 +
.../ObjectSupportFacetFactoryTestAbstract.java | 80 +
.../memberorder/DeweyOrderComparatorTest.java | 200 ++
.../ordering/memberorder/DeweyOrderSetTest.java | 285 ++
.../ordering/memberorder/LayoutOrderTest.java | 137 +
...cetForParameterLayoutAnnotationFactoryTest.java | 61 +
...cetForParameterLayoutAnnotationFactoryTest.java | 65 +
.../facets/param/name/ParameterNameFacetTest.java | 145 +
.../ParameterAnnotationFacetFactoryTest.java | 394 +++
...lableAnnotationOnParameterFacetFactoryTest.java | 117 +
...RegExAnnotationOnParameterFacetFactoryTest.java | 87 +
.../PropertyMethodsFacetFactoryTest.java | 509 +++
...romptStyleFacetFromPropertyAnnotation_Test.java | 160 +
...sabledAnnotationOnPropertyFacetFactoryTest.java | 107 +
.../MandatoryAnnotationFacetFactoryTest.java | 76 +
.../PropertyAnnotationFacetFactoryTest.java | 919 ++++++
...tionWithSnapshotOnPropertyFacetFactoryTest.java | 75 +
...llableAnnotationOnPropertyFacetFactoryTest.java | 126 +
.../RegExAnnotationOnPropertyFacetFactoryTest.java | 98 +
...acetForPropertyLayoutAnnotationFactoryTest.java | 64 +
...acetForPropertyLayoutAnnotationFactoryTest.java | 67 +
.../DomainObjectWithMustSatisfyAnnotations.java | 47 +
.../DomainObjectWithoutMustSatisfyAnnotations.java | 47 +
.../SpecificationAlwaysSatisfied.java | 30 +
.../specification/SpecificationAndTests.java | 110 +
.../specification/SpecificationNeverSatisfied.java | 30 +
.../specification/SpecificationNotTests.java | 61 +
.../specification/SpecificationOrTests.java | 109 +
...cificationRequiresFirstLetterToBeUpperCase.java | 38 +
.../BigDecimalValueSemanticsProviderTest.java | 79 +
.../value/BigIntValueSemanticsProviderTest.java | 77 +
.../value/BlobValueSemanticsProviderTest.java | 72 +
.../value/BooleanValueSemanticsProviderTest.java | 97 +
.../value/ByteValueSemanticsProviderTest.java | 73 +
.../value/CharacterValueSemanticsProviderTest.java | 85 +
.../value/ClobValueSemanticsProviderTest.java | 72 +
.../value/DoubleValueSemanticsProviderTest.java | 86 +
.../value/FloatValueSemanticsProviderTest.java | 81 +
.../value/IntValueSemanticsProviderTest.java | 79 +
.../JavaSqlDateValueSemanticsProviderTest.java | 95 +
.../value/JavaTimeValueSemanticsProviderTest.java | 155 +
.../value/LongValueSemanticsProviderTest.java | 81 +
.../value/PasswordValueSemanticsProviderTest.java | 64 +
.../value/ShortValueSemanticsProviderTest.java | 86 +
.../value/StringValueSemanticsProviderTest.java | 85 +
.../ValueSemanticsProviderAbstractTestCase.java | 185 ++
.../ValueSemanticsAnnotationFacetFactoryTest.java | 410 +++
.../facets/value/temporal/TemporalAdjustTest.java | 122 +
...jectAssociationPredicatesTest_visibleWhere.java | 100 +
.../metamodel/id/TypeIdentifierTestFactory.java | 34 +
.../interactions/InteractionUtils_isA_Test.java | 110 +
.../core/metamodel/object/ManagedObjectTest.java | 127 +
.../objects/ObjectActionLayoutXmlDefaultTest.java | 77 +
.../objects/OneToManyAssociationDefaultTest.java | 94 +
.../objects/TypeExtractorMethodReturnTest.java | 99 +
.../TypeExtractorMethodsParametersTest.java | 58 +
.../core/metamodel/objects/dom/Interface1.java | 23 +
.../objects/dom/JavaActionTestObject.java | 54 +
.../dom/JavaObjectWithBasicProgramConventions.java | 268 ++
.../dom/JavaObjectWithOneToOneAssociations.java | 46 +
.../objects/dom/JavaReferencedObject.java | 34 +
.../metamodel/objects/dom/RuntimeTestPojo.java | 51 +
.../metamodel/objects/dom/TestDomainObject.java | 23 +
.../core/metamodel/objects/dom/TestObject.java | 22 +
.../objects/dom/TestObjectAsAggregated.java | 28 +
.../metamodel/objects/dom/TestObjectAsService.java | 36 +
.../objects/dom/TestObjectWithCollection.java | 107 +
.../ServiceInjectorDefaultTest_usingFields.java | 143 +
...erviceInjectorDefaultTest_validateServices.java | 80 +
...InjectorDefaultTest_validateServices_happy.java | 83 +
.../services/ServiceInjectorLegacyTest.java | 90 +
.../services/appfeat/ApplicationFeatureIdTest.java | 557 ++++
.../ApplicationFeatureRepositoryDefaultTest.java | 110 +
.../services/appfeat/ApplicationFeatureTest.java | 157 +
.../appfeat/ApplicationFeatureTypeTest.java | 174 +
...zerForRecoverableException_recognizes_Test.java | 50 +
.../causeway/core/metamodel/services/grid/Bar.java | 37 +
.../core/metamodel/services/grid/Bar.layout.xml | 0
.../causeway/core/metamodel/services/grid/Foo.java | 22 +
.../core/metamodel/services/grid/Foo.layout.xml | 0
.../core/metamodel/services/grid/Foo2.java | 22 +
.../services/grid/Foo2.layout.fallback.xml | 0
.../core/metamodel/services/grid/Foo3.java | 22 +
.../services/grid/Foo3.layout.fallback.xml | 0
.../core/metamodel/services/grid/Foo3.layout.xml | 0
.../core/metamodel/services/grid/Foo4.java | 22 +
.../GridLoaderServiceDefault_resourceNameTest.java | 74 +
.../metamodel/services/grid/GridLoadingTest.java | 106 +
.../services/grid/GridXmlRoundtripTest.java | 158 +
.../services/menubars/BSMenuBarsTest.java | 64 +
.../services/menubars/menubars.layout.xml | 0
.../metamodel/MetaModelServiceDefaultTest.java | 218 ++
.../tablecol/Customer#orders.columnOrder.txt | 0
.../services/tablecol/Order.columnOrder.txt | 0
.../TableColumnOrderServiceUsingTxtFile_Test.java | 94 +
.../services/title/TitleServiceDefaultTest.java | 85 +
.../metamodel/spec/TypeOfAnyCardinalityTest.java | 182 ++
.../metamodel/specloader/ReflectorTestPojo.java | 51 +
.../specloader/SpecificationCacheDefaultTest.java | 114 +
.../SpecificationLoaderTestAbstract.java | 105 +
.../SpecificationLoaderTest_nonScalar.java | 132 +
.../specloader/SpecificationLoaderTest_value.java | 45 +
.../specloader/_LogicalTypeTestFactory.java | 39 +
.../ClassSubstitutorTest_getClass.java | 77 +
.../IntrospectionState_comparable_Test.java | 87 +
.../specimpl/MixedInMemberNamingStrategyTest.java | 75 +
...ionParameterAbstractTest_getId_and_getName.java | 59 +
.../specimpl/ObjectAssociationAbstractTest.java | 186 ++
...ObjectAssociationAbstractTest_alwaysHidden.java | 226 ++
.../specimpl/OneToOneAssociationAbstractTest.java | 171 +
.../IdStringifierForBigDecimal_Test.java | 65 +
.../IdStringifierForBigInteger_Test.java | 62 +
.../valuesemantics/IdStringifierForByte_Test.java | 57 +
.../IdStringifierForByte_primitive_Test.java | 58 +
.../IdStringifierForCharacter_Test.java | 72 +
.../IdStringifierForInteger_Test.java | 58 +
.../IdStringifierForInteger_primitive_Test.java | 57 +
.../valuesemantics/IdStringifierForLong_Test.java | 57 +
.../IdStringifierForLong_primitive_Test.java | 58 +
.../IdStringifierForSerializable_Test.java | 76 +
.../valuesemantics/IdStringifierForShort_Test.java | 57 +
.../IdStringifierForShort_primitive_Test.java | 57 +
.../IdStringifierForString_Test.java | 62 +
.../valuesemantics/IdStringifierForUuid_Test.java | 56 +
.../TemporalValueSemanticsProviderTest.java | 113 +
.../metamodel/MetaModelContext_configTest.java | 68 -
.../isis/core/metamodel/MetaModelTestAbstract.java | 70 -
.../core/metamodel/commons/IoUtils_CopyTest.java | 138 -
.../commons/JavaClassUtilsTest_getBuiltIn.java | 40 -
.../metamodel/commons/ListUtilsTest_adjust.java | 67 -
.../metamodel/commons/ListUtilsTest_insert.java | 84 -
.../commons/ListUtilsTest_mutableCopy.java | 89 -
.../core/metamodel/commons/LocaleUtilsTest.java | 34 -
.../isis/core/metamodel/commons/NameUtilTest.java | 77 -
.../isis/core/metamodel/commons/PrintLocale.java | 58 -
.../commons/StringUtilsTest_enumTitle.java | 40 -
.../commons/StringUtils_NaturalNameTest.java | 58 -
.../commons/StringUtils_NaturalizeTest.java | 48 -
.../commons/StringUtils_NormalizedTest.java | 54 -
.../StringUtils_RemoveLeadingWhiteSpace.java | 52 -
.../commons/StringUtils_SplitOnCommas.java | 81 -
.../commons/StringUtils_StripLeadingSlashTest.java | 50 -
.../commons/StringUtils_StripNewLinesTest.java | 58 -
.../commons/StringUtils_camelLowerFirst.java | 37 -
.../commons/StringUtils_toLineSeparated.java | 51 -
.../commons/StringUtils_toLowerDashed.java | 35 -
.../metamodel/commons/TypesTest_filteredList.java | 70 -
.../metamodel/commons/matchers/IsisMatchers.java | 72 -
.../matchers/IsisMatchers_NonEmptyStringTest.java | 52 -
.../metamodel/consent/InteractionResultTest.java | 82 -
.../core/metamodel/facetapi/FacetAbstractTest.java | 73 -
.../facetapi/FeatureTypeTest_identifierFor.java | 87 -
.../AbstractFacetFactoryJupiterTestCase.java | 138 -
.../metamodel/facets/AbstractFacetFactoryTest.java | 164 -
.../facets/AbstractTestWithMetaModelContext.java | 67 -
.../Annotations_getAnnotations_on_Class_Test.java | 248 --
.../Annotations_getAnnotations_on_Field_Test.java | 203 --
.../Annotations_getAnnotations_on_Method_Test.java | 184 --
...notations_getAnnotations_on_Parameter_Test.java | 200 --
.../metamodel/facets/CollectionFacetUtilsTest.java | 118 -
...nEventHelperTest_newActionInteractionEvent.java | 87 -
...HelperTest_newCollectionDomainEvent_forAdd.java | 82 -
...perTest_newCollectionDomainEvent_forRemove.java | 82 -
...HelperTest_newPropertyDomainEvent_forClear.java | 79 -
...elperTest_newPropertyDomainEvent_forModify.java | 76 -
.../metamodel/facets/MethodFinderUtilsTest.java | 77 -
.../metamodel/facets/ObjectAdapterUtilsTest.java | 74 -
.../apache/isis/core/metamodel/facets/Utils.java | 63 -
.../actions/ActionMethodsFacetFactoryTest.java | 265 --
.../actions/IteratorFilteringFacetFactoryTest.java | 88 -
.../action/ActionAnnotationFacetFactoryTest.java | 91 -
...nnotationFacetFactoryTest_ActionInvocation.java | 238 --
.../ActionAnnotationFacetFactoryTest_Hidden.java | 73 -
...ctionAnnotationFacetFactoryTest_Invocation.java | 209 --
...ctionAnnotationFacetFactoryTest_RestrictTo.java | 110 -
...ActionAnnotationFacetFactoryTest_Semantics.java | 115 -
.../ActionAnnotationFacetFactoryTest_TypeOf.java | 187 --
...notationFacetFactoryTest_commandPublishing.java | 120 -
...tationFacetFactoryTest_executionPublishing.java | 324 --
...icsFacetFallbackToNonIdempotentFactoryTest.java | 77 -
.../PrototypeFacetAnnotationFactoryTest.java | 78 -
...kmarkableAnnotationFacetFactoryTest_action.java | 68 -
...nLayoutXmlLayoutAnnotationFacetFactoryTest.java | 142 -
...MenuFacetFromDomainServiceFacetFactoryTest.java | 158 -
.../prototype/PrototypeFacetAbstractTest.java | 51 -
.../CollectionFieldMethodsFacetFactoryTest.java | 199 --
.../collections/JavaCollectionFacetTest.java | 62 -
.../CollectionAnnotationFacetFactoryTest.java | 239 --
...ollectionAnnotationFacetFactoryTest_typeOf.java | 124 -
...etForCollectionLayoutAnnotationFactoryTest.java | 63 -
.../cssclassfa/CssClassFaFacetAbstractTest.java | 45 -
.../ViewModelSemanticCheckingFacetFactoryTest.java | 84 -
...okmarkableAnnotationFacetFactoryTest_class.java | 66 -
.../callback/CallbackFacetFactoryTestAbstract.java | 81 -
.../callback/CreatedCallbackFacetFactoryTest.java | 36 -
.../callback/LoadedCallbackFacetFactoryTest.java | 36 -
.../PersistedCallbackFacetFactoryTest.java | 59 -
.../PersistingCallbackFacetFactoryTest.java | 59 -
.../callback/RemovingCallbackFacetFactoryTest.java | 57 -
.../callback/UpdatedCallbackFacetFactoryTest.java | 36 -
.../callback/UpdatingCallbackFacetFactoryTest.java | 36 -
...CssClassFaFacetOnTypeAnnotationFactoryTest.java | 68 -
.../ObjectDisabledMethodFacetFactoryTest.java | 37 -
...oicesFacetFromBoundedAnnotationFactoryTest.java | 68 -
.../DomainObjectAnnotationFacetFactoryTest.java | 656 ----
.../NamedAnnotationFacetFactoryTest.java | 47 -
.../DomainObjectLayoutFactoryTest.java | 415 ---
.../DomainServiceFacetAnnotationFactoryTest.java | 66 -
.../DomainServiceLayoutFacetFactoryTest.java | 128 -
.../hidden/ObjectHiddenMethodFacetFactoryTest.java | 37 -
.../cssclass/CssClassFacetMethodFactoryTest.java | 38 -
.../ident/cssclass/CssClassFacetMethodTest.java | 101 -
.../CssClassFacetMethodWithProblemTest.java | 79 -
.../ident/icon/IconFacetMethodFactoryTest.java | 38 -
.../object/ident/icon/IconFacetMethodTest.java | 79 -
.../ident/layout/LayoutFacetFactoryTest.java | 38 -
.../object/ident/layout/LayoutFacetMethodTest.java | 78 -
.../title/TitleAnnotationFacetFactoryTest.java | 250 --
.../ident/title/TitleFacetViaMethodTest.java | 80 -
.../title/TitleFacetViaMethodsFactoryTest.java | 91 -
.../title/TitleFacetViaTitleAnnotationTest.java | 119 -
.../object/layoutxml/GridFacetDefaultTest.java | 60 -
.../logicaltype/LogicalTypeInferenceTest.java | 66 -
.../object/mixin/MixinFacetAbstract_Test.java | 61 -
.../facets/object/mixin/MixinIntendedAs.java | 104 -
.../object/mixin/MixinIntendedAsActionTest.java | 175 -
.../navparent/NavigableParentFacetMethodTest.java | 80 -
.../NavigableParentAnnotationFacetFactoryTest.java | 107 -
.../annotation/NavigableParentTestSamples.java | 63 -
.../RecreatableObjectFacetFactoryTest.java | 74 -
.../ObjectSupportFacetFactoryTestAbstract.java | 80 -
.../memberorder/DeweyOrderComparatorTest.java | 200 --
.../ordering/memberorder/DeweyOrderSetTest.java | 285 --
.../ordering/memberorder/LayoutOrderTest.java | 137 -
...cetForParameterLayoutAnnotationFactoryTest.java | 61 -
...cetForParameterLayoutAnnotationFactoryTest.java | 65 -
.../facets/param/name/ParameterNameFacetTest.java | 145 -
.../ParameterAnnotationFacetFactoryTest.java | 394 ---
...lableAnnotationOnParameterFacetFactoryTest.java | 117 -
...RegExAnnotationOnParameterFacetFactoryTest.java | 87 -
.../PropertyMethodsFacetFactoryTest.java | 509 ---
...romptStyleFacetFromPropertyAnnotation_Test.java | 160 -
...sabledAnnotationOnPropertyFacetFactoryTest.java | 107 -
.../MandatoryAnnotationFacetFactoryTest.java | 76 -
.../PropertyAnnotationFacetFactoryTest.java | 919 ------
...tionWithSnapshotOnPropertyFacetFactoryTest.java | 75 -
...llableAnnotationOnPropertyFacetFactoryTest.java | 126 -
.../RegExAnnotationOnPropertyFacetFactoryTest.java | 98 -
...acetForPropertyLayoutAnnotationFactoryTest.java | 64 -
...acetForPropertyLayoutAnnotationFactoryTest.java | 67 -
.../DomainObjectWithMustSatisfyAnnotations.java | 47 -
.../DomainObjectWithoutMustSatisfyAnnotations.java | 47 -
.../SpecificationAlwaysSatisfied.java | 30 -
.../specification/SpecificationAndTests.java | 110 -
.../specification/SpecificationNeverSatisfied.java | 30 -
.../specification/SpecificationNotTests.java | 61 -
.../specification/SpecificationOrTests.java | 109 -
...cificationRequiresFirstLetterToBeUpperCase.java | 38 -
.../BigDecimalValueSemanticsProviderTest.java | 79 -
.../value/BigIntValueSemanticsProviderTest.java | 77 -
.../value/BlobValueSemanticsProviderTest.java | 72 -
.../value/BooleanValueSemanticsProviderTest.java | 97 -
.../value/ByteValueSemanticsProviderTest.java | 73 -
.../value/CharacterValueSemanticsProviderTest.java | 85 -
.../value/ClobValueSemanticsProviderTest.java | 72 -
.../value/DoubleValueSemanticsProviderTest.java | 86 -
.../value/FloatValueSemanticsProviderTest.java | 81 -
.../value/IntValueSemanticsProviderTest.java | 79 -
.../JavaSqlDateValueSemanticsProviderTest.java | 95 -
.../value/JavaTimeValueSemanticsProviderTest.java | 155 -
.../value/LongValueSemanticsProviderTest.java | 81 -
.../value/PasswordValueSemanticsProviderTest.java | 64 -
.../value/ShortValueSemanticsProviderTest.java | 86 -
.../value/StringValueSemanticsProviderTest.java | 85 -
.../ValueSemanticsProviderAbstractTestCase.java | 185 --
.../ValueSemanticsAnnotationFacetFactoryTest.java | 409 ---
.../facets/value/temporal/TemporalAdjustTest.java | 122 -
...jectAssociationPredicatesTest_visibleWhere.java | 100 -
.../metamodel/id/TypeIdentifierTestFactory.java | 34 -
.../interactions/InteractionUtils_isA_Test.java | 110 -
.../core/metamodel/object/ManagedObjectTest.java | 127 -
.../objects/ObjectActionLayoutXmlDefaultTest.java | 77 -
.../objects/OneToManyAssociationDefaultTest.java | 94 -
.../objects/TypeExtractorMethodReturnTest.java | 99 -
.../TypeExtractorMethodsParametersTest.java | 58 -
.../core/metamodel/objects/dom/Interface1.java | 23 -
.../objects/dom/JavaActionTestObject.java | 54 -
.../dom/JavaObjectWithBasicProgramConventions.java | 268 --
.../dom/JavaObjectWithOneToOneAssociations.java | 46 -
.../objects/dom/JavaReferencedObject.java | 34 -
.../metamodel/objects/dom/RuntimeTestPojo.java | 51 -
.../metamodel/objects/dom/TestDomainObject.java | 23 -
.../core/metamodel/objects/dom/TestObject.java | 22 -
.../objects/dom/TestObjectAsAggregated.java | 28 -
.../metamodel/objects/dom/TestObjectAsService.java | 36 -
.../objects/dom/TestObjectWithCollection.java | 107 -
.../ServiceInjectorDefaultTest_usingFields.java | 143 -
...erviceInjectorDefaultTest_validateServices.java | 80 -
...InjectorDefaultTest_validateServices_happy.java | 83 -
.../services/ServiceInjectorLegacyTest.java | 90 -
.../services/appfeat/ApplicationFeatureIdTest.java | 557 ----
.../ApplicationFeatureRepositoryDefaultTest.java | 110 -
.../services/appfeat/ApplicationFeatureTest.java | 157 -
.../appfeat/ApplicationFeatureTypeTest.java | 174 -
...zerForRecoverableException_recognizes_Test.java | 50 -
.../isis/core/metamodel/services/grid/Bar.java | 37 -
.../isis/core/metamodel/services/grid/Foo.java | 22 -
.../isis/core/metamodel/services/grid/Foo2.java | 22 -
.../isis/core/metamodel/services/grid/Foo3.java | 22 -
.../isis/core/metamodel/services/grid/Foo4.java | 22 -
.../GridLoaderServiceDefault_resourceNameTest.java | 74 -
.../metamodel/services/grid/GridLoadingTest.java | 106 -
.../services/grid/GridXmlRoundtripTest.java | 158 -
.../services/menubars/BSMenuBarsTest.java | 64 -
.../metamodel/MetaModelServiceDefaultTest.java | 218 --
.../TableColumnOrderServiceUsingTxtFile_Test.java | 94 -
.../services/title/TitleServiceDefaultTest.java | 85 -
.../metamodel/spec/TypeOfAnyCardinalityTest.java | 182 --
.../metamodel/specloader/ReflectorTestPojo.java | 51 -
.../specloader/SpecificationCacheDefaultTest.java | 114 -
.../SpecificationLoaderTestAbstract.java | 105 -
.../SpecificationLoaderTest_nonScalar.java | 132 -
.../specloader/SpecificationLoaderTest_value.java | 45 -
.../specloader/_LogicalTypeTestFactory.java | 39 -
.../ClassSubstitutorTest_getClass.java | 77 -
.../IntrospectionState_comparable_Test.java | 87 -
.../specimpl/MixedInMemberNamingStrategyTest.java | 76 -
...ionParameterAbstractTest_getId_and_getName.java | 59 -
.../specimpl/ObjectAssociationAbstractTest.java | 186 --
...ObjectAssociationAbstractTest_alwaysHidden.java | 226 --
.../specimpl/OneToOneAssociationAbstractTest.java | 171 -
.../IdStringifierForBigDecimal_Test.java | 65 -
.../IdStringifierForBigInteger_Test.java | 62 -
.../valuesemantics/IdStringifierForByte_Test.java | 57 -
.../IdStringifierForByte_primitive_Test.java | 58 -
.../IdStringifierForCharacter_Test.java | 72 -
.../IdStringifierForInteger_Test.java | 58 -
.../IdStringifierForInteger_primitive_Test.java | 57 -
.../valuesemantics/IdStringifierForLong_Test.java | 57 -
.../IdStringifierForLong_primitive_Test.java | 58 -
.../IdStringifierForSerializable_Test.java | 76 -
.../valuesemantics/IdStringifierForShort_Test.java | 57 -
.../IdStringifierForShort_primitive_Test.java | 57 -
.../IdStringifierForString_Test.java | 62 -
.../valuesemantics/IdStringifierForUuid_Test.java | 56 -
.../TemporalValueSemanticsProviderTest.java | 113 -
.../dom/CustomerAsProxiedByDataNucleus.java | 2 +-
core/pom.xml | 238 +-
core/privileged/pom.xml | 12 +-
core/runtime/pom.xml | 32 +-
core/runtime/src/main/java/module-info.java | 22 +-
.../core/runtime/IsisModuleCoreRuntime.java | 51 +
.../core/runtime/events/MetamodelEventService.java | 66 +
.../runtime/events/TransactionEventEmitter.java | 67 +
.../apache/causeway/core/runtime/events/_Xray.java | 135 +
.../isis/core/runtime/IsisModuleCoreRuntime.java | 51 -
.../core/runtime/events/MetamodelEventService.java | 66 -
.../runtime/events/TransactionEventEmitter.java | 67 -
.../org/apache/isis/core/runtime/events/_Xray.java | 134 -
core/runtimeservices/pom.xml | 24 +-
.../runtimeservices/src/main/java/module-info.java | 100 +-
.../IsisModuleCoreRuntimeServices.java | 147 +
.../bookmarks/BookmarkServiceDefault.java | 129 +
.../command/CommandDtoFactoryDefault.java | 180 ++
.../command/CommandExecutorServiceDefault.java | 363 +++
.../command/SchemaValueMarshallerDefault.java | 162 +
.../runtimeservices/email/EmailServiceDefault.java | 249 ++
.../eventbus/EventBusServiceSpring.java | 45 +
.../executor/MemberExecutorServiceDefault.java | 316 ++
.../core/runtimeservices/executor/_Xray.java | 135 +
.../factory/FactoryServiceDefault.java | 173 +
.../homepage/HomePageResolverServiceDefault.java | 77 +
.../core/runtimeservices/i18n/po/Block.java | 153 +
.../runtimeservices/i18n/po/ContextAndMsgId.java | 116 +
.../core/runtimeservices/i18n/po/PoAbstract.java | 46 +
.../core/runtimeservices/i18n/po/PoDisabled.java | 40 +
.../core/runtimeservices/i18n/po/PoReader.java | 261 ++
.../core/runtimeservices/i18n/po/PoWriter.java | 171 +
.../i18n/po/TranslationServicePo.java | 188 ++
.../i18n/po/TranslationServicePoMenu.java | 157 +
.../icons/ObjectIconServiceDefault.java | 208 ++
.../interaction/InteractionDtoFactoryDefault.java | 150 +
.../runtimeservices/jaxb/JaxbServiceDefault.java | 130 +
.../locale/LanguageProviderDefault.java | 59 +
.../locale/LocaleChoiceProviderDefault.java | 78 +
.../menubars/MenuBarsLoaderServiceDefault.java | 157 +
.../menubars/bootstrap/MenuBarsServiceBS.java | 506 +++
.../menubars/bootstrap/ServiceAndAction.java | 42 +
.../message/MessageServiceDefault.java | 137 +
.../PlaceholderRenderServiceDefault.java | 69 +
.../publish/CommandPublisherDefault.java | 109 +
.../publish/EntityChangesPublisherDefault.java | 105 +
.../EntityPropertyChangePublisherDefault.java | 127 +
.../publish/ExecutionPublisherDefault.java | 133 +
.../publish/LifecycleCallbackNotifier.java | 147 +
.../publish/ObjectLifecyclePublisherDefault.java | 116 +
.../core/runtimeservices/publish/_Xray.java | 262 ++
.../ExceptionRecognizerServiceDefault.java | 104 +
.../ExceptionRecognizerForDataAccessException.java | 123 +
.../repository/RepositoryServiceDefault.java | 269 ++
.../routing/RoutingServiceDefault.java | 57 +
.../scratchpad/ScratchpadDefault.java | 72 +
.../serializing/SerializingAdapterDefault.java | 134 +
.../session/InteractionIdGenerator.java | 34 +
.../session/InteractionServiceDefault.java | 453 +++
.../core/runtimeservices/session/_Xray.java | 129 +
.../sitemap/SitemapServiceDefault.java | 185 ++
.../runtimeservices/spring/BeanDescriptor.java | 110 +
.../core/runtimeservices/spring/ContextBeans.java | 70 +
.../runtimeservices/spring/SpringBeansService.java | 73 +
.../transaction/TransactionServiceSpring.java | 326 ++
.../UrlEncodingServiceWithCompression.java | 52 +
.../user/ImpersonateMenuAdvisorDefault.java | 69 +
.../user/ImpersonatedUserHolderDefault.java | 69 +
.../UserCurrentSessionTimeZoneHolderDefault.java | 65 +
.../userreg/EmailNotificationServiceDefault.java | 162 +
.../userreg/EmailVerificationTemplate.html | 0
.../userreg/PasswordResetTemplate.html | 0
.../wrapper/WrapperFactoryDefault.java | 659 ++++
.../dispatchers/InteractionEventDispatcher.java | 27 +
.../InteractionEventDispatcherTypeSafe.java | 35 +
.../handlers/CollectionInvocationHandler.java | 55 +
.../handlers/DelegatingInvocationHandler.java | 31 +
.../DelegatingInvocationHandlerDefault.java | 115 +
.../handlers/DomainObjectInvocationHandler.java | 649 ++++
.../wrapper/handlers/MapInvocationHandler.java | 52 +
.../NonScalarInvocationHandlerAbstract.java | 118 +
.../wrapper/handlers/ProxyContextHandler.java | 105 +
.../wrapper/proxy/ProxyCreator.java | 56 +
.../runtimeservices/xml/XmlServiceDefault.java | 125 +
.../xmlsnapshot/XmlSnapshotBuilder.java | 97 +
.../xmlsnapshot/XmlSnapshotServiceDefault.java | 165 +
.../IsisModuleCoreRuntimeServices.java | 148 -
.../bookmarks/BookmarkServiceDefault.java | 129 -
.../command/CommandDtoFactoryDefault.java | 180 --
.../command/CommandExecutorServiceDefault.java | 363 ---
.../command/SchemaValueMarshallerDefault.java | 162 -
.../runtimeservices/email/EmailServiceDefault.java | 249 --
.../eventbus/EventBusServiceSpring.java | 46 -
.../executor/MemberExecutorServiceDefault.java | 316 --
.../isis/core/runtimeservices/executor/_Xray.java | 135 -
.../factory/FactoryServiceDefault.java | 173 -
.../homepage/HomePageResolverServiceDefault.java | 77 -
.../isis/core/runtimeservices/i18n/po/Block.java | 153 -
.../runtimeservices/i18n/po/ContextAndMsgId.java | 116 -
.../core/runtimeservices/i18n/po/PoAbstract.java | 46 -
.../core/runtimeservices/i18n/po/PoDisabled.java | 40 -
.../core/runtimeservices/i18n/po/PoReader.java | 260 --
.../core/runtimeservices/i18n/po/PoWriter.java | 170 -
.../i18n/po/TranslationServicePo.java | 188 --
.../i18n/po/TranslationServicePoMenu.java | 156 -
.../icons/ObjectIconServiceDefault.java | 208 --
.../interaction/InteractionDtoFactoryDefault.java | 150 -
.../runtimeservices/jaxb/JaxbServiceDefault.java | 130 -
.../locale/LanguageProviderDefault.java | 59 -
.../locale/LocaleChoiceProviderDefault.java | 78 -
.../menubars/MenuBarsLoaderServiceDefault.java | 157 -
.../menubars/bootstrap/MenuBarsServiceBS.java | 506 ---
.../menubars/bootstrap/ServiceAndAction.java | 42 -
.../message/MessageServiceDefault.java | 137 -
.../PlaceholderRenderServiceDefault.java | 69 -
.../publish/CommandPublisherDefault.java | 109 -
.../publish/EntityChangesPublisherDefault.java | 105 -
.../EntityPropertyChangePublisherDefault.java | 128 -
.../publish/ExecutionPublisherDefault.java | 133 -
.../publish/LifecycleCallbackNotifier.java | 147 -
.../publish/ObjectLifecyclePublisherDefault.java | 116 -
.../isis/core/runtimeservices/publish/_Xray.java | 262 --
.../ExceptionRecognizerServiceDefault.java | 104 -
.../ExceptionRecognizerForDataAccessException.java | 123 -
.../repository/RepositoryServiceDefault.java | 269 --
.../routing/RoutingServiceDefault.java | 57 -
.../scratchpad/ScratchpadDefault.java | 72 -
.../serializing/SerializingAdapterDefault.java | 134 -
.../session/InteractionIdGenerator.java | 34 -
.../session/InteractionServiceDefault.java | 452 ---
.../isis/core/runtimeservices/session/_Xray.java | 128 -
.../sitemap/SitemapServiceDefault.java | 185 --
.../runtimeservices/spring/BeanDescriptor.java | 111 -
.../core/runtimeservices/spring/ContextBeans.java | 70 -
.../runtimeservices/spring/SpringBeansService.java | 73 -
.../transaction/TransactionServiceSpring.java | 326 --
.../UrlEncodingServiceWithCompression.java | 52 -
.../user/ImpersonateMenuAdvisorDefault.java | 69 -
.../user/ImpersonatedUserHolderDefault.java | 69 -
.../UserCurrentSessionTimeZoneHolderDefault.java | 65 -
.../userreg/EmailNotificationServiceDefault.java | 162 -
.../wrapper/WrapperFactoryDefault.java | 659 ----
.../dispatchers/InteractionEventDispatcher.java | 27 -
.../InteractionEventDispatcherTypeSafe.java | 34 -
.../handlers/CollectionInvocationHandler.java | 54 -
.../handlers/DelegatingInvocationHandler.java | 31 -
.../DelegatingInvocationHandlerDefault.java | 114 -
.../handlers/DomainObjectInvocationHandler.java | 648 ----
.../wrapper/handlers/MapInvocationHandler.java | 51 -
.../NonScalarInvocationHandlerAbstract.java | 117 -
.../wrapper/handlers/ProxyContextHandler.java | 105 -
.../wrapper/proxy/ProxyCreator.java | 56 -
.../runtimeservices/xml/XmlServiceDefault.java | 125 -
.../xmlsnapshot/XmlSnapshotBuilder.java | 97 -
.../xmlsnapshot/XmlSnapshotServiceDefault.java | 165 -
.../runtimeservices/icons/ObjectIconFallback.png | Bin
.../RuntimeServicesTestAbstract.java | 117 +
.../email/EmailServiceDefaultTest_actually.java | 61 +
.../email/EmailServiceDefaultTest_notEmpty.java | 46 +
.../core/runtimeservices/i18n/po/PoReaderTest.java | 240 ++
.../i18n/po/PoWriterTest_escape.java | 45 +
.../runtimeservices/menubars/bootstrap/Bar.java | 38 +
.../menubars/bootstrap/MenuBarsServiceBSTest.java | 167 +
...eptionRecognizerForDataAccessExceptionTest.java | 82 +
.../runtimeservices/urlencoding/MementosTest.java | 135 +
.../urlencoding/UrlEncodingServiceTest.java | 65 +
.../wrapper/WrapperFactoryDefaultTest.java | 138 +
.../wrapper/dom/claims/Approver.java | 23 +
.../wrapper/dom/claims/Claimant.java | 25 +
.../wrapper/dom/employees/Employee.java | 113 +
.../wrapper/dom/employees/EmployeeRepository.java | 28 +
.../dom/employees/EmployeeRepositoryImpl.java | 34 +
.../proxy/ProxyCreatorTestUsingCodegenPlugin.java | 103 +
.../xmlsnapshot/XmlSnapshotServiceAbstractTest.xml | 0
.../XmlSnapshotServiceDefault_Test.java | 106 +
.../RuntimeServicesTestAbstract.java | 117 -
.../email/EmailServiceDefaultTest_actually.java | 61 -
.../email/EmailServiceDefaultTest_notEmpty.java | 45 -
.../core/runtimeservices/i18n/po/PoReaderTest.java | 238 --
.../i18n/po/PoWriterTest_escape.java | 44 -
.../runtimeservices/menubars/bootstrap/Bar.java | 38 -
.../menubars/bootstrap/MenuBarsServiceBSTest.java | 166 -
...eptionRecognizerForDataAccessExceptionTest.java | 81 -
.../runtimeservices/urlencoding/MementosTest.java | 134 -
.../urlencoding/UrlEncodingServiceTest.java | 64 -
.../wrapper/WrapperFactoryDefaultTest.java | 137 -
.../wrapper/dom/claims/Approver.java | 23 -
.../wrapper/dom/claims/Claimant.java | 25 -
.../wrapper/dom/employees/Employee.java | 113 -
.../wrapper/dom/employees/EmployeeRepository.java | 28 -
.../dom/employees/EmployeeRepositoryImpl.java | 34 -
.../proxy/ProxyCreatorTestUsingCodegenPlugin.java | 103 -
.../XmlSnapshotServiceDefault_Test.java | 106 -
core/security/pom.xml | 24 +-
core/security/src/main/java/module-info.java | 34 +-
.../core/security/IsisModuleCoreSecurity.java | 42 +
.../_testing/InteractionService_forTesting.java | 143 +
.../authentication/AuthenticationRequest.java | 60 +
.../AuthenticationRequestAbstract.java | 75 +
.../AuthenticationRequestPassword.java | 34 +
.../security/authentication/Authenticator.java | 60 +
.../authentication/InteractionContextFactory.java | 62 +
.../AuthenticationRequestLogonFixture.java | 49 +
.../login/LoginSuccessHandlerUNUSED.java | 39 +
.../authentication/logout/LogoutHandler.java | 42 +
.../security/authentication/logout/LogoutMenu.java | 115 +
.../manager/AuthenticationManager.java | 214 ++
.../manager/RegistrationDetails.java | 23 +
.../authentication/manager/UserMementoRefiner.java | 71 +
.../AuthenticationRequestSingleUser.java | 36 +
.../standard/AuthenticatorAbstract.java | 60 +
.../standard/RandomCodeGenerator.java | 25 +
.../standard/RandomCodeGeneratorDefault.java | 52 +
.../authentication/standard/Registrar.java | 34 +
.../standard/RegistrationDetailsPassword.java | 31 +
.../core/security/authorization/Authorizor.java | 52 +
.../manager/AuthorizationManager.java | 133 +
.../authorization/manager/AuthorizorChooser.java | 39 +
.../standard/AuthorizationConstants.java | 31 +
.../causeway/core/security/util/XrayUtil.java | 96 +
.../isis/core/security/IsisModuleCoreSecurity.java | 43 -
.../_testing/InteractionService_forTesting.java | 142 -
.../authentication/AuthenticationRequest.java | 60 -
.../AuthenticationRequestAbstract.java | 76 -
.../AuthenticationRequestPassword.java | 34 -
.../security/authentication/Authenticator.java | 60 -
.../authentication/InteractionContextFactory.java | 62 -
.../AuthenticationRequestLogonFixture.java | 48 -
.../login/LoginSuccessHandlerUNUSED.java | 39 -
.../authentication/logout/LogoutHandler.java | 42 -
.../security/authentication/logout/LogoutMenu.java | 114 -
.../manager/AuthenticationManager.java | 214 --
.../manager/RegistrationDetails.java | 23 -
.../authentication/manager/UserMementoRefiner.java | 71 -
.../AuthenticationRequestSingleUser.java | 36 -
.../standard/AuthenticatorAbstract.java | 60 -
.../standard/RandomCodeGenerator.java | 25 -
.../standard/RandomCodeGeneratorDefault.java | 52 -
.../authentication/standard/Registrar.java | 34 -
.../standard/RegistrationDetailsPassword.java | 31 -
.../core/security/authorization/Authorizor.java | 52 -
.../manager/AuthorizationManager.java | 133 -
.../authorization/manager/AuthorizorChooser.java | 39 -
.../standard/AuthorizationConstants.java | 31 -
.../apache/isis/core/security/util/XrayUtil.java | 95 -
.../security/AuthenticatorsForTesting.java | 75 +
.../security/EncodabilityContractTest.java | 91 +
.../AuthenticationManager_authenticators_Test.java | 74 +
.../SimpleSessionEncodabilityNoRolesTest.java | 34 +
.../SimpleSessionEncodabilityTestAbstract.java | 46 +
.../SimpleSessionEncodabilityWithRolesTest.java | 35 +
...rdAuthenticationManager_AuthenticationTest.java | 67 +
.../isis/security/AuthenticatorsForTesting.java | 75 -
.../isis/security/EncodabilityContractTest.java | 92 -
.../AuthenticationManager_authenticators_Test.java | 75 -
.../SimpleSessionEncodabilityNoRolesTest.java | 34 -
.../SimpleSessionEncodabilityTestAbstract.java | 46 -
.../SimpleSessionEncodabilityWithRolesTest.java | 35 -
...rdAuthenticationManager_AuthenticationTest.java | 68 -
core/transaction/pom.xml | 20 +-
core/transaction/src/main/java/module-info.java | 18 +-
.../transaction/IsisModuleCoreTransaction.java | 33 +
.../changetracking/EntityChangeTracker.java | 98 +
.../changetracking/EntityChangesPublisher.java | 38 +
.../EntityPropertyChangePublisher.java | 40 +
.../changetracking/HasEnlistedEntityChanges.java | 29 +
.../changetracking/events/PostStoreEvent.java | 32 +
.../changetracking/events/PreStoreEvent.java | 32 +
.../changetracking/events/TimestampService.java | 61 +
.../events/TransactionAfterCompletionEvent.java | 55 +
.../events/TransactionBeforeCompletionEvent.java | 32 +
.../transaction/IsisModuleCoreTransaction.java | 34 -
.../changetracking/EntityChangeTracker.java | 98 -
.../changetracking/EntityChangesPublisher.java | 38 -
.../EntityPropertyChangePublisher.java | 40 -
.../changetracking/HasEnlistedEntityChanges.java | 29 -
.../changetracking/events/PostStoreEvent.java | 32 -
.../changetracking/events/PreStoreEvent.java | 32 -
.../changetracking/events/TimestampService.java | 61 -
.../events/TransactionAfterCompletionEvent.java | 55 -
.../events/TransactionBeforeCompletionEvent.java | 32 -
.../PreAndPostValues_shouldAudit_Test.java | 68 +
.../PreAndPostValues_shouldAudit_Test.java | 68 -
core/webapp/pom.xml | 28 +-
core/webapp/src/main/java/module-info.java | 34 +-
.../causeway/core/webapp/IsisModuleCoreWebapp.java | 80 +
.../confmenu/ConfigurationViewServiceDefault.java | 231 ++
.../HealthIndicatorUsingHealthCheckService.java | 74 +
.../KeyValueStoreUsingHttpSession.java | 90 +
.../causeway/core/webapp/modules/WebModule.java | 103 +
.../core/webapp/modules/WebModuleAbstract.java | 90 +
.../core/webapp/modules/WebModuleContext.java | 121 +
.../modules/logonlog/IsisLogOnExceptionFilter.java | 97 +
.../logonlog/WebModuleLogOnExceptionLogger.java | 78 +
.../TemplateResourceCachingFilter.java | 219 ++
.../templresources/TemplateResourceServlet.java | 168 +
.../templresources/WebModuleTemplateResources.java | 85 +
.../core/webapp/modules/templresources/_Util.java | 48 +
.../core/webapp/routing/ForwardingServlet.java | 60 +
.../core/webapp/routing/RedirectFilter.java | 60 +
.../core/webapp/routing/RedirectServlet.java | 55 +
.../core/webapp/routing/RedirectToDocsFilter.java | 110 +
.../webappctx/IsisWebAppContextInitializer.java | 134 +
.../isis/core/webapp/IsisModuleCoreWebapp.java | 80 -
.../confmenu/ConfigurationViewServiceDefault.java | 231 --
.../HealthIndicatorUsingHealthCheckService.java | 74 -
.../KeyValueStoreUsingHttpSession.java | 90 -
.../apache/isis/core/webapp/modules/WebModule.java | 103 -
.../core/webapp/modules/WebModuleAbstract.java | 89 -
.../isis/core/webapp/modules/WebModuleContext.java | 120 -
.../modules/logonlog/IsisLogOnExceptionFilter.java | 97 -
.../logonlog/WebModuleLogOnExceptionLogger.java | 78 -
.../TemplateResourceCachingFilter.java | 219 --
.../templresources/TemplateResourceServlet.java | 168 -
.../templresources/WebModuleTemplateResources.java | 85 -
.../core/webapp/modules/templresources/_Util.java | 48 -
.../core/webapp/routing/ForwardingServlet.java | 60 -
.../isis/core/webapp/routing/RedirectFilter.java | 60 -
.../isis/core/webapp/routing/RedirectServlet.java | 55 -
.../core/webapp/routing/RedirectToDocsFilter.java | 110 -
.../webappctx/IsisWebAppContextInitializer.java | 134 -
4644 files changed, 225252 insertions(+), 224937 deletions(-)
diff --git a/antora/pom.xml b/antora/pom.xml
index a67ea55a12..0348663b57 100644
--- a/antora/pom.xml
+++ b/antora/pom.xml
@@ -15,8 +15,8 @@
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.apache.isis</groupId>
- <artifactId>isis-bom</artifactId>
+ <groupId>org.apache.causeway</groupId>
+ <artifactId>causeway-bom</artifactId>
<version>2.0.0-SNAPSHOT</version>
<relativePath>../bom/pom.xml</relativePath>
</parent>
@@ -25,7 +25,7 @@
<packaging>pom</packaging>
- <name>Apache Isis - Antora</name>
+ <name>Apache Causeway - Antora</name>
<build>
<plugins>
diff --git a/api/applib/pom.xml b/api/applib/pom.xml
index d1edc7c419..e7356674cd 100644
--- a/api/applib/pom.xml
+++ b/api/applib/pom.xml
@@ -21,23 +21,23 @@
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-core</artifactId>
+ <groupId>org.apache.causeway.core</groupId>
+ <artifactId>causeway-core</artifactId>
<version>2.0.0-SNAPSHOT</version>
<relativePath>../../core/pom.xml</relativePath>
</parent>
- <artifactId>isis-applib</artifactId>
+ <artifactId>causeway-applib</artifactId>
- <name>Apache Isis Api - AppLib</name>
+ <name>Apache Causeway Api - AppLib</name>
<description>
Isis application library, defining annotations and utilities for the
default (Java) programming model.
</description>
<properties>
- <jar-plugin.automaticModuleName>org.apache.isis.applib</jar-plugin.automaticModuleName>
- <git-plugin.propertiesDir>org/apache/isis/applib</git-plugin.propertiesDir>
+ <jar-plugin.automaticModuleName>org.apache.causeway.applib</jar-plugin.automaticModuleName>
+ <git-plugin.propertiesDir>org/apache/causeway/applib</git-plugin.propertiesDir>
</properties>
<build>
@@ -72,20 +72,20 @@
<!-- JDK11+ SUPPORT AND JEE API -->
<dependency>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-jdk-supplemental</artifactId>
+ <groupId>org.apache.causeway.core</groupId>
+ <artifactId>causeway-jdk-supplemental</artifactId>
<type>pom</type>
</dependency>
<dependency>
- <groupId>org.apache.isis.commons</groupId>
- <artifactId>isis-commons</artifactId>
+ <groupId>org.apache.causeway.commons</groupId>
+ <artifactId>causeway-commons</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-schema</artifactId>
+ <groupId>org.apache.causeway.core</groupId>
+ <artifactId>causeway-schema</artifactId>
</dependency>
<!-- provides @Digits -->
@@ -103,8 +103,8 @@
<!-- TEST -->
<dependency>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-core-internaltestsupport</artifactId>
+ <groupId>org.apache.causeway.core</groupId>
+ <artifactId>causeway-core-internaltestsupport</artifactId>
<scope>test</scope>
</dependency>
diff --git a/api/applib/src/main/java/module-info.java b/api/applib/src/main/java/module-info.java
index 5bc777efd5..7385177345 100644
--- a/api/applib/src/main/java/module-info.java
+++ b/api/applib/src/main/java/module-info.java
@@ -16,110 +16,110 @@
* specific language governing permissions and limitations
* under the License.
*/
-module org.apache.isis.applib {
- exports org.apache.isis.applib;
- exports org.apache.isis.applib.annotation;
- exports org.apache.isis.applib.client;
- exports org.apache.isis.applib.clock;
- exports org.apache.isis.applib.domain;
- exports org.apache.isis.applib.events.domain;
- exports org.apache.isis.applib.events.lifecycle;
- exports org.apache.isis.applib.events.metamodel;
- exports org.apache.isis.applib.events.ui;
- exports org.apache.isis.applib.events;
- exports org.apache.isis.applib.exceptions.recoverable;
- exports org.apache.isis.applib.exceptions.unrecoverable;
- exports org.apache.isis.applib.exceptions;
- exports org.apache.isis.applib.graph.tree;
- exports org.apache.isis.applib.graph;
- exports org.apache.isis.applib.id;
- exports org.apache.isis.applib.jaxb;
- exports org.apache.isis.applib.layout.component;
- exports org.apache.isis.applib.layout.grid.bootstrap;
- exports org.apache.isis.applib.layout.grid;
- exports org.apache.isis.applib.layout.links;
- exports org.apache.isis.applib.layout.menubars.bootstrap;
- exports org.apache.isis.applib.layout.menubars;
- exports org.apache.isis.applib.layout;
- exports org.apache.isis.applib.locale;
- exports org.apache.isis.applib.mixins.dto;
- exports org.apache.isis.applib.mixins.layout;
- exports org.apache.isis.applib.mixins.metamodel;
- exports org.apache.isis.applib.mixins.rest;
- exports org.apache.isis.applib.mixins.security;
- exports org.apache.isis.applib.mixins.system;
- exports org.apache.isis.applib.mixins.updates;
- exports org.apache.isis.applib.query;
- exports org.apache.isis.applib.services.acceptheader;
- exports org.apache.isis.applib.services.appfeat;
- exports org.apache.isis.applib.services.appfeatui;
- exports org.apache.isis.applib.services.bookmark.idstringifiers;
- exports org.apache.isis.applib.services.bookmark;
- exports org.apache.isis.applib.services.bookmarkui;
- exports org.apache.isis.applib.services.clock;
- exports org.apache.isis.applib.services.command;
- exports org.apache.isis.applib.services.commanddto.conmap;
- exports org.apache.isis.applib.services.commanddto.processor.spi;
- exports org.apache.isis.applib.services.commanddto.processor;
- exports org.apache.isis.applib.services.commanddto;
- exports org.apache.isis.applib.services.confview;
- exports org.apache.isis.applib.services.conmap;
- exports org.apache.isis.applib.services.email;
- exports org.apache.isis.applib.services.error;
- exports org.apache.isis.applib.services.eventbus;
- exports org.apache.isis.applib.services.exceprecog;
- exports org.apache.isis.applib.services.factory;
- exports org.apache.isis.applib.services.grid;
- exports org.apache.isis.applib.services.health;
- exports org.apache.isis.applib.services.hint;
- exports org.apache.isis.applib.services.homepage;
- exports org.apache.isis.applib.services.i18n;
- exports org.apache.isis.applib.services.iactn;
- exports org.apache.isis.applib.services.iactnlayer;
- exports org.apache.isis.applib.services.inject;
- exports org.apache.isis.applib.services.jaxb;
- exports org.apache.isis.applib.services.keyvaluestore;
- exports org.apache.isis.applib.services.layout;
- exports org.apache.isis.applib.services.linking;
- exports org.apache.isis.applib.services.locale;
- exports org.apache.isis.applib.services.menu;
- exports org.apache.isis.applib.services.message;
- exports org.apache.isis.applib.services.metamodel;
- exports org.apache.isis.applib.services.metrics;
- exports org.apache.isis.applib.services.placeholder;
- exports org.apache.isis.applib.services.publishing.log;
- exports org.apache.isis.applib.services.publishing.spi;
- exports org.apache.isis.applib.services.queryresultscache;
- exports org.apache.isis.applib.services.registry;
- exports org.apache.isis.applib.services.repository;
- exports org.apache.isis.applib.services.routing;
- exports org.apache.isis.applib.services.scratchpad;
- exports org.apache.isis.applib.services.session;
- exports org.apache.isis.applib.services.sitemap;
- exports org.apache.isis.applib.services.sudo;
- exports org.apache.isis.applib.services.swagger;
- exports org.apache.isis.applib.services.tablecol;
- exports org.apache.isis.applib.services.title;
- exports org.apache.isis.applib.services.urlencoding;
- exports org.apache.isis.applib.services.user;
- exports org.apache.isis.applib.services.userreg.events;
- exports org.apache.isis.applib.services.userreg;
- exports org.apache.isis.applib.services.userui;
- exports org.apache.isis.applib.services.wrapper.callable;
- exports org.apache.isis.applib.services.wrapper.control;
- exports org.apache.isis.applib.services.wrapper.events;
- exports org.apache.isis.applib.services.wrapper.listeners;
- exports org.apache.isis.applib.services.wrapper;
- exports org.apache.isis.applib.services.xactn;
- exports org.apache.isis.applib.services.xml;
- exports org.apache.isis.applib.services.xmlsnapshot;
- exports org.apache.isis.applib.snapshot;
- exports org.apache.isis.applib.spec;
- exports org.apache.isis.applib.types;
- exports org.apache.isis.applib.util.schema;
- exports org.apache.isis.applib.util;
- exports org.apache.isis.applib.value;
- exports org.apache.isis.applib.value.semantics;
+module org.apache.causeway.applib {
+ exports org.apache.causeway.applib;
+ exports org.apache.causeway.applib.annotation;
+ exports org.apache.causeway.applib.client;
+ exports org.apache.causeway.applib.clock;
+ exports org.apache.causeway.applib.domain;
+ exports org.apache.causeway.applib.events.domain;
+ exports org.apache.causeway.applib.events.lifecycle;
+ exports org.apache.causeway.applib.events.metamodel;
+ exports org.apache.causeway.applib.events.ui;
+ exports org.apache.causeway.applib.events;
+ exports org.apache.causeway.applib.exceptions.recoverable;
+ exports org.apache.causeway.applib.exceptions.unrecoverable;
+ exports org.apache.causeway.applib.exceptions;
+ exports org.apache.causeway.applib.graph.tree;
+ exports org.apache.causeway.applib.graph;
+ exports org.apache.causeway.applib.id;
+ exports org.apache.causeway.applib.jaxb;
+ exports org.apache.causeway.applib.layout.component;
+ exports org.apache.causeway.applib.layout.grid.bootstrap;
+ exports org.apache.causeway.applib.layout.grid;
+ exports org.apache.causeway.applib.layout.links;
+ exports org.apache.causeway.applib.layout.menubars.bootstrap;
+ exports org.apache.causeway.applib.layout.menubars;
+ exports org.apache.causeway.applib.layout;
+ exports org.apache.causeway.applib.locale;
+ exports org.apache.causeway.applib.mixins.dto;
+ exports org.apache.causeway.applib.mixins.layout;
+ exports org.apache.causeway.applib.mixins.metamodel;
+ exports org.apache.causeway.applib.mixins.rest;
+ exports org.apache.causeway.applib.mixins.security;
+ exports org.apache.causeway.applib.mixins.system;
+ exports org.apache.causeway.applib.mixins.updates;
+ exports org.apache.causeway.applib.query;
+ exports org.apache.causeway.applib.services.acceptheader;
+ exports org.apache.causeway.applib.services.appfeat;
+ exports org.apache.causeway.applib.services.appfeatui;
+ exports org.apache.causeway.applib.services.bookmark.idstringifiers;
+ exports org.apache.causeway.applib.services.bookmark;
+ exports org.apache.causeway.applib.services.bookmarkui;
+ exports org.apache.causeway.applib.services.clock;
+ exports org.apache.causeway.applib.services.command;
+ exports org.apache.causeway.applib.services.commanddto.conmap;
+ exports org.apache.causeway.applib.services.commanddto.processor.spi;
+ exports org.apache.causeway.applib.services.commanddto.processor;
+ exports org.apache.causeway.applib.services.commanddto;
+ exports org.apache.causeway.applib.services.confview;
+ exports org.apache.causeway.applib.services.conmap;
+ exports org.apache.causeway.applib.services.email;
+ exports org.apache.causeway.applib.services.error;
+ exports org.apache.causeway.applib.services.eventbus;
+ exports org.apache.causeway.applib.services.exceprecog;
+ exports org.apache.causeway.applib.services.factory;
+ exports org.apache.causeway.applib.services.grid;
+ exports org.apache.causeway.applib.services.health;
+ exports org.apache.causeway.applib.services.hint;
+ exports org.apache.causeway.applib.services.homepage;
+ exports org.apache.causeway.applib.services.i18n;
+ exports org.apache.causeway.applib.services.iactn;
+ exports org.apache.causeway.applib.services.iactnlayer;
+ exports org.apache.causeway.applib.services.inject;
+ exports org.apache.causeway.applib.services.jaxb;
+ exports org.apache.causeway.applib.services.keyvaluestore;
+ exports org.apache.causeway.applib.services.layout;
+ exports org.apache.causeway.applib.services.linking;
+ exports org.apache.causeway.applib.services.locale;
+ exports org.apache.causeway.applib.services.menu;
+ exports org.apache.causeway.applib.services.message;
+ exports org.apache.causeway.applib.services.metamodel;
+ exports org.apache.causeway.applib.services.metrics;
+ exports org.apache.causeway.applib.services.placeholder;
+ exports org.apache.causeway.applib.services.publishing.log;
+ exports org.apache.causeway.applib.services.publishing.spi;
+ exports org.apache.causeway.applib.services.queryresultscache;
+ exports org.apache.causeway.applib.services.registry;
+ exports org.apache.causeway.applib.services.repository;
+ exports org.apache.causeway.applib.services.routing;
+ exports org.apache.causeway.applib.services.scratchpad;
+ exports org.apache.causeway.applib.services.session;
+ exports org.apache.causeway.applib.services.sitemap;
+ exports org.apache.causeway.applib.services.sudo;
+ exports org.apache.causeway.applib.services.swagger;
+ exports org.apache.causeway.applib.services.tablecol;
+ exports org.apache.causeway.applib.services.title;
+ exports org.apache.causeway.applib.services.urlencoding;
+ exports org.apache.causeway.applib.services.user;
+ exports org.apache.causeway.applib.services.userreg.events;
+ exports org.apache.causeway.applib.services.userreg;
+ exports org.apache.causeway.applib.services.userui;
+ exports org.apache.causeway.applib.services.wrapper.callable;
+ exports org.apache.causeway.applib.services.wrapper.control;
+ exports org.apache.causeway.applib.services.wrapper.events;
+ exports org.apache.causeway.applib.services.wrapper.listeners;
+ exports org.apache.causeway.applib.services.wrapper;
+ exports org.apache.causeway.applib.services.xactn;
+ exports org.apache.causeway.applib.services.xml;
+ exports org.apache.causeway.applib.services.xmlsnapshot;
+ exports org.apache.causeway.applib.snapshot;
+ exports org.apache.causeway.applib.spec;
+ exports org.apache.causeway.applib.types;
+ exports org.apache.causeway.applib.util.schema;
+ exports org.apache.causeway.applib.util;
+ exports org.apache.causeway.applib.value;
+ exports org.apache.causeway.applib.value.semantics;
requires com.fasterxml.jackson.core;
requires com.fasterxml.jackson.databind;
@@ -134,8 +134,8 @@ module org.apache.isis.applib {
requires transitive java.xml;
requires transitive java.inject;
requires lombok;
- requires org.apache.isis.commons;
- requires transitive org.apache.isis.schema;
+ requires org.apache.causeway.commons;
+ requires transitive org.apache.causeway.schema;
requires org.apache.logging.log4j;
requires transitive org.joda.time;
requires transitive spring.beans;
@@ -144,12 +144,12 @@ module org.apache.isis.applib {
requires spring.tx;
// JAXB viewmodels
- opens org.apache.isis.applib.layout.component;
- opens org.apache.isis.applib.layout.grid.bootstrap;
- opens org.apache.isis.applib.layout.grid;
- opens org.apache.isis.applib.layout.links;
- opens org.apache.isis.applib.layout.menubars.bootstrap;
- opens org.apache.isis.applib.layout.menubars;
+ opens org.apache.causeway.applib.layout.component;
+ opens org.apache.causeway.applib.layout.grid.bootstrap;
+ opens org.apache.causeway.applib.layout.grid;
+ opens org.apache.causeway.applib.layout.links;
+ opens org.apache.causeway.applib.layout.menubars.bootstrap;
+ opens org.apache.causeway.applib.layout.menubars;
}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/Identifier.java b/api/applib/src/main/java/org/apache/causeway/applib/Identifier.java
new file mode 100644
index 0000000000..1a4fa00117
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/Identifier.java
@@ -0,0 +1,333 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib;
+
+import java.io.Serializable;
+import java.lang.reflect.Method;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+import org.apache.causeway.commons.collections.Can;
+import org.apache.causeway.commons.internal.base._Strings;
+import org.apache.causeway.commons.internal.reflection._Reflect;
+
+import org.apache.causeway.applib.id.HasLogicalType;
+import org.apache.causeway.applib.id.LogicalType;
+import org.apache.causeway.applib.services.i18n.HasTranslationContext;
+import org.apache.causeway.applib.services.i18n.TranslationContext;
+import org.apache.causeway.applib.services.i18n.TranslationService;
+
+import lombok.Getter;
+import lombok.NonNull;
+import lombok.val;
+
+/**
+ * Combines {@link LogicalType} and member identification (from properties, collections or actions),
+ * to a fully qualified <i>feature</i> identifier.
+ * <p>
+ * For {@link Identifier}(s) of type {@link Identifier.Type#CLASS} member information is
+ * left empty.
+ *
+ * @since 1.x revised for 2.0 {@index}
+ * @see LogicalType
+ */
+public class Identifier
+implements
+ Comparable<Identifier>,
+ HasLogicalType,
+ HasTranslationContext,
+ Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * What type of feature this identifies.
+ */
+ public static enum Type {
+ /**
+ * A <i>Value-type</i> or <i>Domain Object</i>.
+ */
+ CLASS,
+ /**
+ * <i>Action</i> either declared or mixed in.
+ */
+ ACTION,
+ /**
+ * <i>Action Parameter</i>, also has a non-negative {@link #parameterIndex}.
+ */
+ ACTION_PARAMETER,
+ /**
+ * <i>One to One Association (Property)</i> either declared or mixed in.
+ */
+ PROPERTY,
+ /**
+ * <i>One to Many Association (Collection)</i> either declared or mixed in.
+ */
+ COLLECTION
+ ;
+ public boolean isClass() { return this == CLASS; }
+ public boolean isAction() { return this == ACTION; }
+ public boolean isActionParameter() { return this == ACTION_PARAMETER; }
+ public boolean isProperty() { return this == PROPERTY;}
+ public boolean isCollection() { return this == COLLECTION;}
+ public boolean isPropertyOrCollection() { return this == PROPERTY || this == COLLECTION;}
+ }
+
+ // -- FACTORY METHODS
+
+ public static Identifier classIdentifier(final LogicalType typeIdentifier) {
+ return new Identifier(typeIdentifier, "", Can.empty(), Type.CLASS);
+ }
+
+ public static Identifier propertyIdentifier(
+ final LogicalType typeIdentifier,
+ final String propertyOrCollectionName) {
+ return new Identifier(typeIdentifier, propertyOrCollectionName, Can.empty(),
+ Type.PROPERTY);
+ }
+
+ public static Identifier collectionIdentifier(
+ final LogicalType typeIdentifier,
+ final String propertyOrCollectionName) {
+ return new Identifier(typeIdentifier, propertyOrCollectionName, Can.empty(),
+ Type.COLLECTION);
+ }
+
+
+ /** for reporting orphaned methods */
+ public static Identifier methodIdentifier(
+ final LogicalType typeIdentifier,
+ final Method method) {
+ return actionIdentifier(typeIdentifier, _Reflect.methodToShortString(method), method.getParameterTypes());
+ }
+
+ public static Identifier actionIdentifier(
+ final LogicalType typeIdentifier,
+ final String actionName,
+ final Class<?>... parameterClasses) {
+ return actionIdentifier(typeIdentifier, actionName, classNamesOf(parameterClasses));
+ }
+
+ public static Identifier actionIdentifier(
+ final LogicalType typeIdentifier,
+ final String actionName,
+ final Can<String> parameterClassNames) {
+ return new Identifier(typeIdentifier, actionName, parameterClassNames, Type.ACTION);
+ }
+
+ // -- INSTANCE FIELDS
+
+ @Getter(onMethod_ = {@Override}) private final LogicalType logicalType;
+
+ @Getter private final String className;
+
+ @Getter private final String memberLogicalName;
+
+ /**
+ * Optional. Used for <i>Action Parameters</i>, otherwise {@code -1}.
+ */
+ @Getter private final int parameterIndex;
+
+ @Getter private final Can<String> memberParameterClassNames;
+
+ @Getter private final Type type;
+
+ /**
+ * Fully qualified Identity String. (class-name + member-logical-name + param-class-names)
+ */
+ @Getter private final String fullIdentityString;
+
+ /**
+ * Member Identity String (class omitted), including parameters if any.
+ */
+ @Getter private final String memberNameAndParameterClassNamesIdentityString;
+
+ /**
+ * Context to be used for i18n translation.
+ * @see TranslationService
+ */
+ @Getter(onMethod_ = {@Override}) private final TranslationContext translationContext;
+
+ // -- CONSTRUCTION
+
+ private Identifier(
+ final LogicalType logicalType,
+ final String memberLogicalName,
+ final Can<String> memberParameterClassNames,
+ final Type type) {
+ this(logicalType, memberLogicalName, memberParameterClassNames, type, -1);
+ }
+
+ private Identifier(
+ final LogicalType logicalType,
+ final String memberLogicalName,
+ final Can<String> memberParameterClassNames,
+ final Type type,
+ final int parameterIndex) {
+
+ this.logicalType = logicalType;
+ this.className = logicalType.getClassName();
+ this.memberLogicalName = memberLogicalName;
+ this.memberParameterClassNames = memberParameterClassNames;
+ this.type = type;
+ this.parameterIndex = parameterIndex;
+
+ this.memberNameAndParameterClassNamesIdentityString =
+ memberLogicalName + (type.isAction()
+ ? "(" + memberParameterClassNames.stream().collect(Collectors.joining(",")) + ")"
+ : "");
+
+ this.translationContext = TranslationContext.named(
+ className + "#" + memberLogicalName + (type.isAction() ? "()" : ""));
+
+ this.fullIdentityString = _Strings.isEmpty(memberLogicalName)
+ ? className
+ : className + "#" + memberNameAndParameterClassNamesIdentityString;
+ }
+
+ // -- WITHERS
+
+ public Identifier withParameterIndex(final int parameterIndex) {
+ return new Identifier(
+ logicalType, memberLogicalName, memberParameterClassNames, Type.ACTION_PARAMETER, parameterIndex);
+ }
+
+ // -- LOGICAL ID
+
+ public String getLogicalIdentityString(final @NonNull String delimiter) {
+ return getLogicalTypeName()
+ + delimiter
+ + memberNameAndParameterClassNamesIdentityString;
+ }
+
+ // -- NATURAL NAMES
+
+ public String getClassNaturalName() {
+ val className = getClassName();
+ val isolatedName = className.substring(className.lastIndexOf('.') + 1);
+ return naturalName(isolatedName);
+ }
+
+ public String getMemberNaturalName() {
+ return naturalName(memberLogicalName);
+ }
+
+ public Can<String> getMemberParameterClassNaturalNames() {
+ return naturalNames(memberParameterClassNames);
+ }
+
+ // -- OBJECT CONTRACT
+
+ @Override
+ public int compareTo(final Identifier other) {
+ return toString().compareTo(other.toString());
+ }
+
+ @Override
+ public boolean equals(final Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj instanceof Identifier) {
+ return isEqualTo((Identifier) obj);
+ }
+ return false;
+ }
+
+ public boolean isEqualTo(final Identifier other) {
+ return Objects.equals(this.className, other.className)
+ && Objects.equals(this.memberLogicalName, other.memberLogicalName)
+ && this.memberParameterClassNames.equals(other.memberParameterClassNames)
+ && this.parameterIndex == other.parameterIndex;
+ }
+
+ @Override
+ public int hashCode() {
+ return fullIdentityString.hashCode();
+ }
+
+ @Override
+ public String toString() {
+ return parameterIndex>=0
+ ? String.format("%s[%d]", fullIdentityString, parameterIndex)
+ : fullIdentityString;
+ }
+
+ // -- HELPER
+
+ private static Can<String> classNamesOf(final Class<?>[] parameterClasses) {
+ return Can.ofArray(parameterClasses)
+ .map(Class::getName);
+ }
+
+ private static final char SPACE = ' ';
+
+ /*
+ * Returns a word spaced version of the specified name, so there are spaces
+ * between the words, where each word starts with a capital letter. E.g.,
+ * "NextAvailableDate" is returned as "Next Available Date".
+ */
+ private static String naturalName(final String name) {
+ final int length = name.length();
+
+ if (length <= 1) {
+ return name.toUpperCase();// ensure first character is upper case
+ }
+
+ final StringBuffer naturalName = new StringBuffer(length);
+
+ char previousCharacter;
+ char character = Character.toUpperCase(name.charAt(0));// ensure first
+ // character is
+ // upper case
+ naturalName.append(character);
+ char nextCharacter = name.charAt(1);
+
+ for (int pos = 2; pos < length; pos++) {
+ previousCharacter = character;
+ character = nextCharacter;
+ nextCharacter = name.charAt(pos);
+
+ if (previousCharacter != SPACE) {
+ if (Character.isUpperCase(character)
+ && !Character.isUpperCase(previousCharacter)) {
+ naturalName.append(SPACE);
+ }
+ if (Character.isUpperCase(character)
+ && Character.isLowerCase(nextCharacter)
+ && Character.isUpperCase(previousCharacter)) {
+ naturalName.append(SPACE);
+ }
+ if (Character.isDigit(character)
+ && !Character.isDigit(previousCharacter)) {
+ naturalName.append(SPACE);
+ }
+ }
+ naturalName.append(character);
+ }
+ naturalName.append(nextCharacter);
+ return naturalName.toString();
+ }
+
+ private static Can<String> naturalNames(final Can<String> names) {
+ return names.map(Identifier::naturalName);
+ }
+
+}
+
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/IsisModuleApplib.java b/api/applib/src/main/java/org/apache/causeway/applib/IsisModuleApplib.java
new file mode 100644
index 0000000000..36f13ac00f
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/IsisModuleApplib.java
@@ -0,0 +1,148 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib;
+
+import org.apache.causeway.applib.domain.DomainObjectList;
+import org.apache.causeway.applib.mixins.dto.Dto_downloadXml;
+import org.apache.causeway.applib.mixins.dto.Dto_downloadXsd;
+import org.apache.causeway.applib.mixins.layout.Object_downloadLayoutXml;
+import org.apache.causeway.applib.mixins.metamodel.Object_downloadMetamodelXml;
+import org.apache.causeway.applib.mixins.metamodel.Object_rebuildMetamodel;
+import org.apache.causeway.applib.mixins.rest.Object_openRestApi;
+import org.apache.causeway.applib.services.appfeatui.ApplicationFeatureMenu;
+import org.apache.causeway.applib.services.appfeatui.ApplicationNamespace;
+import org.apache.causeway.applib.services.appfeatui.ApplicationType;
+import org.apache.causeway.applib.services.appfeatui.ApplicationTypeAction;
+import org.apache.causeway.applib.services.appfeatui.ApplicationTypeCollection;
+import org.apache.causeway.applib.services.appfeatui.ApplicationTypeMember;
+import org.apache.causeway.applib.services.appfeatui.ApplicationTypeProperty;
+import org.apache.causeway.applib.services.bookmark.BookmarkHolder_lookup;
+import org.apache.causeway.applib.services.bookmark.BookmarkHolder_object;
+import org.apache.causeway.applib.services.clock.ClockService;
+import org.apache.causeway.applib.services.commanddto.conmap.ContentMappingServiceForCommandDto;
+import org.apache.causeway.applib.services.commanddto.conmap.ContentMappingServiceForCommandsDto;
+import org.apache.causeway.applib.services.commanddto.processor.spi.CommandDtoProcessorServiceIdentity;
+import org.apache.causeway.applib.services.confview.ConfigurationMenu;
+import org.apache.causeway.applib.services.confview.ConfigurationProperty;
+import org.apache.causeway.applib.services.layout.LayoutServiceMenu;
+import org.apache.causeway.applib.services.metamodel.MetaModelServiceMenu;
+import org.apache.causeway.applib.services.queryresultscache.QueryResultsCache;
+import org.apache.causeway.applib.services.session.SessionLogger;
+import org.apache.causeway.applib.services.sitemap.SitemapServiceMenu;
+import org.apache.causeway.applib.services.sudo.SudoService;
+import org.apache.causeway.applib.services.user.ImpersonateMenu;
+import org.apache.causeway.applib.services.user.ImpersonateStopMenu;
+import org.apache.causeway.applib.services.user.RoleMemento;
+import org.apache.causeway.applib.services.user.UserMemento;
+import org.apache.causeway.applib.services.user.UserService;
+import org.apache.causeway.applib.services.userui.UserMenu;
+import org.apache.causeway.schema.IsisModuleSchema;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
+
+/**
+ * @since 2.0 {@index}
+ */
+@Configuration
+@Import({
+ // Modules
+ IsisModuleSchema.class,
+
+ // -- ViewModels
+ ApplicationNamespace.class,
+ ApplicationType.class,
+ ApplicationTypeAction.class,
+ ApplicationTypeCollection.class,
+ ApplicationTypeMember.class,
+ ApplicationTypeProperty.class,
+
+ // @DomainObject(s)
+ ConfigurationProperty.class,
+ DomainObjectList.class,
+ RoleMemento.class,
+ UserMemento.class,
+
+ // @DomainService(s)
+ ClockService.class,
+ ConfigurationMenu.class,
+ LayoutServiceMenu.class,
+ SitemapServiceMenu.class,
+ ImpersonateMenu.class,
+ ImpersonateStopMenu.class,
+ MetaModelServiceMenu.class,
+ QueryResultsCache.class,
+ ApplicationFeatureMenu.class,
+ UserMenu.class,
+
+ // @Service(s)
+ CommandDtoProcessorServiceIdentity.class,
+ ContentMappingServiceForCommandDto.class,
+ ContentMappingServiceForCommandsDto.class,
+ SessionLogger.class,
+ SudoService.class,
+ UserService.class,
+ UserMemento.UiSubscriber.class,
+ RoleMemento.UiSubscriber.class,
+
+ // Mixins (essential)
+ BookmarkHolder_lookup.class,
+ BookmarkHolder_object.class,
+
+ // Mixins (prototyping)
+ Dto_downloadXml.class,
+ Dto_downloadXsd.class,
+ Object_downloadLayoutXml.class,
+ Object_downloadMetamodelXml.class,
+ Object_openRestApi.class,
+ Object_rebuildMetamodel.class,
+
+})
+public class IsisModuleApplib {
+
+ public static final String NAMESPACE = "isis.applib";
+ public static final String NAMESPACE_CONF = "isis.conf"; // for configuration; to minimize the risk of granting perms accidentally
+ public static final String NAMESPACE_SUDO = "isis.sudo"; // for impersonation
+ public static final String NAMESPACE_FEAT = "isis.feat"; // for app features
+
+ // -- UI EVENT CLASSES
+
+ public abstract static class TitleUiEvent<S>
+ extends org.apache.causeway.applib.events.ui.TitleUiEvent<S> {}
+
+ public abstract static class IconUiEvent<S>
+ extends org.apache.causeway.applib.events.ui.IconUiEvent<S> {}
+
+ public abstract static class CssClassUiEvent<S>
+ extends org.apache.causeway.applib.events.ui.CssClassUiEvent<S> {}
+ public abstract static class LayoutUiEvent<S>
+ extends org.apache.causeway.applib.events.ui.LayoutUiEvent<S> {}
+
+ // -- DOMAIN EVENT CLASSES
+
+ public abstract static class ActionDomainEvent<S>
+ extends org.apache.causeway.applib.events.domain.ActionDomainEvent<S> {}
+
+ public abstract static class CollectionDomainEvent<S,T>
+ extends org.apache.causeway.applib.events.domain.CollectionDomainEvent<S,T> {}
+
+ public abstract static class PropertyDomainEvent<S,T>
+ extends org.apache.causeway.applib.events.domain.PropertyDomainEvent<S,T> {}
+
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/IsisModuleApplibChangeAndExecutionLoggers.java b/api/applib/src/main/java/org/apache/causeway/applib/IsisModuleApplibChangeAndExecutionLoggers.java
new file mode 100644
index 0000000000..fe0a8eb0ad
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/IsisModuleApplibChangeAndExecutionLoggers.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
+
+import org.apache.causeway.applib.services.publishing.log.CommandLogger;
+import org.apache.causeway.applib.services.publishing.log.EntityChangesLogger;
+import org.apache.causeway.applib.services.publishing.log.EntityPropertyChangeLogger;
+import org.apache.causeway.applib.services.publishing.log.ExecutionLogger;
+
+/**
+ * Registers logging subscribers for the command/execution/change publishing subsystem.
+ *
+ * @since 2.0 {@index}
+ */
+@Configuration
+@Import({
+ // Modules
+ IsisModuleApplib.class,
+
+ // Execution/Change Loggers
+ CommandLogger.class,
+ EntityChangesLogger.class,
+ EntityPropertyChangeLogger.class,
+ ExecutionLogger.class,
+})
+public class IsisModuleApplibChangeAndExecutionLoggers {
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/IsisModuleApplibMixins.java b/api/applib/src/main/java/org/apache/causeway/applib/IsisModuleApplibMixins.java
new file mode 100644
index 0000000000..6a925a8792
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/IsisModuleApplibMixins.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
+
+import org.apache.causeway.applib.mixins.metamodel.Object_logicalTypeName;
+import org.apache.causeway.applib.mixins.metamodel.Object_objectIdentifier;
+import org.apache.causeway.applib.mixins.system.HasTarget_openTargetObject;
+
+/**
+ * Registers domain object property mixins for object meta data such as
+ * the internal identifier or the logical type name of the domain object.
+ *
+ * @since 2.0 {@index}
+ */
+@Configuration
+@Import({
+ // Modules
+ IsisModuleApplib.class,
+
+ // Mixins (non-prototyping/non-essential)
+ Object_objectIdentifier.class,
+ Object_logicalTypeName.class,
+ HasTarget_openTargetObject.class,
+
+})
+public class IsisModuleApplibMixins {
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/ViewModel.java b/api/applib/src/main/java/org/apache/causeway/applib/ViewModel.java
new file mode 100644
index 0000000000..aa2eac68da
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/ViewModel.java
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib;
+
+import org.apache.causeway.applib.annotation.Programmatic;
+
+/**
+ * Indicates that an object belongs to the UI/application layer, and is intended to be used as a view model.
+ *
+ * @since 1.x {@index}
+ */
+public interface ViewModel {
+
+ /**
+ * Obtain a memento of the view model.
+ * <p>
+ * Instances of {@link ViewModel} must include a public single {@link String} argument constructor,
+ * that recreates an instance from a memento string.
+ * This constructor is not required to resolve injection points or fire domain events,
+ * instead this responsibility is encapsulated with the framework.
+ */
+ @Programmatic
+ String viewModelMemento();
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/Action.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Action.java
new file mode 100644
index 0000000000..f1205a1360
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Action.java
@@ -0,0 +1,233 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import org.apache.causeway.applib.events.domain.ActionDomainEvent;
+import org.apache.causeway.applib.services.command.Command;
+import org.apache.causeway.applib.services.commanddto.conmap.ContentMappingServiceForCommandDto;
+import org.apache.causeway.applib.services.commanddto.conmap.ContentMappingServiceForCommandsDto;
+import org.apache.causeway.applib.services.commanddto.processor.CommandDtoProcessor;
+import org.apache.causeway.applib.services.iactn.Execution;
+import org.apache.causeway.applib.services.publishing.spi.CommandSubscriber;
+import org.apache.causeway.applib.services.publishing.spi.ExecutionSubscriber;
+import org.apache.causeway.applib.value.Blob;
+import org.apache.causeway.applib.value.Clob;
+
+/**
+ * Groups together all domain-specific metadata for an invokable action on a
+ * domain object or domain service.
+ *
+ * @see Property
+ * @see Collection
+ * @see DomainObject
+ * @see ActionLayout
+ *
+ * @since 1.x {@index}
+ */
+@Inherited
+@Target({
+ ElementType.METHOD,
+ ElementType.TYPE,
+ ElementType.ANNOTATION_TYPE }
+)
+@Retention(RetentionPolicy.RUNTIME)
+@DomainObject(nature=Nature.MIXIN, mixinMethod = "act") // meta annotation, only applies at class level
+@Domain.Include // meta annotation, in support of meta-model validation
+public @interface Action {
+
+ /**
+ * References a collection of a certain element type (by its member-id),
+ * for an action with scalar or collection parameters of that element type;
+ * the action's choices will be automatically populated from checkboxes rendered in the collection
+ * (multi-select).
+ *
+ * <p>
+ * This will also result in the action being rendered near to the collection, similar to the way in
+ * which {@link ActionLayout#associateWith()} does.
+ * </p>
+ *
+ * <p>
+ * If there are multiple actions associated with a collection, either by way of {@link Action#choicesFrom()} or
+ * using {@link ActionLayout#associateWith()}, then their order in the UI can be influenced using
+ * {@link ActionLayout#sequence()}.
+ * </p>
+ *
+ * @see ActionLayout#associateWith()
+ * @see ActionLayout#sequence()
+ */
+ String choicesFrom()
+ default "";
+
+ /**
+ * The {@link CommandDtoProcessor} to process this command's DTO.
+ *
+ * <p>
+ * The processor itself is used by {@link ContentMappingServiceForCommandDto} and
+ * {@link ContentMappingServiceForCommandsDto} to dynamically transform the DTOs.
+ * </p>
+ *
+ * @see Property#commandDtoProcessor()
+ * @see Action#commandPublishing()
+ */
+ Class<? extends CommandDtoProcessor> commandDtoProcessor()
+ default CommandDtoProcessor.class;
+
+ /**
+ * Whether action invocations, captured as {@link Command}s,
+ * should be published to {@link CommandSubscriber}s.
+ *
+ * @see Property#commandPublishing()
+ * @see Action#commandDtoProcessor()
+ */
+ Publishing commandPublishing()
+ default Publishing.NOT_SPECIFIED;
+
+ /**
+ * Indicates that an invocation of the action should be posted to the
+ * {@link org.apache.causeway.applib.services.eventbus.EventBusService} using a custom (subclass of)
+ * {@link org.apache.causeway.applib.events.domain.ActionDomainEvent}.
+ *
+ * <p>
+ * Subscribers of this event can interact with the business rule
+ * checking (hide, disable, validate) and its modification (before and
+ * after).
+ * </p>
+ *
+ * <p>For example:
+ * </p>
+ *
+ * <pre>
+ * public class SomeObject{
+ * public static class ChangeStartDateDomainEvent extends ActionDomainEvent<SomeObject> { ... }
+ *
+ * @Action(domainEvent=ChangedStartDateDomainEvent.class)
+ * public void changeStartDate(final Date startDate) { ...}
+ * ...
+ * }
+ * </pre>
+ *
+ * <p>
+ * This subclass must provide a no-arg constructor; the fields are set reflectively.
+ * </p>
+ *
+ * @see Property#domainEvent()
+ * @see Collection#domainEvent()
+ * @see DomainObject#actionDomainEvent()
+ */
+ Class<? extends ActionDomainEvent<?>> domainEvent()
+ default ActionDomainEvent.Default.class;
+
+ /**
+ * Whether {@link Execution}s (triggered by action invocations), should
+ * be published to {@link ExecutionSubscriber}s.
+ *
+ * @see Property#executionPublishing()
+ */
+ Publishing executionPublishing()
+ default Publishing.NOT_SPECIFIED;
+
+ /**
+ * Indicates where (in the UI) the action is not visible to the user.
+ *
+ * <p>
+ * It is also possible to suppress an action's visibility using {@link ActionLayout#hidden()}.
+ *
+ * <p>
+ * For {@link DomainService domain service} actions, the action's visibility is dependent upon its
+ * {@link DomainService#nature() nature}.
+ *
+ * @see Property#hidden()
+ * @see Collection#hidden()
+ */
+ Where hidden()
+ default Where.NOT_SPECIFIED;
+
+ /**
+ * Whether the action is restricted to prototyping, or whether it is
+ * available also in production mode.
+ *
+ * <p>
+ * By default there are no restrictions, with the action being available in all environments.
+ * </p>
+ */
+ RestrictTo restrictTo()
+ default RestrictTo.NOT_SPECIFIED;
+
+ /**
+ * The action semantics, either
+ * {@link SemanticsOf#SAFE_AND_REQUEST_CACHEABLE cached},
+ * {@link SemanticsOf#SAFE safe} (query-only),
+ * {@link SemanticsOf#IDEMPOTENT idempotent} or
+ * {@link SemanticsOf#NON_IDEMPOTENT non-idempotent}.
+ *
+ * <p>
+ * The action's semantics determine whether objects are modified as the
+ * result of invoking this action (if not, the results can be cached for the
+ * remainder of the request). If the objects do cause a change in state,
+ * they additionally determine whether re-invoking the action would result
+ * in a further change.
+ * </p>
+ *
+ * <p>
+ * There are also `...ARE_YOU_SURE` variants
+ * (@link {@link SemanticsOf#IDEMPOTENT_ARE_YOU_SURE} and
+ * (@link {@link SemanticsOf#NON_IDEMPOTENT_ARE_YOU_SURE} that cause a
+ * confirmation dialog to be displayed in the Wicket viewer.
+ * </p>
+ */
+ SemanticsOf semantics()
+ default SemanticsOf.NOT_SPECIFIED;
+
+ /**
+ * If the action returns a collection, then this hints as to the run-time
+ * type of the objects within that collection.
+ *
+ * <p>
+ * This is only provided as a fallback; usually the framework can infer
+ * the element type of the collection from the action method's
+ * return type (eg if it returns <code>Collection</code> instead of <code>Collection<Customer></code>)
+ * </p>
+ *
+ * @see Collection#typeOf()
+ */
+ Class<?> typeOf()
+ default void.class; // represents unspecified
+
+ /**
+ * For downloading {@link Blob} or {@link Clob}, optionally restrict the files accepted (eg <tt>.xslx</tt>).
+ *
+ * <p>
+ * The value should be of the form "file_extension|audio/*|video/*|image/*|media_type".
+ * </p>
+ *
+ * @see <a href="http://www.w3schools.com/tags/att_input_accept.asp">http://www.w3schools.com</a>
+ * @see Parameter#fileAccept()
+ * @see Property#fileAccept()
+ */
+ String fileAccept()
+ default "";
+
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/ActionLayout.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/ActionLayout.java
new file mode 100644
index 0000000000..953cc2a616
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/ActionLayout.java
@@ -0,0 +1,265 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.xml.bind.annotation.XmlType;
+
+import org.apache.causeway.applib.layout.component.CssClassFaPosition;
+
+/**
+ * Layout hints for actions.
+ *
+ * @see PropertyLayout
+ * @see CollectionLayout
+ * @see DomainObjectLayout
+ * @see Action
+ *
+ * @since 1.x {@index}
+ */
+@Inherited
+@Target({
+ ElementType.METHOD,
+ ElementType.TYPE,
+ ElementType.ANNOTATION_TYPE
+})
+@Retention(RetentionPolicy.RUNTIME)
+@DomainObject(nature=Nature.MIXIN, mixinMethod = "act") // meta annotation, only applies at class level
+@Domain.Include // meta annotation, in support of meta-model validation
+public @interface ActionLayout {
+
+ /**
+ * Associates this action with a property or collection, specifying its id.
+ *
+ * <p>
+ * To specify the layout order use {@link ActionLayout#sequence()}.
+ * </p>
+ *
+ * <p>
+ * For example <code>@ActionLayout(associateWith="items") @ActionLayout(sequence="2.1")</code>
+ * </p>
+ *
+ * <p>
+ * Note that it is also possible to associate an action with a collection using {@link Action#choicesFrom()}
+ * (which has the additional semantic of the rows of the element being used as choices for that action's
+ * collection parameter of the same type as the elements of the collection).
+ * </p>
+ *
+ * @see Action#choicesFrom()
+ * @see ActionLayout#sequence()
+ * @see ActionLayout#fieldSetId()
+ * @see ActionLayout#fieldSetName()
+ */
+ String associateWith()
+ default "";
+
+ /**
+ * Whether (and how) this action can be bookmarked in the UI.
+ *
+ * <p>
+ * For bookmarkable actions, either {@link org.apache.causeway.applib.annotation.BookmarkPolicy#AS_ROOT}
+ * and {@link org.apache.causeway.applib.annotation.BookmarkPolicy#AS_CHILD} can be used (they are treated
+ * identically).
+ * </p>
+ */
+ BookmarkPolicy bookmarking()
+ default BookmarkPolicy.NOT_SPECIFIED;
+
+ /**
+ * Indicates the css class that an action should have.
+ *
+ * <p>
+ * For the Wicket viewer, this can be a bootstrap class such as <code>btn-info</code>.
+ * </p>
+ *
+ * @see PropertyLayout#cssClass()
+ * @see ParameterLayout#cssClass()
+ * @see CollectionLayout#cssClass()
+ * @see DomainObjectLayout#cssClass()
+ */
+ String cssClass()
+ default "";
+
+ /**
+ * Indicates the <a href="http://fortawesome.github.io/Font-Awesome/">Font Awesome</a> CSS class to decorate an
+ * action (button or menu item).
+ *
+ * @see ActionLayout#cssClassFaPosition()
+ * @see DomainObjectLayout#cssClassFa()
+ */
+ String cssClassFa()
+ default "";
+
+ /**
+ * Indicates the position of the <a href="http://fortawesome.github.io/Font-Awesome/">Font Awesome</a>
+ * icon.
+ *
+ * <p>
+ * The icon could be rendered on the left or the right of the action button
+ * </p>
+ *
+ * @see ActionLayout#cssClassFa()
+ */
+ CssClassFaPosition cssClassFaPosition()
+ default CssClassFaPosition.LEFT;
+
+ /**
+ * Description of this action, eg to be rendered in a tooltip.
+ *
+ * @see PropertyLayout#describedAs()
+ * @see ParameterLayout#describedAs()
+ * @see CollectionLayout#describedAs()
+ * @see DomainObjectLayout#describedAs()
+ */
+ String describedAs()
+ default "";
+
+ /**
+ * Specifies the <b>id</b> of associated <i>FieldSet</i>.
+ * <p>
+ * For a more in depth description see the analogous {@link PropertyLayout#fieldSetId()}.
+ * </p>
+ *
+ * To associate an <i>Action</i> with a <i>Collection</i>, use {@link Action#choicesFrom()}
+ * instead.
+ *
+ * @apiNote An <i>Action</i> can be associated with with a <i>Property</i> or <i>Collection</i>
+ * its so called <i>peer</i>.
+ * It will then be positioned close to its <i>peer</i>, either under it or on the header panel
+ * depending on other layout facets. Such an association is made available via
+ * {@link ActionLayout#associateWith()}. However, with the presence of a {@link ActionLayout#fieldSetId()}
+ * or a {@link ActionLayout#fieldSetName()}
+ * this default placement is overruled.
+ *
+ * @see Action#choicesFrom()
+ * @see ActionLayout#associateWith()
+ * @see ActionLayout#fieldSetName()
+ * @see PropertyLayout#fieldSetId()
+ * @see PropertyLayout#fieldSetName()
+ * @see PropertyLayout#sequence()
+ */
+ String fieldSetId()
+ default "__infer";
+
+ /**
+ * Specifies the <b>friendly-name</b> of associated <i>FieldSet</i> or <i>Collection</i>.
+ * <p>
+ * For a more in depth description see the analogous {@link PropertyLayout#fieldSetId()};
+ * </p>
+ *
+ * To associate an <i>Action</i> with a <i>Collection</i>, use {@link Action#choicesFrom()}
+ * instead.
+ *
+ * @see Action#choicesFrom()
+ * @see ActionLayout#associateWith()
+ * @see ActionLayout#fieldSetId()
+ * @see PropertyLayout#fieldSetId()
+ * @see PropertyLayout#fieldSetName()
+ * @see PropertyLayout#sequence()
+ */
+ String fieldSetName()
+ default "__infer";
+
+ /**
+ * Indicates where in the UI the action should <i>not</i>not be visible.
+ */
+ Where hidden()
+ default Where.NOT_SPECIFIED;
+
+ /**
+ * Name of this action (overriding the name derived from its name in code).
+ *
+ * <p>
+ * A typical use case is if the desired name is a reserved Java keyword, such as `default` or `package`.
+ * </p>
+ *
+ * @see PropertyLayout#named()
+ * @see ParameterLayout#named()
+ * @see CollectionLayout#named()
+ * @see DomainObjectLayout#named()
+ * @see DomainServiceLayout#named()
+ */
+ String named()
+ default "";
+
+ /**
+ * For actions that are associated with a property (using either
+ * {@link Action#choicesFrom()} or {@link ActionLayout#fieldSetId()}
+ * or {@link ActionLayout#fieldSetName()},
+ * indicates the positioning of the action's button relative to the
+ * property.
+ *
+ * <p>
+ * Ignored if the action has not been associated with a property.
+ * </p>
+ */
+ Position position()
+ default Position.NOT_SPECIFIED;
+
+ @XmlType(namespace = "http://isis.apache.org/applib/layout/component")
+ enum Position {
+ BELOW,
+ RIGHT,
+ PANEL,
+ PANEL_DROPDOWN,
+ NOT_SPECIFIED
+ }
+
+ /**
+ * How the parameters for this action are prompted, either {@link PromptStyle#DIALOG dialog} or
+ * {@link PromptStyle#INLINE inline}.
+ */
+ PromptStyle promptStyle()
+ default PromptStyle.AS_CONFIGURED;
+
+ /**
+ * If the action returns its target, then determines whether to update the
+ * page or instead to redirect (forcing a re-rendering of a new page).
+ *
+ * <p>
+ * Not re-rendering can provide a smoother UI experience.
+ * </p>
+ *
+ * <p>
+ * Supported by the Wicket viewer.
+ * </p>
+ */
+ Redirect redirectPolicy()
+ default Redirect.AS_CONFIGURED;
+
+ /**
+ * The order of this member relative to other members in the same (layout) group,
+ * given in <i>Dewey-decimal</i> notation.
+ * <p>
+ * An alternative is to use the <code>Xxx.layout.xml</code> file,
+ * where <code>Xxx</code> is the domain object name.
+ * </p>
+ * @see CollectionLayout#sequence()
+ * @see PropertyLayout#sequence()
+ */
+ String sequence()
+ default "";
+
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/BookmarkPolicy.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/BookmarkPolicy.java
new file mode 100644
index 0000000000..10b912295b
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/BookmarkPolicy.java
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.causeway.applib.annotation;
+
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ *
+ * @since 1.x {@index}
+ */
+@XmlType(
+ namespace = "http://isis.apache.org/applib/layout/component"
+ )
+public enum BookmarkPolicy {
+
+ /**
+ * Can be bookmarked, and is a top-level 'root' (or parent) bookmark.
+ */
+ AS_ROOT,
+
+ /**
+ * Can be bookmarked, but only as a child or some other parent/root bookmark
+ */
+ AS_CHILD,
+
+ /**
+ * An unimportant entity that should never be bookmarked.
+ */
+ NEVER,
+
+ /**
+ * Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta
+ * annotations or superclasses/interfaces).
+ */
+ NOT_SPECIFIED
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/Bounding.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Bounding.java
new file mode 100644
index 0000000000..bcce16627c
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Bounding.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+/**
+ * Whether the set of instances of a domain object is bounded or not.
+ *
+ * @since 1.x {@index}
+ */
+public enum Bounding {
+ BOUNDED,
+ UNBOUNDED,
+ NOT_SPECIFIED
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/Collection.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Collection.java
new file mode 100644
index 0000000000..c47f2aaa78
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Collection.java
@@ -0,0 +1,108 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import org.apache.causeway.applib.events.domain.CollectionDomainEvent;
+
+/**
+ * Domain semantics for domain object collection.
+ *
+ * @see Action
+ * @see Property
+ * @see DomainObject
+ * @see CollectionLayout
+ *
+ * @since 1.x {@index}
+ */
+@Inherited
+@Target({
+ ElementType.METHOD,
+ ElementType.FIELD,
+ ElementType.TYPE,
+ ElementType.ANNOTATION_TYPE
+})
+@Retention(RetentionPolicy.RUNTIME)
+@DomainObject(nature=Nature.MIXIN, mixinMethod = "coll") // meta annotation, only applies at class level
+@Domain.Include // meta annotation, in support of meta-model validation
+public @interface Collection {
+
+ /**
+ * Indicates that changes to the collection that should be posted to the
+ * {@link org.apache.causeway.applib.services.eventbus.EventBusService event bus} using a custom (subclass of)
+ * {@link org.apache.causeway.applib.events.domain.CollectionDomainEvent}.
+ *
+ * <p>
+ * Subscribers of this event can interact with the business rule
+ * checking (hide, disable, validate) and its modification (before and
+ * after).
+ * </p>
+ *
+ * <p>For example:
+ * </p>
+ * <pre>
+ * public class Order {
+ * public static class OrderLineItems extends CollectionDomainEvent { ... }
+ *
+ * @CollectionInteraction(OrderLineItems.class)
+ * public SortedSet<OrderLine> getLineItems() { ...}
+ * }
+ * </pre>
+ *
+ * <p>
+ * This subclass must provide a no-arg constructor; the fields are set reflectively.
+ * </p>
+ *
+ * @see Action#domainEvent()
+ * @see Property#domainEvent()
+ * @see DomainObject#collectionDomainEvent()
+ */
+ Class<? extends CollectionDomainEvent<?,?>> domainEvent()
+ default CollectionDomainEvent.Default.class;
+
+ /**
+ * Indicates when the collection is not visible to the user.
+ *
+ * @see Action#hidden()
+ * @see Property#hidden()
+ * @see Collection#hidden()
+ */
+ Where hidden()
+ default Where.NOT_SPECIFIED;
+
+ /**
+ * The type-of the elements held within the collection.
+ *
+ * <p>
+ * This is only provided as a fallback; usually the framework can infer
+ * the element type of the collection from the collection method's
+ * generic type.
+ * </p>
+ *
+ * @see Action#typeOf()
+ */
+ Class<?> typeOf()
+ default void.class; // represents unspecified
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/CollectionLayout.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/CollectionLayout.java
new file mode 100644
index 0000000000..ac91068825
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/CollectionLayout.java
@@ -0,0 +1,179 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.util.Comparator;
+
+/**
+ * Layout hints for collections.
+ *
+ * @see ActionLayout
+ * @see PropertyLayout
+ * @see DomainObjectLayout
+ * @see Collection
+ *
+ * @since 1.x {@index}
+ */
+@Inherited
+@Target({
+ ElementType.METHOD,
+ ElementType.FIELD,
+ ElementType.TYPE,
+ ElementType.ANNOTATION_TYPE
+})
+@Retention(RetentionPolicy.RUNTIME)
+@DomainObject(nature=Nature.MIXIN, mixinMethod = "coll") // meta annotation, only applies at class level
+@Domain.Include // meta annotation, in support of meta-model validation
+public @interface CollectionLayout {
+
+ /**
+ * Indicates the css class that a collection should have, to
+ * allow more targeted styling in <code>application.css</code>.
+ *
+ * @see ActionLayout#cssClass()
+ * @see PropertyLayout#cssClass()
+ * @see ParameterLayout#cssClass()
+ * @see DomainObjectLayout#cssClass()
+ */
+ String cssClass()
+ default "";
+
+
+ /**
+ * Indicates which view is used by default to render the collection.
+ *
+ * <p>
+ * This is a simple string; every available implementation is required
+ * to use a different string.
+ * </p>
+ * <p>
+ * The default is "table". Extensions provide also:
+ * "excel" (download as Excel spreadsheet), "calendar"
+ * and "map".
+ * </p>
+ */
+ String defaultView()
+ default "";
+
+ /**
+ * Description of this collection, eg to be rendered in a tooltip.
+ *
+ * @see ActionLayout#describedAs()
+ * @see ParameterLayout#describedAs()
+ * @see PropertyLayout#describedAs()
+ * @see DomainObjectLayout#describedAs()
+ */
+ String describedAs()
+ default "";
+
+ /**
+ * Indicates where in the UI the collection should <i>not</i>not be visible.
+ *
+ * <p>
+ * Only {@link Where#NOWHERE NOWHERE} or {@link Where#EVERYWHERE EVERYWHERE}/{@link Where#ANYWHERE ANYWHERE}
+ * apply for collections.
+ * </p>
+ */
+ Where hidden()
+ default Where.NOT_SPECIFIED;
+
+ /**
+ * Name of this collection (overriding the name derived from its name in
+ * code).
+ *
+ * <p>
+ * A typical use case is if the desired name is a reserved Java
+ * keyword, such as `default` or `package`.
+ * </p>
+ *
+ * @see ActionLayout#named()
+ * @see ParameterLayout#named()
+ * @see PropertyLayout#named()
+ * @see DomainObjectLayout#named()
+ * @see DomainServiceLayout#named()
+ */
+ String named()
+ default "";
+
+ /**
+ * The page size for instances of this class when rendered within
+ * a table.
+ *
+ * <p>
+ * If annotated on a collection, then the page size refers to
+ * parented collections (eg <tt>Order#lineItems</tt>).
+ *
+ * <p>
+ * If annotated on a type, then the page size refers to standalone
+ * collections (eg as returned from a repository query).
+ *
+ * @see DomainObjectLayout#paged()
+ */
+ int paged()
+ default -1;
+
+ /**
+ * The order of this member relative to other members in the same (layout) group,
+ * given in <i>Dewey-decimal</i> notation.
+ * <p>
+ * An alternative is to use the <code>Xxx.layout.xml</code> file,
+ * where <code>Xxx</code> is the domain object name.
+ * </p>
+ * @see ActionLayout#sequence()
+ * @see PropertyLayout#sequence()
+ */
+ String sequence()
+ default "";
+
+ /**
+ * Indicates that the elements in a ({@link java.util.SortedSet}) collection should be sorted according to a different order than the
+ * natural sort order, as defined by the specified{@link java.util.Comparator}.
+ *
+ * <p>
+ * Whenever there is a collection of type {@link java.util.SortedSet}, the domain entity referenced
+ * is expected to implement {@link Comparable}, ie to have a natural ordering. In effect tis
+ * means that all domain entities should provide a natural ordering.
+ *
+ * <p>
+ * However, in some circumstances the ordering of collection may be different to the entity's
+ * natural ordering. For example, the entity may represent an interval of time sorted by its
+ * <i>startDate</i> ascending, but the collection may wish to sort by <i>startDate</i>.
+ *
+ * <p>
+ * The purpose of this annotation is to provide a {@link java.util.Comparator} such that the collection
+ * may be sorted in an order more suitable to the context.
+ */
+ @SuppressWarnings("rawtypes")
+ Class<? extends Comparator> sortedBy()
+ default Comparator.class;
+
+ /**
+ * Whether a parented collection when represented in a table form should additionally be
+ * "decorated" with client-side (javascript) enhancements, for example to enable paging and filtering.
+ */
+ TableDecoration tableDecoration()
+ default TableDecoration.NOT_SPECIFIED;
+
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/DependentDefaultsPolicy.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/DependentDefaultsPolicy.java
new file mode 100644
index 0000000000..d8f08ae100
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/DependentDefaultsPolicy.java
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+/**
+ * The policies for calculating the defaults of dependent parameters.
+ *
+ * @since 1.x {@index}
+ */
+public enum DependentDefaultsPolicy {
+
+ /**
+ * The policy to use should be as per the default defaults policy configured in <tt>application.properties</tt>.
+ *
+ * <p>
+ * If no defaults policy is configured, then default to the {@link DependentDefaultsPolicy#UPDATE_DEPENDENT UPDATE_DEPENDENT} policy.
+ * </p>
+ */
+ AS_CONFIGURED,
+
+ /**
+ * If an end-user has changed this parameter's value, then do not overwrite the value when an earlier parameter changes.
+ */
+ PRESERVE_CHANGES,
+
+ /**
+ * If this parameter declares a default that is dependent on the value of a previous parameter, and that previous
+ * parameter has been changed by the end-user, then update this dependent parameter with its computed default,
+ * <i>even if</i> the end-user has changed the value of this parameter previously.
+ */
+ UPDATE_DEPENDENT,
+
+ /**
+ * Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta
+ * annotations or superclasses/interfaces).
+ */
+ NOT_SPECIFIED
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/Domain.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Domain.java
new file mode 100644
index 0000000000..3928940414
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Domain.java
@@ -0,0 +1,84 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Annotation container, without any semantics.
+ * @see Domain.Include
+ * @see Domain.Exclude
+ */
+@Target({
+ ElementType.METHOD,
+ ElementType.FIELD,
+ ElementType.ANNOTATION_TYPE
+})
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Domain {
+
+ /**
+ * Indicates that a field or method must contribute to the metamodel.
+ * <p>
+ * For <i>mixins</i> is also allowed to be placed on the mixin's main method.
+ * <p>
+ * By placing the {@link Domain.Include} annotation on a method or field,
+ * a contract with the meta-model is enforced,
+ * such that this class-member must be recognized by the meta-model
+ * and cannot be ignored.
+ * Meta-model validation will fail when this contract is violated.
+ * <p>
+ * Acts as the semantic counterpart to {@link Domain.Exclude}.
+ * @see Domain.Exclude
+ * @since 2.x {@index}
+ */
+ @Inherited
+ @Target({
+ ElementType.METHOD,
+ ElementType.FIELD,
+ ElementType.ANNOTATION_TYPE
+ })
+ @Retention(RetentionPolicy.RUNTIME)
+ public @interface Include {
+ }
+
+ /**
+ * Indicates that a field, method or type should be ignored by the meta-model
+ * introspection.
+ * <p>
+ * Acts as the semantic counterpart to {@link Domain.Include}.
+ * @see Domain.Include
+ *
+ * @since 2.x {@index}
+ */
+ @Inherited
+ @Target({
+ ElementType.METHOD,
+ ElementType.FIELD,
+ ElementType.TYPE,
+ })
+ @Retention(RetentionPolicy.RUNTIME)
+ public @interface Exclude {
+ }
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/DomainObject.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/DomainObject.java
new file mode 100644
index 0000000000..89c2a0bac4
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/DomainObject.java
@@ -0,0 +1,435 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.inject.Named;
+
+import org.springframework.context.annotation.Scope;
+import org.springframework.stereotype.Component;
+
+import org.apache.causeway.applib.events.domain.ActionDomainEvent;
+import org.apache.causeway.applib.events.domain.CollectionDomainEvent;
+import org.apache.causeway.applib.events.domain.PropertyDomainEvent;
+import org.apache.causeway.applib.events.lifecycle.ObjectCreatedEvent;
+import org.apache.causeway.applib.events.lifecycle.ObjectLoadedEvent;
+import org.apache.causeway.applib.events.lifecycle.ObjectPersistedEvent;
+import org.apache.causeway.applib.events.lifecycle.ObjectPersistingEvent;
+import org.apache.causeway.applib.events.lifecycle.ObjectRemovingEvent;
+import org.apache.causeway.applib.events.lifecycle.ObjectUpdatedEvent;
+import org.apache.causeway.applib.events.lifecycle.ObjectUpdatingEvent;
+import org.apache.causeway.applib.services.bookmark.Bookmark;
+
+/**
+ * Domain semantics for domain objects (entities and view models;
+ * for services see {@link org.apache.causeway.applib.annotation.DomainService}).
+ *
+ * @apiNote Meta annotation {@link Component} allows for the Spring framework to pick up (discover) the
+ * annotated type.
+ * For more details see <code>org.apache.causeway.core.config.beans.IsisBeanFactoryPostProcessorForSpring</code>
+ *
+ * @see Action
+ * @see Property
+ * @see Collection
+ * @see DomainObjectLayout
+ * @see DomainService
+ *
+ * @since 1.x {@index}
+ */
+@Inherited
+@Target({
+ ElementType.TYPE,
+ ElementType.ANNOTATION_TYPE
+})
+@Retention(RetentionPolicy.RUNTIME)
+@Component @Scope("prototype")
+public @interface DomainObject {
+
+ /**
+ * Alternative logical type name(s) for the annotated type.
+ * @see Bookmark
+ * @see Named
+ */
+ String[] aliased() default {};
+
+ /**
+ * The class of the domain service that provides an <code>autoComplete(String)</code> method.
+ *
+ * <p>
+ * It is sufficient to specify an interface rather than a concrete type.
+ *
+ * @see DomainObject#autoCompleteMethod()
+ */
+ Class<?> autoCompleteRepository()
+ default Object.class;
+
+ /**
+ * The method to use in order to perform the auto-complete search
+ * (defaults to "autoComplete").
+ *
+ * <p>
+ * The method is required to accept a single string parameter, and must
+ * return a list of the domain type.
+ * </p>
+ *
+ * @see DomainObject#autoCompleteRepository()
+ */
+ String autoCompleteMethod()
+ default "autoComplete";
+
+ /**
+ * Indicates that the class has a bounded, or finite, set of instances.
+ *
+ * <p>
+ * Takes precedence over auto-complete.
+ * </p>
+ *
+ * <p>
+ * Note: this replaces bounded=true|false prior to v2.x
+ * </p>
+ *
+ */
+ Bounding bounding()
+ default Bounding.NOT_SPECIFIED;
+
+ /**
+ * Whether the properties of this domain object can be edited, or collections of this object be added to/removed from.
+ *
+ * <p>
+ * Note that non-editable objects can nevertheless have actions invoked upon them.
+ * </p>
+ *
+ * @see Property#editing()
+ * @see DomainObject#editingDisabledReason()
+ */
+ Editing editing()
+ default Editing.NOT_SPECIFIED;
+
+ /**
+ * If {@link #editing()} is set to {@link Editing#DISABLED},
+ * then the reason to provide to the user as to why the object's properties cannot be edited/collections modified.
+ *
+ * @see DomainObject#editing()
+ */
+ String editingDisabledReason()
+ default "Disabled";
+
+ /**
+ * Whether entity changes (persistent property updates) should be published to
+ * {@link org.apache.causeway.applib.services.publishing.spi.EntityPropertyChangeSubscriber}s
+ * and whether entity changes, captured as {@link org.apache.causeway.applib.services.publishing.spi.EntityChanges},
+ * should be published to {@link org.apache.causeway.applib.services.publishing.spi.EntityChangesSubscriber}s.
+ * @apiNote does only apply to entity objects
+ */
+ Publishing entityChangePublishing()
+ default Publishing.NOT_SPECIFIED;
+
+ /**
+ * Controls on a per class basis,
+ * how meta-model class introspection should process
+ * members, supporting methods and callback methods.
+ */
+ Introspection introspection()
+ default Introspection.NOT_SPECIFIED;
+
+ /**
+ * Applicable only if {@link #nature()} is {@link Nature#MIXIN}, indicates
+ * the name of the method within the mixin class to be inferred as the
+ * action of that mixin.
+ *
+ * <p>
+ * Supporting methods are then derived from that method name. For
+ * example, if the mixin method name is "act", then the
+ * <i>disable</i> supporting method will be "disableAct".
+ * </p>
+ *
+ * <p>
+ * Typical examples are "act", "prop", "coll", "exec", "execute", "invoke",
+ * "apply" and so on. The default name is `$$`.
+ * </p>
+ */
+ String mixinMethod()
+ default "$$";
+
+ /**
+ * The nature of this domain object.
+ *
+ * @see DomainService#nature()
+ */
+ Nature nature()
+ default Nature.NOT_SPECIFIED;
+
+ /**
+ * The logical name of this object's type, that uniquely and fully qualifies it.
+ * The logical name is analogous to - but independent of - the actual fully qualified class name.
+ * eg. {@code sales.Customer} for a class 'org.mycompany.dom.Customer'
+ * <p>
+ * This value, if specified, is used in the serialized form of the object's {@link Bookmark}.
+ * A {@link Bookmark} is used by the framework to uniquely identify an object over time
+ * (same concept as a URN).
+ * Otherwise, if not specified, the fully qualified class name is used instead.
+ * </p>
+ * @deprecated use {@link Named} instead
+ * @see Named
+ */
+ @Deprecated(forRemoval = true, since = "2.0.0-M8")
+ String logicalTypeName()
+ default "";
+
+
+ /**
+ * Indicates that the loading of the domain object should be posted to the
+ * {@link org.apache.causeway.applib.services.eventbus.EventBusService event bus} using a custom (subclass of)
+ * {@link org.apache.causeway.applib.events.lifecycle.ObjectCreatedEvent}.
+ *
+ * <p>
+ * This subclass must provide a no-arg constructor; the fields are set reflectively.
+ * </p>
+ *
+ * @see DomainObject#loadedLifecycleEvent()
+ * @see DomainObject#persistingLifecycleEvent()
+ * @see DomainObject#persistedLifecycleEvent()
+ * @see DomainObject#updatingLifecycleEvent()
+ * @see DomainObject#updatedLifecycleEvent()
+ * @see DomainObject#removingLifecycleEvent()
+ */
+ Class<? extends ObjectCreatedEvent<?>>
+ createdLifecycleEvent()
+ default ObjectCreatedEvent.Default.class;
+
+ /**
+ * Indicates that the loading of the domain object should be posted to the
+ * {@link org.apache.causeway.applib.services.eventbus.EventBusService event bus} using a custom (subclass of)
+ * {@link org.apache.causeway.applib.events.lifecycle.ObjectPersistingEvent}.
+ *
+ * <p>
+ * This subclass must provide a no-arg constructor; the fields are set reflectively.
+ * </p>
+ *
+ * @see DomainObject#createdLifecycleEvent()
+ * @see DomainObject#loadedLifecycleEvent()
+ * @see DomainObject#persistedLifecycleEvent()
+ * @see DomainObject#updatingLifecycleEvent()
+ * @see DomainObject#updatedLifecycleEvent()
+ * @see DomainObject#removingLifecycleEvent()
+ */
+ Class<? extends ObjectPersistingEvent<?>>
+ persistingLifecycleEvent()
+ default ObjectPersistingEvent.Default.class;
+
+ /**
+ * Indicates that the loading of the domain object should be posted to the
+ * {@link org.apache.causeway.applib.services.eventbus.EventBusService event bus} using a custom (subclass of)
+ * {@link org.apache.causeway.applib.events.lifecycle.ObjectPersistedEvent}.
+ *
+ * <p>
+ * This subclass must provide a no-arg constructor; the fields are set reflectively.
+ * </p>
+ *
+ * @see DomainObject#createdLifecycleEvent()
+ * @see DomainObject#loadedLifecycleEvent()
+ * @see DomainObject#persistingLifecycleEvent()
+ * @see DomainObject#updatingLifecycleEvent()
+ * @see DomainObject#updatedLifecycleEvent()
+ * @see DomainObject#removingLifecycleEvent()
+ */
+ Class<? extends ObjectPersistedEvent<?>>
+ persistedLifecycleEvent()
+ default ObjectPersistedEvent.Default.class;
+
+ /**
+ * Indicates that the loading of the domain object should be posted to the
+ * {@link org.apache.causeway.applib.services.eventbus.EventBusService event bus} using a custom (subclass of)
+ * {@link org.apache.causeway.applib.events.lifecycle.ObjectLoadedEvent}.
+ *
+ * <p>
+ * This subclass must provide a no-arg constructor; the fields are set reflectively.
+ * </p>
+ *
+ * @see DomainObject#createdLifecycleEvent()
+ * @see DomainObject#persistingLifecycleEvent()
+ * @see DomainObject#persistedLifecycleEvent()
+ * @see DomainObject#updatingLifecycleEvent()
+ * @see DomainObject#updatedLifecycleEvent()
+ * @see DomainObject#removingLifecycleEvent()
+ */
+ Class<? extends ObjectLoadedEvent<?>>
+ loadedLifecycleEvent()
+ default ObjectLoadedEvent.Default.class;
+
+ /**
+ * Indicates that the loading of the domain object should be posted to the
+ * {@link org.apache.causeway.applib.services.eventbus.EventBusService event bus} using a custom (subclass of)
+ * {@link org.apache.causeway.applib.events.lifecycle.ObjectUpdatingEvent}.
+ *
+ * <p>
+ * This subclass must provide a no-arg constructor; the fields are set reflectively.
+ * </p>
+ *
+ * @see DomainObject#createdLifecycleEvent()
+ * @see DomainObject#loadedLifecycleEvent()
+ * @see DomainObject#persistingLifecycleEvent()
+ * @see DomainObject#persistedLifecycleEvent()
+ * @see DomainObject#updatedLifecycleEvent()
+ * @see DomainObject#removingLifecycleEvent()
+ */
+ Class<? extends ObjectUpdatingEvent<?>>
+ updatingLifecycleEvent()
+ default ObjectUpdatingEvent.Default.class;
+
+ /**
+ * Indicates that the loading of the domain object should be posted to the
+ * {@link org.apache.causeway.applib.services.eventbus.EventBusService event bus} using a custom (subclass of)
+ * {@link org.apache.causeway.applib.events.lifecycle.ObjectUpdatedEvent}.
+ *
+ * <p>
+ * This subclass must provide a no-arg constructor; the fields are set reflectively.
+ * </p>
+ *
+ * @see DomainObject#createdLifecycleEvent()
+ * @see DomainObject#loadedLifecycleEvent()
+ * @see DomainObject#persistingLifecycleEvent()
+ * @see DomainObject#persistedLifecycleEvent()
+ * @see DomainObject#updatingLifecycleEvent()
+ * @see DomainObject#removingLifecycleEvent()
+ */
+ Class<? extends ObjectUpdatedEvent<?>>
+ updatedLifecycleEvent()
+ default ObjectUpdatedEvent.Default.class;
+
+ /**
+ * Indicates that the loading of the domain object should be posted to the
+ * {@link org.apache.causeway.applib.services.eventbus.EventBusService event bus} using a custom (subclass of)
+ * {@link org.apache.causeway.applib.events.lifecycle.ObjectRemovingEvent}.
+ *
+ * <p>
+ * This subclass must provide a no-arg constructor; the fields are set reflectively.
+ * </p>
+ *
+ * @see DomainObject#createdLifecycleEvent()
+ * @see DomainObject#loadedLifecycleEvent()
+ * @see DomainObject#persistingLifecycleEvent()
+ * @see DomainObject#persistedLifecycleEvent()
+ * @see DomainObject#updatingLifecycleEvent()
+ * @see DomainObject#updatedLifecycleEvent()
+ */
+ Class<? extends ObjectRemovingEvent<?>>
+ removingLifecycleEvent()
+ default ObjectRemovingEvent.Default.class;
+
+ /**
+ * Indicates that an invocation of <i>any</i> action of the domain object (that do not themselves specify their own
+ * <tt>@Action(domainEvent=...)</tt> should be posted to the
+ * {@link org.apache.causeway.applib.services.eventbus.EventBusService event bus} using the specified custom
+ * (subclass of) {@link ActionDomainEvent}.
+ *
+ * <p>For example:
+ * </p>
+ *
+ * <pre>
+ * @DomainObject(actionDomainEvent=SomeObject.GenericActionDomainEvent.class)
+ * public class SomeObject{
+ * public static class GenericActionDomainEvent extends ActionDomainEvent<Object> { ... }
+ *
+ * public void changeStartDate(final Date startDate) { ...}
+ * ...
+ * }
+ * </pre>
+ *
+ * <p>
+ * This will result in all actions as a more specific type to use) to emit this event.
+ * </p>
+ * <p>
+ * This subclass must provide a no-arg constructor; the fields are set reflectively.
+ * It must also use <tt>Object</tt> as its generic type. This is to allow mixins to also emit the same event.
+ * </p>
+ *
+ * @see DomainObject#propertyDomainEvent()
+ * @see DomainObject#collectionDomainEvent()
+ * @see Action#domainEvent()
+ */
+ Class<? extends ActionDomainEvent<?>>
+ actionDomainEvent()
+ default ActionDomainEvent.Default.class;
+
+ /**
+ * Indicates that changes to <i>any</i> property of the domain object (that do not themselves specify their own
+ * <tt>@Property(domainEvent=...)</tt> should be posted to the
+ * {@link org.apache.causeway.applib.services.eventbus.EventBusService event bus} using the specified custom
+ * (subclass of) {@link PropertyDomainEvent}.
+ *
+ * <p>For example:
+ * </p>
+ *
+ * <pre>
+ * @DomainObject(propertyDomainEvent=SomeObject.GenericPropertyDomainEvent.class)
+ * public class SomeObject{
+ *
+ * public LocalDate getStartDate() { ...}
+ * }
+ * </pre>
+ *
+ * <p>
+ * This subclass must provide a no-arg constructor; the fields are set reflectively.
+ * It must also use <tt>Object</tt> as its generic type. This is to allow mixins to also emit the same event.
+ * </p>
+ *
+ * @see DomainObject#actionDomainEvent()
+ * @see DomainObject#collectionDomainEvent()
+ * @see Property#domainEvent()
+ */
+ Class<? extends PropertyDomainEvent<?,?>>
+ propertyDomainEvent()
+ default PropertyDomainEvent.Default.class;
+
+ /**
+ * Indicates that changes to <i>any</i> collection of the domain object (that do not themselves specify their own
+ * <tt>@Collection(domainEvent=...)</tt> should be posted to the
+ * {@link org.apache.causeway.applib.services.eventbus.EventBusService event bus} using a custom (subclass of)
+ * {@link CollectionDomainEvent}.
+ *
+ * <p>For example:
+ * </p>
+ * <pre>
+ * @DomainObject(collectionDomainEvent=Order.GenericCollectionDomainEvent.class)
+ * public class Order {
+ *
+ * public SortedSet<OrderLine> getLineItems() { ...}
+ * }
+ * </pre>
+ *
+ * <p>
+ * This subclass must provide a no-arg constructor; the fields are set reflectively.
+ * It must also use <tt>Object</tt> as its generic type. This is to allow mixins to also emit the same event.
+ * </p>
+ *
+ * @see DomainObject#actionDomainEvent()
+ * @see DomainObject#propertyDomainEvent()
+ * @see Collection#domainEvent()
+ */
+ Class<? extends CollectionDomainEvent<?,?>>
+ collectionDomainEvent()
+ default CollectionDomainEvent.Default.class;
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/DomainObjectLayout.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/DomainObjectLayout.java
new file mode 100644
index 0000000000..d5d2e6195e
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/DomainObjectLayout.java
@@ -0,0 +1,215 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import org.apache.causeway.applib.events.ui.CssClassUiEvent;
+import org.apache.causeway.applib.events.ui.IconUiEvent;
+import org.apache.causeway.applib.events.ui.LayoutUiEvent;
+import org.apache.causeway.applib.events.ui.TitleUiEvent;
+import org.apache.causeway.applib.layout.component.CssClassFaPosition;
+
+/**
+ * Layout hints for domain objects.
+ *
+ * @see ActionLayout
+ * @see PropertyLayout
+ * @see CollectionLayout
+ * @see DomainObject
+ *
+ * @since 1.x {@index}
+ */
+@Inherited
+@Target({
+ ElementType.TYPE,
+ ElementType.ANNOTATION_TYPE
+})
+@Retention(RetentionPolicy.RUNTIME)
+public @interface DomainObjectLayout {
+
+ // ...
+ /**
+ * Whether (and how) this domain object can be bookmarked in the UI.
+ */
+ BookmarkPolicy bookmarking()
+ default BookmarkPolicy.NOT_SPECIFIED;
+
+ /**
+ * Indicates the css class that a domain class (type) should have, to
+ * allow more targeted styling in <code>application.css</code>.
+ *
+ * @see ActionLayout#cssClass()
+ * @see PropertyLayout#cssClass()
+ * @see ParameterLayout#cssClass()
+ * @see CollectionLayout#cssClass()
+ */
+ String cssClass()
+ default "";
+
+ /**
+ * Indicates the <a href="http://fortawesome.github.io/Font-Awesome/">Font Awesome</a> CSS class to decorate an
+ * domain object.
+ *
+ * @see ActionLayout#cssClassFa()
+ */
+ String cssClassFa()
+ default "";
+
+ /**
+ * Indicates the position of the <a href="http://fortawesome.github.io/Font-Awesome/">Font Awesome</a>
+ * icon. The icon could be rendered on the left or the right of the object's title.
+ *
+ * <p>
+ * This attribute is currently ignored by Isis viewers.
+ * </p>
+ */
+ CssClassFaPosition cssClassFaPosition()
+ default CssClassFaPosition.LEFT;
+
+ /**
+ * Description of this class, eg to be rendered in a tooltip.
+ *
+ * @see ActionLayout#describedAs()
+ * @see ParameterLayout#describedAs()
+ * @see PropertyLayout#describedAs()
+ * @see CollectionLayout#describedAs()
+ */
+ String describedAs()
+ default "";
+
+ /**
+ * Name of this class (overriding the name derived from its name in code).
+ *
+ * <p>
+ * A typical use case is if the desired name is a reserved Java keyword, such as `default` or `package`.
+ * </p>
+ *
+ * @see ActionLayout#named()
+ * @see ParameterLayout#named()
+ * @see PropertyLayout#named()
+ * @see CollectionLayout#named()
+ * @see DomainServiceLayout#named()
+ * @see DomainObjectLayout#plural()
+ */
+ String named()
+ default "";
+
+ /**
+ * The page size for instances of this class when rendered within
+ * a table.
+ *
+ * <p>
+ * If annotated on a collection, then the page size refers to
+ * parented collections (eg <tt>Order#lineItems</tt>).
+ *
+ * <p>
+ * If annotated on a type, then the page size refers to standalone
+ * collections (eg as returned from a repository query).
+ *
+ * @see CollectionLayout#paged()
+ */
+ int paged()
+ default -1;
+
+ /**
+ * The plural name of the class.
+ *
+ * @see DomainObjectLayout#named()
+ */
+ String plural()
+ default "";
+
+ /**
+ * Whether a standalone collection when represented in a table form should additionally be
+ * "decorated" with client-side (javascript) enhancements, for example to enable paging and filtering.
+ */
+ TableDecoration tableDecoration()
+ default TableDecoration.NOT_SPECIFIED;
+
+
+ /**
+ * Which subclass of {@link CssClassUiEvent} should be used to obtain a CSS class.
+ *
+ * <p>
+ * This subclass must provide a no-arg constructor; the fields are set reflectively.
+ * </p>
+ *
+ * @see DomainObjectLayout#iconUiEvent()
+ * @see DomainObjectLayout#layoutUiEvent()
+ * @see DomainObjectLayout#titleUiEvent()
+ */
+ Class<? extends CssClassUiEvent<?>>
+ cssClassUiEvent()
+ default CssClassUiEvent.Default.class;
+
+ /**
+ * Which subclass of {@link IconUiEvent} should be used to obtain an icon.
+ *
+ * <p>
+ * This subclass must provide a no-arg constructor; the fields are set reflectively.
+ * </p>
+ *
+ * @see DomainObjectLayout#cssClassUiEvent()
+ * @see DomainObjectLayout#layoutUiEvent()
+ * @see DomainObjectLayout#titleUiEvent()
+ */
+ Class<? extends IconUiEvent<?>>
+ iconUiEvent()
+ default IconUiEvent.Default.class;
+
+ /**
+ * Which subclass of {@link LayoutUiEvent} should be used to obtain a layout.
+ *
+ * <p>
+ * This subclass must provide a no-arg constructor; the fields are set reflectively.
+ * </p>
+ *
+ *
+ * @see DomainObjectLayout#cssClassUiEvent()
+ * @see DomainObjectLayout#iconUiEvent()
+ * @see DomainObjectLayout#titleUiEvent()
+ */
+ Class<? extends LayoutUiEvent<?>>
+ layoutUiEvent()
+ default LayoutUiEvent.Default.class;
+
+ /**
+ * Which subclass of {@link TitleUiEvent} should be used to obtain a title.
+ *
+ * <p>
+ * This subclass must provide a no-arg constructor; the fields are set reflectively.
+ * </p>
+ *
+ *
+ * @see DomainObjectLayout#cssClassUiEvent()
+ * @see DomainObjectLayout#iconUiEvent()
+ * @see DomainObjectLayout#layoutUiEvent()
+ */
+ Class<? extends TitleUiEvent<?>>
+ titleUiEvent()
+ default TitleUiEvent.Default.class;
+
+
+ // ...
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/DomainService.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/DomainService.java
new file mode 100644
index 0000000000..983822dfec
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/DomainService.java
@@ -0,0 +1,95 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.inject.Named;
+import javax.inject.Singleton;
+
+import org.springframework.stereotype.Service;
+
+import org.apache.causeway.applib.services.bookmark.Bookmark;
+
+/**
+ * Indicates that the class should be automatically recognized as a domain service.
+ *
+ * <p>
+ * Also indicates whether the domain service acts as a repository for an entity, and menu ordering UI hints.
+ * </p>
+ *
+ * @implNote Meta annotation {@link Service} allows for the Spring framework to pick up (discover) the
+ * annotated type.
+ * For more details see {@code org.apache.causeway.core.config.beans.IsisBeanFactoryPostProcessorForSpring}.
+ *
+ * @see DomainObject
+ * @see DomainServiceLayout
+ *
+ * @since 1.x {@index}
+ */
+@Named()
+@Inherited
+@Target({
+ ElementType.TYPE,
+ ElementType.ANNOTATION_TYPE
+})
+@Retention(RetentionPolicy.RUNTIME)
+@Service @Singleton
+public @interface DomainService {
+
+ /**
+ * Alternative logical type name(s) for the annotated type.
+ * @see Bookmark
+ * @see Named
+ */
+ String[] aliased() default {};
+
+ /**
+ * The nature of this service, either in the UI or REST only
+ *
+ * @see DomainObject#nature()
+ */
+ NatureOfService nature()
+ default NatureOfService.VIEW;
+
+ /**
+ * The logical name of this object's type, that uniquely and fully qualifies it.
+ * The logical name is analogous to - but independent of - the actual fully qualified class name.
+ * eg. {@code sales.CustomerService} for a class 'org.mycompany.services.CustomerService'
+ * <p>
+ * This value, if specified, is used in the serialized form of the object's {@link Bookmark}.
+ * A {@link Bookmark} is used by the framework to uniquely identify an object over time
+ * (same concept as a URN).
+ * Otherwise, if not specified, the default Spring Bean name is used instead.
+ * </p>
+ * @deprecated use Spring semantics instead, eg. {@link Named} or equivalent
+ * @see Named
+ */
+ @Deprecated(forRemoval = true, since = "2.0.0-M8")
+ // commented out: let the IsisBeanFactoryPostProcessorForSpring take care of that!
+ //@AliasFor(annotation = Named.class, attribute = "value")
+ String logicalTypeName()
+ default "";
+
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/DomainServiceLayout.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/DomainServiceLayout.java
new file mode 100644
index 0000000000..cb088144cb
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/DomainServiceLayout.java
@@ -0,0 +1,83 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Layout hints for domain services.
+ *
+ * <p>
+ * Also indicates the name, and menu ordering UI hints.
+ * </p>
+ *
+ * @see DomainService
+ * @see DomainObjectLayout
+ *
+ * @since 1.x {@index}
+ */
+@Inherited
+@Target({
+ ElementType.TYPE,
+ ElementType.ANNOTATION_TYPE
+})
+@Retention(RetentionPolicy.RUNTIME)
+public @interface DomainServiceLayout {
+
+ /**
+ * The menubar in which the menu that holds this service's actions should reside.
+ */
+ MenuBar menuBar()
+ default MenuBar.NOT_SPECIFIED;
+
+ /**
+ * Enumerates the available menu bars for positioning a domain service's
+ * actions as menu items.
+ *
+ * @since 1.x {@index}
+ */
+ public enum MenuBar {
+ PRIMARY,
+ SECONDARY,
+ TERTIARY,
+ NOT_SPECIFIED
+ }
+
+ /**
+ * Name of this class (overriding the name derived from its name in code).
+ *
+ * <p>
+ * A typical use case is if the desired name is a reserved Java keyword, such as `default` or `package`.
+ * </p>
+ *
+ * @see ActionLayout#named()
+ * @see ParameterLayout#named()
+ * @see PropertyLayout#named()
+ * @see CollectionLayout#named()
+ * @see DomainObjectLayout#named()
+ */
+ String named()
+ default "";
+
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/Editing.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Editing.java
new file mode 100644
index 0000000000..471a880d07
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Editing.java
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+/**
+ * The available policies for editing properties and collections.
+ * @since 1.x {@index}
+ */
+public enum Editing {
+
+ /**
+ * The editing of the object should be as per the default editing policy configured in <tt>application.properties</tt>.
+ *
+ * <p>
+ * If no editing policy is configured, then the editing is enabled.
+ * </p>
+ */
+ AS_CONFIGURED,
+
+ /**
+ * Audit changes to this object.
+ */
+ ENABLED,
+
+ /**
+ * Do not allow the properties to be edited, or the collections to be added to/removed from.
+ */
+ DISABLED,
+
+ /**
+ * Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta
+ * annotations or superclasses/interfaces).
+ */
+ NOT_SPECIFIED
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/EntityChangeKind.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/EntityChangeKind.java
new file mode 100644
index 0000000000..7b386392b9
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/EntityChangeKind.java
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+/**
+ *
+ * @since 2.0 {@index}
+ */
+public enum EntityChangeKind {
+ CREATE,
+ UPDATE,
+ DELETE,
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/HomePage.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/HomePage.java
new file mode 100644
index 0000000000..d7662b8751
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/HomePage.java
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.causeway.applib.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Annotated on a view model to indicate that it should be used as the home page.
+ *
+ * <p>
+ * The view model is instantiated through a no-arg constructor, so must in effect be stateless.
+ * Typically it will use injected repositories in order to display a dashboard, and offer actions
+ * to traverse or operate on the rendered state.
+ * </p>
+ * @since 2.0 {@index}
+ */
+@Inherited
+@Target({ ElementType.TYPE })
+@Retention(RetentionPolicy.RUNTIME)
+public @interface HomePage {
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/InteractionScope.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/InteractionScope.java
new file mode 100644
index 0000000000..875f16a2ae
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/InteractionScope.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import org.springframework.context.annotation.Scope;
+
+/**
+ * {@code @InteractionScope} is a specialization of {@link Scope @Scope} for a
+ * component whose lifecycle is bound to the current top-level Interaction,
+ * in other words that it is private to the "current user".
+ *
+ * <p>Specifically, {@code @InteractionScope} is a <em>composed annotation</em> that
+ * acts as a shortcut for {@code @Scope("interaction")}.
+ *
+ * <p>{@code @InteractionScope} may be used as a meta-annotation to create custom
+ * composed annotations.
+ *
+ * @since 2.0 {@index}
+ * @see org.springframework.web.context.annotation.SessionScope
+ * @see org.springframework.web.context.annotation.ApplicationScope
+ * @see org.springframework.context.annotation.Scope
+ * @see org.springframework.stereotype.Component
+ * @see org.springframework.context.annotation.Bean
+ */
+@Target({ElementType.TYPE, ElementType.METHOD})
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+@Scope("interaction")
+public @interface InteractionScope {
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/Introspection.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Introspection.java
new file mode 100644
index 0000000000..5612e57bab
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Introspection.java
@@ -0,0 +1,225 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
+
+/**
+ * The available policies as to how class introspection should process
+ * members, supporting methods and callback methods.
+ * <p>
+ * Particularly whether to consider or ignore non-public members as contributors
+ * to the meta-model (encapsulation).
+ * And also whether or not to enforce presence of the {@link Domain.Include}
+ * annotation on those members.
+ *
+ * @since 2.0 {@index}
+ */
+public enum Introspection {
+
+ /**
+ * Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta
+ * annotations or super-classes/interfaces).
+ */
+ NOT_SPECIFIED,
+
+ /**
+ * Introspection should be handled as per the default introspection policy
+ * configured in <tt>application.properties</tt>.
+ * <p>
+ * If not configured, then encapsulation is disabled
+ * and presence of the {@link Domain.Include} annotation is not enforced.
+ */
+ AS_CONFIGURED,
+
+ /**
+ * Introspect public and non-public members.
+ *
+ * <p>
+ * All methods intended to be part of the meta-model
+ * (whether representing a member or a supporting method) must be annotated.
+ * Members using one of {@link Action}, {@link Property}, {@link Collection},
+ * while supporting methods with {@link Domain.Include}
+ * (usually as a meta-annotation on {@link MemberSupport}).
+ * However, the methods can have any visibility, including private.
+ * </p>
+ *
+ * <p>
+ * For mixins (where the mixin class itself is annotated with {@link Action}, {@link Property} or
+ * {@link Collection}, then the member method should instead be annotated the same as the supporting
+ * methods, {@link Domain.Include} or {@link MemberSupport}.
+ * </p>
+ */
+ ENCAPSULATION_ENABLED,
+
+ /**
+ * Introspect public members only, while
+ * presence of at least one appropriate domain annotation is enforced.
+ *
+ * <p>
+ * All public methods intended to represent members must be annotated (or meta-annotated) with
+ * {@link Action}, {@link Property} or {@link Collection}.
+ * </p>
+ *
+ * <p>
+ * Any non-excluded public methods with a supporting method prefix
+ * do not need to be annotated and
+ * are automatically associated with their corresponding member method.
+ * If no corresponding member method can be found, meta-model validation will
+ * fail with an 'orphaned member support' method violation.
+ * </p>
+ *
+ * <p>
+ * For mixins (where the mixin class itself is annotated with {@link Action}, {@link Property} or
+ * {@link Collection}, then the member method should instead be annotated the same as the supporting
+ * methods, {@link Domain.Include} or {@link MemberSupport}.
+ * </p>
+ */
+ ANNOTATION_REQUIRED,
+
+ /**
+ * Introspect public members only, while
+ * presence of domain annotations is optional.
+ *
+ * <p>
+ * All public methods are considered as part of the meta-model,
+ * unless explicitly excluded using {@link Domain.Exclude}
+ * (usually as a meta-annotation on {@link Programmatic}).
+ * </p>
+ *
+ * <p>
+ * Any non-excluded public methods with a supporting method prefix
+ * do not need to be annotated and
+ * are automatically associated with their corresponding member method.
+ * If no corresponding member method can be found, meta-model validation will
+ * fail with an 'orphaned member support' method violation.
+ * </p>
+ */
+ ANNOTATION_OPTIONAL,
+
+ ;
+
+ public boolean isNotSpecified() {
+ return this == NOT_SPECIFIED;
+ }
+
+ public boolean isAsConfigured() {
+ return this == AS_CONFIGURED;
+ }
+
+ /**
+ * Effectively applies on a per class basis, when introspecting
+ * meta-model members and member-support methods.
+ */
+ @Getter
+ @RequiredArgsConstructor
+ public static enum IntrospectionPolicy {
+ /**
+ * Introspect public and non-public members.
+ *
+ * <p>
+ * All methods must be annotated. Typically members will be annotated using one of {@link Action},
+ * {@link Property}, {@link Collection}, and supporting methods with either {@link Domain.Include} or
+ * the equivalent meta-annotation, {@link MemberSupport}.
+ * </p>
+ *
+ * <p>
+ * For mixins (where the mixin class itself is annotated with {@link Action}, {@link Property} or
+ * {@link Collection}, then the member method should instead be annotated the same as the supporting
+ * methods, {@link Domain.Include} or {@link MemberSupport}.
+ * </p>
+ */
+ ENCAPSULATION_ENABLED(
+ EncapsulationPolicy.ENCAPSULATED_MEMBERS_SUPPORTED,
+ MemberAnnotationPolicy.MEMBER_ANNOTATIONS_REQUIRED,
+ SupportMethodAnnotationPolicy.SUPPORT_METHOD_ANNOTATIONS_REQUIRED),
+
+ /**
+ * Introspect public members only, requiring the member to be annotated using an appropriate domain annotation
+ * {@link Action}, {@link Property}, {@link Collection} is required.
+ *
+ * <p>
+ * Supporting methods do <i>not</i> need to be annotated.
+ * </p>
+ *
+ * <p>
+ * For mixins (where the mixin class itself is annotated with {@link Action}, {@link Property} or
+ * {@link Collection}, then the member method should instead be annotated the same as the supporting
+ * methods, {@link Domain.Include} or {@link MemberSupport}.
+ * </p>
+ */
+ ANNOTATION_REQUIRED(
+ EncapsulationPolicy.ONLY_PUBLIC_MEMBERS_SUPPORTED,
+ MemberAnnotationPolicy.MEMBER_ANNOTATIONS_REQUIRED,
+ SupportMethodAnnotationPolicy.SUPPORT_METHOD_ANNOTATIONS_OPTIONAL),
+
+ /**
+ * Introspect public members only; neither the member not supporting methods need be annotated.
+ */
+ ANNOTATION_OPTIONAL(
+ EncapsulationPolicy.ONLY_PUBLIC_MEMBERS_SUPPORTED,
+ MemberAnnotationPolicy.MEMBER_ANNOTATIONS_OPTIONAL,
+ SupportMethodAnnotationPolicy.SUPPORT_METHOD_ANNOTATIONS_OPTIONAL),
+ ;
+
+ private final EncapsulationPolicy encapsulationPolicy;
+ private final MemberAnnotationPolicy memberAnnotationPolicy;
+ private final SupportMethodAnnotationPolicy supportMethodAnnotationPolicy;
+
+ }
+
+
+ /**
+ * Effectively applies on a per class basis, when introspecting
+ * meta-model members and member-support methods.
+ */
+ public static enum EncapsulationPolicy {
+ ONLY_PUBLIC_MEMBERS_SUPPORTED,
+ ENCAPSULATED_MEMBERS_SUPPORTED;
+ public boolean isEncapsulatedMembersSupported() {
+ return this == ENCAPSULATED_MEMBERS_SUPPORTED;
+ }
+ }
+
+ /**
+ * Effectively applies on a per class basis, when introspecting
+ * class members for the meta-model.
+ */
+ public static enum MemberAnnotationPolicy {
+ MEMBER_ANNOTATIONS_REQUIRED,
+ MEMBER_ANNOTATIONS_OPTIONAL;
+ public boolean isMemberAnnotationsRequired() {
+ return this == MEMBER_ANNOTATIONS_REQUIRED;
+ }
+ }
+
+ /**
+ * Effectively applies on a per class basis, when introspecting
+ * class (object- and member-) support methods for the meta-model.
+ */
+ public static enum SupportMethodAnnotationPolicy {
+ SUPPORT_METHOD_ANNOTATIONS_REQUIRED,
+ SUPPORT_METHOD_ANNOTATIONS_OPTIONAL;
+ public boolean isSupportMethodAnnotationsRequired() {
+ return this == SUPPORT_METHOD_ANNOTATIONS_REQUIRED;
+ }
+ }
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/LabelPosition.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/LabelPosition.java
new file mode 100644
index 0000000000..b0246effa7
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/LabelPosition.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * The positioning of a label for a property or action parameter.
+ *
+ * @since 1.x {@index}
+ * @see org.apache.causeway.applib.annotation.PropertyLayout
+ * @see org.apache.causeway.applib.annotation.ParameterLayout
+ */
+@XmlType(
+ namespace = "http://isis.apache.org/applib/layout/component"
+ )
+public enum LabelPosition {
+
+ DEFAULT,
+ LEFT,
+ /**
+ * Right position of the label for Boolean properties.
+ * <strong>Not supported</strong> for now for other types.
+ */
+ RIGHT,
+ TOP,
+ NONE,
+ /**
+ * Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta
+ * annotations or superclasses/interfaces).
+ */
+ NOT_SPECIFIED
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/LogicalTypeName.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/LogicalTypeName.java
new file mode 100644
index 0000000000..64e56aee3f
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/LogicalTypeName.java
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.inject.Named;
+
+/**
+ * Introduced to allow for abstract types to be mapped to a logical-type-name,
+ * for the security model to apply permission checks against.
+ * @deprecated use {@link Named} instead
+ * @see Named
+ */
+@Inherited
+@Target({
+ ElementType.TYPE,
+ ElementType.ANNOTATION_TYPE
+})
+@Retention(RetentionPolicy.RUNTIME)
+@Deprecated(forRemoval = true, since = "2.0.0-M8")
+public @interface LogicalTypeName {
+
+ /**
+ * If unspecified, the fully-qualified class name is used instead.
+ * @see DomainObject#logicalTypeName()
+ */
+ String value()
+ default "";
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/MemberSupport.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/MemberSupport.java
new file mode 100644
index 0000000000..4c87425cb5
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/MemberSupport.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Indicates that a method is a supporting-method, one that contributes (hide, validate, ...)
+ * to an <i>Action</i>, <i>Property</i> or <i>Collection</i>.
+ * <p>
+ * For <i>mixins</i> is also allowed to be placed on the mixin's main method.
+ * <p>
+ * By placing the {@link MemberSupport} annotation on a method, a contract with the meta-model is enforced,
+ * such that this method must be recognized by the meta-model and cannot be ignored.
+ * <p>
+ * It is complementary to {@link ObjectSupport} and {@link ObjectLifecycle},
+ * and in some sense acts as the semantic counterpart to {@link Programmatic}.
+ *
+ * @since 2.0 {@index}
+ * @see ObjectSupport
+ * @see ObjectLifecycle
+ * @see Programmatic
+ */
+@Inherited
+@Target({ ElementType.METHOD, ElementType.ANNOTATION_TYPE })
+@Retention(RetentionPolicy.RUNTIME)
+@Domain.Include // meta annotation, in support of meta-model validation
+public @interface MemberSupport {
+
+}
\ No newline at end of file
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/MinLength.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/MinLength.java
new file mode 100644
index 0000000000..0b335ca51f
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/MinLength.java
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.causeway.applib.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Specify the minimum number of characters for an auto-complete search argument.
+ * @since 1.x {@index}
+ */
+@Inherited
+@Target({ ElementType.PARAMETER })
+@Retention(RetentionPolicy.RUNTIME)
+public @interface MinLength {
+ int value();
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/Module.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Module.java
new file mode 100644
index 0000000000..d7be3f770e
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Module.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.causeway.applib.annotation;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
+
+/**
+ * Intended to be annotated on the root marker class of a (Maven) module which contains a single coherent set of
+ * functionality, possibly including domain services.
+ *
+ * <p>
+ * A {@link Module @Module} (because it's a meta-annotation) is also a Spring {@link Configuration @Configuration},
+ * which means that the functionality can be depended upon transitively using Spring's {@link Import @Import}
+ * annotation. Normally the import graph mirrors the dependencies in Maven.
+ * </p>
+ *
+ * <p>
+ * Also, a {@link Module @Module} also declares the Spring {@link ComponentScan @ComponentScan} (with no parameters),
+ * which means that any domain services in the same package or subpackages are automatically found and registered.
+ * </p>
+ *
+ * @since 2.x {@index}
+ * @implNote - there are possible performance implications from using this annotation, because it may result in
+ * scanning more classes than are needed. It is therefore not used within the framework code, but is
+ * provided as a convenience by domain applications.
+ */
+@Inherited
+@Target({ ElementType.TYPE })
+@Retention(RetentionPolicy.RUNTIME)
+@Configuration
+@Documented
+@ComponentScan
+public @interface Module {
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/Nature.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Nature.java
new file mode 100644
index 0000000000..872f20dd54
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Nature.java
@@ -0,0 +1,104 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+import javax.xml.bind.annotation.XmlRootElement;
+
+import org.springframework.cglib.proxy.Mixin;
+
+import org.apache.causeway.applib.ViewModel;
+
+/**
+ * The different sorts of domain objects recognized by Isis.
+ *
+ * @since 1.x {@index}
+ */
+public enum Nature {
+
+ /**
+ * The default; allows the programmer to combine <tt>@DomainObject</tt> annotation with the
+ * {@link ViewModel} annotation, or the {@link XmlRootElement} annotation, or by implementing the
+ * {@link org.apache.causeway.applib.ViewModel} interface.
+ */
+ NOT_SPECIFIED,
+
+ /**
+ * A domain entity whose persistence is managed internally by Isis,
+ * using JPA or JDO as the persistence implementation.
+ * <p>
+ * Domain entities are considered to be part of the domain model layer.
+ * <p>
+ * Currently implies no additional semantics other than documentation.
+ */
+ ENTITY,
+
+ /**
+ * An object that is conceptually part of the application layer, and which surfaces behavior and/or state that
+ * is aggregate of one or more domain entity.
+ *
+ * <p>
+ * The identity of a view model is determined solely by the state of object's properties.
+ * Using this nature should be considered exactly equivalent to annotating with {@link ViewModel}.
+ *
+ * <p>
+ * Note that collections are ignored; if their state is required to fully identify the view model, define the
+ * view model using the JAXB {@link XmlRootElement} annotation instead (where the object's state is serialized
+ * to an arbitrarily deep graph of data, with references to persistent entities transparently resolved to
+ * <code><oid-dto></code> elements).
+ *
+ * @see ViewModel
+ */
+ VIEW_MODEL,
+
+ /**
+ * An object that acts as a mix-in to some other object, contributing behavior and/or derived state based on the
+ * domain object.
+ *
+ * @see Mixin
+ */
+ MIXIN,
+
+ /**
+ * An object that is entirely managed by the underlying IoC container.
+ * @apiNote EXPERIMENTAL
+ */
+ BEAN,
+ ;
+
+ public boolean isNotSpecified() {
+ return this == Nature.NOT_SPECIFIED;
+ }
+
+ public boolean isEntity() {
+ return this == Nature.ENTITY;
+ }
+
+ public boolean isMixin() {
+ return this == Nature.MIXIN;
+ }
+
+ public boolean isViewModel() {
+ return this == Nature.VIEW_MODEL;
+ }
+
+ public boolean isBean() {
+ return this == Nature.BEAN;
+ }
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/NatureOfService.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/NatureOfService.java
new file mode 100644
index 0000000000..b7c3312e19
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/NatureOfService.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+/**
+ * The different sorts of domain services recognized by Isis, as specified in {@link DomainService#nature()}
+ * @since 1.x {@index}
+ */
+public enum NatureOfService {
+ /**
+ * The service's actions appear in the REST API and in 'viewers', eg. in the menu bar.
+ *
+ * @apiNote
+ * Contributing actions to the 'viewer' implies, that these must also be exposed to the REST API,
+ * simply because alternative viewers might be solely based on the provided REST end-points.
+ */
+ VIEW,
+ /**
+ * The service's actions should only be visible in the REST API exposed by the Restful Objects viewer.
+ */
+ REST,
+
+ ;
+
+ // -- BASIC PREDICATES
+
+ /**
+ * Whether a service contributes its actions to viewers and to the REST API.
+ * @see NatureOfService#VIEW
+ */
+ public boolean isView() {
+ return this == VIEW;
+ }
+
+ /**
+ * Whether a service contributes its actions exclusively to the REST API.
+ * @see NatureOfService#REST
+ */
+ public boolean isRestOnly() {
+ return this == REST;
+ }
+
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/Navigable.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Navigable.java
new file mode 100644
index 0000000000..e3546d3f20
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Navigable.java
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+/**
+ *
+ * Tells the framework which method or field to use in order to construct a navigable chain of
+ * parent domain object instances. The Navigable.PARENT 'flag' can only be used once per class declaration.
+ *
+ * @since 2.0 {@index}
+ */
+public enum Navigable {
+
+ NOT_SPECIFIED,
+ IGNORE,
+ PARENT,
+ ;
+
+ public boolean isParent() {
+ return this == PARENT;
+ }
+
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/ObjectLifecycle.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/ObjectLifecycle.java
new file mode 100644
index 0000000000..e2b0eb8464
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/ObjectLifecycle.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Indicates that a method is an <i>Object</i> lifecycle callback method,
+ * one of (created, loaded, saved, ...).
+ * <p>
+ * May only be placed on <i>domain object</i> methods, not <i>mixins</i> nor <i>domain services</i>.
+ * <p>
+ * By placing the {@link ObjectLifecycle} annotation on a method, a contract with the meta-model is enforced,
+ * such that this method must be recognized by the meta-model and cannot be ignored.
+ * <p>
+ * It is complementary to {@link MemberSupport} and {@link ObjectSupport},
+ * and in some sense acts as the semantic counterpart to {@link Programmatic}.
+ *
+ * @since 2.0 {@index}
+ * @see ObjectSupport
+ * @see MemberSupport
+ * @see Programmatic
+ */
+@Inherited
+@Target({ ElementType.METHOD, ElementType.ANNOTATION_TYPE })
+@Retention(RetentionPolicy.RUNTIME)
+@Domain.Include // meta annotation, in support of meta-model validation
+public @interface ObjectLifecycle {
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/ObjectSupport.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/ObjectSupport.java
new file mode 100644
index 0000000000..3c83445dd8
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/ObjectSupport.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Indicates that a method is a supporting-method, one that contributes (disabled, hidden, ...)
+ * to its <i>Object</i>.
+ * <p>
+ * May only be placed on <i>domain object</i> methods, not <i>mixins</i> nor <i>domain services</i>.
+ * <p>
+ * By placing the {@link ObjectSupport} annotation on a method, a contract with the meta-model is enforced,
+ * such that this method must be recognized by the meta-model and cannot be ignored.
+ * <p>
+ * It is complementary to {@link MemberSupport} and {@link ObjectLifecycle},
+ * and in some sense acts as the semantic counterpart to {@link Programmatic}.
+ *
+ * @since 2.0 {@index}
+ * @see ObjectLifecycle
+ * @see MemberSupport
+ * @see Programmatic
+ */
+@Inherited
+@Target({ ElementType.METHOD, ElementType.ANNOTATION_TYPE })
+@Retention(RetentionPolicy.RUNTIME)
+@Domain.Include // meta annotation, in support of meta-model validation
+public @interface ObjectSupport {
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/Optionality.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Optionality.java
new file mode 100644
index 0000000000..883b43f92f
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Optionality.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+/**
+ * Whether the property or parameter is optional or is required (aka mandatory).
+ * @since 1.x {@index}
+ */
+public enum Optionality {
+
+ /**
+ * Default, usually meaning mandatory for properties and always meaning mandatory for parameters.
+ *
+ * <p>
+ * For properties, will be false unless JDO <code>javax.jdo.annotations.Column</code> has also specified with
+ * <code>javax.jdo.annotations.Column#allowsNull()</code> set to <code>true</code>.
+ * </p>
+ */
+ DEFAULT,
+
+ /**
+ * Indicates that the property or parameter is not required.
+ */
+ OPTIONAL,
+
+ /**
+ * Indicates that the property is required (even if the JDO <code>javax.jdo.annotations.Column</code> annotation
+ * says otherwise).
+ *
+ * <p>
+ * When using the JDO/DataNucleus objectstore, it is sometimes necessary to annotate a property as optional
+ * (using <code>javax.jdo.annotations.Column#allowsNull()</code> set to <code>true</code>), even if the property is
+ * logically mandatory. For example, this can occur when the property is in a subtype class that has been
+ * "rolled up" to the superclass table using <code>javax.jdo.annotations.Inheritance</code>> with the
+ * <code>javax.jdo.annotations.InheritanceStrategy#SUPERCLASS_TABLE</code> superclass strategy.
+ * </p>
+ *
+ * <p>
+ * This annotation, therefore, is intended to override any objectstore-specific
+ * annotation, so that Isis can apply the constraint even though the objectstore
+ * is unable to do so.
+ * </p>
+ */
+ MANDATORY,
+
+ /**
+ * Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta
+ * annotations or superclasses/interfaces).
+ */
+ NOT_SPECIFIED;
+
+ public boolean isOptional() { return this == OPTIONAL; }
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/Parameter.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Parameter.java
new file mode 100644
index 0000000000..ee6cae8349
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Parameter.java
@@ -0,0 +1,150 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import org.apache.causeway.applib.spec.Specification;
+import org.apache.causeway.applib.value.Blob;
+import org.apache.causeway.applib.value.Clob;
+
+/**
+ * Collects together all domain semantics of an action parameter within a
+ * single annotation.
+ *
+ * @see Action
+ * @see Property
+ * @see ParameterLayout
+ *
+ * @since 1.x {@index}
+ */
+@Inherited
+@Target({
+ ElementType.PARAMETER,
+ ElementType.ANNOTATION_TYPE
+})
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Parameter {
+
+ /**
+ * For uploading {@link Blob} or {@link Clob}, optionally restrict the files accepted (eg <tt>.xslx</tt>).
+ *
+ * <p>
+ * The value should be of the form "file_extension|audio/*|video/*|image/*|media_type".
+ * </p>
+ *
+ * <p>
+ * Note that this does not prevent the user from uploading some other file type; rather it merely defaults the
+ * file type in the file open dialog.
+ * </p>
+ *
+ * @see Action#fileAccept()
+ * @see Property#fileAccept()
+ * @see <a href="http://www.w3schools.com/tags/att_input_accept.asp">http://www.w3schools.com</a>
+ */
+ String fileAccept()
+ default "";
+
+ /**
+ * The maximum entry length of a string parameter (it is ignored for other
+ * types).
+ *
+ * <p>
+ * The default value (<code>-1</code>) indicates that no maxLength has
+ * been specified.
+ * </p>
+ *
+ * @see Property#maxLength()
+ */
+ int maxLength()
+ default -1;
+
+ /**
+ * The {@link org.apache.causeway.applib.spec.Specification}(s) to be satisfied by this parameter.
+ *
+ * <p>
+ * If more than one is provided, then all must be satisfied (in effect "AND"ed together).
+ * </p>
+ *
+ * @see Property#mustSatisfy()
+ */
+ Class<? extends Specification>[] mustSatisfy()
+ default {};
+
+ /**
+ * Whether this parameter is optional or is mandatory (ie required).
+ *
+ * <p>
+ * For parameters the default value, {@link org.apache.causeway.applib.annotation.Optionality#DEFAULT}, is taken
+ * to mean that the parameter is required.
+ * </p>
+ *
+ * @see Property#optionality()
+ */
+ Optionality optionality()
+ default Optionality.NOT_SPECIFIED;
+
+ /**
+ * Regular expression pattern that a value should conform to, and can be formatted as.
+ *
+ * @see Property#regexPattern()
+ * @see Parameter#regexPatternReplacement()
+ * @see Parameter#regexPatternFlags()
+ */
+ String regexPattern()
+ default "";
+
+ /**
+ * Pattern flags, as per {@link java.util.regex.Pattern#compile(String, int)} .
+ *
+ * <p>
+ * The default value, <code>0</code>, means that no flags have been specified.
+ * </p>
+ *
+ * @see Parameter#regexPattern()
+ */
+ int regexPatternFlags()
+ default 0;
+
+ /**
+ * Replacement text for the pattern in generated error message.
+ *
+ * @see Parameter#regexPattern()
+ */
+ String regexPatternReplacement()
+ default "Doesn't match pattern";
+
+ /**
+ * Whether dependent parameters should be reset to their default if an earlier parameter changes its
+ * value, or whether instead a parameter value, once changed by the end-user, should never be
+ * overwritten even if the end-user changes an earlier parameter value.
+ */
+ /**
+ * Whether this parameter should be reset to its default if an earlier parameter changes its
+ * value, or whether instead the parameter's value, once changed by the end-user, should never be
+ * overwritten even if the end-user changes an earlier parameter value.
+ */
+ DependentDefaultsPolicy dependentDefaultsPolicy()
+ default DependentDefaultsPolicy.AS_CONFIGURED;
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/ParameterLayout.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/ParameterLayout.java
new file mode 100644
index 0000000000..ec5aabede1
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/ParameterLayout.java
@@ -0,0 +1,130 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Collects together all layout hints for action parameters in a single
+ * annotation.
+ *
+ * @since 1.x {@index}
+ *
+ * @see ActionLayout
+ * @see PropertyLayout
+ * @see Parameter
+ */
+@Inherited
+@Target({
+ ElementType.PARAMETER,
+ ElementType.ANNOTATION_TYPE
+})
+@Retention(RetentionPolicy.RUNTIME)
+public @interface ParameterLayout {
+
+ /**
+ * Indicates the css class that a parameter should have, to
+ * allow more targeted styling in <code>application.css</code>.
+ *
+ * @see PropertyLayout#cssClass()
+ * @see ActionLayout#cssClass()
+ * @see CollectionLayout#cssClass()
+ * @see DomainObjectLayout#cssClass()
+ */
+ String cssClass()
+ default "";
+
+ /**
+ * Description of this property, eg to be rendered in a tooltip.
+ *
+ * @see PropertyLayout#describedAs()
+ * @see ActionLayout#describedAs()
+ * @see CollectionLayout#describedAs()
+ * @see DomainObjectLayout#describedAs()
+ */
+ String describedAs()
+ default "";
+
+ /**
+ * In forms, positioning of the label (left, top or none) relative to the parameter value.
+ *
+ * <p>
+ * If not specified, the default depends upon the parameter value's
+ * datatype (including whether the field is {@link #multiLine()}.
+ * </p>
+ *
+ * @see #multiLine()
+ */
+ LabelPosition labelPosition()
+ default LabelPosition.NOT_SPECIFIED;
+
+ /**
+ * Name of this action parameter.
+ *
+ * <p>
+ * The name of an action parameters is available to the framework
+ * provided that the code is compiled using <code>-parameters</code>
+ * (for <code>javac</code>.
+ * </p>
+ *
+ * <p>
+ * The only reason then to name the parameter is if the desired name is a reserved Java keyword, such as `default` or `package`.
+ * </p>
+ *
+ * @see ActionLayout#named()
+ * @see PropertyLayout#named()
+ * @see CollectionLayout#named()
+ * @see DomainObjectLayout#named()
+ * @see DomainServiceLayout#named()
+ */
+ String named()
+ default "";
+
+ /**
+ * For string parameters (and properties), whether to render as a text area
+ * over multiple lines.
+ *
+ * <p>
+ * If set to > 1, then {@link #labelPosition()} defaults to
+ * {@link LabelPosition#TOP top}.
+ * </p>
+ *
+ * @see #labelPosition()
+ * @see PropertyLayout#multiLine()
+ */
+ int multiLine()
+ default -1;
+
+ /**
+ * The typical entry length of a field, use to determine the optimum width for display
+ *
+ * <p>
+ * Note: the Wicket viewer does not use this information.
+ * </p>
+ *
+ * @see PropertyLayout#typicalLength()
+ */
+ int typicalLength()
+ default -1;
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/PriorityPrecedence.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/PriorityPrecedence.java
new file mode 100644
index 0000000000..bff6ab0ee9
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/PriorityPrecedence.java
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+import org.springframework.core.Ordered;
+
+import lombok.experimental.UtilityClass;
+
+/**
+ * Constants for use with {@link javax.annotation.Priority}, used both to determine which service to inject into a
+ * scalar field when there are multiple candidates, and also to order services if injecting into a vector field (in
+ * other words, into a {@link java.util.List}).
+ *
+ * @see javax.annotation.Priority
+ * @see org.springframework.core.annotation.Order
+ *
+ * @since 2.0 {@index}
+ */
+@UtilityClass
+public class PriorityPrecedence {
+
+ /**
+ * For domain services with the highest precedence (priority) value.
+ *
+ * <p>
+ * No framework services use this constant, but some very fundamental services (eg for security)
+ * that are not expected to be overridden use a value that is only a little after this first value.
+ * </p>
+ *
+ * <p>
+ * Note that this is a non-negative value, because {@link javax.annotation.Priority}'s javadoc states:
+ * "priority values should generally be non-negative, with negative values * reserved for special meanings
+ * such as <i>undefined</i> or <i>not specified</i>.". In particular, it is <i>not</i> the same as
+ * {@link Ordered#HIGHEST_PRECEDENCE}.
+ * </p>
+ *
+ * @see javax.annotation.Priority
+ */
+ public static final int FIRST = 0;
+
+ /**
+ * For domain services that act as a fallback, and which will typically be overridden.
+ *
+ * @see java.lang.Integer#MAX_VALUE
+ * @see Ordered#LOWEST_PRECEDENCE
+ */
+ public static final int LAST = Ordered.LOWEST_PRECEDENCE;
+
+ /**
+ * For framework for services that could be overridden by application code (though not commonly).
+ */
+ public static final int MIDPOINT = (LAST - FIRST) / 2;
+
+ /**
+ * For framework for services that are unlikely to be overridden by application code.
+ */
+ public static final int EARLY = (MIDPOINT - FIRST) / 2;
+
+ /**
+ * For framework services that are expected to be overridden by application code, or that act as a fallback.
+ */
+ public static final int LATE = MIDPOINT + (LAST - MIDPOINT) / 2;
+
+
+}
+
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/Programmatic.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Programmatic.java
new file mode 100644
index 0000000000..81d3bd633c
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Programmatic.java
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.causeway.applib.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Indicates that an property, collection or action is to be called
+ * programmatically and should be ignored from the metamodel.
+ *
+ * <p>
+ * For example, it may be a helper method that needs to be <tt>public</tt> but
+ * that doesn't conform to the requirements of an action (for example, invalid
+ * parameter types).
+ *
+ * <p>
+ * It can also be added to a type, meaning that the type is ignored from the metamodel.
+ * This is intended as a "get out of jail" for any classes from unit tests, say,
+ * that end up on the classpath of integration tests but should otherwise be ignored.
+ * @apiNote synonym for {@link Domain.Exclude}
+ * @see Domain.Exclude
+ * @since 1.x {@index}
+ */
+@Inherited
+@Target({
+ ElementType.METHOD,
+ ElementType.TYPE,
+ ElementType.FIELD
+})
+@Retention(RetentionPolicy.RUNTIME)
+@Domain.Exclude // meta annotation
+public @interface Programmatic {
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/Projecting.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Projecting.java
new file mode 100644
index 0000000000..52404d1f10
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Projecting.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+/**
+ *
+ * @since 1.x {@index}
+ */
+public enum Projecting {
+
+ /**
+ * The property holds the underlying domain object of which this (view model) object is a projection.
+ */
+ PROJECTED,
+
+ /**
+ * Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta
+ * annotations or superclasses/interfaces).
+ */
+ NOT_SPECIFIED;
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/PromptStyle.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/PromptStyle.java
new file mode 100644
index 0000000000..af8e92ee5a
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/PromptStyle.java
@@ -0,0 +1,91 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * How prompting for new values of a property/arguments for an action should be performed
+ * @since 1.x {@index}
+ */
+@XmlType(
+ namespace = "http://isis.apache.org/applib/layout/component"
+ )
+public enum PromptStyle {
+ /**
+ * Prompt using the style configured by <tt>isis.viewer.wicket.promptStyle</tt>.
+ *
+ * <p>
+ * If no style is configured, then {@link #INLINE} is assumed.
+ * </p>
+ */
+ AS_CONFIGURED,
+ /**
+ * Use a dialog for the prompt.
+ *
+ * <p>
+ * This will be either modal dialog (same as if {@link #DIALOG_MODAL} was selected) or sidebar (same as if
+ * {@link #DIALOG_SIDEBAR} was selected) depending on the value of the
+ * <code>isis.viewer.wicket.dialogMode</code> configuration property.
+ * </p>
+ */
+ DIALOG,
+ /**
+ * Use a dialog for the prompt, rendered in a sidebar.
+ */
+ DIALOG_SIDEBAR,
+ /**
+ * Use a dialog for the prompt, rendered in a modal dialog.
+ */
+ DIALOG_MODAL,
+ /**
+ * Show the form inline, temporarily replacing the rendering of the property.
+ */
+ INLINE,
+ /**
+ * Applies only to actions, show the form inline, invoked as if editing the property.
+ *
+ * <p>Note that:
+ * <ul>
+ * <li>
+ * Only one such action should have this attribute set per property. If there are multiple actions, then
+ * the first one discovered with the attribute is used.
+ * </li>
+ * <li>
+ * If the property is editable, then this attribute is ignored (and the action is treated as having a prompt style of {@link #INLINE}).
+ * </li>
+ * <li>
+ * If applied to a property, then the property's prompt style is simply treated as {@link #INLINE}.
+ * </li>
+ * </ul>
+ * </p>
+ *
+ */
+ INLINE_AS_IF_EDIT,
+ /**
+ * Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta
+ * annotations or superclasses/interfaces).
+ */
+ NOT_SPECIFIED;
+ public boolean isDialogAny() { return this == DIALOG || this == DIALOG_MODAL || this == DIALOG_SIDEBAR; }
+ public boolean isInline() { return this == INLINE; }
+ public boolean isInlineAsIfEdit() { return this == INLINE_AS_IF_EDIT; }
+ public boolean isInlineAny() { return this == INLINE || this == INLINE_AS_IF_EDIT; }
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/Property.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Property.java
new file mode 100644
index 0000000000..ff0551d573
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Property.java
@@ -0,0 +1,295 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import org.apache.causeway.applib.events.domain.PropertyDomainEvent;
+import org.apache.causeway.applib.services.command.Command;
+import org.apache.causeway.applib.services.commanddto.conmap.ContentMappingServiceForCommandDto;
+import org.apache.causeway.applib.services.commanddto.conmap.ContentMappingServiceForCommandsDto;
+import org.apache.causeway.applib.services.commanddto.processor.CommandDtoProcessor;
+import org.apache.causeway.applib.services.iactn.Execution;
+import org.apache.causeway.applib.services.publishing.spi.CommandSubscriber;
+import org.apache.causeway.applib.services.publishing.spi.ExecutionSubscriber;
+import org.apache.causeway.applib.spec.Specification;
+import org.apache.causeway.applib.value.Blob;
+import org.apache.causeway.applib.value.Clob;
+
+/**
+ * Collects together all the domain semantics for the property of a domain
+ * object.
+ *
+ * @see Action
+ * @see Collection
+ * @see DomainObject
+ * @see PropertyLayout
+ *
+ * @since 1.x {@index}
+ */
+@Inherited
+@Target({
+ ElementType.METHOD,
+ ElementType.FIELD,
+ ElementType.TYPE,
+ ElementType.ANNOTATION_TYPE
+})
+@Retention(RetentionPolicy.RUNTIME)
+@DomainObject(nature=Nature.MIXIN, mixinMethod = "prop") // meta annotation, only applies at class level
+@Domain.Include // meta annotation, in support of meta-model validation
+public @interface Property {
+
+ /**
+ * The {@link CommandDtoProcessor} to process this command's DTO.
+ *
+ * <p>
+ * The processor itself is used by {@link ContentMappingServiceForCommandDto} and
+ * {@link ContentMappingServiceForCommandsDto} to dynamically transform the DTOs.
+ * </p>
+ *
+ * @see Action#commandDtoProcessor()
+ * @see Property#commandPublishing()
+ */
+ Class<? extends CommandDtoProcessor> commandDtoProcessor()
+ default CommandDtoProcessor.class;
+
+ /**
+ * Whether property edits, captured as {@link Command}s,
+ * should be published to {@link CommandSubscriber}s.
+ *
+ * @see Action#commandPublishing()
+ * @see Property#commandDtoProcessor()
+ */
+ Publishing commandPublishing()
+ default Publishing.NOT_SPECIFIED;
+
+ /**
+ * Indicates that changes to the property that should be posted to the
+ * {@link org.apache.causeway.applib.services.eventbus.EventBusService event bus} using a custom (subclass of)
+ * {@link org.apache.causeway.applib.events.domain.PropertyDomainEvent}.
+ *
+ * <p>
+ * Subscribers of this event can interact with the business rule
+ * checking (hide, disable, validate) and its modification (before and
+ * after).
+ * </p>
+ *
+ * <p>For example:
+ * </p>
+ *
+ * <pre>
+ * public static class StartDateChanged extends PropertyDomainEvent { ... }
+ *
+ * @Property(domainEvent=StartDateChanged.class)
+ * public LocalDate getStartDate() { ...}
+ * </pre>
+ *
+ * <p>
+ * This subclass must provide a no-arg constructor; the fields are set reflectively.
+ * </p>
+ *
+ * @see Action#domainEvent()
+ * @see Collection#domainEvent()
+ * @see DomainObject#propertyDomainEvent()
+ */
+ Class<? extends PropertyDomainEvent<?,?>> domainEvent()
+ default PropertyDomainEvent.Default.class;
+
+ /**
+ * Whether the properties of this domain object can be edited, or collections of this object be added to/removed from.
+ *
+ * <p>
+ * Note that non-editable objects can nevertheless have actions invoked upon them.
+ * </p>
+ *
+ * @see Property#editingDisabledReason()
+ * @see DomainObject#editing()
+ */
+ Editing editing()
+ default Editing.NOT_SPECIFIED;
+
+ /**
+ * If {@link #editing()} is set to {@link Editing#DISABLED},
+ * then the reason to provide to the user as to why this property cannot be edited.
+ *
+ * @see Property#editing()
+ */
+ String editingDisabledReason()
+ default "";
+
+ /**
+ * When set to {@link Publishing#DISABLED},
+ * vetoes publishing of updates for this property.
+ * Otherwise has no effect, except when using {@link Publishing#ENABLED} to override
+ * an inherited property annotation, which is a supported use-case.
+ * <p>
+ * Relates to {@link DomainObject#entityChangePublishing()}, which controls
+ * whether entity-change-publishing is enabled for the corresponding entity type.
+ * @see DomainObject#entityChangePublishing()
+ * @apiNote does only apply to persistent properties of entity objects
+ */
+ Publishing entityChangePublishing()
+ default Publishing.NOT_SPECIFIED;
+
+ /**
+ * Whether
+ * {@link Execution}s
+ * (triggered property edits), should be dispatched to
+ * {@link ExecutionSubscriber}s.
+ *
+ * @see Action#executionPublishing()
+ */
+ Publishing executionPublishing()
+ default Publishing.NOT_SPECIFIED;
+
+ /**
+ * For uploading {@link Blob} or {@link Clob}, optionally restrict the files accepted (eg <tt>.xslx</tt>).
+ *
+ * <p>
+ * The value should be of the form "file_extension|audio/*|video/*|image/*|media_type".
+ * </p>
+ *
+ * <p>
+ * Note that this does not prevent the user from uploading some other
+ * file type; rather it merely defaults the file type in the file open dialog.
+ * </p>
+ *
+ * @see <a href="http://www.w3schools.com/tags/att_input_accept.asp">http://www.w3schools.com</a>
+ * @see Parameter#fileAccept()
+ * @see Action#fileAccept()
+ */
+ String fileAccept()
+ default "";
+
+ /**
+ * Indicates where the property is not visible to the user.
+ *
+ * @see Action#hidden()
+ * @see Collection#hidden()
+ */
+ Where hidden()
+ default Where.NOT_SPECIFIED;
+
+ /**
+ * The maximum entry length of a field.
+ *
+ * <p>
+ * The default value (<code>-1</code>) indicates that no maxLength has been specified.
+ * </p>
+ *
+ * <p>
+ * NOTE: this will usually be supplemented by a JDO or JPA-specific
+ * annotation to indicate length of the column in the table to whic
+ * the entity is mapped.
+ * </p>
+ *
+ * @see Parameter#maxLength()
+ */
+ int maxLength()
+ default -1;
+
+ /**
+ * Indicates whether the property should be included or excluded from mementos.
+ *
+ * <p>
+ * To ensure that the property is actually not persisted in the objectstore, also annotate with the JDO annotation
+ * <code>javax.jdo.annotations.NotPersistent</code>
+ * </p>
+ */
+ Snapshot snapshot()
+ default Snapshot.NOT_SPECIFIED;
+
+ /**
+ * The {@link org.apache.causeway.applib.spec.Specification}(s) to be satisfied by this property.
+ *
+ * <p>
+ * If more than one is provided, then all must be satisfied (in effect "AND"ed together).
+ * </p>
+ *
+ * @see Parameter#mustSatisfy()
+ */
+ Class<? extends Specification>[] mustSatisfy()
+ default {};
+
+ /**
+ * Whether this property is optional or is mandatory (ie required).
+ *
+ * <p>
+ * NOTE: this will usually be supplmented by a JDO or JPA-specific
+ * annotation to specify the nullability of the corresponding column in
+ * the table to which the owning entity is mapped.
+ * </p>
+ *
+ * @see Parameter#optionality()
+ */
+ Optionality optionality()
+ default Optionality.NOT_SPECIFIED;
+
+ /**
+ * If set to {@link Projecting#PROJECTED projected}, then indicates that the owner of this property is a view model
+ * which is a projection of some other entity, and that the property holds a reference to that
+ * "underlying".
+ *
+ * <p>
+ * This is used to automatically redirect any bookmarks to the view model (projection) to instead be directed
+ * at the underlying entity.
+ * </p>
+ *
+ * <p>
+ * Only one such property should be marked as being a projection with a view model.
+ * </p>
+ */
+ Projecting projecting()
+ default Projecting.NOT_SPECIFIED;
+
+ /**
+ * Regular expression pattern that a value should conform to, and can be formatted as.
+ *
+ * @see Parameter#regexPattern()
+ * @see Property#regexPatternReplacement()
+ * @see Property#regexPatternFlags()
+ */
+ String regexPattern()
+ default "";
+
+ /**
+ * Pattern flags, as per {@link java.util.regex.Pattern#compile(String, int)} .
+ *
+ * <p>
+ * The default value, <code>0</code>, means that no flags have been specified.
+ * </p>
+ *
+ * @see Property#regexPattern()
+ */
+ int regexPatternFlags()
+ default 0;
+
+ /**
+ * Replacement text for the pattern in generated error message.
+ *
+ * @see Property#regexPattern()
+ */
+ String regexPatternReplacement()
+ default "Doesn't match pattern";
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/PropertyLayout.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/PropertyLayout.java
new file mode 100644
index 0000000000..d11f325213
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/PropertyLayout.java
@@ -0,0 +1,259 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Collects together all layout hints for a property of a domain object.
+ *
+ * @see ActionLayout
+ * @see CollectionLayout
+ * @see DomainObjectLayout
+ * @see Property
+ *
+ * @since 1.x {@index}
+ * @see org.apache.causeway.applib.annotation.ParameterLayout
+ */
+@Inherited
+@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.TYPE, ElementType.ANNOTATION_TYPE })
+@Retention(RetentionPolicy.RUNTIME)
+@DomainObject(nature=Nature.MIXIN, mixinMethod = "prop") // meta annotation, only applies at class level
+@Domain.Include // meta annotation, in support of meta-model validation
+public @interface PropertyLayout {
+
+ /**
+ * Indicates the css class that a property should have, to
+ * allow more targeted styling in <code>application.css</code>.
+ *
+ * @see ActionLayout#cssClass()
+ * @see ParameterLayout#cssClass()
+ * @see CollectionLayout#cssClass()
+ * @see DomainObjectLayout#cssClass()
+ */
+ String cssClass()
+ default "";
+
+ /**
+ * Description of this property, eg to be rendered in a tooltip.
+ *
+ * @see ActionLayout#describedAs()
+ * @see ParameterLayout#describedAs()
+ * @see CollectionLayout#describedAs()
+ * @see DomainObjectLayout#describedAs()
+ */
+ String describedAs()
+ default "";
+
+
+ /**
+ * Specifies the <b>id</b> of associated <i>FieldSet</i>.
+ *
+ * <p>
+ * A <i>FieldSet</i> is a layout component for property grouping, that can either be specified via
+ * a <code>Xxx.layout.xml</code> file (with <code>Xxx</code> the domain object name) or is
+ * inferred by the framework via annotations (aka the programming model).
+ * <i>FieldSet</i>s are represented in-memory and requires a framework internal unique id per domain
+ * object type.
+ * </p>
+ * <p>
+ * Following 2 scenarios have slightly different behavior:
+ * </p>
+ *
+ * <h1>XML layout is present</h1>
+ * <p>
+ * When a XML layout is present, every <i>FieldSet</i> <b>id</b> is either explicitly specified in
+ * the file or may be inferred from a non-empty <b>name</b>.
+ * If the <b>name</b> is empty "" or missing, then the <b>id</b> within the file is mandatory.
+ * </p><p>
+ * If this <i>Property</i> is not already explicitly listed within the XML layout, we lookup the
+ * associated <i>FieldSet</i> in the XML layout file first matching by <b>id</b>
+ * using {@code @PropertyLayout(fieldSetId=...)} if any, then falling back to matching by (friendly)
+ * <b>name</b> using @PropertyLayout(fieldSetName=...)} if any.
+ * </p>
+ *
+ * <h1>XML layout is absent</h1>
+ * <p>
+ * We reify (in-memory) the associated <i>FieldSet</i> using {@code @PropertyLayout(fieldSetId=...)}
+ * (if present) as its <b>id</b> and using {@code @PropertyLayout(fieldSetId=...)} as its (friendly)
+ * <b>name</b>.
+ * While if no <b>id</b> is provided an <b>id</b> is inferred from the (friendly) <b>name</b>, in which
+ * case the (friendly) <b>name</b> must not be empty.
+ * Whereas if no (friendly) <b>name</b> is provided a (friendly) <b>name</b> is inferred from the
+ * <b>id</b>, in which case the <b>id</b> must not be empty.
+ * </p><p>
+ * With {@code @PropertyLayout(sequence=...)} the relative position within that <i>FieldSet</i> can be
+ * specified.
+ * </p>
+ *
+ * @see Action#choicesFrom()
+ * @see ActionLayout#fieldSetId()
+ * @see ActionLayout#fieldSetName()
+ * @see PropertyLayout#fieldSetName()
+ * @see PropertyLayout#sequence()
+ */
+ String fieldSetId()
+ default "__infer";
+
+ /**
+ * Specifies the <b>friendly-name</b> of associated <i>FieldSet</i>.
+ * <p>
+ * Explicitly specifying an empty "" <b>friendly-name</b> will suppress the <i>FieldSet</i>'s label
+ * from being rendered.
+ * </p>
+ * <p>
+ * For a more in depth description see {@link PropertyLayout#fieldSetId()}.
+ * </p>
+ *
+ * @see Action#choicesFrom()
+ * @see ActionLayout#fieldSetId()
+ * @see ActionLayout#fieldSetName()
+ * @see PropertyLayout#fieldSetId()
+ * @see PropertyLayout#sequence()
+ */
+ String fieldSetName()
+ default "__infer";
+
+ /**
+ * Indicates where in the UI the property
+ * should <i>not</i> be visible.
+ *
+ * @see ActionLayout#hidden()
+ * @see CollectionLayout#hidden()
+ */
+ Where hidden()
+ default Where.NOT_SPECIFIED;
+
+ /**
+ * In forms, positioning of the label (left, top or none) relative to the property value.
+ *
+ * <p>
+ * If not specified, the default depends upon the property value's
+ * datatype (including whether the field is {@link #multiLine()}.
+ * </p>
+ *
+ * @see #multiLine()
+ * @see ParameterLayout#labelPosition()
+ */
+ LabelPosition labelPosition()
+ default LabelPosition.NOT_SPECIFIED;
+
+ /**
+ * For string properties (and parameters), render as a text area over specified number of lines.
+ *
+ * <p>
+ * If set to > 1, then {@link #labelPosition()} defaults to
+ * {@link LabelPosition#TOP top}.
+ * </p>
+ *
+ * @see ParameterLayout#multiLine()
+ */
+ int multiLine()
+ default -1;
+
+ /**
+ * Name of this property (overriding the name derived from its name in code).
+ *
+ * <p>
+ * A typical use case is if the desired name is a reserved Java keyword, such as `default` or `package`.
+ * </p>
+ *
+ * @see ActionLayout#named()
+ * @see ParameterLayout#named()
+ * @see CollectionLayout#named()
+ * @see DomainObjectLayout#named()
+ * @see DomainServiceLayout#named()
+ */
+ String named()
+ default "";
+
+ /**
+ * Whether this property should be used to construct the navigable chain of breadcrumbs in the UI.
+ *
+ * <p>
+ * Only one property can be annotated as such per domain class.
+ * </p>
+ */
+ Navigable navigable()
+ default Navigable.NOT_SPECIFIED;
+
+ /**
+ * How the properties of this domain object are be edited, either {@link PromptStyle#DIALOG dialog} or {@link PromptStyle#INLINE inline}.
+ */
+ PromptStyle promptStyle()
+ default PromptStyle.NOT_SPECIFIED;
+
+ /**
+ * Indicates that the value held by the property never changes over time, even when other properties of the object
+ * do change.
+ *
+ * <p>
+ * Setting this attribute to <tt>RepaintPolicy.NO_REPAINT</tt> is used as a hint to the viewer to not repaint
+ * the property after an AJAX update of some other property/ies of the object have changed.
+ * This is primarily for performance, eg can improve the user experience when rendering PDFs/blobs.
+ * </p>
+ *
+ * <p>
+ * Note that for this to work, the viewer will also ensure that none of the property's parent component
+ * (such as a tab group panel) are re-rendered.
+ * </p>
+ *
+ * <p>
+ * Design note: we considered implementing this an "immutable" flag on the {@link Property } annotation
+ * (because this flag is typically appropriate for immutable/unchanging properties of a domain object).
+ * However, we decided not to do that, on the basis that it might be interpreted as having a deeper impact
+ * within the framework than simply a hint for rendering.
+ * </p>
+ */
+ Repainting repainting()
+ default Repainting.NOT_SPECIFIED;
+
+
+ /**
+ * The order of this member relative to other members in the same (layout) group,
+ * given in <i>Dewey-decimal</i> notation.
+ * <p>
+ * An alternative is to use the <code>Xxx.layout.xml</code> file,
+ * where <code>Xxx</code> is the domain object name.
+ * </p>
+ * @see ActionLayout#sequence()
+ * @see CollectionLayout#sequence()
+ */
+ String sequence()
+ default "";
+
+ /**
+ * The typical entry length of a field, use to determine the optimum width
+ * for display.
+ *
+ * <p>
+ * Note: the Wicket viewer does not use this information.
+ * </p>
+ *
+ * @see ParameterLayout#typicalLength()
+ */
+ int typicalLength()
+ default -1;
+
+}
+
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/Publishing.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Publishing.java
new file mode 100644
index 0000000000..b0fcc08553
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Publishing.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+import org.apache.causeway.applib.services.command.Command;
+import org.apache.causeway.applib.services.iactn.Execution;
+import org.apache.causeway.applib.services.publishing.spi.CommandSubscriber;
+import org.apache.causeway.applib.services.publishing.spi.EntityChanges;
+import org.apache.causeway.applib.services.publishing.spi.EntityChangesSubscriber;
+import org.apache.causeway.applib.services.publishing.spi.EntityPropertyChange;
+import org.apache.causeway.applib.services.publishing.spi.EntityPropertyChangeSubscriber;
+import org.apache.causeway.applib.services.publishing.spi.ExecutionSubscriber;
+
+/**
+ * The available policies as to whether data should be published to
+ * corresponding subscribers. The framework supports several kinds of data
+ * that are available for publishing:
+ * <ul>
+ * <li><b>{@link EntityChanges} ... subscribed to via {@link EntityChangesSubscriber}</li>
+ * <li><b>{@link EntityPropertyChange} ... subscribed to via {@link EntityPropertyChangeSubscriber}</li>
+ * <li><b>{@link Command} ... subscribed to via {@link CommandSubscriber}</li>
+ * <li><b>{@link Execution} ... subscribed to via {@link ExecutionSubscriber}</li>
+ * </ul>
+ * @since 1.x {@index}
+ */
+public enum Publishing {
+
+ /**
+ * Publishing of data triggered by interaction with this object
+ * should be handled as per the default publishing policy
+ * configured in <tt>application.properties</tt>.
+ * <p>
+ * If no publishing policy is configured, then publishing is disabled.
+ */
+ AS_CONFIGURED,
+
+ /**
+ * Do publish data triggered by interaction with this object.
+ */
+ ENABLED,
+
+ /**
+ * Do <b>not</b> publish data triggered by interaction with this object
+ * (even if otherwise configured to enable publishing).
+ */
+ DISABLED,
+
+ /**
+ * Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta
+ * annotations or super-classes/interfaces).
+ */
+ NOT_SPECIFIED
+
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/Redirect.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Redirect.java
new file mode 100644
index 0000000000..1880c1fde3
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Redirect.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * The available policies for rendering the next page if the result is the same as the target
+ * (in other words, an action that returns "this").
+ * @since 1.x {@index}
+ */
+@XmlType(
+ namespace = "http://isis.apache.org/applib/layout/component"
+ )
+public enum Redirect {
+ /**
+ * As defined by configuration property <code>isis.viewer.wicket.redirectEvenIfSameObject</code>
+ */
+ AS_CONFIGURED,
+ /**
+ * Redirect (meaning render a new page) even if the result of the action is the same as the target.
+ */
+ EVEN_IF_SAME,
+ /**
+ * Don't redirect if the result is the same as the target, instead just update the existing page.
+ *
+ * <p>
+ * Of course, a redirect is still performed if the result of the action is different from the target.
+ * </p>
+ */
+ ONLY_IF_DIFFERS,
+}
diff --git a/api/applib/src/main/java/org/apache/causeway/applib/annotation/Repainting.java b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Repainting.java
new file mode 100644
index 0000000000..634f093135
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/causeway/applib/annotation/Repainting.java
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.causeway.applib.annotation;
+
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * Whether a component is unchanging and so does not require repainting.
+ * @since 1.x {@index}
+ */
+@XmlType(
+ namespace = "http://isis.apache.org/applib/layout/component"
+ )
+public enum Repainting {
+
+ REPAINT,
+
+ /**
+ * Equivalent to <tt>@PropertyLayout(unchanging=true)</tt> prior to Isis 2.x
+ */
+ NO_REPAINT,
+
+ /**
+ * Ignore the value provided by this annotation (meaning that the framework will keep searching, in meta
+ * annotations or superclasses/interfaces).
+ */
... 474195 lines suppressed ...