You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2021/02/01 09:09:16 UTC
[isis] 04/04: ISIS-2444: adds {@index} to classes to add to the
global index.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch ISIS-2444
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 9dad87bb5e4818ec7af33ecb211b9ef04a57c8e6
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Sun Jan 31 22:57:00 2021 +0000
ISIS-2444: adds {@index} to classes to add to the global index.
---
.../org/apache/isis/applib/AbstractViewModel.java | 5 +-
.../org/apache/isis/applib/IsisModuleApplib.java | 5 +-
.../isis/applib/RecreatableDomainObject.java | 3 +-
.../java/org/apache/isis/applib/ViewModel.java | 1 +
.../adapters/AbstractValueSemanticsProvider.java | 4 +-
.../isis/applib/adapters/DefaultsProvider.java | 3 +-
.../isis/applib/adapters/EncoderDecoder.java | 1 +
.../isis/applib/adapters/EncodingException.java | 3 +-
.../isis/applib/adapters/ParsingException.java | 1 +
.../apache/isis/applib/annotation/Defaulted.java | 8 +-
.../isis/applib/annotation/DomainObjectLayout.java | 3 +-
.../isis/applib/annotation/EntityChangeKind.java | 8 +-
.../client/RepresentationTypeSimplifiedV2.java | 47 +++++------
.../org/apache/isis/applib/clock/VirtualClock.java | 45 ++++++-----
.../apache/isis/applib/events/EventObjectBase.java | 1 -
.../applib/events/domain/AbstractDomainEvent.java | 2 +-
.../applib/events/domain/ActionDomainEvent.java | 2 +-
.../events/domain/CollectionDomainEvent.java | 2 +-
.../applib/events/domain/PropertyDomainEvent.java | 2 +-
.../events/lifecycle/AbstractLifecycleEvent.java | 2 +-
.../events/lifecycle/ObjectCreatedEvent.java | 2 +-
.../applib/events/lifecycle/ObjectLoadedEvent.java | 2 +-
.../events/lifecycle/ObjectPersistedEvent.java | 2 +-
.../events/lifecycle/ObjectPersistingEvent.java | 2 +-
.../events/lifecycle/ObjectRemovingEvent.java | 4 +-
.../events/lifecycle/ObjectUpdatedEvent.java | 4 +-
.../events/lifecycle/ObjectUpdatingEvent.java | 4 +-
.../isis/applib/events/ui/AbstractUiEvent.java | 2 +-
.../isis/applib/events/ui/CssClassUiEvent.java | 3 +-
.../apache/isis/applib/events/ui/IconUiEvent.java | 4 +-
.../isis/applib/events/ui/LayoutUiEvent.java | 3 +-
.../apache/isis/applib/events/ui/TitleUiEvent.java | 3 +-
.../unrecoverable/DomainModelException.java | 2 +
.../unrecoverable/MetaModelException.java | 3 +
.../unrecoverable/NoAuthenticatorException.java | 2 +
.../unrecoverable/ObjectNotFoundException.java | 4 +-
.../unrecoverable/ObjectPersistenceException.java | 3 +
.../unrecoverable/ReflectiveActionException.java | 3 +
.../unrecoverable/RepositoryException.java | 2 +-
.../unrecoverable/UnexpectedCallException.java | 2 +
.../unrecoverable/UnknownTypeException.java | 3 +
.../java/org/apache/isis/applib/graph/Edge.java | 7 +-
.../java/org/apache/isis/applib/graph/Vertex.java | 5 +-
.../isis/applib/graph/tree/LazyTreeNode.java | 3 +
.../apache/isis/applib/jaxb/DataTypeFactory.java | 3 +
.../JavaSqlXMLGregorianCalendarMarshalling.java | 3 +
.../isis/applib/jaxb/JavaTimeJaxbAdapters.java | 5 +-
.../JavaTimeXMLGregorianCalendarMarshalling.java | 3 +
.../isis/applib/jaxb/JodaTimeJaxbAdapters.java | 3 +
.../JodaTimeXMLGregorianCalendarMarshalling.java | 3 +
.../applib/jaxb/PersistentEntitiesAdapter.java | 2 +-
.../isis/applib/jaxb/PersistentEntityAdapter.java | 2 +-
.../isis/applib/jaxb/PrimitiveJaxbAdapters.java | 3 +
.../applib/layout/component/ActionLayoutData.java | 3 +-
.../layout/component/ActionLayoutDataOwner.java | 3 +
.../layout/component/CollectionLayoutData.java | 2 +
.../component/CollectionLayoutDataOwner.java | 4 +-
.../layout/component/CssClassFaPosition.java | 3 +
.../layout/component/DomainObjectLayoutData.java | 2 +
.../component/DomainObjectLayoutDataOwner.java | 3 +
.../isis/applib/layout/component/FieldSet.java | 2 +
.../applib/layout/component/FieldSetOwner.java | 3 +
.../isis/applib/layout/component/HasNamed.java | 3 +
.../isis/applib/layout/component/MemberRegion.java | 2 +
.../applib/layout/component/MemberRegionOwner.java | 3 +
.../apache/isis/applib/layout/component/Owned.java | 3 +
.../apache/isis/applib/layout/component/Owner.java | 4 +-
.../layout/component/PropertyLayoutData.java | 2 +
.../layout/component/ServiceActionLayoutData.java | 2 +
.../component/ServiceActionLayoutDataOwner.java | 3 +
.../org/apache/isis/applib/layout/grid/Grid.java | 2 +
.../isis/applib/layout/grid/GridAbstract.java | 4 +-
.../applib/layout/grid/bootstrap3/BS3ClearFix.java | 3 +
.../layout/grid/bootstrap3/BS3ClearFixHidden.java | 2 +
.../layout/grid/bootstrap3/BS3ClearFixVisible.java | 2 +
.../isis/applib/layout/grid/bootstrap3/BS3Col.java | 2 +
.../applib/layout/grid/bootstrap3/BS3Element.java | 3 +
.../layout/grid/bootstrap3/BS3ElementAbstract.java | 4 +-
.../applib/layout/grid/bootstrap3/BS3Grid.java | 2 +
.../isis/applib/layout/grid/bootstrap3/BS3Row.java | 2 +
.../layout/grid/bootstrap3/BS3RowContent.java | 1 +
.../layout/grid/bootstrap3/BS3RowContentOwner.java | 3 +
.../applib/layout/grid/bootstrap3/BS3RowOwner.java | 3 +
.../isis/applib/layout/grid/bootstrap3/BS3Tab.java | 2 +
.../applib/layout/grid/bootstrap3/BS3TabGroup.java | 2 +
.../layout/grid/bootstrap3/BS3TabGroupOwner.java | 3 +
.../applib/layout/grid/bootstrap3/BS3TabOwner.java | 3 +
.../isis/applib/layout/grid/bootstrap3/Size.java | 2 +
.../applib/layout/grid/bootstrap3/SizeSpan.java | 3 +
.../applib/layout/grid/bootstrap3/WithinGrid.java | 3 +
.../org/apache/isis/applib/layout/links/Link.java | 3 +
.../isis/applib/layout/menubars/HasNamed.java | 5 +-
.../apache/isis/applib/layout/menubars/Menu.java | 3 +
.../isis/applib/layout/menubars/MenuBar.java | 5 +-
.../isis/applib/layout/menubars/MenuBars.java | 3 +
.../applib/layout/menubars/MenuBarsAbstract.java | 5 +-
.../isis/applib/layout/menubars/MenuSection.java | 5 +-
.../applib/layout/menubars/bootstrap3/BS3Menu.java | 2 +
.../layout/menubars/bootstrap3/BS3MenuBar.java | 2 +
.../layout/menubars/bootstrap3/BS3MenuBars.java | 6 +-
.../layout/menubars/bootstrap3/BS3MenuSection.java | 4 +-
.../apache/isis/applib/mixins/MixinConstants.java | 3 +
.../org/apache/isis/applib/mixins/dto/Dto.java | 3 +
.../isis/applib/mixins/dto/Dto_downloadXml.java | 3 +
.../isis/applib/mixins/dto/Dto_downloadXsd.java | 5 +-
.../mixins/layout/Object_downloadLayoutXml.java | 3 +
.../applib/mixins/layout/Object_openRestApi.java | 3 +
.../mixins/layout/Object_rebuildMetamodel.java | 3 +
.../metamodel/Object_downloadMetamodelXml.java | 5 +-
.../mixins/metamodel/Object_objectIdentifier.java | 13 ++--
.../applib/mixins/metamodel/Object_objectType.java | 7 +-
.../isis/applib/query/AllInstancesQuery.java | 2 +-
.../org/apache/isis/applib/query/NamedQuery.java | 8 +-
.../java/org/apache/isis/applib/query/Query.java | 24 +++---
.../services/acceptheader/AcceptHeaderService.java | 2 -
.../applib/services/bookmark/BookmarkHolder.java | 3 +-
.../services/bookmark/BookmarkHolder_lookup.java | 7 +-
.../services/bookmark/BookmarkHolder_object.java | 7 +-
.../isis/applib/services/clock/ClockService.java | 11 ++-
.../CommandDtoProcessorForActionAbstract.java | 2 +
.../CommandDtoProcessorForPropertyAbstract.java | 2 +
.../spi/CommandDtoProcessorServiceIdentity.java | 4 +-
.../services/confview/ConfigurationMenu.java | 7 +-
.../services/confview/ConfigurationProperty.java | 1 -
.../confview/ConfigurationViewService.java | 1 -
.../services/conmap/ContentMappingService.java | 4 +-
.../isis/applib/services/error/SimpleTicket.java | 2 +
.../exceprecog/ExceptionRecognizerAbstract.java | 7 +-
.../exceprecog/ExceptionRecognizerForType.java | 27 ++++---
.../exceprecog/ExceptionRecognizerService.java | 3 +-
.../applib/services/factory/FactoryService.java | 8 +-
.../applib/services/grid/GridLoaderService.java | 3 +-
.../isis/applib/services/grid/GridService.java | 3 +-
.../applib/services/grid/GridSystemService.java | 3 +-
.../apache/isis/applib/services/health/Health.java | 1 -
.../applib/services/health/HealthCheckService.java | 3 +-
.../isis/applib/services/hint/HintStore.java | 2 +-
.../isis/applib/services/i18n/LocaleProvider.java | 3 +-
.../applib/services/i18n/TranslatableString.java | 1 -
.../applib/services/i18n/TranslationService.java | 1 -
.../isis/applib/services/layout/LayoutService.java | 3 +-
.../applib/services/layout/LayoutServiceMenu.java | 3 +-
.../applib/services/linking/DeepLinkService.java | 4 +-
.../services/menu/MenuBarsLoaderService.java | 3 +-
.../isis/applib/services/menu/MenuBarsService.java | 3 +-
.../applib/services/message/MessageService.java | 3 +-
.../services/metamodel/MetaModelService.java | 3 +-
.../applib/services/metrics/MetricsService.java | 3 +-
.../queryresultscache/QueryResultCacheControl.java | 3 +-
.../queryresultscache/QueryResultsCache.java | 4 +-
.../applib/services/registry/ServiceRegistry.java | 3 +-
.../applib/services/repository/EntityState.java | 6 +-
.../applib/services/scratchpad/Scratchpad.java | 4 +-
.../services/session/SessionLoggingService.java | 5 +-
.../session/SessionLoggingServiceLogging.java | 3 +-
.../TableColumnOrderForCollectionTypeAbstract.java | 3 +
.../services/tablecol/TableColumnOrderService.java | 3 +-
.../services/urlencoding/UrlEncodingService.java | 3 +-
...rlEncodingServiceUsingBaseEncodingAbstract.java | 5 +-
.../isis/applib/services/user/RoleMemento.java | 7 +-
.../isis/applib/services/user/UserMemento.java | 47 +++++------
.../services/userreg/EmailNotificationService.java | 1 +
.../isis/applib/services/userreg/UserDetails.java | 3 +-
.../userreg/events/EmailEventAbstract.java | 2 +
.../userreg/events/PasswordResetEvent.java | 1 +
.../applib/services/wrapper/InvalidException.java | 2 -
.../services/wrapper/control/ExceptionHandler.java | 1 -
.../wrapper/control/ExceptionHandlerAbstract.java | 3 +
.../services/wrapper/events/AccessEvent.java | 1 +
.../wrapper/listeners/InteractionAdapter.java | 3 +-
.../wrapper/listeners/InteractionListener.java | 3 +-
.../services/xactn/TransactionalProcessor.java | 31 ++++----
.../snapshot/SnapshottableWithInclusions.java | 3 +-
.../isis/applib/spec/AbstractSpecification.java | 3 +-
.../isis/applib/spec/AbstractSpecification2.java | 3 +-
.../org/apache/isis/applib/spec/Specification.java | 3 +-
.../apache/isis/applib/spec/Specification2.java | 3 +-
.../apache/isis/applib/spec/SpecificationAnd.java | 2 +-
.../apache/isis/applib/spec/SpecificationNot.java | 2 +-
.../apache/isis/applib/spec/SpecificationOr.java | 2 +-
.../apache/isis/applib/types/DescriptionType.java | 3 +
.../isis/applib/types/MemberIdentifierType.java | 2 +
.../apache/isis/applib/types/TargetActionType.java | 2 +
.../apache/isis/applib/types/TargetClassType.java | 2 +
.../java/org/apache/isis/applib/util/Enums.java | 2 +-
.../apache/isis/applib/util/ObjectContracts.java | 3 +-
.../org/apache/isis/applib/util/ReasonBuffer.java | 2 +
.../org/apache/isis/applib/util/ReasonBuffer2.java | 2 +
.../java/org/apache/isis/applib/util/Reasons.java | 2 +
.../org/apache/isis/applib/util/TitleBuffer.java | 14 +++-
.../isis/applib/util/TitleBufferException.java | 3 +
.../isis/applib/util/schema/ChangesDtoUtils.java | 2 +-
.../isis/applib/util/schema/CommandDtoUtils.java | 2 +-
.../isis/applib/util/schema/CommonDtoUtils.java | 54 ++++++-------
.../applib/util/schema/InteractionDtoUtils.java | 7 +-
.../util/schema/MemberExecutionDtoUtils.java | 13 ++--
.../java/org/apache/isis/applib/value/Blob.java | 32 ++++----
.../isis/applib/value/NamedWithMimeType.java | 16 ++--
.../org/apache/isis/schema/IsisModuleSchema.java | 3 +
.../commandlog/impl/CommandSubscriberForJdo.java | 3 +
.../impl/IsisModuleExtCommandLogImpl.java | 3 +
.../impl/mixins/HasUniqueId_command.java | 2 +
.../mixins/HasUsername_recentCommandsByUser.java | 3 +
.../impl/mixins/Object_recentCommands.java | 4 +
.../commandlog/impl/mixins/T_recent.java | 3 +-
.../commandlog/impl/ui/CommandServiceMenu.java | 5 +-
.../primary/IsisModuleExtCommandReplayPrimary.java | 3 +
.../primary/config/PrimaryConfig.java | 3 +
.../primary/mixins/Object_openOnSecondary.java | 3 +
.../primary/restapi/CommandRetrievalService.java | 3 +
.../primary/spiimpl/CaptureResultOfCommand.java | 4 +
.../primary/ui/CommandReplayOnPrimaryService.java | 3 +
.../IsisModuleExtCommandReplaySecondary.java | 3 +
.../commandreplay/secondary/SecondaryStatus.java | 3 +
.../secondary/analyser/CommandReplayAnalyser.java | 3 +
.../analyser/CommandReplayAnalyserException.java | 3 +
.../analyser/CommandReplayAnalyserResult.java | 3 +
.../analysis/CommandReplayAnalysisService.java | 3 +
.../secondary/clock/TickingClockService.java | 4 +-
.../secondary/config/SecondaryConfig.java | 3 +
.../executor/CommandExecutorServiceWithTime.java | 2 +
.../secondary/fetch/CommandFetcher.java | 5 +-
.../secondary/job/ReplicateAndReplayJob.java | 7 +-
.../secondary/job/SecondaryStatusData.java | 3 +
.../jobcallables/ReplicateAndRunCommands.java | 4 +-
.../secondary/mixins/CommandJdo_exclude.java | 3 +
.../secondary/mixins/CommandJdo_replayQueue.java | 3 +
.../secondary/mixins/Object_openOnPrimary.java | 3 +
.../spi/ReplayCommandExecutionController.java | 2 +
.../ui/CommandReplayOnSecondaryService.java | 3 +
.../applib/IsisModuleIncModelApplib.java | 3 +
.../modelannotation/applib/annotation/Model.java | 6 +-
.../metamodel/IsisModuleExtModelAnnotation.java | 3 +
.../SupportingMethodValidatorRefinerFactory.java | 26 +++----
.../services/IncubatorMetaModelPlugin.java | 5 +-
.../extensions/quartz/IsisModuleExtQuartzImpl.java | 3 +
.../quartz/context/JobExecutionData.java | 2 +
.../spring/AutowiringSpringBeanJobFactory.java | 3 +
.../secman/api/IsisModuleExtSecmanApi.java | 3 +
.../extensions/secman/api/SecmanConfiguration.java | 21 ++---
.../isis/extensions/secman/api/SecurityRealm.java | 3 +
.../secman/api/SecurityRealmCharacteristic.java | 3 +
.../secman/api/SecurityRealmService.java | 3 +
.../api/encryption/PasswordEncryptionService.java | 3 +
.../encryption/PasswordEncryptionServiceNone.java | 3 +
.../secman/api/events/UserCreatedEvent.java | 21 ++---
.../api/permission/ApplicationPermission.java | 46 +++++------
.../api/permission/ApplicationPermissionMode.java | 2 +
.../ApplicationPermissionRepository.java | 27 ++++---
.../api/permission/ApplicationPermissionRule.java | 2 +
.../api/permission/ApplicationPermissionValue.java | 2 +
.../permission/ApplicationPermissionValueSet.java | 10 ++-
.../permission/PermissionsEvaluationService.java | 2 +
.../PermissionsEvaluationServiceAbstract.java | 3 +
...PermissionsEvaluationServiceAllowBeatsVeto.java | 2 +
...PermissionsEvaluationServiceVetoBeatsAllow.java | 2 +
.../secman/api/role/ApplicationRole.java | 19 +++--
.../secman/api/role/ApplicationRoleRepository.java | 11 ++-
.../secman/api/tenancy/ApplicationTenancy.java | 17 ++--
.../api/tenancy/ApplicationTenancyEvaluator.java | 2 +
.../api/tenancy/ApplicationTenancyRepository.java | 9 ++-
.../extensions/secman/api/tenancy/HasAtPath.java | 2 +
.../extensions/secman/api/user/AccountType.java | 8 +-
.../secman/api/user/ApplicationUser.java | 24 +++---
.../secman/api/user/ApplicationUserRepository.java | 11 ++-
.../secman/api/user/ApplicationUserStatus.java | 2 +
.../IsisModuleExtSecmanEncryptionJbcrypt.java | 3 +
.../PasswordEncryptionServiceUsingJBcrypt.java | 3 +
.../secman/model/IsisModuleExtSecmanModel.java | 3 +
.../secman/model/app/user/MeService.java | 5 +-
.../jdo/IsisModuleExtSecmanPersistenceJdo.java | 3 +
.../secman/jdo/seed/SeedSecurityModuleService.java | 7 +-
.../jdo/seed/SeedUsersAndRolesFixtureScript.java | 4 +-
.../secman/jdo/seed/scripts/GlobalTenancy.java | 3 +
...xtFixturesFixtureResultsRoleAndPermissions.java | 3 +
.../IsisExtSecmanAdminRoleAndPermissions.java | 5 +-
.../jdo/seed/scripts/IsisExtSecmanAdminUser.java | 7 +-
.../IsisExtSecmanFixtureRoleAndPermissions.java | 2 +
...IsisExtSecmanRegularUserRoleAndPermissions.java | 4 +-
.../jpa/IsisModuleExtSecmanPersistenceJpa.java | 3 +
.../secman/jpa/seed/SeedSecurityModuleService.java | 7 +-
.../jpa/seed/SeedUsersAndRolesFixtureScript.java | 4 +-
.../secman/jpa/seed/scripts/GlobalTenancy.java | 3 +
...xtFixturesFixtureResultsRoleAndPermissions.java | 3 +
.../IsisExtSecmanAdminRoleAndPermissions.java | 5 +-
.../jpa/seed/scripts/IsisExtSecmanAdminUser.java | 7 +-
.../IsisExtSecmanFixtureRoleAndPermissions.java | 2 +
...IsisExtSecmanRegularUserRoleAndPermissions.java | 4 +-
...tyModuleAppUserRegistrationServiceAbstract.java | 12 +--
.../shiro/IsisModuleExtSecmanRealmShiro.java | 3 +
.../shiro/IsisModuleExtSecmanShiroRealm.java | 27 ++++---
.../services/SecurityRealmServiceUsingShiro.java | 5 +-
.../extensions/secman/shiro/util/ShiroUtils.java | 5 +-
.../realm/impl/IsisLdapContextFactory.java | 2 +
.../shirorealmldap/realm/impl/IsisLdapRealm.java | 2 +
.../impl/IsisModuleExtShiroRealmLdapImpl.java | 3 +
.../cors/impl/IsisModuleExtCorsImpl.java | 19 +++--
.../ui/IsisModuleExtExcelDownloadUi.java | 3 +
.../ui/components/CollectionContentsAsExcel.java | 2 +
.../CollectionContentsAsExcelFactory.java | 6 +-
.../fullcalendar/applib/CalendarEventable.java | 3 +
.../fullcalendar/applib/Calendarable.java | 15 ++--
.../applib/IsisModuleExtFullCalendarApplib.java | 3 +
.../spi/CalendarableDereferencingService.java | 1 +
.../fullcalendar/applib/value/CalendarEvent.java | 30 +++----
.../ui/component/IsisModuleExtFullCalendarUi.java | 3 +
.../pdfjs/applib/annotations/PdfJsViewer.java | 2 +
.../wicket/pdfjs/applib/config/PdfJsConfig.java | 3 +
.../viewer/wicket/pdfjs/applib/config/Scale.java | 3 +
.../pdfjs/applib/spi/PdfJsViewerAdvisor.java | 10 ++-
.../wicket/pdfjs/ui/IsisModuleExtPdfjsUi.java | 3 +
isis-tooling.yml | 2 +-
.../applib/IsisModuleExtJaxRsClientApplib.java | 3 +
.../jaxrsclient/applib/client/JaxRsClient.java | 3 +
.../jaxrsclient/applib/client/JaxRsResponse.java | 3 +
.../impl/IsisModuleExtJaxRsClientImpl.java | 3 +
.../restclient/ActionParameterListBuilder.java | 15 ++--
.../restclient/IsisModuleExtRestClient.java | 3 +
.../isis/extensions/restclient/ResponseDigest.java | 91 +++++++++++-----------
.../isis/extensions/restclient/RestfulClient.java | 32 ++++----
.../extensions/restclient/RestfulClientConfig.java | 11 ++-
.../restclient/RestfulClientException.java | 3 +
.../restclient/auth/BasicAuthFilter.java | 7 +-
.../restclient/log/ClientConversationFilter.java | 19 +++--
.../restclient/log/ClientConversationLogger.java | 15 ++--
.../jdo/applib/IsisModulePersistenceJdoApplib.java | 3 +
.../jdo/datanucleus/IsisModuleJdoDatanucleus.java | 3 +
.../changetracking/JdoLifecycleListener.java | 2 +
.../mixins/Persistable_datanucleusIdLong.java | 5 +-
.../mixins/Persistable_datanucleusVersionLong.java | 5 +-
.../Persistable_datanucleusVersionTimestamp.java | 5 +-
.../mixins/Persistable_downloadJdoMetadata.java | 5 +-
.../applib/IsisBookmarkConverter.java | 3 +
.../applib/IsisLocalResourcePathConverter.java | 3 +
.../typeconverters/applib/IsisMarkupConverter.java | 3 +
.../applib/IsisPasswordConverter.java | 3 +
.../JavaAwtBufferedImageByteArrayConverter.java | 5 +-
.../schema/v2/IsisChangesDtoConverter.java | 3 +
.../schema/v2/IsisCommandDtoConverter.java | 3 +
.../schema/v2/IsisInteractionDtoConverter.java | 3 +
.../schema/v2/IsisOidDtoConverter.java | 3 +
.../time/IsoOffsetTimeConverter.java | 5 +-
.../time/IsoZonedDateTimeConverter.java | 5 +-
.../applib/ByteArrayBlobRdbmsMapping.java | 3 +
.../valuetypes/applib/IsisBlobMapping.java | 3 +
.../valuetypes/applib/IsisClobMapping.java | 3 +
.../JpaEntityInjectionPointResolver.java | 18 ++---
.../jpa/eclipselink/IsisModuleJpaEclipselink.java | 56 ++++++-------
.../security/bypass/IsisModuleSecurityBypass.java | 4 +-
.../bypass/authentication/AuthenticatorBypass.java | 2 +
.../bypass/authorization/AuthorizorBypass.java | 3 +
.../keycloak/IsisModuleSecurityKeycloak.java | 4 +-
.../authentication/AuthenticatorKeycloak.java | 7 +-
.../keycloak/authorization/AuthorizorKeycloak.java | 3 +
.../keycloak/webmodule/KeycloakFilter.java | 9 ++-
.../keycloak/webmodule/WebModuleKeycloak.java | 2 +
.../security/shiro/IsisModuleSecurityShiro.java | 4 +-
.../shiro/authentication/AuthenticatorShiro.java | 14 ++--
.../shiro/authorization/AuthorizorShiro.java | 14 ++--
.../shiro/authorization/IsisPermission.java | 11 ++-
.../authorization/IsisPermissionResolver.java | 3 +
.../security/shiro/webmodule/WebModuleShiro.java | 27 +++----
.../isis/subdomains/base/applib/Chained.java | 19 +++--
.../apache/isis/subdomains/base/applib/Dflt.java | 3 +
.../applib/IsisModuleSubdomainsBaseApplib.java | 3 +
.../isis/subdomains/base/applib/PowerType.java | 2 +
.../apache/isis/subdomains/base/applib/Titled.java | 5 +-
.../isis/subdomains/base/applib/TitledEnum.java | 4 +-
.../base/applib/services/BaseServicesModule.java | 3 +
.../applib/services/calendar/CalendarService.java | 13 ++--
.../base/applib/types/DescriptionType.java | 3 +
.../subdomains/base/applib/types/FqcnType.java | 3 +
.../subdomains/base/applib/types/MoneyType.java | 3 +
.../subdomains/base/applib/types/NameType.java | 3 +
.../subdomains/base/applib/types/NotesType.java | 3 +
.../base/applib/types/ObjectIdentifierType.java | 3 +
.../base/applib/types/PercentageType.java | 3 +
.../base/applib/types/ProperNameType.java | 3 +
.../base/applib/types/ReferenceType.java | 3 +
.../subdomains/base/applib/types/TitleType.java | 3 +
.../base/applib/types/UrlTemplateType.java | 3 +
.../subdomains/base/applib/types/UserNameType.java | 3 +
.../isis/subdomains/base/applib/types/XxxType.java | 3 +
.../subdomains/base/applib/utils/ClassUtils.java | 13 ++--
.../base/applib/utils/JodaPeriodUtils.java | 2 +
.../subdomains/base/applib/utils/MathUtils.java | 6 +-
.../subdomains/base/applib/utils/MessageUtils.java | 3 +
.../subdomains/base/applib/utils/StringUtils.java | 7 +-
.../subdomains/base/applib/utils/TitleBuilder.java | 4 +
.../base/applib/valuetypes/AbstractInterval.java | 19 +++--
.../base/applib/valuetypes/LocalDateInterval.java | 23 +++---
.../isis/subdomains/base/applib/valuetypes/VT.java | 12 ++-
.../base/applib/with/WithCodeComparable.java | 5 +-
.../base/applib/with/WithCodeGetter.java | 8 +-
.../base/applib/with/WithCodeUnique.java | 3 +
.../applib/with/WithDescriptionComparable.java | 7 +-
.../base/applib/with/WithDescriptionGetter.java | 8 +-
.../base/applib/with/WithDescriptionUnique.java | 3 +
.../subdomains/base/applib/with/WithInterval.java | 13 ++--
.../base/applib/with/WithIntervalContiguous.java | 55 ++++++-------
.../base/applib/with/WithIntervalMutable.java | 5 +-
.../base/applib/with/WithNameComparable.java | 6 +-
.../base/applib/with/WithNameGetter.java | 8 +-
.../base/applib/with/WithNameUnique.java | 3 +
.../base/applib/with/WithReferenceComparable.java | 7 +-
.../base/applib/with/WithReferenceGetter.java | 8 +-
.../base/applib/with/WithReferenceUnique.java | 3 +
.../subdomains/base/applib/with/WithSequence.java | 4 +-
.../subdomains/base/applib/with/WithStartDate.java | 3 +
.../base/applib/with/WithTitleComparable.java | 5 +-
.../base/applib/with/WithTitleGetter.java | 8 +-
.../base/applib/with/WithTitleUnique.java | 3 +
.../applib/IsisModuleSubdomainsExcelApplib.java | 3 +
.../excel/applib/dom/AggregationType.java | 3 +
.../excel/applib/dom/ExcelMetaDataEnabled.java | 6 +-
.../subdomains/excel/applib/dom/ExcelService.java | 11 ++-
.../subdomains/excel/applib/dom/HyperLink.java | 4 +-
.../subdomains/excel/applib/dom/PivotColumn.java | 3 +
.../excel/applib/dom/PivotDecoration.java | 3 +
.../isis/subdomains/excel/applib/dom/PivotRow.java | 3 +
.../subdomains/excel/applib/dom/PivotValue.java | 3 +
.../subdomains/excel/applib/dom/RowHandler.java | 5 +-
.../excel/applib/dom/WorksheetContent.java | 3 +
.../subdomains/excel/applib/dom/WorksheetSpec.java | 3 +
.../excel/applib/dom/util/AnnotationList.java | 4 +-
.../excel/applib/dom/util/AnnotationTriplet.java | 3 +
.../applib/dom/util/ExcelFileBlobConverter.java | 7 +-
.../excel/applib/dom/util/ExcelServiceImpl.java | 15 ++--
.../subdomains/excel/applib/dom/util/Mode.java | 2 +-
.../excel/applib/dom/util/PivotUtils.java | 3 +
.../excel/applib/dom/util/SheetPivoter.java | 3 +
.../subdomains/excel/testing/ExcelFixture.java | 8 +-
.../subdomains/excel/testing/ExcelFixture2.java | 4 +-
.../excel/testing/ExcelFixtureRowHandler.java | 3 +
.../excel/testing/ExcelFixtureWorkbookHandler.java | 3 +
.../excel/testing/FixtureAwareRowHandler.java | 5 +-
.../testing/IsisModuleSubdomainsExcelTesting.java | 3 +
.../applib/IsisModuleSubdomainsSpringApplib.java | 3 +
.../spring/applib/service/BeanDescriptor.java | 13 ++--
.../spring/applib/service/ContextBeans.java | 3 +
.../spring/applib/service/SpringBeansService.java | 2 +
.../IsisModuleSubdomainsXDocReportApplib.java | 3 +
.../xdocreport/applib/service/OutputType.java | 3 +
.../xdocreport/applib/service/XDocReportModel.java | 3 +
.../applib/service/XDocReportService.java | 8 +-
.../applib/IsisModuleTestingFakeDataApplib.java | 3 +
.../services/AbstractRandomValueGenerator.java | 3 +
.../fakedata/applib/services/Addresses.java | 3 +
.../fakedata/applib/services/BigDecimals.java | 3 +
.../fakedata/applib/services/BigIntegers.java | 3 +
.../testing/fakedata/applib/services/Books.java | 3 +
.../testing/fakedata/applib/services/Booleans.java | 3 +
.../testing/fakedata/applib/services/Bytes.java | 3 +
.../testing/fakedata/applib/services/Chars.java | 3 +
.../fakedata/applib/services/Collections.java | 3 +
.../testing/fakedata/applib/services/Comms.java | 3 +
.../fakedata/applib/services/CreditCards.java | 3 +
.../testing/fakedata/applib/services/Doubles.java | 3 +
.../testing/fakedata/applib/services/Enums.java | 3 +
.../fakedata/applib/services/FakeDataService.java | 5 +-
.../testing/fakedata/applib/services/Floats.java | 3 +
.../testing/fakedata/applib/services/Integers.java | 3 +
.../fakedata/applib/services/IsisBlobs.java | 3 +
.../fakedata/applib/services/IsisClobs.java | 5 +-
.../fakedata/applib/services/IsisPasswords.java | 3 +
.../fakedata/applib/services/J8DateTimes.java | 3 +
.../fakedata/applib/services/J8LocalDates.java | 3 +
.../fakedata/applib/services/J8Periods.java | 3 +
.../fakedata/applib/services/JavaSqlDates.java | 3 +
.../applib/services/JavaSqlTimestamps.java | 3 +
.../fakedata/applib/services/JavaUtilDates.java | 5 +-
.../fakedata/applib/services/JodaDateTimes.java | 9 ++-
.../fakedata/applib/services/JodaLocalDates.java | 7 +-
.../fakedata/applib/services/JodaPeriods.java | 6 +-
.../testing/fakedata/applib/services/Longs.java | 3 +
.../testing/fakedata/applib/services/Lorem.java | 3 +
.../testing/fakedata/applib/services/Names.java | 3 +
.../testing/fakedata/applib/services/Shorts.java | 3 +
.../testing/fakedata/applib/services/Strings.java | 3 +
.../testing/fakedata/applib/services/Urls.java | 3 +
.../testing/fakedata/applib/services/Uuids.java | 3 +
.../h2console/ui/IsisModuleTestingH2ConsoleUi.java | 3 +
.../h2console/ui/services/H2ManagerMenu.java | 3 +
.../h2console/ui/webmodule/WebModuleH2Console.java | 49 ++++++------
.../hsqldbmgr/dom/IsisModuleExtHsqldbMgr.java | 3 +
.../hsqldbmgr/dom/services/HsqlDbManagerMenu.java | 3 +
.../applib/ExceptionRecognizerTranslate.java | 3 +
.../applib/IsisIntegrationTestAbstract.java | 10 +--
.../applib/IsisInteractionHandler.java | 21 ++---
.../integtestsupport/applib/ThrowableMatchers.java | 3 +
.../applib/swagger/SwaggerExporter.java | 6 +-
.../applib/validate/DomainModelValidator.java | 18 ++---
.../applib/IsisModuleTestingSpecSupportApplib.java | 3 +
.../integration/ObjectFactoryForIntegration.java | 6 +-
.../isis/testing/specsupport/applib/specs/V.java | 6 +-
.../IsisModuleTestingUnitTestSupportApplib.java | 3 +
.../applib/bean/AbstractBeanPropertiesTest.java | 3 +
.../bean/FixtureDatumFactoriesForAnyPojo.java | 3 +
.../bean/FixtureDatumFactoriesForApplib.java | 3 +
.../applib/bean/FixtureDatumFactoriesForJoda.java | 3 +
.../applib/bean/FixtureDatumFactoriesForTime.java | 6 +-
.../unittestsupport/applib/bean/PojoTester.java | 49 ++++++------
.../core/AbstractApplyToAllContractTest.java | 4 +-
...irectionalRelationshipContractTestAbstract.java | 4 +-
.../applib/core/bidir/Instantiator.java | 5 +-
.../applib/core/bidir/InstantiatorSimple.java | 5 +-
.../applib/core/bidir/Instantiators.java | 5 +-
.../ComparableContractTest_compareTo.java | 2 +
.../core/comparable/ComparableContractTester.java | 4 +-
.../unittestsupport/applib/core/files/Files.java | 4 +-
.../applib/core/jaxb/JaxbMatchers.java | 4 +-
.../applib/core/jmocking/Imposterisers.java | 3 +
.../core/jmocking/InjectIntoJMockAction.java | 4 +
.../applib/core/jmocking/IsisActions.java | 3 +
.../applib/core/jmocking/JMockActions.java | 3 +
.../applib/core/jmocking/JUnitRuleMockery2.java | 14 ++--
.../applib/core/jmocking/PostponedAction.java | 9 ++-
.../core/soap/SoapEndpointPublishingRule.java | 4 +-
.../applib/core/soap/SoapEndpointSpec.java | 3 +
.../sortedsets/SortedSetsContractTestAbstract.java | 4 +-
.../applib/core/streams/NullPrintStream.java | 2 +-
.../applib/core/utils/CollectUtils.java | 4 +-
.../applib/core/utils/IndentPrinter.java | 6 +-
.../applib/core/utils/ReflectUtils.java | 4 +-
.../applib/core/utils/StringUtils.java | 4 +-
.../core/value/ValueTypeContractTestAbstract.java | 4 +-
.../applib/dom/assertions/Asserting.java | 6 +-
.../applib/dom/matchers/IsisMatchers.java | 17 ++--
.../dom/privatecons/PrivateConstructorTester.java | 3 +
.../applib/dom/reflect/ReflectUtils.java | 11 ++-
.../applib/dom/repo/FinderInteraction.java | 6 +-
.../applib/IsisModuleValAsciidocApplib.java | 3 +
.../asciidoc/applib/jaxb/AsciiDocJaxbAdapter.java | 3 +
.../valuetypes/asciidoc/applib/value/AsciiDoc.java | 1 +
.../metamodel/IsisModuleValAsciidocMetaModel.java | 5 +-
.../IsisModuleValAsciidocPersistenceJdoDn5.java | 3 +
.../jdo/dn5/converters/IsisAsciiDocConverter.java | 3 +
.../ui/wkt/IsisModuleValAsciidocUiWkt.java | 3 +
.../applib/IsisModuleValMarkdownApplib.java | 3 +
.../markdown/applib/jaxb/MarkdownJaxbAdapter.java | 3 +
.../markdown/applib/value/Converter.java | 15 ++--
.../metamodel/IsisModuleValMarkdownMetaModel.java | 3 +
.../IsisModuleValMarkdownPersistenceJdoDn5.java | 3 +
.../jdo/dn5/converters/IsisMarkdownConverter.java | 3 +
.../ui/wkt/IsisModuleValMarkdownUiWkt.java | 3 +
.../sse/applib/IsisModuleValSseApplib.java | 3 +
.../sse/applib/annotations/ServerSentEvents.java | 5 +-
.../sse/applib/annotations/SseSource.java | 7 +-
.../valuetypes/sse/applib/service/SseChannel.java | 5 +-
.../valuetypes/sse/applib/service/SseService.java | 5 +-
.../sse/ui/wkt/IsisModuleValSseUiWkt.java | 5 +-
.../sse/ui/wkt/services/SseServiceDefault.java | 17 ++--
.../wkt/webmodule/WebModuleServerSentEvents.java | 4 +-
.../IsisModuleViewerRestfulObjectsApplib.java | 3 +
.../restfulobjects/applib/JsonRepresentation.java | 2 +
.../restfulobjects/applib/LinkRepresentation.java | 3 +
.../isis/viewer/restfulobjects/applib/Rel.java | 3 +
.../restfulobjects/applib/RelDefinition.java | 2 +
.../restfulobjects/applib/RepresentationType.java | 9 ++-
.../restfulobjects/applib/RestfulHttpMethod.java | 4 +-
.../restfulobjects/applib/RestfulMediaType.java | 6 +-
.../restfulobjects/applib/RestfulRequest.java | 3 +
.../restfulobjects/applib/RestfulResponse.java | 3 +
.../applib/boot/BootstrapResource.java | 5 +-
.../AbstractObjectMemberRepresentation.java | 8 +-
.../domainobjects/ActionResultRepresentation.java | 15 ++--
.../DomainObjectMemberRepresentation.java | 2 +
.../domainobjects/DomainObjectRepresentation.java | 3 +
.../applib/domainobjects/DomainObjectResource.java | 5 +-
.../applib/domainobjects/DomainRepresentation.java | 7 +-
.../domainobjects/DomainServiceResource.java | 5 +-
.../applib/domainobjects/ListRepresentation.java | 3 +
.../domainobjects/ObjectActionRepresentation.java | 4 +-
.../ObjectCollectionRepresentation.java | 5 +-
.../ObjectPropertyRepresentation.java | 4 +-
.../domainobjects/ScalarValueRepresentation.java | 4 +-
.../AbstractTypeMemberRepresentation.java | 4 +-
.../ActionDescriptionRepresentation.java | 4 +-
.../ActionParameterDescriptionRepresentation.java | 4 +-
.../CollectionDescriptionRepresentation.java | 4 +-
.../domaintypes/DomainTypeRepresentation.java | 4 +-
.../applib/domaintypes/DomainTypeResource.java | 17 ++--
.../PropertyDescriptionRepresentation.java | 3 +
.../TypeActionResultRepresentation.java | 3 +
.../applib/domaintypes/TypeListRepresentation.java | 4 +-
.../applib/dtos/ScalarValueDtoV2.java | 15 ++--
.../applib/errors/ErrorRepresentation.java | 4 +-
.../applib/health/HealthRepresentation.java | 3 +
.../applib/health/HealthResource.java | 5 +-
.../applib/homepage/HomePageRepresentation.java | 3 +
.../applib/homepage/HomePageResource.java | 5 +-
.../applib/menubars/MenuBarsResource.java | 4 +-
.../applib/user/UserRepresentation.java | 3 +
.../restfulobjects/applib/user/UserResource.java | 5 +-
.../restfulobjects/applib/util/JsonMapper.java | 3 +
.../restfulobjects/applib/util/JsonNodeUtils.java | 3 +
.../restfulobjects/applib/util/MediaTypes.java | 3 +
.../viewer/restfulobjects/applib/util/Parser.java | 3 +
.../restfulobjects/applib/util/PathNode.java | 6 +-
.../applib/util/UrlEncodingUtils.java | 3 +
.../applib/version/VersionRepresentation.java | 3 +
.../applib/version/VersionResource.java | 5 +-
...isModuleViewerRestfulObjectsJaxrsResteasy4.java | 3 +
.../conneg/RestfulObjectsJaxbWriterForXml.java | 29 +++----
.../webmodule/WebModuleJaxrsResteasy4.java | 13 +---
.../IsisModuleRestfulObjectsRendering.java | 7 +-
.../rendering/service/RepresentationService.java | 2 +
.../RepresentationServiceContentNegotiator.java | 13 ++--
.../acceptheader/AcceptHeaderServiceForRest.java | 5 +-
.../service/conneg/ContentNegotiationService.java | 3 +
.../conneg/ContentNegotiationServiceAbstract.java | 3 +
...entNegotiationServiceForRestfulObjectsV1_0.java | 17 ++--
.../ContentNegotiationServiceOrgApacheIsisV1.java | 9 ++-
.../ContentNegotiationServiceOrgApacheIsisV2.java | 55 ++++++-------
.../ContentNegotiationServiceXRoDomainType.java | 6 +-
.../service/swagger/SwaggerServiceMenu.java | 19 +++--
.../IsisModuleViewerRestfulObjectsViewer.java | 5 +-
.../wicket/model/IsisModuleViewerWicketModel.java | 3 +
.../viewer/wicket/ui/IsisModuleViewerWicketUi.java | 3 +
.../viewer/IsisModuleViewerWicketViewer.java | 3 +-
620 files changed, 2401 insertions(+), 1201 deletions(-)
diff --git a/api/applib/src/main/java/org/apache/isis/applib/AbstractViewModel.java b/api/applib/src/main/java/org/apache/isis/applib/AbstractViewModel.java
index 98f9443..b0d67fb 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/AbstractViewModel.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/AbstractViewModel.java
@@ -27,10 +27,7 @@ package org.apache.isis.applib;
* Subclassing is NOT mandatory; the methods in this superclass can be pushed
* down into domain objects and another superclass used if required.
*
- * <p>
- * As an alternative, consider simply annotating the view model class with {@link org.apache.isis.applib.annotation.ViewModel}.
- * </p>
- * @since ? {@index}
+ * @since 1.x {@index}
*/
public abstract class AbstractViewModel implements ViewModel {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/IsisModuleApplib.java b/api/applib/src/main/java/org/apache/isis/applib/IsisModuleApplib.java
index 95d9224..b3b3428 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/IsisModuleApplib.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/IsisModuleApplib.java
@@ -48,6 +48,9 @@ import org.apache.isis.applib.services.user.RoleMemento;
import org.apache.isis.applib.services.user.UserMemento;
import org.apache.isis.schema.IsisModuleSchema;
+/**
+ * @since 2.0 {@index}
+ */
@Configuration
@Import({
// modules
@@ -70,7 +73,7 @@ import org.apache.isis.schema.IsisModuleSchema;
DomainObjectList.class,
RoleMemento.class,
UserMemento.class,
-
+
// @DomainService(s)
ConfigurationMenu.class,
LayoutServiceMenu.class,
diff --git a/api/applib/src/main/java/org/apache/isis/applib/RecreatableDomainObject.java b/api/applib/src/main/java/org/apache/isis/applib/RecreatableDomainObject.java
index 549b996..c48d739 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/RecreatableDomainObject.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/RecreatableDomainObject.java
@@ -27,7 +27,8 @@ package org.apache.isis.applib;
* Objects that are view models (logically belonging to the UI/application layer) should instead implement
* {@link org.apache.isis.applib.ViewModel}.
* </p>
- * @since ? {@index}
+ *
+ * @since 1.x {@index}
*/
public interface RecreatableDomainObject {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/ViewModel.java b/api/applib/src/main/java/org/apache/isis/applib/ViewModel.java
index 03e4d15..0e25db2 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/ViewModel.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/ViewModel.java
@@ -27,6 +27,7 @@ import org.apache.isis.applib.annotation.Programmatic;
* <p>
* Objects that are part of the domain object layer should instead implement {@link RecreatableDomainObject}.
* </p>
+ *
* @since 1.x {@index}
*/
public interface ViewModel {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/adapters/AbstractValueSemanticsProvider.java b/api/applib/src/main/java/org/apache/isis/applib/adapters/AbstractValueSemanticsProvider.java
index 130f404..28dc834 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/adapters/AbstractValueSemanticsProvider.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/adapters/AbstractValueSemanticsProvider.java
@@ -20,9 +20,9 @@
package org.apache.isis.applib.adapters;
/**
- * @since ? {@index}
+ * @since 1.x {@index}
*/
-public abstract class AbstractValueSemanticsProvider<T>
+public abstract class AbstractValueSemanticsProvider<T>
implements ValueSemanticsProvider<T> {
@SuppressWarnings("unchecked")
diff --git a/api/applib/src/main/java/org/apache/isis/applib/adapters/DefaultsProvider.java b/api/applib/src/main/java/org/apache/isis/applib/adapters/DefaultsProvider.java
index cc01254..98f332b 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/adapters/DefaultsProvider.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/adapters/DefaultsProvider.java
@@ -44,7 +44,8 @@ package org.apache.isis.applib.adapters;
* @see Parser
* @see EncoderDecoder
* @see ValueSemanticsProvider
- * @since ? {@index}
+ *
+ * @since 1.x {@index}
*/
public interface DefaultsProvider<T> {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/adapters/EncoderDecoder.java b/api/applib/src/main/java/org/apache/isis/applib/adapters/EncoderDecoder.java
index a754351..51d61df 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/adapters/EncoderDecoder.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/adapters/EncoderDecoder.java
@@ -44,6 +44,7 @@ package org.apache.isis.applib.adapters;
* @see Parser
* @see DefaultsProvider
* @see ValueSemanticsProvider
+ *
* @since 1.x {@index}
*/
public interface EncoderDecoder<T> {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/adapters/EncodingException.java b/api/applib/src/main/java/org/apache/isis/applib/adapters/EncodingException.java
index 4644d8b..fb1fd2f 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/adapters/EncodingException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/adapters/EncodingException.java
@@ -21,7 +21,8 @@ package org.apache.isis.applib.adapters;
/**
* Indicates that encoding or decoding has failed.
- * @since ? {@index}
+ *
+ * @since 1.x {@index}
*/
public class EncodingException extends RuntimeException {
private static final long serialVersionUID = 1L;
diff --git a/api/applib/src/main/java/org/apache/isis/applib/adapters/ParsingException.java b/api/applib/src/main/java/org/apache/isis/applib/adapters/ParsingException.java
index da808f1..6d761b1 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/adapters/ParsingException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/adapters/ParsingException.java
@@ -22,6 +22,7 @@ package org.apache.isis.applib.adapters;
/**
* Indicates that parsing has failed, ie the entry is illegal (rather than
* invalid).
+ *
* @since 1.x {@index}
*/
public class ParsingException extends RuntimeException {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Defaulted.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Defaulted.java
index 566da4a..bc9ea97 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Defaulted.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Defaulted.java
@@ -40,13 +40,13 @@ import org.apache.isis.applib.adapters.DefaultsProvider;
* of {@link DefaultsProvider} could adjust the default it provides according to
* circumstance, for example).
*
- * @see <code>Encodable</code>
- * @see <code>Parseable</code>
- * @see Value
- *
* <p>
* Note: This annotation is only incompletely recognized by the framework, and may be deprecated in the future.
* </p>
+ *
+ * @see <code>Encodable</code>
+ * @see <code>Parseable</code>
+ * @see Value
* @since 1.x {@index}
*/
@Inherited
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainObjectLayout.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainObjectLayout.java
index 8a8b660..23eaa30 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainObjectLayout.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/DomainObjectLayout.java
@@ -33,8 +33,7 @@ import org.apache.isis.applib.layout.component.CssClassFaPosition;
/**
* Layout hints for domain objects.
- *
- *
+ *
* @since 1.x {@index}
*/
@Inherited
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/EntityChangeKind.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/EntityChangeKind.java
index 032bfd8..2c9d512 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/EntityChangeKind.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/EntityChangeKind.java
@@ -19,15 +19,11 @@
package org.apache.isis.applib.annotation;
/**
- *
- * @since 1.x {@index}
+ *
+ * @since 2.0 {@index}
*/
public enum EntityChangeKind {
-
CREATE,
-
UPDATE,
-
DELETE,
-
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/client/RepresentationTypeSimplifiedV2.java b/api/applib/src/main/java/org/apache/isis/applib/client/RepresentationTypeSimplifiedV2.java
index 72d0700..6725740 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/client/RepresentationTypeSimplifiedV2.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/client/RepresentationTypeSimplifiedV2.java
@@ -31,53 +31,56 @@ import lombok.Getter;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
+/**
+ * @since 1.x {@index}
+ */
@RequiredArgsConstructor
public enum RepresentationTypeSimplifiedV2 {
/**
- * The media type used as content-Type header when a domain object is rendered.
+ * The media type used as content-Type header when a domain object is rendered.
*/
OBJECT("object"),
-
- /**
- * The media type used as content-Type header when a parented collection is rendered.
+
+ /**
+ * The media type used as content-Type header when a parented collection is rendered.
*/
OBJECT_COLLECTION("object-collection"),
-
- /**
+
+ /**
* The media type used as content-Type header when a standalone collection is rendered.
*/
LIST("list"),
- /**
+ /**
* The media type used as content-Type header when a single (nullable) value is rendered.
* @since 2.0
*/
VALUE("value"),
- /**
- * The media type used as content-Type header when a list of values is rendered.
+ /**
+ * The media type used as content-Type header when a list of values is rendered.
* @since 2.0
*/
VALUES("values"),
-
- /**
+
+ /**
* The media type used as content-Type header when a void action result is rendered.
* @since 2.0
*/
VOID("void"),
-
+
;
-
+
@Getter final String typeLiteral;
-
+
public boolean isObject() { return this == OBJECT; }
public boolean isObjectCollection() { return this == OBJECT_COLLECTION; }
public boolean isList() { return this == LIST; }
public boolean isValue() { return this == VALUE; }
public boolean isValues() { return this == VALUES; }
public boolean isVoid() { return this == VOID; }
-
+
public String getContentTypeHeaderValue(final String profileName) {
return "application/json;"
+ "profile=\"" + profileName + "\""
@@ -90,7 +93,7 @@ public enum RepresentationTypeSimplifiedV2 {
.filter(candidate->candidate.typeLiteral.equals(typeLiteral))
.findAny();
}
-
+
public static Optional<RepresentationTypeSimplifiedV2> parseContentTypeHeaderString(
final @Nullable String contentTypeHeaderString) {
return extractReprType(_Strings.splitThenStream(contentTypeHeaderString, ";"))
@@ -98,16 +101,16 @@ public enum RepresentationTypeSimplifiedV2 {
.filter(Objects::nonNull);
}
-
+
// -- HELPER
-
+
private static String trimFirstAndLastCharacter(String s) {
if(s.length()<2) {
return s;
}
return s.substring(1, s.length()-1);
}
-
+
private static Optional<String> extractReprType(final @NonNull Stream<String> stringStream) {
return stringStream
.map(String::trim)
@@ -120,7 +123,7 @@ public enum RepresentationTypeSimplifiedV2 {
.findAny()
.map(RepresentationTypeSimplifiedV2::trimFirstAndLastCharacter);
}
-
-
-
+
+
+
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/clock/VirtualClock.java b/api/applib/src/main/java/org/apache/isis/applib/clock/VirtualClock.java
index 87d65e7..e42238a 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/clock/VirtualClock.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/clock/VirtualClock.java
@@ -41,37 +41,36 @@ import lombok.val;
/**
* Works in connection with {@link InteractionFactory}, such that it allows an {@link Interaction}
- * to run with its own simulated (or actual) time.
+ * to run with its own simulated (or actual) time.
* <p>
* Relates to {@link VirtualContext}
- *
- * @since 2.0 {@index}
*
+ * @since 2.0 {@index}
*/
@FunctionalInterface
public interface VirtualClock extends Serializable {
-
+
// -- INTERFACE
-
+
/**
* Returns the (virtual) time as an {@link Instant}.
- *
- * @apiNote This is a universal time difference, that does not depend on
- * where you are (eg. your current timezone), just on when you are.
+ *
+ * @apiNote This is a universal time difference, that does not depend on
+ * where you are (eg. your current timezone), just on when you are.
*
* @see {@link Instant}
*/
Instant now();
-
+
// -- FACTORIES
-
+
/**
* Returns a the system's default ticking clock.
*/
static VirtualClock system() {
return new VirtualClock_system();
}
-
+
/**
* Returns a ticking clock set to virtual time {@link Instant} {@code virtualNow}
*/
@@ -80,14 +79,14 @@ public interface VirtualClock extends Serializable {
val offsetMillis = ChronoUnit.MILLIS.between(Instant.now(), virtualNow);
return new VirtualClock_withOffset(offsetMillis);
}
-
+
/**
* Always returns the time {@link Instant} as given by {@code frozenAt}
*/
static VirtualClock frozenAt(@NonNull Instant frozenAt) {
return new VirtualClock_frozen(frozenAt);
}
-
+
/**
* Always returns the time {@link Instant} 2003/8/17 21:30:25 (UTC)
*/
@@ -96,14 +95,14 @@ public interface VirtualClock extends Serializable {
ZonedDateTime.of(2003, 7, 17, 21, 30, 25, 0, ZoneId.from(ZoneOffset.UTC)));
return frozenAt(frozenAt);
}
-
+
// -- UTILITY
-
+
/**
* Returns the (virtual) time as the number of milliseconds since the epoch start.
- *
- * @apiNote This is a universal time difference, that does not depend on
- * where you are (eg. your current timezone), just on when you are.
+ *
+ * @apiNote This is a universal time difference, that does not depend on
+ * where you are (eg. your current timezone), just on when you are.
*
* @see {@link Instant}
*/
@@ -138,17 +137,17 @@ public interface VirtualClock extends Serializable {
default java.util.Date javaUtilDate() {
return new java.util.Date(getEpochMillis());
}
-
+
default java.sql.Timestamp javaSqlTimestamp() {
return new java.sql.Timestamp(getEpochMillis());
}
-
+
default XMLGregorianCalendar xmlGregorianCalendar() {
return JavaSqlXMLGregorianCalendarMarshalling.toXMLGregorianCalendar(javaSqlTimestamp());
}
// -- DEPRECATIONS
-
+
/**
* Returns the time as a Joda {@link org.joda.time.DateTime},
* using the {@link ZoneId#systemDefault() system default} timezone.
@@ -158,7 +157,7 @@ public interface VirtualClock extends Serializable {
default org.joda.time.DateTime asJodaDateTime(final @NonNull ZoneId zoneId) {
return new org.joda.time.DateTime(getEpochMillis(), DateTimeZone.forID(zoneId.getId()));
}
-
+
/**
* Returns the time as a Joda {@link DateTime},
* using the {@link ZoneId#systemDefault() system default} timezone.
@@ -169,7 +168,7 @@ public interface VirtualClock extends Serializable {
return new org.joda.time.LocalDate(getEpochMillis(), DateTimeZone.forID(zoneId.getId()));
}
-
+
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/EventObjectBase.java b/api/applib/src/main/java/org/apache/isis/applib/events/EventObjectBase.java
index 9b5c643..f97107c 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/EventObjectBase.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/EventObjectBase.java
@@ -26,7 +26,6 @@ import static org.apache.isis.commons.internal.base._With.requires;
/**
* @since 2.0 {@index}
- *
*/
public abstract class EventObjectBase<T> {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/domain/AbstractDomainEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/domain/AbstractDomainEvent.java
index cd89219..08ddedf 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/domain/AbstractDomainEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/domain/AbstractDomainEvent.java
@@ -31,7 +31,7 @@ import org.apache.isis.commons.internal.exceptions._Exceptions;
import lombok.Getter;
/**
- * @since ? {@index}
+ * @since 1.x {@index}
*/
public abstract class AbstractDomainEvent<S> extends EventObjectBase<S> {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/domain/ActionDomainEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/domain/ActionDomainEvent.java
index 4ffc6c3..c5cbd38 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/domain/ActionDomainEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/domain/ActionDomainEvent.java
@@ -28,7 +28,7 @@ import lombok.Getter;
import lombok.Setter;
/**
- * @since ? {@index}
+ * @since 1.x {@index}
*/
public abstract class ActionDomainEvent<S> extends AbstractDomainEvent<S> {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/domain/CollectionDomainEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/domain/CollectionDomainEvent.java
index 5fd73c1..c5a75d8 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/domain/CollectionDomainEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/domain/CollectionDomainEvent.java
@@ -24,7 +24,7 @@ import org.apache.isis.applib.util.ToString;
import lombok.Getter;
/**
- * @since ? {@index}
+ * @since 1.x {@index}
*/
public abstract class CollectionDomainEvent<S,T> extends AbstractDomainEvent<S> {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/domain/PropertyDomainEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/domain/PropertyDomainEvent.java
index 07141b8..43c390f 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/domain/PropertyDomainEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/domain/PropertyDomainEvent.java
@@ -25,7 +25,7 @@ import lombok.Getter;
import lombok.Setter;
/**
- * @since ? {@index}
+ * @since 1.x {@index}
*/
public abstract class PropertyDomainEvent<S,T> extends AbstractDomainEvent<S> {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/AbstractLifecycleEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/AbstractLifecycleEvent.java
index 27215d4..2d1c726 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/AbstractLifecycleEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/AbstractLifecycleEvent.java
@@ -21,7 +21,7 @@ package org.apache.isis.applib.events.lifecycle;
import org.apache.isis.applib.events.EventObjectBase;
/**
- * @since ? {@index}
+ * @since 1.x {@index}
*/
public abstract class AbstractLifecycleEvent<S> extends EventObjectBase<S> {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectCreatedEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectCreatedEvent.java
index 79d6a2a..831c2e5 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectCreatedEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectCreatedEvent.java
@@ -19,7 +19,7 @@
package org.apache.isis.applib.events.lifecycle;
/**
- * @since ? {@index}
+ * @since 1.x {@index}
*/
public abstract class ObjectCreatedEvent<S> extends AbstractLifecycleEvent<S> {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectLoadedEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectLoadedEvent.java
index f7e33fc..82aaf11 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectLoadedEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectLoadedEvent.java
@@ -19,7 +19,7 @@
package org.apache.isis.applib.events.lifecycle;
/**
- * @since ? {@index}
+ * @since 1.x {@index}
*/
public abstract class ObjectLoadedEvent<S> extends AbstractLifecycleEvent<S> {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectPersistedEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectPersistedEvent.java
index 1f507ba..9f1d5f6 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectPersistedEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectPersistedEvent.java
@@ -19,7 +19,7 @@
package org.apache.isis.applib.events.lifecycle;
/**
- * @since ? {@index}
+ * @since 1.x {@index}
*/
public abstract class ObjectPersistedEvent<S> extends AbstractLifecycleEvent<S> {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectPersistingEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectPersistingEvent.java
index 245f611..74c0dcb 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectPersistingEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectPersistingEvent.java
@@ -19,7 +19,7 @@
package org.apache.isis.applib.events.lifecycle;
/**
- * @since ? {@index}
+ * @since 1.x {@index}
*/
public abstract class ObjectPersistingEvent<S> extends AbstractLifecycleEvent<S> {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectRemovingEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectRemovingEvent.java
index 6af275a..aa23e84 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectRemovingEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectRemovingEvent.java
@@ -19,7 +19,7 @@
package org.apache.isis.applib.events.lifecycle;
/**
- * @since ? {@index}
+ * @since 1.x {@index}
*/
public abstract class ObjectRemovingEvent<S> extends AbstractLifecycleEvent<S> {
@@ -46,7 +46,7 @@ public abstract class ObjectRemovingEvent<S> extends AbstractLifecycleEvent<S> {
public ObjectRemovingEvent() {
}
-
+
public ObjectRemovingEvent(final S source) {
super(source);
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectUpdatedEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectUpdatedEvent.java
index 7716e51..b835a38 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectUpdatedEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectUpdatedEvent.java
@@ -19,7 +19,7 @@
package org.apache.isis.applib.events.lifecycle;
/**
- * @since ? {@index}
+ * @since 1.x {@index}
*/
public abstract class ObjectUpdatedEvent<S> extends AbstractLifecycleEvent<S> {
@@ -46,7 +46,7 @@ public abstract class ObjectUpdatedEvent<S> extends AbstractLifecycleEvent<S> {
public ObjectUpdatedEvent() {
}
-
+
public ObjectUpdatedEvent(final S source) {
super(source);
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectUpdatingEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectUpdatingEvent.java
index 1e1ba25..ca3ff49 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectUpdatingEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/lifecycle/ObjectUpdatingEvent.java
@@ -19,7 +19,7 @@
package org.apache.isis.applib.events.lifecycle;
/**
- * @since ? {@index}
+ * @since 1.x {@index}
*/
public abstract class ObjectUpdatingEvent<S> extends AbstractLifecycleEvent<S> {
@@ -46,7 +46,7 @@ public abstract class ObjectUpdatingEvent<S> extends AbstractLifecycleEvent<S> {
public ObjectUpdatingEvent() {
}
-
+
public ObjectUpdatingEvent(final S source) {
super(source);
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/ui/AbstractUiEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/ui/AbstractUiEvent.java
index 667a50f..d8190bb 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/ui/AbstractUiEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/ui/AbstractUiEvent.java
@@ -24,7 +24,7 @@ import java.util.Map;
import org.apache.isis.applib.events.EventObjectBase;
/**
- * @since ? {@index}
+ * @since 1.x {@index}
*/
public abstract class AbstractUiEvent<S> extends EventObjectBase<S> {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/ui/CssClassUiEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/ui/CssClassUiEvent.java
index da43156..bc84e18 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/ui/CssClassUiEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/ui/CssClassUiEvent.java
@@ -24,7 +24,8 @@ import lombok.Getter;
/**
* Emitted for subscribers to obtain a cssClass hint (equivalent to the <tt>cssClass()</tt> supporting method or the {@link DomainObjectLayout#cssClass()} attribute).
- * @since ? {@index}
+ *
+ * @since 1.x {@index}
*/
public abstract class CssClassUiEvent<S> extends AbstractUiEvent<S> {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/ui/IconUiEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/ui/IconUiEvent.java
index 494f876..fc70cab 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/ui/IconUiEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/ui/IconUiEvent.java
@@ -22,6 +22,8 @@ import java.util.EventObject;
/**
* Emitted for subscribers to obtain a cssClass hint (equivalent to the <tt>iconName()</tt> supporting method).
+ *
+ * @since 1.x {@index}
*/
public abstract class IconUiEvent<S> extends AbstractUiEvent<S> {
@@ -90,4 +92,4 @@ public abstract class IconUiEvent<S> extends AbstractUiEvent<S> {
}
-}
\ No newline at end of file
+}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/ui/LayoutUiEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/ui/LayoutUiEvent.java
index 828a6c7..06be512 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/ui/LayoutUiEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/ui/LayoutUiEvent.java
@@ -26,7 +26,8 @@ import lombok.Getter;
/**
* Emitted for subscribers to obtain a layout hint (equivalent to the <tt>layout()</tt> supporting method).
- * @since ? {@index}
+ *
+ * @since 1.x {@index}
*/
public abstract class LayoutUiEvent<S> extends AbstractUiEvent<S> {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/events/ui/TitleUiEvent.java b/api/applib/src/main/java/org/apache/isis/applib/events/ui/TitleUiEvent.java
index abc336a..121f281 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/events/ui/TitleUiEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/events/ui/TitleUiEvent.java
@@ -26,7 +26,8 @@ import lombok.Getter;
/**
* Emitted for subscribers to obtain a cssClass hint (equivalent to the <tt>title()</tt> supporting method).
- * @since ? {@index}
+ *
+ * @since 1.x {@index}
*/
public abstract class TitleUiEvent<S> extends AbstractUiEvent<S> {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/DomainModelException.java b/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/DomainModelException.java
index c897721..945c100 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/DomainModelException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/DomainModelException.java
@@ -24,6 +24,8 @@ import org.apache.isis.applib.exceptions.UnrecoverableException;
/**
* Thrown when a problem is found with the domain model, and Isis cannot
* proceed.
+ *
+ * @since 1.x {@index}
*/
public class DomainModelException extends UnrecoverableException {
private static final long serialVersionUID = 1L;
diff --git a/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/MetaModelException.java b/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/MetaModelException.java
index 0675384..d7f57c6 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/MetaModelException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/MetaModelException.java
@@ -21,6 +21,9 @@ package org.apache.isis.applib.exceptions.unrecoverable;
import org.apache.isis.applib.exceptions.UnrecoverableException;
+/**
+ * @since 1.x {@index}
+ */
public class MetaModelException extends UnrecoverableException {
private static final long serialVersionUID = 1L;
diff --git a/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/NoAuthenticatorException.java b/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/NoAuthenticatorException.java
index 232327c..8fd878b 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/NoAuthenticatorException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/NoAuthenticatorException.java
@@ -24,6 +24,8 @@ import org.apache.isis.applib.exceptions.UnrecoverableException;
/**
* Indicates that there is no Authenticator available to authenticate a user
* based on this request.
+ *
+ * @since 1.x {@index}
*/
public class NoAuthenticatorException extends UnrecoverableException {
private static final long serialVersionUID = 1L;
diff --git a/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/ObjectNotFoundException.java b/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/ObjectNotFoundException.java
index 172fdad..e9d6fc2 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/ObjectNotFoundException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/ObjectNotFoundException.java
@@ -22,8 +22,10 @@ package org.apache.isis.applib.exceptions.unrecoverable;
import org.apache.isis.applib.exceptions.UnrecoverableException;
/**
- * Indicates that the persistence context was unable to get an instantiate
+ * Indicates that the persistence context was unable to get an instantiate
* for the specified object identifier.
+ *
+ * @since 1.x {@index}
*/
public class ObjectNotFoundException extends UnrecoverableException {
private static final long serialVersionUID = 1L;
diff --git a/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/ObjectPersistenceException.java b/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/ObjectPersistenceException.java
index 172bcd4..5765174 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/ObjectPersistenceException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/ObjectPersistenceException.java
@@ -21,6 +21,9 @@ package org.apache.isis.applib.exceptions.unrecoverable;
import org.apache.isis.applib.exceptions.UnrecoverableException;
+/**
+ * @since 1.x {@index}
+ */
public class ObjectPersistenceException extends UnrecoverableException {
private static final long serialVersionUID = 1L;
diff --git a/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/ReflectiveActionException.java b/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/ReflectiveActionException.java
index e4676af..2ead1c1 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/ReflectiveActionException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/ReflectiveActionException.java
@@ -21,6 +21,9 @@ package org.apache.isis.applib.exceptions.unrecoverable;
import org.apache.isis.applib.exceptions.UnrecoverableException;
+/**
+ * @since 1.x {@index}
+ */
public class ReflectiveActionException extends UnrecoverableException {
private static final long serialVersionUID = 1L;
diff --git a/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/RepositoryException.java b/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/RepositoryException.java
index 57fc685..5a0ae4b 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/RepositoryException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/RepositoryException.java
@@ -33,7 +33,7 @@ import org.apache.isis.applib.exceptions.UnrecoverableException;
*
* @see UnrecoverableException
* @see RecoverableException
- * @since ? {@index}
+ * @since 1.x {@index}
*/
public class RepositoryException extends UnrecoverableException {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/UnexpectedCallException.java b/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/UnexpectedCallException.java
index 96f2be5..6fa562e 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/UnexpectedCallException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/UnexpectedCallException.java
@@ -24,6 +24,8 @@ import org.apache.isis.applib.exceptions.UnrecoverableException;
/**
* Indicates that a call was made to a method (normally an overridden one) that
* was not expected, and hence not coded for.
+ *
+ * @since 1.x {@index}
*/
public class UnexpectedCallException extends UnrecoverableException {
private static final long serialVersionUID = 1L;
diff --git a/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/UnknownTypeException.java b/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/UnknownTypeException.java
index a4f71bd..f405d41 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/UnknownTypeException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/exceptions/unrecoverable/UnknownTypeException.java
@@ -21,6 +21,9 @@ package org.apache.isis.applib.exceptions.unrecoverable;
import org.apache.isis.applib.exceptions.UnrecoverableException;
+/**
+ * @since 1.x {@index}
+ */
public class UnknownTypeException extends UnrecoverableException {
private static final long serialVersionUID = 1L;
diff --git a/api/applib/src/main/java/org/apache/isis/applib/graph/Edge.java b/api/applib/src/main/java/org/apache/isis/applib/graph/Edge.java
index 96e90f9..1126d79 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/graph/Edge.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/graph/Edge.java
@@ -19,16 +19,13 @@
package org.apache.isis.applib.graph;
/**
- * Fundamental building block for graph structures.
- *
+ * Fundamental building block for graph structures.
+ *
* @since 2.0 {@index}
*
* @param <T> type constraint for values contained by this edge's vertices
*/
public interface Edge<T> {
-
Vertex<T> getFrom();
-
Vertex<T> getTo();
-
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/graph/Vertex.java b/api/applib/src/main/java/org/apache/isis/applib/graph/Vertex.java
index ea75617..f8bf00a 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/graph/Vertex.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/graph/Vertex.java
@@ -21,8 +21,8 @@ package org.apache.isis.applib.graph;
import java.util.stream.Stream;
/**
- * Fundamental building block for graph structures.
- *
+ * Fundamental building block for graph structures.
+ *
* @since 2.0 {@index}
*
* @param <T> type constraint for values contained by this vertex
@@ -36,5 +36,4 @@ public interface Vertex<T> {
Stream<Edge<T>> streamIncoming();
Stream<Edge<T>> streamOutgoing();
-
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/graph/tree/LazyTreeNode.java b/api/applib/src/main/java/org/apache/isis/applib/graph/tree/LazyTreeNode.java
index ce2964e..38b32a5 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/graph/tree/LazyTreeNode.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/graph/tree/LazyTreeNode.java
@@ -26,6 +26,9 @@ import org.apache.isis.applib.annotation.Value;
import org.apache.isis.commons.internal.base._Lazy;
import org.apache.isis.commons.internal.exceptions._Exceptions;
+/**
+ * @since 2.0 {@index}
+ */
@Value(semanticsProviderName="org.apache.isis.core.metamodel.facets.value.treenode.TreeNodeValueSemanticsProvider")
public class LazyTreeNode<T> implements TreeNode<T> {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/jaxb/DataTypeFactory.java b/api/applib/src/main/java/org/apache/isis/applib/jaxb/DataTypeFactory.java
index d1f0810..1a6ba63 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/jaxb/DataTypeFactory.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/jaxb/DataTypeFactory.java
@@ -26,6 +26,9 @@ import javax.xml.datatype.XMLGregorianCalendar;
import lombok.experimental.UtilityClass;
+/**
+ * @since 2.0 {@index}
+ */
@UtilityClass
public class DataTypeFactory {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/jaxb/JavaSqlXMLGregorianCalendarMarshalling.java b/api/applib/src/main/java/org/apache/isis/applib/jaxb/JavaSqlXMLGregorianCalendarMarshalling.java
index a64f55d..e918597 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/jaxb/JavaSqlXMLGregorianCalendarMarshalling.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/jaxb/JavaSqlXMLGregorianCalendarMarshalling.java
@@ -27,6 +27,9 @@ import javax.xml.datatype.XMLGregorianCalendar;
import lombok.experimental.UtilityClass;
+/**
+ * @since 2.0 {@index}
+ */
@UtilityClass
public final class JavaSqlXMLGregorianCalendarMarshalling {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/jaxb/JavaTimeJaxbAdapters.java b/api/applib/src/main/java/org/apache/isis/applib/jaxb/JavaTimeJaxbAdapters.java
index a263bcb..14bfef2 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/jaxb/JavaTimeJaxbAdapters.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/jaxb/JavaTimeJaxbAdapters.java
@@ -34,13 +34,12 @@ import lombok.experimental.UtilityClass;
/**
* Provides JAXB XmlAdapters for Java time temporal types.
* <p>
- *
+ *
* Example:<pre>
* @XmlElement @XmlJavaTypeAdapter(JavaTimeJaxbAdapters.LocalDateAdapter.class)
* @Getter @Setter private java.time.LocalDate localDate;
* </pre>
- *
- *
+ *
* @since 2.0 {@index}
*/
@UtilityClass
diff --git a/api/applib/src/main/java/org/apache/isis/applib/jaxb/JavaTimeXMLGregorianCalendarMarshalling.java b/api/applib/src/main/java/org/apache/isis/applib/jaxb/JavaTimeXMLGregorianCalendarMarshalling.java
index a57bc51..377401c 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/jaxb/JavaTimeXMLGregorianCalendarMarshalling.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/jaxb/JavaTimeXMLGregorianCalendarMarshalling.java
@@ -31,6 +31,9 @@ import javax.xml.datatype.XMLGregorianCalendar;
import lombok.experimental.UtilityClass;
+/**
+ * @since 2.0 {@index}
+ */
@UtilityClass
public final class JavaTimeXMLGregorianCalendarMarshalling {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/jaxb/JodaTimeJaxbAdapters.java b/api/applib/src/main/java/org/apache/isis/applib/jaxb/JodaTimeJaxbAdapters.java
index 39ca65e..8801bec 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/jaxb/JodaTimeJaxbAdapters.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/jaxb/JodaTimeJaxbAdapters.java
@@ -30,6 +30,9 @@ import org.joda.time.format.ISODateTimeFormat;
import lombok.experimental.UtilityClass;
+/**
+ * @since 2.0 {@index}
+ */
@UtilityClass
public final class JodaTimeJaxbAdapters {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/jaxb/JodaTimeXMLGregorianCalendarMarshalling.java b/api/applib/src/main/java/org/apache/isis/applib/jaxb/JodaTimeXMLGregorianCalendarMarshalling.java
index 95a423c..b98d088 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/jaxb/JodaTimeXMLGregorianCalendarMarshalling.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/jaxb/JodaTimeXMLGregorianCalendarMarshalling.java
@@ -33,6 +33,9 @@ import org.joda.time.LocalTime;
import lombok.experimental.UtilityClass;
+/**
+ * @since 2.0 {@index}
+ */
@UtilityClass
public class JodaTimeXMLGregorianCalendarMarshalling {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/jaxb/PersistentEntitiesAdapter.java b/api/applib/src/main/java/org/apache/isis/applib/jaxb/PersistentEntitiesAdapter.java
index 7f57f40..018171d 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/jaxb/PersistentEntitiesAdapter.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/jaxb/PersistentEntitiesAdapter.java
@@ -33,7 +33,7 @@ import lombok.Getter;
import lombok.val;
/**
- * @since ? {@index}
+ * @since 2.0 {@index}
*/
public class PersistentEntitiesAdapter extends XmlAdapter<OidsDto, List<Object>> {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/jaxb/PersistentEntityAdapter.java b/api/applib/src/main/java/org/apache/isis/applib/jaxb/PersistentEntityAdapter.java
index d24f7d1..49905fc 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/jaxb/PersistentEntityAdapter.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/jaxb/PersistentEntityAdapter.java
@@ -26,7 +26,7 @@ import org.apache.isis.schema.common.v2.OidDto;
import lombok.val;
/**
- * @since ? {@index}
+ * @since 2.0 {@index}
*/
public class PersistentEntityAdapter extends XmlAdapter<OidDto, Object> {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/jaxb/PrimitiveJaxbAdapters.java b/api/applib/src/main/java/org/apache/isis/applib/jaxb/PrimitiveJaxbAdapters.java
index fbae217..b5a9daf 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/jaxb/PrimitiveJaxbAdapters.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/jaxb/PrimitiveJaxbAdapters.java
@@ -25,6 +25,9 @@ import javax.xml.bind.annotation.adapters.XmlAdapter;
import org.apache.isis.commons.internal.base._Bytes;
import org.apache.isis.commons.internal.base._Strings;
+/**
+ * @since 2.0 {@index}
+ */
public final class PrimitiveJaxbAdapters {
/**
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/component/ActionLayoutData.java b/api/applib/src/main/java/org/apache/isis/applib/layout/component/ActionLayoutData.java
index 4a72c0b..92a609c 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/component/ActionLayoutData.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/component/ActionLayoutData.java
@@ -39,7 +39,8 @@ import org.apache.isis.applib.layout.links.Link;
* Note that {@link org.apache.isis.applib.annotation.ActionLayout#contributed()} is omitted because this only applies
* to domain services.
* </p>
- * @since ? {@index}
+ *
+ * @since 1.x {@index}
*/
@XmlRootElement(
name = "action"
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/component/ActionLayoutDataOwner.java b/api/applib/src/main/java/org/apache/isis/applib/layout/component/ActionLayoutDataOwner.java
index c4b07bb..fec116d 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/component/ActionLayoutDataOwner.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/component/ActionLayoutDataOwner.java
@@ -20,6 +20,9 @@ package org.apache.isis.applib.layout.component;
import java.util.List;
+/**
+ * @since 1.x {@index}
+ */
public interface ActionLayoutDataOwner extends Owner {
List<ActionLayoutData> getActions();
void setActions(List<ActionLayoutData> actions);
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/component/CollectionLayoutData.java b/api/applib/src/main/java/org/apache/isis/applib/layout/component/CollectionLayoutData.java
index 46d4bb2..47807bd 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/component/CollectionLayoutData.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/component/CollectionLayoutData.java
@@ -38,6 +38,8 @@ import org.apache.isis.applib.layout.links.Link;
* Note that {@link org.apache.isis.applib.annotation.CollectionLayout#render()} is omitted because
* {@link #defaultView} is its replacement.
* </p>
+ *
+ * @since 1.x {@index}
*/
@XmlRootElement(
name = "collection"
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/component/CollectionLayoutDataOwner.java b/api/applib/src/main/java/org/apache/isis/applib/layout/component/CollectionLayoutDataOwner.java
index b4ecb19..2a1a3f0 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/component/CollectionLayoutDataOwner.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/component/CollectionLayoutDataOwner.java
@@ -20,7 +20,9 @@ package org.apache.isis.applib.layout.component;
import java.util.List;
+/**
+ * @since 1.x {@index}
+ */
public interface CollectionLayoutDataOwner extends MemberRegionOwner {
-
List<CollectionLayoutData> getCollections();
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/component/CssClassFaPosition.java b/api/applib/src/main/java/org/apache/isis/applib/layout/component/CssClassFaPosition.java
index ff22b89..bdbbec0 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/component/CssClassFaPosition.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/component/CssClassFaPosition.java
@@ -20,6 +20,9 @@ package org.apache.isis.applib.layout.component;
import javax.xml.bind.annotation.XmlType;
+/**
+ * @since 1.x {@index}
+ */
@XmlType(
namespace = "http://isis.apache.org/applib/layout/component"
)
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/component/DomainObjectLayoutData.java b/api/applib/src/main/java/org/apache/isis/applib/layout/component/DomainObjectLayoutData.java
index e16a71a..7493d72 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/component/DomainObjectLayoutData.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/component/DomainObjectLayoutData.java
@@ -31,6 +31,8 @@ import org.apache.isis.applib.layout.links.Link;
/**
* Describes the layout of the title and icon of a domain object, broadly corresponding to {@link org.apache.isis.applib.annotation.DomainObjectLayout}.
+ *
+ * @since 1.x {@index}
*/
@XmlRootElement(
name = "domainObject"
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/component/DomainObjectLayoutDataOwner.java b/api/applib/src/main/java/org/apache/isis/applib/layout/component/DomainObjectLayoutDataOwner.java
index 74c6a25..788dd83 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/component/DomainObjectLayoutDataOwner.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/component/DomainObjectLayoutDataOwner.java
@@ -18,6 +18,9 @@
*/
package org.apache.isis.applib.layout.component;
+/**
+ * @since 1.x {@index}
+ */
public interface DomainObjectLayoutDataOwner extends Owner {
DomainObjectLayoutData getDomainObject();
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/component/FieldSet.java b/api/applib/src/main/java/org/apache/isis/applib/layout/component/FieldSet.java
index 335d65a..5ea34cd 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/component/FieldSet.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/component/FieldSet.java
@@ -35,6 +35,8 @@ import org.apache.isis.applib.layout.grid.bootstrap3.BS3Col;
* A {@link MemberRegion region} of the page containing a set of
* related {@link PropertyLayoutData properties} and associated
* {@link ActionLayoutData actions}.
+ *
+ * @since 1.x {@index}
*/
@XmlRootElement(
name = "fieldSet"
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/component/FieldSetOwner.java b/api/applib/src/main/java/org/apache/isis/applib/layout/component/FieldSetOwner.java
index c6a0942..b62483d 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/component/FieldSetOwner.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/component/FieldSetOwner.java
@@ -20,6 +20,9 @@ package org.apache.isis.applib.layout.component;
import java.util.List;
+/**
+ * @since 1.x {@index}
+ */
public interface FieldSetOwner extends MemberRegionOwner {
List<FieldSet> getFieldSets();
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/component/HasNamed.java b/api/applib/src/main/java/org/apache/isis/applib/layout/component/HasNamed.java
index 098727c..8567b2f 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/component/HasNamed.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/component/HasNamed.java
@@ -21,6 +21,9 @@ package org.apache.isis.applib.layout.component;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
+/**
+ * @since 1.x {@index}
+ */
public interface HasNamed {
@XmlElement(required = false)
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/component/MemberRegion.java b/api/applib/src/main/java/org/apache/isis/applib/layout/component/MemberRegion.java
index f44efe2..9e81369 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/component/MemberRegion.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/component/MemberRegion.java
@@ -26,6 +26,8 @@ package org.apache.isis.applib.layout.component;
* of properties and their actions), and a <code>CollectionLayoutData</code>
* (containing a single collection and associated actions)
* </p>
+ *
+ * @since 1.x {@index}
*/
public interface MemberRegion<T extends MemberRegionOwner> extends Owned<T> {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/component/MemberRegionOwner.java b/api/applib/src/main/java/org/apache/isis/applib/layout/component/MemberRegionOwner.java
index a32526a..5eafbe8 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/component/MemberRegionOwner.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/component/MemberRegionOwner.java
@@ -18,6 +18,9 @@
*/
package org.apache.isis.applib.layout.component;
+/**
+ * @since 1.x {@index}
+ */
public interface MemberRegionOwner extends Owner {
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/component/Owned.java b/api/applib/src/main/java/org/apache/isis/applib/layout/component/Owned.java
index 807fe54..38dffd4 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/component/Owned.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/component/Owned.java
@@ -18,6 +18,9 @@
*/
package org.apache.isis.applib.layout.component;
+/**
+ * @since 1.x {@index}
+ */
public interface Owned<T extends Owner> {
T getOwner();
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/component/Owner.java b/api/applib/src/main/java/org/apache/isis/applib/layout/component/Owner.java
index 37299cf..96f0711 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/component/Owner.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/component/Owner.java
@@ -18,7 +18,9 @@
*/
package org.apache.isis.applib.layout.component;
+/**
+ * @since 1.x {@index}
+ */
public interface Owner {
-
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/component/PropertyLayoutData.java b/api/applib/src/main/java/org/apache/isis/applib/layout/component/PropertyLayoutData.java
index a56700b..f8e37d4 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/component/PropertyLayoutData.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/component/PropertyLayoutData.java
@@ -37,6 +37,8 @@ import org.apache.isis.applib.layout.links.Link;
/**
* Describes the layout of a single property, broadly corresponds to the {@link org.apache.isis.applib.annotation.PropertyLayout} annotation.
+ *
+ * @since 1.x {@index}
*/
@XmlRootElement(
name = "property"
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/component/ServiceActionLayoutData.java b/api/applib/src/main/java/org/apache/isis/applib/layout/component/ServiceActionLayoutData.java
index 507ae23..93e3248 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/component/ServiceActionLayoutData.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/component/ServiceActionLayoutData.java
@@ -36,6 +36,8 @@ import org.apache.isis.applib.layout.links.Link;
* Note that {@link org.apache.isis.applib.annotation.ActionLayout#contributed()} is omitted because this only applies
* to domain services.
* </p>
+ *
+ * @since 1.x {@index}
*/
@XmlRootElement(
name = "serviceAction"
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/component/ServiceActionLayoutDataOwner.java b/api/applib/src/main/java/org/apache/isis/applib/layout/component/ServiceActionLayoutDataOwner.java
index 0f98411..dda5240 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/component/ServiceActionLayoutDataOwner.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/component/ServiceActionLayoutDataOwner.java
@@ -20,6 +20,9 @@ package org.apache.isis.applib.layout.component;
import java.util.List;
+/**
+ * @since 1.x {@index}
+ */
public interface ServiceActionLayoutDataOwner extends Owner {
List<ServiceActionLayoutData> getServiceActions();
void setServiceActions(List<ServiceActionLayoutData> actions);
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/Grid.java b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/Grid.java
index 01a3992..0f4b2ba 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/Grid.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/Grid.java
@@ -34,6 +34,8 @@ import org.apache.isis.applib.services.layout.LayoutService;
* <p>
* It is used by the {@link LayoutService} as a common based type for any layouts read in from XML.
* </p>
+ *
+ * @since 1.x {@index}
*/
public interface Grid {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/GridAbstract.java b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/GridAbstract.java
index 6a1fdc1..2f797d1 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/GridAbstract.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/GridAbstract.java
@@ -41,6 +41,8 @@ import org.apache.isis.applib.services.layout.LayoutService;
* <p>
* It is used by the {@link LayoutService} as a common based type for any layouts read in from XML.
* </p>
+ *
+ * @since 1.x {@index}
*/
@XmlTransient // ignore this class
public abstract class GridAbstract implements Grid {
@@ -98,7 +100,7 @@ public abstract class GridAbstract implements Grid {
protected void traverseActions(
final ActionLayoutDataOwner actionLayoutDataOwner,
final GridAbstract.Visitor visitor) {
-
+
final List<ActionLayoutData> actionLayoutDatas = actionLayoutDataOwner.getActions();
if(actionLayoutDatas == null) {
return;
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFix.java b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFix.java
index 8847cf3..eedeaa5 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFix.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFix.java
@@ -18,6 +18,9 @@
*/
package org.apache.isis.applib.layout.grid.bootstrap3;
+/**
+ * @since 1.x {@index}
+ */
public abstract class BS3ClearFix extends BS3RowContent {
private static final long serialVersionUID = 1L;
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFixHidden.java b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFixHidden.java
index bcd5422..b227be6 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFixHidden.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFixHidden.java
@@ -28,6 +28,8 @@ import javax.xml.bind.annotation.XmlType;
* <p>
* It is rendered as a (eg) <div class="clearfix hidden-xs ...">
* </p>
+ *
+ * @since 1.x {@index}
*/
@XmlRootElement(
name = "clearFixHidden"
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFixVisible.java b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFixVisible.java
index a2349a3..22d661c 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFixVisible.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ClearFixVisible.java
@@ -29,6 +29,8 @@ import javax.xml.bind.annotation.XmlType;
* <p>
* It is rendered as a (eg) <div class="clearfix visible-xs-block ...">
* </p>
+ *
+ * @since 1.x {@index}
*/
@XmlRootElement(
name = "clearFixVisible"
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Col.java b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Col.java
index 47686f2..550e832 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Col.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Col.java
@@ -50,6 +50,8 @@ import org.apache.isis.commons.internal.primitives._Ints.Bound;
* <p>
* It is rendered as a (eg) <div class="col-md-4 ...">
* </p>
+ *
+ * @since 1.x {@index}
*/
@XmlRootElement(
name = "col"
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Element.java b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Element.java
index 062d557..c3410c2 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Element.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Element.java
@@ -20,6 +20,9 @@ package org.apache.isis.applib.layout.grid.bootstrap3;
import java.io.Serializable;
+/**
+ * @since 1.x {@index}
+ */
public interface BS3Element extends WithinGrid, Serializable {
/**
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ElementAbstract.java b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ElementAbstract.java
index de037fe..160c702 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ElementAbstract.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3ElementAbstract.java
@@ -22,6 +22,8 @@ import javax.xml.bind.annotation.XmlAttribute;
/**
* Superclass for all layout classes, factoring out the common {@link #getCssClass()} attribute.
+ *
+ * @since 1.x {@index}
*/
public abstract class BS3ElementAbstract implements BS3Element {
@@ -47,4 +49,4 @@ public abstract class BS3ElementAbstract implements BS3Element {
-}
\ No newline at end of file
+}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Grid.java b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Grid.java
index f50e427..125a0fc 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Grid.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Grid.java
@@ -45,6 +45,8 @@ import org.apache.isis.applib.mixins.dto.Dto;
* <p>
* The element is rendered as a <div class="...">
* </p>
+ *
+ * @since 1.x {@index}
*/
@XmlRootElement(
name = "grid"
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Row.java b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Row.java
index 9fc2d77..2f2256b 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Row.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Row.java
@@ -37,6 +37,8 @@ import org.apache.isis.applib.annotation.Programmatic;
* <p>
* It is rendered as a <div class="row ...">
* </p>
+ *
+ * @since 1.x {@index}
*/
@XmlType(
name = "row"
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3RowContent.java b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3RowContent.java
index cfdd27c..84a7dec 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3RowContent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3RowContent.java
@@ -31,6 +31,7 @@ import org.apache.isis.applib.annotation.Programmatic;
* {@link BS3ClearFix clearfix} classes.
* </p>
*
+ * @since 1.x {@index}
*/
public abstract class BS3RowContent extends BS3ElementAbstract {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3RowContentOwner.java b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3RowContentOwner.java
index c0f1dbd..a2e7542 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3RowContentOwner.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3RowContentOwner.java
@@ -20,6 +20,9 @@ package org.apache.isis.applib.layout.grid.bootstrap3;
import org.apache.isis.applib.layout.component.Owner;
+/**
+ * @since 1.x {@index}
+ */
public interface BS3RowContentOwner extends Owner, WithinGrid {
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3RowOwner.java b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3RowOwner.java
index 1dafe14..1062ef8 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3RowOwner.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3RowOwner.java
@@ -22,6 +22,9 @@ import java.util.List;
import org.apache.isis.applib.layout.component.Owner;
+/**
+ * @since 1.x {@index}
+ */
public interface BS3RowOwner extends Owner, WithinGrid {
List<BS3Row> getRows();
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Tab.java b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Tab.java
index 772e6d4..6c4a282 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Tab.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3Tab.java
@@ -40,6 +40,8 @@ import org.apache.isis.applib.layout.component.PropertyLayoutData;
* <p>
* They simply contain one or more {@link BS3Row row}s.
* </p>
+ *
+ * @since 1.x {@index}
*/
@XmlType(
name = "tab"
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3TabGroup.java b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3TabGroup.java
index 02471b6..de7eaff 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3TabGroup.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3TabGroup.java
@@ -30,6 +30,8 @@ import org.apache.isis.applib.annotation.Programmatic;
/**
* Represents a tab group containing one or more {@link BS3Tab tab}s.
+ *
+ * @since 1.x {@index}
*/
@XmlType(
name = "tabGroup"
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3TabGroupOwner.java b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3TabGroupOwner.java
index 280058f..cef4527 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3TabGroupOwner.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3TabGroupOwner.java
@@ -22,6 +22,9 @@ import java.util.List;
import org.apache.isis.applib.layout.component.Owner;
+/**
+ * @since 1.x {@index}
+ */
public interface BS3TabGroupOwner extends Owner, WithinGrid {
List<BS3TabGroup> getTabGroups();
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3TabOwner.java b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3TabOwner.java
index 2a3620d..52c0243 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3TabOwner.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/BS3TabOwner.java
@@ -22,6 +22,9 @@ import java.util.List;
import org.apache.isis.applib.layout.component.Owner;
+/**
+ * @since 1.x {@index}
+ */
public interface BS3TabOwner extends Owner, WithinGrid {
List<BS3Tab> getTabs();
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/Size.java b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/Size.java
index 4dd8c61..fbecbaa 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/Size.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/Size.java
@@ -21,6 +21,8 @@ package org.apache.isis.applib.layout.grid.bootstrap3;
/**
* As per <a href="http://getbootstrap.com/css/#grid-options">grid options</a>, also used in
* <a href="http://getbootstrap.com/css/#responsive-utilities">responsive utility</a> classes.
+ *
+ * @since 1.x {@index}
*/
public enum Size {
XS,
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/SizeSpan.java b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/SizeSpan.java
index 813c41c..a24bd28 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/SizeSpan.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/SizeSpan.java
@@ -26,6 +26,9 @@ import javax.xml.bind.annotation.XmlType;
/**
*
*/
+/**
+ * @since 1.x {@index}
+ */
@XmlType(
name = "sizeSpan"
, propOrder = {}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/WithinGrid.java b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/WithinGrid.java
index 2f45a1f..532e9a1 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/WithinGrid.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/grid/bootstrap3/WithinGrid.java
@@ -20,6 +20,9 @@ package org.apache.isis.applib.layout.grid.bootstrap3;
import org.apache.isis.applib.annotation.Programmatic;
+/**
+ * @since 1.x {@index}
+ */
public interface WithinGrid {
@Programmatic
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/links/Link.java b/api/applib/src/main/java/org/apache/isis/applib/layout/links/Link.java
index 025e550..135bd7e 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/links/Link.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/links/Link.java
@@ -25,6 +25,9 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
+/**
+ * @since 1.x {@index}
+ */
@XmlType(
name = "link"
, propOrder = {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/HasNamed.java b/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/HasNamed.java
index 6627d86..4b4d004 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/HasNamed.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/HasNamed.java
@@ -20,9 +20,12 @@ package org.apache.isis.applib.layout.menubars;
import org.apache.isis.applib.annotation.Programmatic;
+/**
+ * @since 1.x {@index}
+ */
public interface HasNamed {
@Programmatic
String getNamed();
-
+
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/Menu.java b/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/Menu.java
index 68789ba..1dd86c1 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/Menu.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/Menu.java
@@ -18,6 +18,9 @@
*/
package org.apache.isis.applib.layout.menubars;
+/**
+ * @since 1.x {@index}
+ */
public interface Menu extends HasNamed {
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuBar.java b/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuBar.java
index 7f84461..2a75254 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuBar.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuBar.java
@@ -18,6 +18,9 @@
*/
package org.apache.isis.applib.layout.menubars;
+/**
+ * @since 1.x {@index}
+ */
public interface MenuBar {
-}
\ No newline at end of file
+}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuBars.java b/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuBars.java
index 1be7b9e..da3c798 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuBars.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuBars.java
@@ -23,6 +23,9 @@ import java.util.Map;
import org.apache.isis.applib.annotation.DomainServiceLayout;
import org.apache.isis.applib.layout.component.ServiceActionLayoutData;
+/**
+ * @since 1.x {@index}
+ */
public interface MenuBars {
@FunctionalInterface
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuBarsAbstract.java b/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuBarsAbstract.java
index 3fbaf16..e1a24bd 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuBarsAbstract.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuBarsAbstract.java
@@ -28,6 +28,9 @@ import org.apache.isis.applib.layout.component.ServiceActionLayoutData;
import lombok.val;
+/**
+ * @since 1.x {@index}
+ */
@XmlTransient // ignore this class
public abstract class MenuBarsAbstract implements MenuBars, Serializable {
@@ -53,7 +56,7 @@ public abstract class MenuBarsAbstract implements MenuBars, Serializable {
@XmlTransient
public LinkedHashMap<String, ServiceActionLayoutData> getAllServiceActionsByObjectTypeAndId() {
- val serviceActionsByObjectTypeAndId =
+ val serviceActionsByObjectTypeAndId =
new LinkedHashMap<String, ServiceActionLayoutData>();
visit(serviceActionLayoutData -> {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuSection.java b/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuSection.java
index feacaf0..936da1b 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuSection.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/MenuSection.java
@@ -23,7 +23,10 @@ import java.util.List;
import org.apache.isis.applib.annotation.Programmatic;
import org.apache.isis.applib.layout.component.ServiceActionLayoutData;
-public interface MenuSection extends HasNamed {
+/**
+ * @since 1.x {@index}
+ */
+1public interface MenuSection extends HasNamed {
@Programmatic
List<ServiceActionLayoutData> getServiceActions();
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3Menu.java b/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3Menu.java
index a7ccaf0..20348bc 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3Menu.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3Menu.java
@@ -33,6 +33,8 @@ import lombok.ToString;
/**
* Describes the collection of domain services into menubars, broadly corresponding to the aggregation of information of {@link DomainServiceLayout} that have the same value of {@link DomainServiceLayout#named()}.
+ *
+ * @since 1.x {@index}
*/
@XmlType(
name = "menu"
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBar.java b/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBar.java
index cb65485..7758cef 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBar.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBar.java
@@ -31,6 +31,8 @@ import org.apache.isis.applib.layout.menubars.MenuBar;
/**
* Describes the collection of domain services into menubars, broadly corresponding to the aggregation of information of {@link org.apache.isis.applib.annotation.DomainServiceLayout} that have the same value of {@link DomainServiceLayout#named()}.
+ *
+ * @since 1.x {@index}
*/
@XmlType(
name = "menuBar"
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBars.java b/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBars.java
index d52e577..a147e92 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBars.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuBars.java
@@ -32,6 +32,8 @@ import org.apache.isis.commons.internal.exceptions._Exceptions;
/**
* Describes the collection of domain services into menubars, broadly corresponding to the aggregation of information within {@link org.apache.isis.applib.annotation.DomainServiceLayout}.
+ *
+ * @since 1.x {@index}
*/
@XmlRootElement(
name = "menuBars"
@@ -132,7 +134,7 @@ public class BS3MenuBars extends org.apache.isis.applib.layout.menubars.MenuBars
public static VisitorAdapter visitingMenuSections(Consumer<BS3MenuSection> onVisit) {
return new VisitorAdapter() {
- @Override public void visit(final BS3MenuSection section) {
+ @Override public void visit(final BS3MenuSection section) {
onVisit.accept(section);
}
};
@@ -140,7 +142,7 @@ public class BS3MenuBars extends org.apache.isis.applib.layout.menubars.MenuBars
public static VisitorAdapter visitingMenus(Consumer<BS3Menu> onVisit) {
return new VisitorAdapter() {
- @Override public void visit(final BS3Menu menu) {
+ @Override public void visit(final BS3Menu menu) {
onVisit.accept(menu);
}
};
diff --git a/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuSection.java b/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuSection.java
index 1e563b8..9af5957 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuSection.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/layout/menubars/bootstrap3/BS3MenuSection.java
@@ -32,6 +32,8 @@ import org.apache.isis.applib.layout.menubars.MenuSection;
/**
* Corresponds to a domain service that contributes its serviceActions under a particular {@link BS3MenuBar}.
+ *
+ * @since 1.x {@index}
*/
@XmlType(
name = "section"
@@ -58,7 +60,7 @@ public class BS3MenuSection implements MenuSection, Serializable, ServiceActionL
public void setNamed(String named) {
this.named = named;
}
-
+
private List<ServiceActionLayoutData> serviceActions = new ArrayList<>();
// no wrapper
diff --git a/api/applib/src/main/java/org/apache/isis/applib/mixins/MixinConstants.java b/api/applib/src/main/java/org/apache/isis/applib/mixins/MixinConstants.java
index 8f7046a..acc3375 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/mixins/MixinConstants.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/mixins/MixinConstants.java
@@ -21,6 +21,9 @@ package org.apache.isis.applib.mixins;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
+/**
+ * @since 1.x {@index}
+ */
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public final class MixinConstants {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto.java b/api/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto.java
index 389eab6..31902e1 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto.java
@@ -18,6 +18,9 @@
*/
package org.apache.isis.applib.mixins.dto;
+/**
+ * @since 1.x {@index}
+ */
public interface Dto {
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto_downloadXml.java b/api/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto_downloadXml.java
index 5bcf5cc..7cbc941 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto_downloadXml.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto_downloadXml.java
@@ -34,6 +34,9 @@ import org.apache.isis.applib.value.NamedWithMimeType.CommonMimeType;
import lombok.RequiredArgsConstructor;
import lombok.val;
+/**
+ * @since 1.x {@index}
+ */
@Action(
domainEvent = Dto_downloadXml.ActionDomainEvent.class,
semantics = SemanticsOf.SAFE,
diff --git a/api/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto_downloadXsd.java b/api/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto_downloadXsd.java
index ba81923..1f1f169 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto_downloadXsd.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/mixins/dto/Dto_downloadXsd.java
@@ -39,6 +39,9 @@ import org.apache.isis.applib.value.NamedWithMimeType.CommonMimeType;
import lombok.RequiredArgsConstructor;
import lombok.val;
+/**
+ * @since 1.x {@index}
+ */
@Action(
domainEvent = Dto_downloadXsd.ActionDomainEvent.class,
semantics = SemanticsOf.SAFE,
@@ -71,7 +74,7 @@ public class Dto_downloadXsd {
if(schemaMap.isEmpty()) {
val msg = String.format(
- "No schemas were generated for %s; programming error?",
+ "No schemas were generated for %s; programming error?",
holder.getClass().getName());
messageService.warnUser(msg);
return null;
diff --git a/api/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_downloadLayoutXml.java b/api/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_downloadLayoutXml.java
index ac45a1e..123e28c 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_downloadLayoutXml.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_downloadLayoutXml.java
@@ -34,6 +34,9 @@ import org.apache.isis.applib.value.NamedWithMimeType.CommonMimeType;
import lombok.RequiredArgsConstructor;
import lombok.val;
+/**
+ * @since 1.x {@index}
+ */
@Action(
domainEvent = Object_downloadLayoutXml.ActionDomainEvent.class,
semantics = SemanticsOf.SAFE,
diff --git a/api/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_openRestApi.java b/api/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_openRestApi.java
index f8bc14c..27ce79f 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_openRestApi.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_openRestApi.java
@@ -34,6 +34,9 @@ import org.apache.isis.applib.value.LocalResourcePath;
import lombok.RequiredArgsConstructor;
import lombok.val;
+/**
+ * @since 1.x {@index}
+ */
@Action(
domainEvent = Object_openRestApi.ActionDomainEvent.class,
semantics = SemanticsOf.SAFE,
diff --git a/api/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_rebuildMetamodel.java b/api/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_rebuildMetamodel.java
index 58f5b5f..6e2ccd9 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_rebuildMetamodel.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/mixins/layout/Object_rebuildMetamodel.java
@@ -30,6 +30,9 @@ import org.apache.isis.applib.services.metamodel.MetaModelService;
import lombok.RequiredArgsConstructor;
+/**
+ * @since 1.x {@index}
+ */
@Action(
domainEvent = Object_rebuildMetamodel.ActionDomainEvent.class,
semantics = SemanticsOf.IDEMPOTENT,
diff --git a/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_downloadMetamodelXml.java b/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_downloadMetamodelXml.java
index 0129e8e..0593c57 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_downloadMetamodelXml.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_downloadMetamodelXml.java
@@ -38,6 +38,9 @@ import org.apache.isis.applib.value.NamedWithMimeType.CommonMimeType;
import lombok.RequiredArgsConstructor;
import lombok.val;
+/**
+ * @since 1.x {@index}
+ */
@Action(
domainEvent = Object_downloadMetamodelXml.ActionDomainEvent.class,
semantics = SemanticsOf.SAFE,
@@ -52,7 +55,7 @@ public class Object_downloadMetamodelXml {
private final Object holder;
- public static class ActionDomainEvent
+ public static class ActionDomainEvent
extends org.apache.isis.applib.IsisModuleApplib.ActionDomainEvent<Object_downloadMetamodelXml> {}
@MemberOrder(name = MixinConstants.METADATA_LAYOUT_GROUPNAME, sequence = "700.2")
diff --git a/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectIdentifier.java b/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectIdentifier.java
index d3e5787..1f3d329 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectIdentifier.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectIdentifier.java
@@ -33,6 +33,9 @@ import lombok.NonNull;
import lombok.RequiredArgsConstructor;
import lombok.val;
+/**
+ * @since 1.x {@index}
+ */
@Property
@PropertyLayout(hidden = Where.ALL_TABLES)
@RequiredArgsConstructor
@@ -40,10 +43,10 @@ public class Object_objectIdentifier {
@Inject private BookmarkService bookmarkService;
@Inject private MetaModelService mmService;
-
+
private final Object holder;
- public static class ActionDomainEvent
+ public static class ActionDomainEvent
extends org.apache.isis.applib.IsisModuleApplib.ActionDomainEvent<Object_objectIdentifier> {}
@MemberOrder(name = MixinConstants.METADATA_LAYOUT_GROUPNAME, sequence = "700.2")
@@ -57,13 +60,13 @@ public class Object_objectIdentifier {
}
// -- HELPER
-
+
private String shortend(@NonNull String identifier) {
-
+
val hashHexed = Integer.toHexString(identifier.hashCode());
val hashPadded = _Strings.padStart(hashHexed, 8, '0');
return "»" + hashPadded;
}
-
+
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectType.java b/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectType.java
index 6dfd9e9..c2d2742 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectType.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/mixins/metamodel/Object_objectType.java
@@ -30,16 +30,19 @@ import org.apache.isis.applib.services.bookmark.BookmarkService;
import lombok.RequiredArgsConstructor;
import lombok.val;
+/**
+ * @since 1.x {@index}
+ */
@Property
@PropertyLayout(hidden = Where.ALL_TABLES)
@RequiredArgsConstructor
public class Object_objectType {
-
+
@Inject private BookmarkService bookmarkService;
private final Object holder;
- public static class ActionDomainEvent
+ public static class ActionDomainEvent
extends org.apache.isis.applib.IsisModuleApplib.ActionDomainEvent<Object_objectType> {}
@MemberOrder(name = MixinConstants.METADATA_LAYOUT_GROUPNAME, sequence = "700.1")
diff --git a/api/applib/src/main/java/org/apache/isis/applib/query/AllInstancesQuery.java b/api/applib/src/main/java/org/apache/isis/applib/query/AllInstancesQuery.java
index bdea6df..f5be5d2 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/query/AllInstancesQuery.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/query/AllInstancesQuery.java
@@ -19,7 +19,7 @@
package org.apache.isis.applib.query;
/**
- * @since 2.0 {@index}
+ * @since 1.x {@index}
*/
public interface AllInstancesQuery<T> extends Query<T> {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/query/NamedQuery.java b/api/applib/src/main/java/org/apache/isis/applib/query/NamedQuery.java
index 69c328f..00f4d73 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/query/NamedQuery.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/query/NamedQuery.java
@@ -25,7 +25,7 @@ import javax.annotation.Nullable;
import lombok.NonNull;
/**
- * @since 2.0 {@index}
+ * @since 1.x {@index}
*/
public interface NamedQuery<T> extends Query<T> {
@@ -33,9 +33,9 @@ public interface NamedQuery<T> extends Query<T> {
Map<String, Object> getParametersByName();
// -- WITHERS
-
+
@Override NamedQuery<T> withRange(@NonNull QueryRange range);
-
+
NamedQuery<T> withParameter(@NonNull String parameterName, @Nullable Object parameterValue);
-
+
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/query/Query.java b/api/applib/src/main/java/org/apache/isis/applib/query/Query.java
index 0b60171..39c2441 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/query/Query.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/query/Query.java
@@ -46,11 +46,11 @@ import lombok.NonNull;
*
* <b>Note:</b> that the predicate is applied within the {@link RepositoryService}
* (ie client-side) rather than being pushed back to the object store.
- *
- * @since 1.x revised for 2.0 {@index}
+ *
+ * @since 1.x {@index}
*/
public interface Query<T> extends Serializable {
-
+
/**
* The {@link Class} of the objects returned by this query.
*/
@@ -65,32 +65,32 @@ public interface Query<T> extends Serializable {
* Returns a model with start index into the set table and maximal number of items to return.
*/
QueryRange getRange();
-
+
// -- WITHERS
-
+
Query<T> withRange(@NonNull QueryRange range);
-
+
default Query<T> withRange(long ...range) {
return withRange(QueryRange.of(range));
}
-
+
default Query<T> withStart(long start) {
return withRange(start);
}
-
+
default Query<T> withLimit(long limit) {
return withRange(0L, limit);
}
-
+
// -- FACTORIES
-
+
public static <T> Query<T> allInstances(
final @NonNull Class<T> resultType) {
return new _AllInstancesQueryDefault<>(resultType, QueryRange.unconstrained());
}
-
+
public static <T> NamedQuery<T> named(
- final @NonNull Class<T> resultType,
+ final @NonNull Class<T> resultType,
final @NonNull String queryName) {
return new _NamedQueryDefault<>(resultType, queryName, QueryRange.unconstrained(), null);
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/acceptheader/AcceptHeaderService.java b/api/applib/src/main/java/org/apache/isis/applib/services/acceptheader/AcceptHeaderService.java
index 3392d81..c19d9fc 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/acceptheader/AcceptHeaderService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/acceptheader/AcceptHeaderService.java
@@ -23,8 +23,6 @@ import java.util.List;
import javax.ws.rs.core.MediaType;
/**
- *
- *
* @since 1.x {@index}
*/
public interface AcceptHeaderService {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder.java b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder.java
index a67179b..0a81f1c 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder.java
@@ -19,8 +19,7 @@
package org.apache.isis.applib.services.bookmark;
/**
- *
- * @since 2.0 {@index}
+ * @since 1.x {@index}
*/
public interface BookmarkHolder {
Bookmark bookmark();
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_lookup.java b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_lookup.java
index 007cb0c..1c889c4 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_lookup.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_lookup.java
@@ -27,6 +27,9 @@ import org.apache.isis.applib.annotation.SemanticsOf;
import lombok.RequiredArgsConstructor;
+/**
+ * @since 1.x {@index}
+ */
@Action(
domainEvent = BookmarkHolder_lookup.ActionDomainEvent.class,
semantics = SemanticsOf.SAFE
@@ -44,9 +47,9 @@ public class BookmarkHolder_lookup {
public Object act() {
return bookmarkService.lookup(bookmarkHolder);
}
-
+
// -- DEPENDENCIES
-
+
@Inject private BookmarkService bookmarkService;
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_object.java b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_object.java
index c8aeda3..0ab33dc 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_object.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/bookmark/BookmarkHolder_object.java
@@ -25,6 +25,9 @@ import org.apache.isis.applib.annotation.Property;
import lombok.RequiredArgsConstructor;
+/**
+ * @since 1.x {@index}
+ */
@Property(
domainEvent = BookmarkHolder_object.PropertyDomainEvent.class
)
@@ -33,7 +36,7 @@ public class BookmarkHolder_object {
private final BookmarkHolder bookmarkHolder;
- public static class PropertyDomainEvent
+ public static class PropertyDomainEvent
extends IsisModuleApplib.PropertyDomainEvent<BookmarkHolder_object, Object> { }
public Object prop() {
@@ -41,7 +44,7 @@ public class BookmarkHolder_object {
}
// -- DEPENDENCIES
-
+
@Inject private BookmarkService bookmarkService;
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/clock/ClockService.java b/api/applib/src/main/java/org/apache/isis/applib/services/clock/ClockService.java
index 9959855..a924101 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/clock/ClockService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/clock/ClockService.java
@@ -21,24 +21,23 @@ package org.apache.isis.applib.services.clock;
import org.apache.isis.applib.clock.VirtualClock;
/**
- * This service allows an application to be decoupled from the system time.
- * The most common use case is in support of testing scenarios, to "mock the clock".
+ * This service allows an application to be decoupled from the system time.
+ * The most common use case is in support of testing scenarios, to "mock the clock".
* Use of this service also opens up the use of centralized
* co-ordinated time management through a centralized time service.
*
- *
* @since 1.x revised for 2.0 {@index}
*/
public interface ClockService {
VirtualClock getClock();
-
+
// -- SHORTCUTS
-
+
default long getEpochMillis() {
return getClock().getEpochMillis();
}
-
+
// public java.time.LocalDate now() {
// return Clock.getTimeAsLocalDate();
// }
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/commanddto/processor/CommandDtoProcessorForActionAbstract.java b/api/applib/src/main/java/org/apache/isis/applib/services/commanddto/processor/CommandDtoProcessorForActionAbstract.java
index 9824315..7f6d58e 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/commanddto/processor/CommandDtoProcessorForActionAbstract.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/commanddto/processor/CommandDtoProcessorForActionAbstract.java
@@ -25,6 +25,8 @@ import org.apache.isis.schema.cmd.v2.ParamsDto;
/**
* Convenience adapter for command processors for action invocations.
+ *
+ * @since 1.x {@index}
*/
public abstract class CommandDtoProcessorForActionAbstract implements CommandDtoProcessor {
protected ActionDto getActionDto(final CommandDto commandDto) {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/commanddto/processor/CommandDtoProcessorForPropertyAbstract.java b/api/applib/src/main/java/org/apache/isis/applib/services/commanddto/processor/CommandDtoProcessorForPropertyAbstract.java
index 10691cf..348c1a3 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/commanddto/processor/CommandDtoProcessorForPropertyAbstract.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/commanddto/processor/CommandDtoProcessorForPropertyAbstract.java
@@ -23,6 +23,8 @@ import org.apache.isis.schema.cmd.v2.PropertyDto;
/**
* Convenience adapter for command processors for property edits.
+ *
+ * @since 1.x {@index}
*/
public abstract class CommandDtoProcessorForPropertyAbstract
implements CommandDtoProcessor {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/commanddto/processor/spi/CommandDtoProcessorServiceIdentity.java b/api/applib/src/main/java/org/apache/isis/applib/services/commanddto/processor/spi/CommandDtoProcessorServiceIdentity.java
index e060330..d160d56 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/commanddto/processor/spi/CommandDtoProcessorServiceIdentity.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/commanddto/processor/spi/CommandDtoProcessorServiceIdentity.java
@@ -28,8 +28,8 @@ import org.apache.isis.schema.cmd.v2.CommandDto;
/**
* At least one implementation is required.
- *
- * @since 2.0 {@index}
+ *
+ * @since 1.x {@index}
*/
@Service
@Named("isis.applib.CommandDtoProcessorServiceIdentity")
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/confview/ConfigurationMenu.java b/api/applib/src/main/java/org/apache/isis/applib/services/confview/ConfigurationMenu.java
index e7f29b2..e4ce41d 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/confview/ConfigurationMenu.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/confview/ConfigurationMenu.java
@@ -32,13 +32,12 @@ import org.apache.isis.applib.annotation.DomainServiceLayout;
import org.apache.isis.applib.annotation.MemberOrder;
import org.apache.isis.applib.annotation.SemanticsOf;
+/**
+ * @since 2.0 {@index}
+ */
@Named("isis.applib.ConfigurationMenu")
@DomainService(objectType = "isis.applib.ConfigurationMenu")
@DomainServiceLayout(menuBar = DomainServiceLayout.MenuBar.TERTIARY)
-/**
- *
- * @since 1.x {@index}
- */
public class ConfigurationMenu {
public static abstract class ActionDomainEvent
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/confview/ConfigurationProperty.java b/api/applib/src/main/java/org/apache/isis/applib/services/confview/ConfigurationProperty.java
index b4bc82f..340b7f6 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/confview/ConfigurationProperty.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/confview/ConfigurationProperty.java
@@ -36,7 +36,6 @@ import lombok.NoArgsConstructor;
import lombok.Setter;
/**
- *
* @since 2.0 {@index}
*/
@XmlRootElement(name = "configurationProperty")
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/confview/ConfigurationViewService.java b/api/applib/src/main/java/org/apache/isis/applib/services/confview/ConfigurationViewService.java
index 2fb60e0..60604e8 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/confview/ConfigurationViewService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/confview/ConfigurationViewService.java
@@ -22,7 +22,6 @@ package org.apache.isis.applib.services.confview;
import java.util.Set;
/**
- *
* @since 2.0 {@index}
*/
public interface ConfigurationViewService {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/conmap/ContentMappingService.java b/api/applib/src/main/java/org/apache/isis/applib/services/conmap/ContentMappingService.java
index 4782e77..8ebdf07 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/conmap/ContentMappingService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/conmap/ContentMappingService.java
@@ -27,8 +27,8 @@ import javax.ws.rs.core.MediaType;
import org.apache.isis.commons.internal.base._NullSafe;
/**
- *
- * @since 2.0 {@index}
+ *
+ * @since 1.x {@index}
*/
public interface ContentMappingService {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/error/SimpleTicket.java b/api/applib/src/main/java/org/apache/isis/applib/services/error/SimpleTicket.java
index b1fa8ba..542e926 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/error/SimpleTicket.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/error/SimpleTicket.java
@@ -37,6 +37,8 @@ import static org.apache.isis.commons.internal.base._NullSafe.isEmpty;
* <li>the class is {@link Serializable}</li> so that it can be stored by the Wicket viewer as a Wicket model.
* </ul>
* </p>
+ *
+ * @since 2.0 {@index}
*/
public class SimpleTicket implements Ticket {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerAbstract.java b/api/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerAbstract.java
index 09530d1..4651b88 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerAbstract.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerAbstract.java
@@ -45,13 +45,14 @@ import lombok.extern.log4j.Log4j2;
* <p>
* If a messaging-parsing {@link Function} is provided through the constructor,
* then the message can be altered. Otherwise the exception's {@link Throwable#getMessage() message} is returned as-is.
- *
+ *
+ * @since 1.x {@index}
*/
@Log4j2
public abstract class ExceptionRecognizerAbstract implements ExceptionRecognizer {
-
+
@Inject protected TranslationService translationService;
-
+
@Getter @Setter private boolean disabled = false;
/**
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerForType.java b/api/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerForType.java
index 5f1bf0d..3cbad46 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerForType.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerForType.java
@@ -34,15 +34,14 @@ import static org.apache.isis.commons.internal.exceptions._Exceptions.getCausalC
* <p>
* If a messaging-parsing {@link Function} is provided through the constructor,
* then the message can be altered. Otherwise the exception's {@link Throwable#getMessage() message} is returned as-is.
- *
- * @since 2.0 {@index}
- *
+ *
+ * @since 1.x {@index}
*/
public class ExceptionRecognizerForType extends ExceptionRecognizerAbstract {
protected static final Predicate<Throwable> ofType(
final Class<? extends Throwable> exceptionType) {
-
+
return ex->exceptionType.isAssignableFrom(ex.getClass());
}
@@ -56,19 +55,19 @@ public class ExceptionRecognizerForType extends ExceptionRecognizerAbstract {
*/
protected static final Predicate<Throwable> excluding(
final String... messages) {
-
+
return ex->{
-
+
for (final Throwable throwable : getCausalChain(ex)) {
if(containsAnyOfTheseMessages(throwable, messages)) {
- return false;
+ return false;
}
}
-
+
return true;
};
}
-
+
/**
* A {@link Predicate} that {@link Predicate#apply(Object) applies} only if at least one of the message(s)
@@ -80,15 +79,15 @@ public class ExceptionRecognizerForType extends ExceptionRecognizerAbstract {
*/
protected static final Predicate<Throwable> including(
final String... messages) {
-
+
return ex->{
-
+
for (final Throwable throwable : getCausalChain(ex)) {
if(containsAnyOfTheseMessages(throwable, messages)) {
- return true;
+ return true;
}
}
-
+
return false;
};
}
@@ -108,7 +107,7 @@ public class ExceptionRecognizerForType extends ExceptionRecognizerAbstract {
}
public ExceptionRecognizerForType(
- final Category category,
+ final Category category,
final Class<? extends Exception> exceptionType) {
this(category, exceptionType, null);
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerService.java b/api/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerService.java
index 5734803..36fe0ae 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/exceprecog/ExceptionRecognizerService.java
@@ -24,8 +24,7 @@ import org.apache.isis.applib.services.exceprecog.ExceptionRecognizer.Recognitio
import org.apache.isis.commons.collections.Can;
/**
- *
- * @since 2.0 {@index}
+ * @since 1.x {@index}
*/
public interface ExceptionRecognizerService {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/factory/FactoryService.java b/api/applib/src/main/java/org/apache/isis/applib/services/factory/FactoryService.java
index 087273b..e9d2f60 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/factory/FactoryService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/factory/FactoryService.java
@@ -29,9 +29,7 @@ import org.apache.isis.applib.services.repository.RepositoryService;
import lombok.NonNull;
/**
- *
- * @since 2.x {@index}
- *
+ * @since 1.x {@index}
*/
public interface FactoryService {
@@ -86,7 +84,7 @@ public interface FactoryService {
* @since 2.0
*/
<T> T detachedEntity(@NonNull Class<T> domainClass);
-
+
/**
* Creates a new detached entity instance, with injection points resolved.
*
@@ -135,7 +133,7 @@ public interface FactoryService {
default <T> T viewModel(@NonNull Class<T> viewModelClass) {
return viewModel(viewModelClass, /*mementoStr*/null);
}
-
+
/**
* Resolves injection points for given ViewModel instance.
* @param viewModel - most likely just new-ed up, without injection points resolved
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/grid/GridLoaderService.java b/api/applib/src/main/java/org/apache/isis/applib/services/grid/GridLoaderService.java
index 2bad18d..cf44e72 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/grid/GridLoaderService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/grid/GridLoaderService.java
@@ -21,8 +21,7 @@ package org.apache.isis.applib.services.grid;
import org.apache.isis.applib.layout.grid.Grid;
/**
- *
- * @since 2.0 {@index}
+ * @since 1.x {@index}
*/
public interface GridLoaderService {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/grid/GridService.java b/api/applib/src/main/java/org/apache/isis/applib/services/grid/GridService.java
index a0a490a..8ec3334 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/grid/GridService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/grid/GridService.java
@@ -26,8 +26,7 @@ import org.apache.isis.applib.annotation.PropertyLayout;
import org.apache.isis.applib.layout.grid.Grid;
/**
- *
- * @since 2.0 {@index}
+ * @since 1.x {@index}
*/
public interface GridService {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/grid/GridSystemService.java b/api/applib/src/main/java/org/apache/isis/applib/services/grid/GridSystemService.java
index 442b207..d5dc6c2 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/grid/GridSystemService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/grid/GridSystemService.java
@@ -22,7 +22,8 @@ import org.apache.isis.applib.layout.grid.Grid;
/**
* Provides an implementation of {@link Grid}.
- * @since 2.0 {@index}
+ *
+ * @since 1.x {@index}
*/
public interface GridSystemService<G extends Grid> {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/health/Health.java b/api/applib/src/main/java/org/apache/isis/applib/services/health/Health.java
index be810bf..f0e9620 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/health/Health.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/health/Health.java
@@ -22,7 +22,6 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
/**
- *
* @since 2.0 {@index}
*/
@AllArgsConstructor
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/health/HealthCheckService.java b/api/applib/src/main/java/org/apache/isis/applib/services/health/HealthCheckService.java
index faf6b4e..8ae9b89 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/health/HealthCheckService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/health/HealthCheckService.java
@@ -19,13 +19,12 @@
package org.apache.isis.applib.services.health;
/**
- *
+ *
* @since 2.0 {@index}
*/
public interface HealthCheckService {
Health check();
-
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/hint/HintStore.java b/api/applib/src/main/java/org/apache/isis/applib/services/hint/HintStore.java
index f147584..3a7b774 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/hint/HintStore.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/hint/HintStore.java
@@ -21,8 +21,8 @@ package org.apache.isis.applib.services.hint;
import java.util.Set;
import org.apache.isis.applib.services.bookmark.Bookmark;
+
/**
- *
* @since 1.x {@index}
*/
public interface HintStore {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/i18n/LocaleProvider.java b/api/applib/src/main/java/org/apache/isis/applib/services/i18n/LocaleProvider.java
index 763e558..3a0e035 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/i18n/LocaleProvider.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/i18n/LocaleProvider.java
@@ -21,8 +21,7 @@ package org.apache.isis.applib.services.i18n;
import java.util.Locale;
/**
- *
- * @since 2.0 {@index}
+ * @since 1.x {@index}
*/
public interface LocaleProvider {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/i18n/TranslatableString.java b/api/applib/src/main/java/org/apache/isis/applib/services/i18n/TranslatableString.java
index 50f4a80..135fb3f 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/i18n/TranslatableString.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/i18n/TranslatableString.java
@@ -28,7 +28,6 @@ import org.apache.isis.applib.annotation.Value;
import org.apache.isis.commons.internal.collections._Lists;
/**
- *
* @since 1.x {@index}
*/
@Value
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/i18n/TranslationService.java b/api/applib/src/main/java/org/apache/isis/applib/services/i18n/TranslationService.java
index 4934e36..7ab0581 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/i18n/TranslationService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/i18n/TranslationService.java
@@ -22,7 +22,6 @@ import java.util.Objects;
import java.util.function.Predicate;
/**
- *
* @since 1.x {@index}
*/
public interface TranslationService {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/layout/LayoutService.java b/api/applib/src/main/java/org/apache/isis/applib/services/layout/LayoutService.java
index 0c20c7f..47de5f6 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/layout/LayoutService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/layout/LayoutService.java
@@ -23,8 +23,7 @@ import org.apache.isis.applib.layout.grid.Grid;
import org.apache.isis.applib.services.menu.MenuBarsService;
/**
- *
- * @since 2.0 {@index}
+ * @since 1.x {@index}
*/
public interface LayoutService {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/layout/LayoutServiceMenu.java b/api/applib/src/main/java/org/apache/isis/applib/services/layout/LayoutServiceMenu.java
index 09aee59..9648974 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/layout/LayoutServiceMenu.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/layout/LayoutServiceMenu.java
@@ -38,8 +38,7 @@ import org.apache.isis.applib.value.Clob;
import org.apache.isis.commons.internal.base._Strings;
/**
- *
- * @since 2.0 {@index}
+ * @since 1.x {@index}
*/
@Named("isis.applib.LayoutServiceMenu")
@DomainService(objectType = "isis.applib.LayoutServiceMenu")
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/linking/DeepLinkService.java b/api/applib/src/main/java/org/apache/isis/applib/services/linking/DeepLinkService.java
index 856cf1a..cfd4645 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/linking/DeepLinkService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/linking/DeepLinkService.java
@@ -27,8 +27,8 @@ import java.net.URI;
* The implementation is specific to the viewer(s) configured for Isis. At the time of writing only one
* implementation is available, for the Wicket viewer.
* </p>
- *
- * @since 2.0 {@index}
+ *
+ * @since 1.x {@index}
*/
public interface DeepLinkService {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/menu/MenuBarsLoaderService.java b/api/applib/src/main/java/org/apache/isis/applib/services/menu/MenuBarsLoaderService.java
index 5019617..354332f 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/menu/MenuBarsLoaderService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/menu/MenuBarsLoaderService.java
@@ -21,8 +21,7 @@ package org.apache.isis.applib.services.menu;
import org.apache.isis.applib.layout.menubars.bootstrap3.BS3MenuBars;
/**
- *
- * @since 2.0 {@index}
+ * @since 1.x {@index}
*/
public interface MenuBarsLoaderService {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/menu/MenuBarsService.java b/api/applib/src/main/java/org/apache/isis/applib/services/menu/MenuBarsService.java
index 5a02544..8aaa9ad 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/menu/MenuBarsService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/menu/MenuBarsService.java
@@ -21,8 +21,7 @@ package org.apache.isis.applib.services.menu;
import org.apache.isis.applib.layout.menubars.MenuBars;
/**
- *
- * @since 2.0 {@index}
+ * @since 1.x {@index}
*/
public interface MenuBarsService {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/message/MessageService.java b/api/applib/src/main/java/org/apache/isis/applib/services/message/MessageService.java
index fefcaf6..0703bd6 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/message/MessageService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/message/MessageService.java
@@ -22,8 +22,7 @@ package org.apache.isis.applib.services.message;
import org.apache.isis.applib.services.i18n.TranslatableString;
/**
- *
- * @since 2.0 {@index}
+ * @since 1.x {@index}
*/
public interface MessageService {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/metamodel/MetaModelService.java b/api/applib/src/main/java/org/apache/isis/applib/services/metamodel/MetaModelService.java
index 0812c00..71b2842 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/metamodel/MetaModelService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/metamodel/MetaModelService.java
@@ -36,7 +36,8 @@ import lombok.val;
* <p>
* This API is currently extremely limited, but the intention is to extend it gradually as use cases emerge.
* </p>
- * @since 2.0 {@index}
+ *
+ * @since 1.x {@index}
*/
public interface MetaModelService {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/metrics/MetricsService.java b/api/applib/src/main/java/org/apache/isis/applib/services/metrics/MetricsService.java
index effcb2f..9874684 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/metrics/MetricsService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/metrics/MetricsService.java
@@ -22,8 +22,7 @@ import org.apache.isis.applib.services.iactn.InteractionContext;
import org.apache.isis.schema.ixn.v2.MemberExecutionDto;
/**
- *
- * @since 2.0 {@index}
+ * @since 1.x {@index}
*/
public interface MetricsService {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultCacheControl.java b/api/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultCacheControl.java
index 03033be..cdeac32 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultCacheControl.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultCacheControl.java
@@ -19,8 +19,7 @@
package org.apache.isis.applib.services.queryresultscache;
/**
- *
- * @since 2.0 {@index}
+ * @since 1.x {@index}
*/
public interface QueryResultCacheControl {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCache.java b/api/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCache.java
index b1d9689..30cd0e0 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCache.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCache.java
@@ -38,8 +38,8 @@ import lombok.Getter;
* This implementation has no UI and there is only one implementation (this class) in applib, it is annotated with
* {@link org.apache.isis.applib.annotation.DomainService}. This means that it is automatically registered and
* available for use; no further configuration is required.
- *
- * @since 2.0 {@index}
+ *
+ * @since 1.x {@index}
*/
public interface QueryResultsCache extends DisposableBean {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/registry/ServiceRegistry.java b/api/applib/src/main/java/org/apache/isis/applib/services/registry/ServiceRegistry.java
index 7af94a3..2bb4713 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/registry/ServiceRegistry.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/registry/ServiceRegistry.java
@@ -37,8 +37,7 @@ import org.apache.isis.commons.internal.reflection._Reflect;
import lombok.val;
/**
- *
- * @since 2.0 {@index}
+ * @since 1.x {@index}
*/
public interface ServiceRegistry {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/repository/EntityState.java b/api/applib/src/main/java/org/apache/isis/applib/services/repository/EntityState.java
index 994f8b6..864f69a 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/repository/EntityState.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/repository/EntityState.java
@@ -19,14 +19,12 @@
package org.apache.isis.applib.services.repository;
/**
- * TODO lower case enums not up to standard, is this an issue?
- *
* @apiNote use the provided predicates rather then directly referencing the enum names
- *
- *
+ *
* @since 2.0 {@index}
*/
public enum EntityState {
+
NOT_PERSISTABLE,
PERSISTABLE_ATTACHED,
PERSISTABLE_DETACHED,
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/scratchpad/Scratchpad.java b/api/applib/src/main/java/org/apache/isis/applib/services/scratchpad/Scratchpad.java
index 1a6c223..66e2db8 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/scratchpad/Scratchpad.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/scratchpad/Scratchpad.java
@@ -29,8 +29,8 @@ import org.springframework.beans.factory.DisposableBean;
* This implementation has only one implementation (this class) in applib, so it is annotated with
* {@link org.apache.isis.applib.annotation.DomainService}. This means that it is automatically registered and
* available for use; no further configuration is required.
- *
- * @since 2.0 {@index}
+ *
+ * @since 1.x {@index}
*/
public interface Scratchpad
extends DisposableBean {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/session/SessionLoggingService.java b/api/applib/src/main/java/org/apache/isis/applib/services/session/SessionLoggingService.java
index 4635e46..96a647b 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/session/SessionLoggingService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/session/SessionLoggingService.java
@@ -21,10 +21,11 @@ package org.apache.isis.applib.services.session;
import java.util.Date;
/**
- * Similar to the {@link org.apache.isis.applib.services.publishing.spi.EntityPropertyChangeSubscriber},
+ * Similar to the {@link org.apache.isis.applib.services.publishing.spi.EntityPropertyChangeSubscriber},
* this defines an API to track
* the status of the current sessions ("users logged on") on the system.
- * @since 2.0 {@index}
+ *
+ * @since 1.x {@index}
*/
public interface SessionLoggingService {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/session/SessionLoggingServiceLogging.java b/api/applib/src/main/java/org/apache/isis/applib/services/session/SessionLoggingServiceLogging.java
index c2991d3..f870761 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/session/SessionLoggingServiceLogging.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/session/SessionLoggingServiceLogging.java
@@ -32,8 +32,7 @@ import org.apache.isis.applib.annotation.OrderPrecedence;
import lombok.extern.log4j.Log4j2;
/**
- *
- * @since 2.0 {@index}
+ * @since 1.x {@index}
*/
@Service
@Named("isis.applib.SessionLoggingServiceLogging")
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/tablecol/TableColumnOrderForCollectionTypeAbstract.java b/api/applib/src/main/java/org/apache/isis/applib/services/tablecol/TableColumnOrderForCollectionTypeAbstract.java
index b1f3205..7e675b2 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/tablecol/TableColumnOrderForCollectionTypeAbstract.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/tablecol/TableColumnOrderForCollectionTypeAbstract.java
@@ -22,6 +22,9 @@ import java.util.List;
import lombok.RequiredArgsConstructor;
+/**
+ * @since 1.x {@index}
+ */
@RequiredArgsConstructor
public abstract class TableColumnOrderForCollectionTypeAbstract<T>
implements TableColumnOrderService {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/tablecol/TableColumnOrderService.java b/api/applib/src/main/java/org/apache/isis/applib/services/tablecol/TableColumnOrderService.java
index 97747f5..a79af3c 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/tablecol/TableColumnOrderService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/tablecol/TableColumnOrderService.java
@@ -21,8 +21,7 @@ package org.apache.isis.applib.services.tablecol;
import java.util.List;
/**
- *
- * @since 2.0 {@index}
+ * @since 1.x {@index}
*/
public interface TableColumnOrderService {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingService.java b/api/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingService.java
index e51fa0c..599f2aa 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingService.java
@@ -24,8 +24,7 @@ import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.commons.internal.memento._Mementos.EncoderDecoder;
/**
- *
- * @since 2.0 {@index}
+ * @since 1.x {@index}
*/
public interface UrlEncodingService extends EncoderDecoder {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingServiceUsingBaseEncodingAbstract.java b/api/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingServiceUsingBaseEncodingAbstract.java
index 8bc0dd2..c3a32d4 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingServiceUsingBaseEncodingAbstract.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/urlencoding/UrlEncodingServiceUsingBaseEncodingAbstract.java
@@ -24,10 +24,7 @@ import org.apache.isis.commons.internal.base._Bytes;
import org.apache.isis.commons.internal.base._Strings;
/**
- * to use, subclass and annotated with:
- * <pre>
- * @DomainService(nature=DOMAIN, menuOrder="100")
- * </pre>
+ * @since 1.x {@index}
*/
public abstract class UrlEncodingServiceUsingBaseEncodingAbstract implements UrlEncodingService {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/user/RoleMemento.java b/api/applib/src/main/java/org/apache/isis/applib/services/user/RoleMemento.java
index 6cd939f..0ef9a31 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/user/RoleMemento.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/user/RoleMemento.java
@@ -27,15 +27,16 @@ import lombok.Getter;
import lombok.Value;
/**
- * Immutable serializable value held by {@link UserMemento}.
- * @since 2.0 {@index}
+ * Immutable serializable value held by {@link UserMemento}.
+ *
+ * @since 1.x revised for 2.0 {@index}
*/
@DomainObject(objectType = "isis.applib.RoleMemento")
@Value
public final class RoleMemento implements Serializable {
private static final long serialVersionUID = -3876856609238378274L;
-
+
/**
* Creates a new role with the specified name. Description is left blank.
*/
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/user/UserMemento.java b/api/applib/src/main/java/org/apache/isis/applib/services/user/UserMemento.java
index 5113598..d716d7a 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/user/UserMemento.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/user/UserMemento.java
@@ -35,24 +35,25 @@ import lombok.NonNull;
/**
* Immutable serializable value holding details about a user and its roles.
- * @since 1.x revised in 2.0 {@index}
+ *
+ * @since 1.x revised for 2.0 {@index}
*/
@DomainObject(objectType = "isis.applib.UserMemento")
public final class UserMemento implements Serializable {
-
+
private static final long serialVersionUID = 7190090455587885367L;
- private static final UserMemento SYSTEM_USER = UserMemento.ofName("__system");
+ private static final UserMemento SYSTEM_USER = UserMemento.ofName("__system");
// private static final UserMemento NO_USER = UserMemento.ofName("__nobody");
-
+
// -- FACTORIES
-
+
/**
* The framework's internal user with unrestricted privileges.
*/
public static UserMemento system() {
return SYSTEM_USER;
}
-
+
// /**
// * The framework's internal user with no privileges at all, returned by the
// * {@link UserService} if no user is logged in.
@@ -60,7 +61,7 @@ public final class UserMemento implements Serializable {
// public static UserMemento nobody() {
// return NO_USER;
// }
-
+
/**
* Creates a new user with the specified name and no roles.
*/
@@ -68,34 +69,34 @@ public final class UserMemento implements Serializable {
final @NonNull String name) {
return new UserMemento(name, Stream.empty());
}
-
+
/**
* Creates a new user with the specified name and assigned roles.
*/
public static UserMemento ofNameAndRoles(
- final @NonNull String name,
+ final @NonNull String name,
final RoleMemento... roles) {
return new UserMemento(name, Stream.of(roles));
}
-
+
/**
* Creates a new user with the specified name and assigned role names.
*/
public static UserMemento ofNameAndRoleNames(
- final @NonNull String name,
+ final @NonNull String name,
final String... roleNames) {
return new UserMemento(name, Stream.of(roleNames).map(RoleMemento::new));
}
-
+
/**
* Creates a new user with the specified name and assigned role names.
*/
public static UserMemento ofNameAndRoleNames(
- final @NonNull String name,
+ final @NonNull String name,
final @NonNull Stream<String> roleNames) {
return new UserMemento(name, roleNames.map(RoleMemento::new));
}
-
+
// -- CONSTRUCTOR
/**
@@ -106,7 +107,7 @@ public final class UserMemento implements Serializable {
throw new IllegalArgumentException("Name not specified");
}
this.name = name;
- this.roles = roles.collect(_Lists.toUnmodifiable());
+ this.roles = roles.collect(_Lists.toUnmodifiable());
}
public String title() {
@@ -139,18 +140,18 @@ public final class UserMemento implements Serializable {
public boolean isCurrentUser(final @Nullable String userName) {
return name.equals(userName);
}
-
+
public Stream<String> streamRoleNames() {
return roles.stream()
.map(RoleMemento::getName);
}
-
+
public boolean hasRoleName(final @Nullable String roleName) {
return streamRoleNames().anyMatch(myRoleName->myRoleName.equals(roleName));
}
// -- TO STRING, EQUALS, HASHCODE
-
+
@Override
public String toString() {
final StringBuilder buf = new StringBuilder();
@@ -159,7 +160,7 @@ public final class UserMemento implements Serializable {
}
return "User [name=" + getName() + ",roles=" + buf.toString() + "]";
}
-
+
@Override
public boolean equals(Object obj) {
if (obj == this) {
@@ -183,18 +184,18 @@ public final class UserMemento implements Serializable {
}
return true;
}
-
+
@Override
public int hashCode() {
return getName().hashCode(); // its good enough to hash on just the user's name
}
-
+
}
// -- REMOVED
-//XXX implemented as regex match, java-doc is not specific about what these methods actually do; so if in doubt, rather remove
+//XXX implemented as regex match, java-doc is not specific about what these methods actually do; so if in doubt, rather remove
///**
//* Determines if the user fulfills the specified role.
//*
@@ -217,7 +218,7 @@ public final class UserMemento implements Serializable {
// return false;
//}
-//XXX not used
+//XXX not used
//@UtilityClass
//public static class NameType {
// @UtilityClass
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/userreg/EmailNotificationService.java b/api/applib/src/main/java/org/apache/isis/applib/services/userreg/EmailNotificationService.java
index f5ce156..3675fcf 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/userreg/EmailNotificationService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/userreg/EmailNotificationService.java
@@ -29,6 +29,7 @@ import org.apache.isis.applib.services.userreg.events.PasswordResetEvent;
* The framework provides a default implementation which in turn uses the
* {@link org.apache.isis.applib.services.email.EmailService}, namely <code>EmailServiceDefault</code>.
* </p>
+ *
* @since 1.x {@index}
*/
public interface EmailNotificationService
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/userreg/UserDetails.java b/api/applib/src/main/java/org/apache/isis/applib/services/userreg/UserDetails.java
index e2607d5..aea184f 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/userreg/UserDetails.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/userreg/UserDetails.java
@@ -25,7 +25,8 @@ import lombok.Setter;
/**
* A model object for the signup page
- * @since 2.0 {@index}
+ *
+ * @since 1.x {@index}
*/
public class UserDetails
implements Serializable {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/userreg/events/EmailEventAbstract.java b/api/applib/src/main/java/org/apache/isis/applib/services/userreg/events/EmailEventAbstract.java
index ff7cad7..283b8b8 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/userreg/events/EmailEventAbstract.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/userreg/events/EmailEventAbstract.java
@@ -20,6 +20,8 @@ package org.apache.isis.applib.services.userreg.events;
/**
* An event sent to all services interested in user registration
+ *
+ * @since 1.x {@index}
*/
public abstract class EmailEventAbstract {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/userreg/events/PasswordResetEvent.java b/api/applib/src/main/java/org/apache/isis/applib/services/userreg/events/PasswordResetEvent.java
index b727f8f..b84ffaa 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/userreg/events/PasswordResetEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/userreg/events/PasswordResetEvent.java
@@ -20,6 +20,7 @@ package org.apache.isis.applib.services.userreg.events;
/**
* An event send to all services interested in user password reset
+ *
* @since 1.x {@index}
*/
public class PasswordResetEvent extends EmailEventAbstract {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/InvalidException.java b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/InvalidException.java
index b0453d0..f8b6306 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/InvalidException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/InvalidException.java
@@ -27,8 +27,6 @@ import org.apache.isis.applib.services.wrapper.events.ValidityEvent;
* Superclass of exceptions which indicate an attempt to interact with an object
* or member in a way that is invalid.
*
- * <p>
- *
* @since 1.x {@index}
*/
public class InvalidException extends InteractionException {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/control/ExceptionHandler.java b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/control/ExceptionHandler.java
index 864a31d..b65dfcb 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/control/ExceptionHandler.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/control/ExceptionHandler.java
@@ -19,7 +19,6 @@
package org.apache.isis.applib.services.wrapper.control;
/**
- *
* @since 2.0 {@index}
*/
@FunctionalInterface
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/control/ExceptionHandlerAbstract.java b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/control/ExceptionHandlerAbstract.java
index b66a914..ae808f3 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/control/ExceptionHandlerAbstract.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/control/ExceptionHandlerAbstract.java
@@ -22,6 +22,9 @@ import org.apache.logging.log4j.Logger;
import lombok.extern.log4j.Log4j2;
+/**
+ * @since 2.0 {@index}
+ */
@Log4j2
public abstract class ExceptionHandlerAbstract implements ExceptionHandler {
public static Logger getLog() {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/AccessEvent.java b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/AccessEvent.java
index 726e1b7..20a79bc 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/AccessEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/AccessEvent.java
@@ -34,6 +34,7 @@ import org.apache.isis.applib.Identifier;
* @see VisibilityEvent
* @see ValidityEvent
*
+ * @since 1.x {@index}
*/
public abstract class AccessEvent extends InteractionEvent {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/listeners/InteractionAdapter.java b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/listeners/InteractionAdapter.java
index b7e2a89..4b4e0cc 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/listeners/InteractionAdapter.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/listeners/InteractionAdapter.java
@@ -39,7 +39,8 @@ import org.apache.isis.applib.services.wrapper.events.PropertyVisibilityEvent;
/**
* Provides no-op implementations of each of the methods within
* {@link InteractionListener}, to simplify the creation of new listeners.
- * @since 2.0 {@index}
+ *
+ * @since 1.x {@index}
*/
public class InteractionAdapter implements InteractionListener {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/listeners/InteractionListener.java b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/listeners/InteractionListener.java
index 1a8b55e..3c6b235 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/listeners/InteractionListener.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/listeners/InteractionListener.java
@@ -37,8 +37,7 @@ import org.apache.isis.applib.services.wrapper.events.PropertyUsabilityEvent;
import org.apache.isis.applib.services.wrapper.events.PropertyVisibilityEvent;
/**
- *
- * @since 2.0 {@index}
+ * @since 1.x {@index}
*/
public interface InteractionListener {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/xactn/TransactionalProcessor.java b/api/applib/src/main/java/org/apache/isis/applib/services/xactn/TransactionalProcessor.java
index b18e7f4..174cc2e 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/xactn/TransactionalProcessor.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/xactn/TransactionalProcessor.java
@@ -29,33 +29,36 @@ import org.apache.isis.commons.functional.ThrowingRunnable;
import lombok.val;
+/**
+ * @since 2.0 {@index}
+ */
public interface TransactionalProcessor {
// -- INTERFACE
-
+
/**
- * Runs given {@code callable} with a transactional boundary, where the detailed transactional behavior
+ * Runs given {@code callable} with a transactional boundary, where the detailed transactional behavior
* is governed by given {@link TransactionDefinition} {@code def}.
- * @return {@link Result} of calling given {@code callable}
+ * @return {@link Result} of calling given {@code callable}
*/
<T> Result<T> callTransactional(TransactionDefinition def, Callable<T> callable);
/**
- * Runs given {@code runnable} with a transactional boundary, where the detailed transactional behavior
+ * Runs given {@code runnable} with a transactional boundary, where the detailed transactional behavior
* is governed by given {@link TransactionDefinition} {@code def}.
*/
default Result<Void> runTransactional(TransactionDefinition def, ThrowingRunnable runnable) {
return callTransactional(def, ThrowingRunnable.toCallable(runnable));
}
-
+
// -- SHORTCUTS - WITH PROPAGATION CONTROL
/**
- * Runs given {@code callable} with a transactional boundary, where the detailed transactional behavior
+ * Runs given {@code callable} with a transactional boundary, where the detailed transactional behavior
* is governed by given {@link Propagation} {@code propagation}.
* <p>
* More fine grained control is given via {@link #callTransactional(TransactionDefinition, Callable)}
- * @return {@link Result} of calling given {@code callable}
+ * @return {@link Result} of calling given {@code callable}
*/
default <T> Result<T> callTransactional(Propagation propagation, Callable<T> callable) {
val def = new DefaultTransactionDefinition();
@@ -64,7 +67,7 @@ public interface TransactionalProcessor {
}
/**
- * Runs given {@code runnable} with a transactional boundary, where the detailed transactional behavior
+ * Runs given {@code runnable} with a transactional boundary, where the detailed transactional behavior
* is governed by given {@link Propagation} {@code propagation}.
* <p>
* More fine grained control is given via {@link #runTransactional(TransactionDefinition, Callable)}
@@ -72,25 +75,25 @@ public interface TransactionalProcessor {
default Result<Void> runTransactional(Propagation propagation, ThrowingRunnable runnable) {
return callTransactional(propagation, ThrowingRunnable.toCallable(runnable));
}
-
-
+
+
// -- SHORTCUTS - MOST FREQUENT USAGE
-
+
/**
* Runs given {@code callable} within an existing transactional boundary, or in the absence of such a
* boundary, creates a new one.
* <p>
- * In other words, support a current transaction, create a new one if none exists.
+ * In other words, support a current transaction, create a new one if none exists.
* @param <T>
* @param callable
- * @return {@link Result} of calling given {@code callable}
+ * @return {@link Result} of calling given {@code callable}
*/
default <T> Result<T> callWithinCurrentTransactionElseCreateNew(Callable<T> callable) {
val def = new DefaultTransactionDefinition();
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
return callTransactional(def, callable);
}
-
+
/**
* Runs given {@code runnable} within an existing transactional boundary, or in the absence of such a
* boundary creates a new one.
diff --git a/api/applib/src/main/java/org/apache/isis/applib/snapshot/SnapshottableWithInclusions.java b/api/applib/src/main/java/org/apache/isis/applib/snapshot/SnapshottableWithInclusions.java
index 3245e77..a9dd1df 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/snapshot/SnapshottableWithInclusions.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/snapshot/SnapshottableWithInclusions.java
@@ -27,7 +27,8 @@ import org.apache.isis.applib.services.xmlsnapshot.XmlSnapshotService;
* Optional interface for domain objects with which an
* snapshot is to be created using the {@link XmlSnapshotService}, indicating
* paths to be {@link XmlSnapshotService.Snapshot#} automatically include additional paths within the snapshot.
- * @since ? {@index}
+ *
+ * @since 1.x {@index}
*/
public interface SnapshottableWithInclusions {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/spec/AbstractSpecification.java b/api/applib/src/main/java/org/apache/isis/applib/spec/AbstractSpecification.java
index 0c2ec5a..0f17000a 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/spec/AbstractSpecification.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/spec/AbstractSpecification.java
@@ -36,7 +36,8 @@ import java.lang.reflect.Method;
* <p>
* Implementation note: inspired by (borrowed code from) Hamcrest's
* <tt>TypeSafeMatcher</tt>.
- * @since ? {@index}
+ *
+ * @since 1.x {@index}
*/
public abstract class AbstractSpecification<T> implements Specification {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/spec/AbstractSpecification2.java b/api/applib/src/main/java/org/apache/isis/applib/spec/AbstractSpecification2.java
index 4265846..3a8fe6f 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/spec/AbstractSpecification2.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/spec/AbstractSpecification2.java
@@ -39,7 +39,8 @@ import org.apache.isis.commons.internal.base._Casts;
* <p>
* Implementation note: inspired by (borrowed code from) Hamcrest's
* <tt>TypeSafeMatcher</tt>.
- * @since ? {@index}
+ *
+ * @since 1.x {@index}
*/
public abstract class AbstractSpecification2<T> implements Specification2 {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/spec/Specification.java b/api/applib/src/main/java/org/apache/isis/applib/spec/Specification.java
index 4197702..5ff03f9 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/spec/Specification.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/spec/Specification.java
@@ -22,7 +22,8 @@ package org.apache.isis.applib.spec;
/**
* An implementation of the <i>Specification</i> pattern, as described in Eric
* Evans' <i>Domain Driven Design</i>, p224.
- * @since ? {@index}
+ *
+ * @since 1.x {@index}
*/
public interface Specification {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/spec/Specification2.java b/api/applib/src/main/java/org/apache/isis/applib/spec/Specification2.java
index 336ce35..3974114 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/spec/Specification2.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/spec/Specification2.java
@@ -28,7 +28,8 @@ import org.apache.isis.applib.services.i18n.TranslatableString;
* If implemented, then the {@link #satisfies(Object)} inherited from {@link Specification} can just return <tt>null</tt>;
* it will never be called by the framework.
* </p>
- * @since ? {@index}
+ *
+ * @since 1.x {@index}
*/
public interface Specification2 extends Specification {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/spec/SpecificationAnd.java b/api/applib/src/main/java/org/apache/isis/applib/spec/SpecificationAnd.java
index 427b581..f5ef871 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/spec/SpecificationAnd.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/spec/SpecificationAnd.java
@@ -42,7 +42,7 @@ import org.apache.isis.applib.util.ReasonBuffer;
*
* @see SpecificationOr
* @see SpecificationNot
- * @since ? {@index}
+ * @since 1.x {@index}
*/
public abstract class SpecificationAnd implements Specification {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/spec/SpecificationNot.java b/api/applib/src/main/java/org/apache/isis/applib/spec/SpecificationNot.java
index f57b63d..f84035a 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/spec/SpecificationNot.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/spec/SpecificationNot.java
@@ -43,7 +43,7 @@ package org.apache.isis.applib.spec;
*
* @see SpecificationAnd
* @see SpecificationOr
- * @since ? {@index}
+ * @since 1.x {@index}
*/
public abstract class SpecificationNot implements Specification {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/spec/SpecificationOr.java b/api/applib/src/main/java/org/apache/isis/applib/spec/SpecificationOr.java
index 6d6a9f5..fe5fe80 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/spec/SpecificationOr.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/spec/SpecificationOr.java
@@ -42,7 +42,7 @@ import org.apache.isis.applib.util.ReasonBuffer;
*
* @see SpecificationAnd
* @see SpecificationNot
- * @since ? {@index}
+ * @since 1.x {@index}
*/
public abstract class SpecificationOr implements Specification {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/types/DescriptionType.java b/api/applib/src/main/java/org/apache/isis/applib/types/DescriptionType.java
index 048147b..4fd53f1 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/types/DescriptionType.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/types/DescriptionType.java
@@ -20,6 +20,9 @@ package org.apache.isis.applib.types;
import lombok.experimental.UtilityClass;
+/**
+ * @since 2.0 {@index}
+ */
@UtilityClass
public class DescriptionType {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/types/MemberIdentifierType.java b/api/applib/src/main/java/org/apache/isis/applib/types/MemberIdentifierType.java
index dbbc2d5..4b71f78 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/types/MemberIdentifierType.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/types/MemberIdentifierType.java
@@ -28,6 +28,8 @@ import lombok.experimental.UtilityClass;
/**
* As per {@link Command#getMemberIdentifier()} and {@link org.apache.isis.applib.services.publishing.spi.EntityPropertyChangeSubscriber#audit(UUID, int, String, Bookmark, String, String, String, String, String, Timestamp)}.
+ *
+ * @since 2.0 {@index}
*/
public class MemberIdentifierType {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/types/TargetActionType.java b/api/applib/src/main/java/org/apache/isis/applib/types/TargetActionType.java
index 6349c5b..4ec7905 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/types/TargetActionType.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/types/TargetActionType.java
@@ -28,6 +28,8 @@ import lombok.experimental.UtilityClass;
/**
* A user-friendly name of an action, as per {@link Command#getTargetAction()}, {@link org.apache.isis.applib.services.publishing.spi.EntityPropertyChangeSubscriber#audit(UUID, int, String, Bookmark, String, String, String, String, String, Timestamp)}.
+ *
+ * @since 2.0 {@index}
*/
@UtilityClass
public class TargetActionType {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/types/TargetClassType.java b/api/applib/src/main/java/org/apache/isis/applib/types/TargetClassType.java
index e453c1d..9ba83b1 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/types/TargetClassType.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/types/TargetClassType.java
@@ -28,6 +28,8 @@ import lombok.experimental.UtilityClass;
/**
* A user-friendly name of a class, as per {@link Command#getTargetClass()}, {@link org.apache.isis.applib.services.publishing.spi.EntityPropertyChangeSubscriber#audit(UUID, int, String, Bookmark, String, String, String, String, String, Timestamp)}.
+ *
+ * @since 2.0 {@index}
*/
@UtilityClass
public class TargetClassType {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/util/Enums.java b/api/applib/src/main/java/org/apache/isis/applib/util/Enums.java
index 41f385f..67f3342 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/util/Enums.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/util/Enums.java
@@ -26,7 +26,7 @@ import org.apache.isis.commons.internal.base._Strings;
import lombok.experimental.UtilityClass;
/**
- * @since ? {@index}
+ * @since 1.x {@index}
*/
@UtilityClass
public final class Enums {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/util/ObjectContracts.java b/api/applib/src/main/java/org/apache/isis/applib/util/ObjectContracts.java
index eb68dc5..622690e 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/util/ObjectContracts.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/util/ObjectContracts.java
@@ -67,8 +67,7 @@ import lombok.extern.log4j.Log4j2;
* }
* </pre>
*
- * @since 2.0 (re-invented)
- *
+ * @since 1.x revised for 2.0 {@index}
*/
@Log4j2
public final class ObjectContracts {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/util/ReasonBuffer.java b/api/applib/src/main/java/org/apache/isis/applib/util/ReasonBuffer.java
index 684288b..d747fc0 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/util/ReasonBuffer.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/util/ReasonBuffer.java
@@ -30,6 +30,8 @@ package org.apache.isis.applib.util;
*
* <p>
* An alternative is to use the {@link Reasons} class.
+ *
+ * @since 1.x {@index}
*/
public class ReasonBuffer {
StringBuffer reasonBuffer = new StringBuffer();
diff --git a/api/applib/src/main/java/org/apache/isis/applib/util/ReasonBuffer2.java b/api/applib/src/main/java/org/apache/isis/applib/util/ReasonBuffer2.java
index c10f0ba..9d4fb2d 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/util/ReasonBuffer2.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/util/ReasonBuffer2.java
@@ -27,6 +27,8 @@ import org.apache.isis.commons.internal.collections._Lists;
/**
* Extension to applib's {@link ReasonBuffer}.
+ *
+ * @since 2.0 {@index}
*/
public class ReasonBuffer2 {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/util/Reasons.java b/api/applib/src/main/java/org/apache/isis/applib/util/Reasons.java
index 750e5c2..731e6d8 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/util/Reasons.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/util/Reasons.java
@@ -21,6 +21,8 @@ package org.apache.isis.applib.util;
/**
* An alternative to {@link ReasonBuffer}.
+ *
+ * @since 1.x {@index}
*/
public class Reasons {
private Reasons() {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/util/TitleBuffer.java b/api/applib/src/main/java/org/apache/isis/applib/util/TitleBuffer.java
index 1219e34..c305ca2 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/util/TitleBuffer.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/util/TitleBuffer.java
@@ -26,11 +26,21 @@ import org.apache.isis.commons.internal._Constants;
/**
* Title buffer is a utility class to help produce titles for objects without
- * having to add lots of guard code. It provides two basic method: one to
+ * having to add lots of guard code.
+ *
+ * <p>
+ * It provides two basic method: one to
* concatenate a title to the buffer; another to append a title with a joiner
- * string, taking care adding in necessary spaces. The benefits of using this
+ * string, taking care adding in necessary spaces.
+ * </p>
+ *
+ * <p>
+ * The benefits of using this
* class is that null references are safely ignored (rather than appearing as
* 'null'), and joiners (a space by default) are only added when needed.
+ * </p>
+ *
+ * @since 1.x {@index}
*/
public class TitleBuffer {
private static final String SPACE = " ";
diff --git a/api/applib/src/main/java/org/apache/isis/applib/util/TitleBufferException.java b/api/applib/src/main/java/org/apache/isis/applib/util/TitleBufferException.java
index 64ec136..700edb7 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/util/TitleBufferException.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/util/TitleBufferException.java
@@ -19,6 +19,9 @@
package org.apache.isis.applib.util;
+/**
+ * @since 1.x {@index}
+ */
public class TitleBufferException extends RuntimeException {
private static final long serialVersionUID = 1L;
private Throwable cause;
diff --git a/api/applib/src/main/java/org/apache/isis/applib/util/schema/ChangesDtoUtils.java b/api/applib/src/main/java/org/apache/isis/applib/util/schema/ChangesDtoUtils.java
index 5433730..4128870 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/util/schema/ChangesDtoUtils.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/util/schema/ChangesDtoUtils.java
@@ -36,7 +36,7 @@ import org.apache.isis.commons.internal.resources._Resources;
import org.apache.isis.schema.chg.v2.ChangesDto;
/**
- * @since ? {@index}
+ * @since 1.x {@index}
*/
public final class ChangesDtoUtils {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/util/schema/CommandDtoUtils.java b/api/applib/src/main/java/org/apache/isis/applib/util/schema/CommandDtoUtils.java
index 61159dd..b36eced 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/util/schema/CommandDtoUtils.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/util/schema/CommandDtoUtils.java
@@ -42,7 +42,7 @@ import org.apache.isis.schema.common.v2.OidsDto;
import org.apache.isis.schema.common.v2.PeriodDto;
/**
- * @since ? {@index}
+ * @since 1.x {@index}
*/
public final class CommandDtoUtils {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/util/schema/CommonDtoUtils.java b/api/applib/src/main/java/org/apache/isis/applib/util/schema/CommonDtoUtils.java
index b43a7d1..fb3589c 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/util/schema/CommonDtoUtils.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/util/schema/CommonDtoUtils.java
@@ -67,7 +67,7 @@ import lombok.NonNull;
import lombok.val;
/**
- * @since ? {@index}
+ * @since 1.x {@index}
*/
public final class CommonDtoUtils {
@@ -106,13 +106,13 @@ public final class CommonDtoUtils {
entry(OffsetDateTime.class, ValueType.OFFSET_DATE_TIME),
entry(OffsetTime.class, ValueType.OFFSET_TIME),
entry(ZonedDateTime.class, ValueType.ZONED_DATE_TIME),
-
+
// joda.time
entry(org.joda.time.DateTime.class, ValueType.JODA_DATE_TIME),
entry(org.joda.time.LocalDateTime.class, ValueType.JODA_LOCAL_DATE_TIME),
entry(org.joda.time.LocalDate.class, ValueType.JODA_LOCAL_DATE),
entry(org.joda.time.LocalTime.class, ValueType.JODA_LOCAL_TIME),
-
+
entry(java.sql.Timestamp.class, ValueType.JAVA_SQL_TIMESTAMP),
entry(Blob.class, ValueType.BLOB),
entry(Clob.class, ValueType.CLOB)
@@ -157,7 +157,7 @@ public final class CommonDtoUtils {
final ValueType valueType,
final Object value,
final BookmarkService bookmarkService) {
-
+
valueWithTypeDto.setType(valueType);
setValueOn((ValueDto)valueWithTypeDto, valueType, value, bookmarkService);
@@ -165,15 +165,15 @@ public final class CommonDtoUtils {
return valueWithTypeDto;
}
-
+
public static <T extends ValueWithTypeDto> T setValueOnNonScalar(
final T valueWithTypeDto,
final ValueType elementValueType,
final Object value,
final BookmarkService bookmarkService) {
-
+
valueWithTypeDto.setType(ValueType.COLLECTION);
-
+
val collectionDto = asCollectionDto(value, elementValueType, bookmarkService);
valueWithTypeDto.setCollection(collectionDto);
valueWithTypeDto.setNull(value == null);
@@ -317,8 +317,8 @@ public final class CommonDtoUtils {
case REFERENCE: {
final Bookmark bookmark = pojo instanceof Bookmark
? (Bookmark) pojo
- : bookmarkService!=null
- ? bookmarkService.bookmarkFor(pojo)
+ : bookmarkService!=null
+ ? bookmarkService.bookmarkFor(pojo)
: null;
if (bookmark != null) {
@@ -364,32 +364,32 @@ public final class CommonDtoUtils {
val collectionDto = new CollectionDto();
collectionDto.setType(commonElementValueType);
-
+
val needsCommonElementValueTypeAutodetect = commonElementValueType==ValueType.VOID;
-
+
val commonElementValueTypeRef = _Refs.<ValueType>objectRef(null);
-
+
_NullSafe.streamAutodetect(iterableOrArray)
.forEach(element->{
val valueDto = new ValueDto();
if(element==null) {
setValueOn(valueDto, ValueType.VOID, element, bookmarkService);
} else {
- val elementValueType = asValueType(element.getClass());
+ val elementValueType = asValueType(element.getClass());
setValueOn(valueDto, elementValueType, element, bookmarkService);
-
+
if(needsCommonElementValueTypeAutodetect) {
commonElementValueTypeRef.update(acc->reduce(acc, elementValueType));
}
-
+
}
collectionDto.getValue().add(valueDto);
});
-
+
if(needsCommonElementValueTypeAutodetect) {
collectionDto.setType(commonElementValueTypeRef.getValueElseDefault(ValueType.VOID));
}
-
+
return collectionDto;
}
@@ -397,12 +397,12 @@ public final class CommonDtoUtils {
private static ValueType reduce(ValueType acc, ValueType next) {
if(acc==null) {
- return next;
+ return next;
}
if(acc==next) {
- return acc;
+ return acc;
}
- throw _Exceptions.unsupportedOperation("mixing types within a collection is not supported yet");
+ throw _Exceptions.unsupportedOperation("mixing types within a collection is not supported yet");
}
public static <T> T getValue(
@@ -439,7 +439,7 @@ public final class CommonDtoUtils {
return valueDto.getBigDecimal();
case BIG_INTEGER:
return valueDto.getBigInteger();
- // JAVA TIME
+ // JAVA TIME
case LOCAL_DATE:
return JavaTimeXMLGregorianCalendarMarshalling.toLocalDate(valueDto.getLocalDate());
case LOCAL_TIME:
@@ -476,17 +476,17 @@ public final class CommonDtoUtils {
return Collections.emptyList();
}
val list = new ArrayList<Object>();
-
+
val elementValueType = collectionDto.getType();
-
+
for(val elementValueDto : collectionDto.getValue()) {
-
+
if(elementValueDto instanceof ValueWithTypeDto) {
list.add(getValueAsObject(elementValueDto, ((ValueWithTypeDto)elementValueDto).getType()));
} else {
- list.add(getValueAsObject(elementValueDto, elementValueType));
+ list.add(getValueAsObject(elementValueDto, elementValueType));
}
-
+
}
return list;
case BLOB:
@@ -574,7 +574,7 @@ public final class CommonDtoUtils {
return paramDto;
}
-
+
public static ParamDto newParamDtoNonScalar(
final String parameterName,
final Class<?> parameterElementType,
diff --git a/api/applib/src/main/java/org/apache/isis/applib/util/schema/InteractionDtoUtils.java b/api/applib/src/main/java/org/apache/isis/applib/util/schema/InteractionDtoUtils.java
index 3aafd63..840267a 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/util/schema/InteractionDtoUtils.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/util/schema/InteractionDtoUtils.java
@@ -53,6 +53,9 @@ import org.apache.isis.schema.ixn.v2.InteractionDto;
import org.apache.isis.schema.ixn.v2.MemberExecutionDto;
import org.apache.isis.schema.ixn.v2.PropertyEditDto;
+/**
+ * @since 1.x {@index}
+ */
public final class InteractionDtoUtils {
@@ -356,9 +359,9 @@ public final class InteractionDtoUtils {
public static void addReturn(
final ActionInvocationDto invocationDto,
final Class<?> returnType,
- final Object result,
+ final Object result,
final BookmarkService bookmarkService) {
-
+
final ValueWithTypeDto returned = CommonDtoUtils
.newValueWithTypeDto(returnType, result, bookmarkService);
invocationDto.setReturned(returned);
diff --git a/api/applib/src/main/java/org/apache/isis/applib/util/schema/MemberExecutionDtoUtils.java b/api/applib/src/main/java/org/apache/isis/applib/util/schema/MemberExecutionDtoUtils.java
index d407e09..1ee16ee 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/util/schema/MemberExecutionDtoUtils.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/util/schema/MemberExecutionDtoUtils.java
@@ -32,6 +32,9 @@ import org.apache.isis.schema.ixn.v2.ObjectCountsDto;
import lombok.NonNull;
+/**
+ * @since 1.x {@index}
+ */
public final class MemberExecutionDtoUtils {
public static <T extends MemberExecutionDto> T clone(final T dto) {
@@ -82,20 +85,20 @@ public final class MemberExecutionDtoUtils {
}
return differenceDto;
}
-
+
public static <T extends MemberExecutionDto> String toXml(final @NonNull T dto) {
return _Xml.writeXml(dto, writeOptions())
.orElseFail();
}
public static <T extends MemberExecutionDto> void toXml(
- final @NonNull T dto,
+ final @NonNull T dto,
final @NonNull Writer writer) throws JAXBException {
_Xml.writeXml(dto, writer, writeOptions());
}
-
+
// -- HELPER
-
+
private static WriteOptions writeOptions() {
return WriteOptions.builder()
.useContextCache(true)
@@ -104,5 +107,5 @@ public final class MemberExecutionDtoUtils {
.build();
}
-
+
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/value/Blob.java b/api/applib/src/main/java/org/apache/isis/applib/value/Blob.java
index 7a7abff..7c4ac48 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/value/Blob.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/value/Blob.java
@@ -40,7 +40,7 @@ import lombok.val;
import lombok.extern.log4j.Log4j2;
/**
- * @since ? {@index}
+ * @since 1.x {@index}
*/
@Value(semanticsProviderName =
"org.apache.isis.core.metamodel.facets.value.blobs.BlobValueSemanticsProvider")
@@ -57,17 +57,17 @@ public final class Blob implements NamedWithMimeType {
* </pre>
*/
private static final long serialVersionUID = 5659679806709601263L;
-
+
// -- FACTORIES
-
+
/**
* Returns a new {@link Blob} of given {@code name}, {@code mimeType} and {@code content}.
* <p>
- * {@code name} may or may not include the desired filename extension, it
- * is guaranteed, that the resulting {@link Blob} has the appropriate extension
+ * {@code name} may or may not include the desired filename extension, it
+ * is guaranteed, that the resulting {@link Blob} has the appropriate extension
* as constraint by the given {@code mimeType}.
* <p>
- * For more fine-grained control use one of the {@link Blob} constructors directly.
+ * For more fine-grained control use one of the {@link Blob} constructors directly.
* @param name - may or may not include the desired filename extension
* @param mimeType
* @param content - bytes
@@ -78,8 +78,8 @@ public final class Blob implements NamedWithMimeType {
val fileName = _Strings.asFileNameWithExtension(name, proposedFileExtension);
return new Blob(fileName, mimeType.getMimeType(), content);
}
-
- // --
+
+ // --
private final MimeType mimeType;
private final byte[] bytes;
@@ -203,23 +203,23 @@ public final class Blob implements NamedWithMimeType {
}
}
-
+
/**
- * @return optionally the payload as a {@link BufferedImage} based on whether
- * this Blob's MIME type identifies as image and whether the payload is not empty
+ * @return optionally the payload as a {@link BufferedImage} based on whether
+ * this Blob's MIME type identifies as image and whether the payload is not empty
*/
public Optional<BufferedImage> asImage() {
-
+
val bytes = getBytes();
if(bytes == null) {
return Optional.empty();
}
-
+
val mimeType = getMimeType();
if(mimeType == null || !mimeType.getPrimaryType().equals("image")) {
return Optional.empty();
}
-
+
try {
val img = _Images.fromBytes(getBytes());
return Optional.ofNullable(img);
@@ -227,7 +227,7 @@ public final class Blob implements NamedWithMimeType {
log.error("failed to read image data", e);
return Optional.empty();
}
-
+
}
-
+
}
diff --git a/api/applib/src/main/java/org/apache/isis/applib/value/NamedWithMimeType.java b/api/applib/src/main/java/org/apache/isis/applib/value/NamedWithMimeType.java
index 626e473..263fa14 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/value/NamedWithMimeType.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/value/NamedWithMimeType.java
@@ -29,7 +29,7 @@ import org.apache.isis.commons.collections.Can;
import lombok.Getter;
/**
- * @since 2.0 {@index}
+ * @since 1.x {@index}
*/
public interface NamedWithMimeType extends Serializable {
@@ -39,7 +39,7 @@ public interface NamedWithMimeType extends Serializable {
/**
* Subset of MimeTypes most commonly used.
- *
+ *
* @since 2.0
*/
public static enum CommonMimeType {
@@ -106,7 +106,7 @@ public interface NamedWithMimeType extends Serializable {
WOFF2("font/woff2"),
XHTML("application/xhtml+xml"),
XML("application/xml"), /*alias*/ XSD("application/xml"),
-
+
XUL("application/vnd.mozilla.xul+xml"),
ZIP("application/zip"),
_7Z("application/x-7z-compressed"),
@@ -114,7 +114,7 @@ public interface NamedWithMimeType extends Serializable {
// see
// https://stackoverflow.com/questions/4212861/what-is-a-correct-mime-type-for-docx-pptx-etc
- DOC("application/msword"),
+ DOC("application/msword"),
DOT("application/msword"),
DOCX("application/vnd.openxmlformats-officedocument.wordprocessingml.document"),
@@ -122,7 +122,7 @@ public interface NamedWithMimeType extends Serializable {
DOCM("application/vnd.ms-word.document.macroEnabled.12"),
DOTM("application/vnd.ms-word.template.macroEnabled.12"),
- XLS("application/vnd.ms-excel"),
+ XLS("application/vnd.ms-excel"),
XLT("application/vnd.ms-excel"),
XLA("application/vnd.ms-excel"),
@@ -133,9 +133,9 @@ public interface NamedWithMimeType extends Serializable {
XLAM("application/vnd.ms-excel.addin.macroEnabled.12"),
XLSB("application/vnd.ms-excel.sheet.binary.macroEnabled.12"),
- PPT("application/vnd.ms-powerpoint"),
+ PPT("application/vnd.ms-powerpoint"),
POT("application/vnd.ms-powerpoint"),
- PPS("application/vnd.ms-powerpoint"),
+ PPS("application/vnd.ms-powerpoint"),
PPA("application/vnd.ms-powerpoint"),
PPTX("application/vnd.openxmlformats-officedocument.presentationml.presentation"),
@@ -146,7 +146,7 @@ public interface NamedWithMimeType extends Serializable {
POTM("application/vnd.ms-powerpoint.template.macroEnabled.12"),
PPSM("application/vnd.ms-powerpoint.slideshow.macroEnabled.12"),
- MDB("application/vnd.ms-access"),
+ MDB("application/vnd.ms-access"),
;
diff --git a/api/schema/src/main/java/org/apache/isis/schema/IsisModuleSchema.java b/api/schema/src/main/java/org/apache/isis/schema/IsisModuleSchema.java
index 3279205..f9eb941 100644
--- a/api/schema/src/main/java/org/apache/isis/schema/IsisModuleSchema.java
+++ b/api/schema/src/main/java/org/apache/isis/schema/IsisModuleSchema.java
@@ -20,6 +20,9 @@ package org.apache.isis.schema;
import org.springframework.context.annotation.Configuration;
+/**
+ * @since 2.0 {@index}
+ */
@Configuration
public class IsisModuleSchema {
diff --git a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/CommandSubscriberForJdo.java b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/CommandSubscriberForJdo.java
index 60689be..fb2c36b 100644
--- a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/CommandSubscriberForJdo.java
+++ b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/CommandSubscriberForJdo.java
@@ -36,6 +36,9 @@ import lombok.RequiredArgsConstructor;
import lombok.val;
import lombok.extern.log4j.Log4j2;
+/**
+ * @since 2.0 {@index}
+ */
@Service
@Named("isis.ext.commandLog.CommandCompletionHook")
@Order(OrderPrecedence.MIDPOINT) // after JdoPersistenceLifecycleService
diff --git a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/IsisModuleExtCommandLogImpl.java b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/IsisModuleExtCommandLogImpl.java
index 9f1fe10..1353de3 100644
--- a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/IsisModuleExtCommandLogImpl.java
+++ b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/IsisModuleExtCommandLogImpl.java
@@ -29,6 +29,9 @@ import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
import org.apache.isis.testing.fixtures.applib.modules.ModuleWithFixtures;
import org.apache.isis.testing.fixtures.applib.teardown.jdo.TeardownFixtureJdoAbstract;
+/**
+ * @since 2.0 {@index}
+ */
@Configuration
@Import({
// @DomainService's
diff --git a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/mixins/HasUniqueId_command.java b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/mixins/HasUniqueId_command.java
index 1725f81..ba8aa7d 100644
--- a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/mixins/HasUniqueId_command.java
+++ b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/mixins/HasUniqueId_command.java
@@ -36,6 +36,8 @@ import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdoRepository;
* This mixin contributes a <tt>command</tt> action to any (non-command) implementation of
* {@link org.apache.isis.commons.having.HasUniqueId}; that is: audit entries, and published events. Thus, it
* is possible to navigate from the effect back to the cause.
+ *
+ * @since 2.0 {@index}
*/
@Action(
semantics = SemanticsOf.SAFE
diff --git a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/mixins/HasUsername_recentCommandsByUser.java b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/mixins/HasUsername_recentCommandsByUser.java
index 8c5fbc4..944f156 100644
--- a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/mixins/HasUsername_recentCommandsByUser.java
+++ b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/mixins/HasUsername_recentCommandsByUser.java
@@ -32,6 +32,9 @@ import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdo;
import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdoRepository;
+/**
+ * @since 2.0 {@index}
+ */
@Collection(
domainEvent = HasUsername_recentCommandsByUser.CollectionDomainEvent.class
)
diff --git a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/mixins/Object_recentCommands.java b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/mixins/Object_recentCommands.java
index 42ac568..8e68c15 100644
--- a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/mixins/Object_recentCommands.java
+++ b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/mixins/Object_recentCommands.java
@@ -35,6 +35,10 @@ import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdo;
import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdoRepository;
/**
+ * @since 2.0 {@index}
+ */
+
+/**
* This mixin contributes a <tt>recentCommands</tt> action to any domain object
* (unless also {@link HasUniqueId} - commands don't themselves have commands).
*/
diff --git a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/mixins/T_recent.java b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/mixins/T_recent.java
index 58a9e2c..843c8fd 100644
--- a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/mixins/T_recent.java
+++ b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/mixins/T_recent.java
@@ -60,8 +60,7 @@ public abstract class T_recent<T> {
, domainObject);
}
- @Inject
- CommandJdoRepository commandJdoRepository;
+ @Inject CommandJdoRepository commandJdoRepository;
@Inject BookmarkService bookmarkService;
@Inject QueryResultsCache queryResultsCache;
diff --git a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/ui/CommandServiceMenu.java b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/ui/CommandServiceMenu.java
index 7d77af9..eeee395 100644
--- a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/ui/CommandServiceMenu.java
+++ b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/ui/CommandServiceMenu.java
@@ -50,6 +50,9 @@ import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdoRepository;
import lombok.RequiredArgsConstructor;
+/**
+ * @since 2.0 {@index}
+ */
@DomainService(
nature = NatureOfService.VIEW,
objectType = "isis.ext.commandLog.CommandServiceMenu"
@@ -134,7 +137,7 @@ public class CommandServiceMenu {
commandServiceRepository.truncateLog();
}
-
+
private LocalDate now() {
return clockService.getClock().localDate(ZoneId.systemDefault());
}
diff --git a/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/IsisModuleExtCommandReplayPrimary.java b/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/IsisModuleExtCommandReplayPrimary.java
index d7aa331..8864f2b 100644
--- a/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/IsisModuleExtCommandReplayPrimary.java
+++ b/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/IsisModuleExtCommandReplayPrimary.java
@@ -29,6 +29,9 @@ import org.apache.isis.extensions.commandreplay.primary.restapi.CommandRetrieval
import org.apache.isis.extensions.commandreplay.primary.spiimpl.CaptureResultOfCommand;
import org.apache.isis.extensions.commandreplay.primary.ui.CommandReplayOnPrimaryService;
+/**
+ * @since 2.0 {@index}
+ */
@Configuration
@Import({
// @Configuration's
diff --git a/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/config/PrimaryConfig.java b/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/config/PrimaryConfig.java
index 215919c..f65e600 100644
--- a/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/config/PrimaryConfig.java
+++ b/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/config/PrimaryConfig.java
@@ -30,6 +30,9 @@ import org.apache.isis.core.config.IsisConfiguration;
import lombok.Getter;
import lombok.val;
+/**
+ * @since 2.0 {@index}
+ */
@Service
@Named("isis.ext.commandReplayPrimary.PrimaryConfig")
@Order(OrderPrecedence.MIDPOINT)
diff --git a/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/mixins/Object_openOnSecondary.java b/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/mixins/Object_openOnSecondary.java
index 738f0ec..3a677d0 100644
--- a/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/mixins/Object_openOnSecondary.java
+++ b/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/mixins/Object_openOnSecondary.java
@@ -34,6 +34,9 @@ import org.apache.isis.extensions.commandreplay.primary.config.PrimaryConfig;
import lombok.RequiredArgsConstructor;
import lombok.val;
+/**
+ * @since 2.0 {@index}
+ */
@Action(
semantics = SemanticsOf.SAFE,
domainEvent = Object_openOnSecondary.ActionDomainEvent.class,
diff --git a/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/restapi/CommandRetrievalService.java b/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/restapi/CommandRetrievalService.java
index e956335..f92de9f 100644
--- a/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/restapi/CommandRetrievalService.java
+++ b/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/restapi/CommandRetrievalService.java
@@ -40,6 +40,9 @@ import org.apache.isis.extensions.commandreplay.primary.IsisModuleExtCommandRepl
import lombok.Getter;
+/**
+ * @since 2.0 {@index}
+ */
@DomainService(
nature = NatureOfService.REST,
objectType = "isis.ext.commandReplayPrimary.CommandRetrievalService"
diff --git a/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/spiimpl/CaptureResultOfCommand.java b/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/spiimpl/CaptureResultOfCommand.java
index 1395a5b..8d4136d 100644
--- a/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/spiimpl/CaptureResultOfCommand.java
+++ b/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/spiimpl/CaptureResultOfCommand.java
@@ -39,6 +39,10 @@ import org.apache.isis.schema.common.v2.PeriodDto;
import lombok.val;
/**
+ * @since 2.0 {@index}
+ */
+
+/**
* Uses the SPI infrastructure to copy over standard properties from {@link Command} to {@link CommandDto}.
*/
@Service
diff --git a/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/ui/CommandReplayOnPrimaryService.java b/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/ui/CommandReplayOnPrimaryService.java
index 0fc4b8c..54ef737 100644
--- a/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/ui/CommandReplayOnPrimaryService.java
+++ b/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/ui/CommandReplayOnPrimaryService.java
@@ -51,6 +51,9 @@ import org.apache.isis.schema.cmd.v2.CommandsDto;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
+/**
+ * @since 2.0 {@index}
+ */
@DomainService(
nature = NatureOfService.VIEW,
objectType = "isis.ext.commandReplayPrimary.CommandReplayOnPrimaryService"
diff --git a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/IsisModuleExtCommandReplaySecondary.java b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/IsisModuleExtCommandReplaySecondary.java
index 034145e..cf016ca 100644
--- a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/IsisModuleExtCommandReplaySecondary.java
+++ b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/IsisModuleExtCommandReplaySecondary.java
@@ -54,6 +54,9 @@ import org.apache.isis.extensions.quartz.spring.AutowiringSpringBeanJobFactory;
import lombok.val;
+/**
+ * @since 2.0 {@index}
+ */
@Configuration
@Import({
// @Configuration's
diff --git a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/SecondaryStatus.java b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/SecondaryStatus.java
index 076a4b5c..f590b2e 100644
--- a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/SecondaryStatus.java
+++ b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/SecondaryStatus.java
@@ -18,6 +18,9 @@
*/
package org.apache.isis.extensions.commandreplay.secondary;
+/**
+ * @since 2.0 {@index}
+ */
public enum SecondaryStatus {
TICKING_CLOCK_STATUS_UNKNOWN,
TICKING_CLOCK_NOT_YET_INITIALIZED,
diff --git a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/analyser/CommandReplayAnalyser.java b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/analyser/CommandReplayAnalyser.java
index ce33c9f..1255b2f 100644
--- a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/analyser/CommandReplayAnalyser.java
+++ b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/analyser/CommandReplayAnalyser.java
@@ -20,6 +20,9 @@ package org.apache.isis.extensions.commandreplay.secondary.analyser;
import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdo;
+/**
+ * @since 2.0 {@index}
+ */
public interface CommandReplayAnalyser {
/**
diff --git a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/analyser/CommandReplayAnalyserException.java b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/analyser/CommandReplayAnalyserException.java
index c4e570d..cd3aaa1 100644
--- a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/analyser/CommandReplayAnalyserException.java
+++ b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/analyser/CommandReplayAnalyserException.java
@@ -37,6 +37,9 @@ import org.apache.isis.schema.common.v2.InteractionType;
import lombok.RequiredArgsConstructor;
import lombok.val;
+/**
+ * @since 2.0 {@index}
+ */
@Service
@Named("isis.ext.commandReplaySecondary.CommandReplayAnalyserException")
@Order(OrderPrecedence.MIDPOINT)
diff --git a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/analyser/CommandReplayAnalyserResult.java b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/analyser/CommandReplayAnalyserResult.java
index 9ebfc22..4a0d206 100644
--- a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/analyser/CommandReplayAnalyserResult.java
+++ b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/analyser/CommandReplayAnalyserResult.java
@@ -36,6 +36,9 @@ import org.apache.isis.schema.common.v2.InteractionType;
import lombok.RequiredArgsConstructor;
import lombok.val;
+/**
+ * @since 2.0 {@index}
+ */
@Service
@Named("isis.ext.commandReplaySecondary.CommandReplayAnalyserResult")
@Order(OrderPrecedence.MIDPOINT)
diff --git a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/analysis/CommandReplayAnalysisService.java b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/analysis/CommandReplayAnalysisService.java
index 78c5c91..9f1494e 100644
--- a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/analysis/CommandReplayAnalysisService.java
+++ b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/analysis/CommandReplayAnalysisService.java
@@ -33,6 +33,9 @@ import org.apache.isis.extensions.commandreplay.secondary.analyser.CommandReplay
import lombok.extern.log4j.Log4j2;
+/**
+ * @since 2.0 {@index}
+ */
@Service
@Named("isis.ext.commandReplaySecondary.CommandReplayAnalysisService")
@Order(OrderPrecedence.MIDPOINT)
diff --git a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/clock/TickingClockService.java b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/clock/TickingClockService.java
index b040814..1b1c327 100644
--- a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/clock/TickingClockService.java
+++ b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/clock/TickingClockService.java
@@ -52,6 +52,8 @@ import lombok.extern.log4j.Log4j2;
* thread-local. These methods should therefore only be used in single-user
* systems, eg a replay secondary.
* </p>
+ *
+ * @since 2.0 {@index}
*/
@Service()
@Named("isis.ext.commandReplaySecondary.TickingClockService")
@@ -149,4 +151,4 @@ public class TickingClockService {
}
}
-}
\ No newline at end of file
+}
diff --git a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/config/SecondaryConfig.java b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/config/SecondaryConfig.java
index d5a243d..937633c 100644
--- a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/config/SecondaryConfig.java
+++ b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/config/SecondaryConfig.java
@@ -32,6 +32,9 @@ import org.apache.isis.core.config.IsisConfiguration;
import lombok.Getter;
import lombok.val;
+/**
+ * @since 2.0 {@index}
+ */
@Service
@Named("isis.ext.commandReplaySecondary.SecondaryConfig")
@Order(OrderPrecedence.MIDPOINT)
diff --git a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/executor/CommandExecutorServiceWithTime.java b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/executor/CommandExecutorServiceWithTime.java
index 46e8df6..63c7469 100644
--- a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/executor/CommandExecutorServiceWithTime.java
+++ b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/executor/CommandExecutorServiceWithTime.java
@@ -42,6 +42,8 @@ import lombok.extern.log4j.Log4j2;
* <p>
* It then delegates down to the default implementation.
* </p>
+ *
+ * @since 2.0 {@index}
*/
@Service
@Named("isis.ext.commandReplaySecondary.CommandExecutorServiceWithTime")
diff --git a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/fetch/CommandFetcher.java b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/fetch/CommandFetcher.java
index 58790d6..c1daa70 100644
--- a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/fetch/CommandFetcher.java
+++ b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/fetch/CommandFetcher.java
@@ -47,6 +47,9 @@ import org.apache.isis.schema.cmd.v2.CommandsDto;
import lombok.extern.log4j.Log4j2;
+/**
+ * @since 2.0 {@index}
+ */
@Service()
@Named("isis.ext.commandReplaySecondary.CommandFetcher")
@Order(OrderPrecedence.MIDPOINT)
@@ -167,4 +170,4 @@ public class CommandFetcher {
@Inject
SecondaryConfig secondaryConfig;
-}
\ No newline at end of file
+}
diff --git a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/job/ReplicateAndReplayJob.java b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/job/ReplicateAndReplayJob.java
index f7de20e..f757f12 100644
--- a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/job/ReplicateAndReplayJob.java
+++ b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/job/ReplicateAndReplayJob.java
@@ -37,6 +37,9 @@ import org.apache.isis.extensions.commandreplay.secondary.jobcallables.Replicate
import lombok.val;
import lombok.extern.log4j.Log4j2;
+/**
+ * @since 2.0 {@index}
+ */
@DisallowConcurrentExecution
@PersistJobDataAfterExecution
@Log4j2
@@ -53,9 +56,9 @@ public class ReplicateAndReplayJob implements Job {
if(secondaryConfig.isConfigured()) {
val user = UserMemento.ofNameAndRoleNames(
- secondaryConfig.getPrimaryUser(),
+ secondaryConfig.getPrimaryUser(),
secondaryConfig.getQuartzRoles().stream());
-
+
authentication = SimpleAuthentication.validOf(user);
exec(quartzContext);
}
diff --git a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/job/SecondaryStatusData.java b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/job/SecondaryStatusData.java
index e11052d..d43e165 100644
--- a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/job/SecondaryStatusData.java
+++ b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/job/SecondaryStatusData.java
@@ -26,6 +26,9 @@ import org.apache.isis.extensions.quartz.context.JobExecutionData;
import lombok.val;
import lombok.extern.log4j.Log4j2;
+/**
+ * @since 2.0 {@index}
+ */
@Log4j2
class SecondaryStatusData {
diff --git a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/jobcallables/ReplicateAndRunCommands.java b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/jobcallables/ReplicateAndRunCommands.java
index cc40bd6..f055957 100644
--- a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/jobcallables/ReplicateAndRunCommands.java
+++ b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/jobcallables/ReplicateAndRunCommands.java
@@ -48,6 +48,8 @@ import lombok.extern.log4j.Log4j2;
* (<code>{@link org.apache.isis.extensions.commandreplay.secondary.job.ReplicateAndReplayJob}</code>)
* files.
* </p>
+ *
+ * @since 2.0 {@index}
*/
@Log4j2
public class ReplicateAndRunCommands implements Callable<SecondaryStatus> {
@@ -189,4 +191,4 @@ public class ReplicateAndRunCommands implements Callable<SecondaryStatus> {
}
-}
\ No newline at end of file
+}
diff --git a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/mixins/CommandJdo_exclude.java b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/mixins/CommandJdo_exclude.java
index 8d401df..59b9e95 100644
--- a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/mixins/CommandJdo_exclude.java
+++ b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/mixins/CommandJdo_exclude.java
@@ -34,6 +34,9 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
+/**
+ * @since 2.0 {@index}
+ */
@Action(
semantics = SemanticsOf.NON_IDEMPOTENT_ARE_YOU_SURE,
domainEvent = CommandJdo_exclude.ActionDomainEvent.class
diff --git a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/mixins/CommandJdo_replayQueue.java b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/mixins/CommandJdo_replayQueue.java
index ad2e9e4..0156141 100644
--- a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/mixins/CommandJdo_replayQueue.java
+++ b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/mixins/CommandJdo_replayQueue.java
@@ -32,6 +32,9 @@ import org.apache.isis.extensions.commandreplay.secondary.config.SecondaryConfig
import lombok.RequiredArgsConstructor;
+/**
+ * @since 2.0 {@index}
+ */
@Collection(
domainEvent = CommandJdo_replayQueue.CollectionDomainEvent.class
)
diff --git a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/mixins/Object_openOnPrimary.java b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/mixins/Object_openOnPrimary.java
index b2528b9..b3fa856 100644
--- a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/mixins/Object_openOnPrimary.java
+++ b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/mixins/Object_openOnPrimary.java
@@ -34,6 +34,9 @@ import org.apache.isis.extensions.commandreplay.secondary.config.SecondaryConfig
import lombok.RequiredArgsConstructor;
import lombok.val;
+/**
+ * @since 2.0 {@index}
+ */
@Action(
semantics = SemanticsOf.SAFE,
domainEvent = Object_openOnPrimary.ActionDomainEvent.class,
diff --git a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/spi/ReplayCommandExecutionController.java b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/spi/ReplayCommandExecutionController.java
index 505c668..f8bf43d 100644
--- a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/spi/ReplayCommandExecutionController.java
+++ b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/spi/ReplayCommandExecutionController.java
@@ -26,6 +26,8 @@ package org.apache.isis.extensions.commandreplay.secondary.spi;
* If no implementation is configured, then replication/replay will continue
* without interruption.
* </p>
+ *
+ * @since 2.0 {@index}
*/
public interface ReplayCommandExecutionController {
diff --git a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/ui/CommandReplayOnSecondaryService.java b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/ui/CommandReplayOnSecondaryService.java
index 69c6aaf..b3531f9 100644
--- a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/ui/CommandReplayOnSecondaryService.java
+++ b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/ui/CommandReplayOnSecondaryService.java
@@ -46,6 +46,9 @@ import lombok.RequiredArgsConstructor;
import lombok.val;
import lombok.extern.log4j.Log4j2;
+/**
+ * @since 2.0 {@index}
+ */
@DomainService(
nature = NatureOfService.VIEW,
objectType = "isis.ext.commandReplaySecondary.CommandReplayOnSecondaryService"
diff --git a/extensions/core/model-annotation/src/main/java/org/apache/isis/extensions/modelannotation/applib/IsisModuleIncModelApplib.java b/extensions/core/model-annotation/src/main/java/org/apache/isis/extensions/modelannotation/applib/IsisModuleIncModelApplib.java
index 1005fc0..969e674 100644
--- a/extensions/core/model-annotation/src/main/java/org/apache/isis/extensions/modelannotation/applib/IsisModuleIncModelApplib.java
+++ b/extensions/core/model-annotation/src/main/java/org/apache/isis/extensions/modelannotation/applib/IsisModuleIncModelApplib.java
@@ -20,6 +20,9 @@ package org.apache.isis.extensions.modelannotation.applib;
import org.springframework.context.annotation.Configuration;
+/**
+ * @since 2.0 {@index}
+ */
@Configuration
public class IsisModuleIncModelApplib {
diff --git a/extensions/core/model-annotation/src/main/java/org/apache/isis/extensions/modelannotation/applib/annotation/Model.java b/extensions/core/model-annotation/src/main/java/org/apache/isis/extensions/modelannotation/applib/annotation/Model.java
index 36ed7b7..02977f7 100644
--- a/extensions/core/model-annotation/src/main/java/org/apache/isis/extensions/modelannotation/applib/annotation/Model.java
+++ b/extensions/core/model-annotation/src/main/java/org/apache/isis/extensions/modelannotation/applib/annotation/Model.java
@@ -26,13 +26,13 @@ import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
- * Indicates that a method is a supporting-method, one that contributes (hide, validate, ...)
+ * Indicates that a method is a supporting-method, one that contributes (hide, validate, ...)
* to an <em>Action</em>.
* <p>
- * By placing the {@link Model} annotation on a method, a contract with the meta-model is enforced,
+ * By placing the {@link Model} annotation on a method, a contract with the meta-model is enforced,
* such that this method must be recognized and cannot be ignored.
*
- * @since 2.0
+ * @since 2.0 {@index}
*/
@Inherited
@Target({ ElementType.METHOD })
diff --git a/extensions/core/model-annotation/src/main/java/org/apache/isis/extensions/modelannotation/metamodel/IsisModuleExtModelAnnotation.java b/extensions/core/model-annotation/src/main/java/org/apache/isis/extensions/modelannotation/metamodel/IsisModuleExtModelAnnotation.java
index f6b5f5c..cb41ff5 100644
--- a/extensions/core/model-annotation/src/main/java/org/apache/isis/extensions/modelannotation/metamodel/IsisModuleExtModelAnnotation.java
+++ b/extensions/core/model-annotation/src/main/java/org/apache/isis/extensions/modelannotation/metamodel/IsisModuleExtModelAnnotation.java
@@ -24,6 +24,9 @@ import org.springframework.context.annotation.Import;
import org.apache.isis.extensions.modelannotation.applib.IsisModuleIncModelApplib;
import org.apache.isis.extensions.modelannotation.metamodel.services.IncubatorMetaModelPlugin;
+/**
+ * @since 2.0 {@index}
+ */
@Configuration
@Import({
// modules
diff --git a/extensions/core/model-annotation/src/main/java/org/apache/isis/extensions/modelannotation/metamodel/facets/SupportingMethodValidatorRefinerFactory.java b/extensions/core/model-annotation/src/main/java/org/apache/isis/extensions/modelannotation/metamodel/facets/SupportingMethodValidatorRefinerFactory.java
index d5d3624..41c05cb 100644
--- a/extensions/core/model-annotation/src/main/java/org/apache/isis/extensions/modelannotation/metamodel/facets/SupportingMethodValidatorRefinerFactory.java
+++ b/extensions/core/model-annotation/src/main/java/org/apache/isis/extensions/modelannotation/metamodel/facets/SupportingMethodValidatorRefinerFactory.java
@@ -38,12 +38,10 @@ import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.extensions.modelannotation.applib.annotation.Model;
/**
- *
- * @since 2.0
- *
+ * @since 2.0 {@index}
*/
-public class SupportingMethodValidatorRefinerFactory
-extends FacetFactoryAbstract
+public class SupportingMethodValidatorRefinerFactory
+extends FacetFactoryAbstract
implements MetaModelRefiner {
public SupportingMethodValidatorRefinerFactory() {
@@ -62,17 +60,17 @@ implements MetaModelRefiner {
final Class<?> type = spec.getCorrespondingClass();
-//XXX for debugging ...
+//XXX for debugging ...
// if(spec.getSpecId().asString().contains("ProperMemberSupport")) {
-//
+//
// val sb = new StringBuffer();
-//
+//
// sb.append("\n### debug " + spec.getSpecId().asString()).append("\n");
-//
+//
// spec.streamFacetHolders()
// .flatMap(FacetHolder::streamFacets)
// .forEach(facet->sb.append("facet: " + facet).append("\n"));
-//
+//
// System.out.println(sb);
// }
@@ -84,7 +82,7 @@ implements MetaModelRefiner {
.map(ImperativeFacet::getMethods)
.flatMap(List::stream)
.collect(Collectors.toCollection(HashSet::new));
-
+
// methods intended to be included with the meta-model
final HashSet<Method> intendedMethods = _Sets.<Method>newHashSet();
for(Method method: type.getDeclaredMethods()) {
@@ -97,7 +95,7 @@ implements MetaModelRefiner {
final Set<Method> notRecognizedMethods =
_Sets.minus(intendedMethods, recognizedMethods);
- // find reasons about why these are not recognized
+ // find reasons about why these are not recognized
notRecognizedMethods.forEach(notRecognizedMethod->{
final List<String> unmetContraints = unmetContraints(spec, notRecognizedMethod);
@@ -123,7 +121,7 @@ implements MetaModelRefiner {
// -- VALIDATION LOGIC
private List<String> unmetContraints(
- ObjectSpecification spec,
+ ObjectSpecification spec,
Method method) {
//val type = spec.getCorrespondingClass();
@@ -132,7 +130,7 @@ implements MetaModelRefiner {
if (!MethodUtil.isPublic(method)) {
unmetContraints.add("method must be 'public'");
return unmetContraints; // don't check any further
- }
+ }
unmetContraints.add("misspelled prefix or unsupported method signature");
return unmetContraints;
diff --git a/extensions/core/model-annotation/src/main/java/org/apache/isis/extensions/modelannotation/metamodel/services/IncubatorMetaModelPlugin.java b/extensions/core/model-annotation/src/main/java/org/apache/isis/extensions/modelannotation/metamodel/services/IncubatorMetaModelPlugin.java
index 21a8498..a174e8d 100644
--- a/extensions/core/model-annotation/src/main/java/org/apache/isis/extensions/modelannotation/metamodel/services/IncubatorMetaModelPlugin.java
+++ b/extensions/core/model-annotation/src/main/java/org/apache/isis/extensions/modelannotation/metamodel/services/IncubatorMetaModelPlugin.java
@@ -24,13 +24,16 @@ import org.apache.isis.core.metamodel.facetapi.MetaModelRefiner;
import org.apache.isis.core.metamodel.progmodel.ProgrammingModel;
import org.apache.isis.extensions.modelannotation.metamodel.facets.SupportingMethodValidatorRefinerFactory;
+/**
+ * @since 2.0 {@index}
+ */
@Component
public class IncubatorMetaModelPlugin implements MetaModelRefiner {
@Override
public void refineProgrammingModel(ProgrammingModel programmingModel) {
programmingModel.addFactory(
- ProgrammingModel.FacetProcessingOrder.C2_AFTER_METHOD_REMOVING,
+ ProgrammingModel.FacetProcessingOrder.C2_AFTER_METHOD_REMOVING,
SupportingMethodValidatorRefinerFactory.class,
ProgrammingModel.Marker.INCUBATING
);
diff --git a/extensions/core/quartz/impl/src/main/java/org/apache/isis/extensions/quartz/IsisModuleExtQuartzImpl.java b/extensions/core/quartz/impl/src/main/java/org/apache/isis/extensions/quartz/IsisModuleExtQuartzImpl.java
index 5d79c3e..fbd2ad9 100644
--- a/extensions/core/quartz/impl/src/main/java/org/apache/isis/extensions/quartz/IsisModuleExtQuartzImpl.java
+++ b/extensions/core/quartz/impl/src/main/java/org/apache/isis/extensions/quartz/IsisModuleExtQuartzImpl.java
@@ -21,6 +21,9 @@ package org.apache.isis.extensions.quartz;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
+/**
+ * @since 2.0 {@index}
+ */
@Configuration
@Import({
// @Configuration's
diff --git a/extensions/core/quartz/impl/src/main/java/org/apache/isis/extensions/quartz/context/JobExecutionData.java b/extensions/core/quartz/impl/src/main/java/org/apache/isis/extensions/quartz/context/JobExecutionData.java
index e884703..01b2f5e 100644
--- a/extensions/core/quartz/impl/src/main/java/org/apache/isis/extensions/quartz/context/JobExecutionData.java
+++ b/extensions/core/quartz/impl/src/main/java/org/apache/isis/extensions/quartz/context/JobExecutionData.java
@@ -25,6 +25,8 @@ import lombok.extern.log4j.Log4j2;
/**
* Requires that the job is annotated with the {@link org.quartz.PersistJobDataAfterExecution} annotation.
+ *
+ * @since 2.0 {@index}
*/
@Log4j2
@RequiredArgsConstructor
diff --git a/extensions/core/quartz/impl/src/main/java/org/apache/isis/extensions/quartz/spring/AutowiringSpringBeanJobFactory.java b/extensions/core/quartz/impl/src/main/java/org/apache/isis/extensions/quartz/spring/AutowiringSpringBeanJobFactory.java
index 3f4e18c..1b2e603 100644
--- a/extensions/core/quartz/impl/src/main/java/org/apache/isis/extensions/quartz/spring/AutowiringSpringBeanJobFactory.java
+++ b/extensions/core/quartz/impl/src/main/java/org/apache/isis/extensions/quartz/spring/AutowiringSpringBeanJobFactory.java
@@ -24,6 +24,9 @@ import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.scheduling.quartz.SpringBeanJobFactory;
+/**
+ * @since 2.0 {@index}
+ */
public class AutowiringSpringBeanJobFactory
extends SpringBeanJobFactory
implements ApplicationContextAware {
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/IsisModuleExtSecmanApi.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/IsisModuleExtSecmanApi.java
index 6ce8d5f..ae6b62f 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/IsisModuleExtSecmanApi.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/IsisModuleExtSecmanApi.java
@@ -20,6 +20,9 @@ package org.apache.isis.extensions.secman.api;
import org.springframework.context.annotation.Configuration;
+/**
+ * @since 2.0 {@index}
+ */
@Configuration
public class IsisModuleExtSecmanApi {
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/SecmanConfiguration.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/SecmanConfiguration.java
index c66af4a..58668da 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/SecmanConfiguration.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/SecmanConfiguration.java
@@ -28,6 +28,9 @@ import lombok.Getter;
import lombok.NonNull;
import lombok.Singular;
+/**
+ * @since 2.0 {@index}
+ */
@Builder
public class SecmanConfiguration {
@@ -57,30 +60,30 @@ public class SecmanConfiguration {
final String[] adminStickyNamespacePermissions = new String[]{
"isis.ext.secman"
};
-
- @Getter @Singular
+
+ @Getter @Singular
final Set<String> adminAdditionalNamespacePermissions;
-
+
/**
* Delegated users, on first successful logon, are auto-created but disabled (by default).
- * <p>
- * This option allows to override this behavior, such that authenticated
+ * <p>
+ * This option allows to override this behavior, such that authenticated
* users are also auto-enabled.
* <p>
- * default: false
+ * default: false
*
*/
- @Getter @Builder.Default
+ @Getter @Builder.Default
final boolean autoEnableIfDelegatedAndAuthenticated = false;
// -- UTILITIES
-
+
public Stream<String> streamAdminNamespacePermissions() {
return Stream.concat(
_NullSafe.stream(adminStickyNamespacePermissions),
_NullSafe.stream(adminAdditionalNamespacePermissions));
}
-
+
public boolean isStickyAdminNamespace(String featureFqn) {
return _NullSafe.stream(adminStickyNamespacePermissions)
.anyMatch(stickyPackage->stickyPackage.equals(featureFqn));
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/SecurityRealm.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/SecurityRealm.java
index 8b4a512..767ddc7 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/SecurityRealm.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/SecurityRealm.java
@@ -20,6 +20,9 @@ package org.apache.isis.extensions.secman.api;
import java.util.EnumSet;
+/**
+ * @since 2.0 {@index}
+ */
public interface SecurityRealm {
EnumSet<SecurityRealmCharacteristic> getCharacteristics();
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/SecurityRealmCharacteristic.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/SecurityRealmCharacteristic.java
index 0cd6b5d..331a4e8 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/SecurityRealmCharacteristic.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/SecurityRealmCharacteristic.java
@@ -18,6 +18,9 @@
*/
package org.apache.isis.extensions.secman.api;
+/**
+ * @since 2.0 {@index}
+ */
public enum SecurityRealmCharacteristic {
DELEGATING
}
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/SecurityRealmService.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/SecurityRealmService.java
index 87402f1..6f45001 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/SecurityRealmService.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/SecurityRealmService.java
@@ -18,6 +18,9 @@
*/
package org.apache.isis.extensions.secman.api;
+/**
+ * @since 2.0 {@index}
+ */
public interface SecurityRealmService {
SecurityRealm getCurrentRealm();
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/encryption/PasswordEncryptionService.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/encryption/PasswordEncryptionService.java
index 70101a8..f3ca4cb 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/encryption/PasswordEncryptionService.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/encryption/PasswordEncryptionService.java
@@ -20,6 +20,9 @@ package org.apache.isis.extensions.secman.api.encryption;
import org.apache.isis.applib.annotation.Programmatic;
+/**
+ * @since 2.0 {@index}
+ */
public interface PasswordEncryptionService {
@Programmatic
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/encryption/PasswordEncryptionServiceNone.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/encryption/PasswordEncryptionServiceNone.java
index 0fdb5fe..80b7996 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/encryption/PasswordEncryptionServiceNone.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/encryption/PasswordEncryptionServiceNone.java
@@ -22,6 +22,9 @@ import java.util.Objects;
import org.apache.isis.applib.annotation.Programmatic;
+/**
+ * @since 2.0 {@index}
+ */
public class PasswordEncryptionServiceNone implements PasswordEncryptionService {
@Programmatic
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/events/UserCreatedEvent.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/events/UserCreatedEvent.java
index bea7172..d1e06c9 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/events/UserCreatedEvent.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/events/UserCreatedEvent.java
@@ -24,10 +24,10 @@ import org.apache.isis.extensions.secman.api.user.ApplicationUser;
import lombok.NonNull;
import lombok.Value;
-/**
+/**
* SecMan fires this event when a new user entity just got persisted.
* <p>
- * Users may subscribe to this event in order to apply business
+ * Users may subscribe to this event in order to apply business
* logic to the newly created user. eg. add default roles
* <p>
* <pre>
@@ -38,25 +38,26 @@ import lombok.Value;
* // business logic ...
* }
* }
- *
+ *
* </pre>
- * @since Jun 23, 2020
+ *
+ * @since 2.0 {@index}
*/
@Value(staticConstructor="of")
public class UserCreatedEvent {
-
+
@NonNull private ApplicationUser user;
// -- SHORTCUTS
-
+
public AccountType getAccountType() {
- return user.getAccountType();
+ return user.getAccountType();
}
-
+
public String getUserName() {
- return user.getUsername();
+ return user.getUsername();
}
-
+
public boolean isDelegated() {
return getAccountType()!=null && getAccountType().isDelegated();
}
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermission.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermission.java
index a28d5c7..a207be5 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermission.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermission.java
@@ -61,27 +61,29 @@ import lombok.val;
* implies a {@link ApplicationPermissionMode#CHANGING usability} veto.</li>
* </ul>
* </p>
+ *
+ * @since 2.0 {@index}
*/
@DomainObject(objectType = "isis.ext.secman.IApplicationPermission")
public interface ApplicationPermission {
-
+
// -- DOMAIN EVENTS
-
+
public static abstract class PropertyDomainEvent<T> extends IsisModuleExtSecmanApi.PropertyDomainEvent<ApplicationPermission, T> {}
public static abstract class CollectionDomainEvent<T> extends IsisModuleExtSecmanApi.CollectionDomainEvent<ApplicationPermission, T> {}
public static abstract class ActionDomainEvent extends IsisModuleExtSecmanApi.ActionDomainEvent<ApplicationPermission> {}
-
+
public static class AllowDomainEvent extends ActionDomainEvent {}
public static class UpdateRoleDomainEvent extends ActionDomainEvent {}
public static class VetoDomainEvent extends ActionDomainEvent {}
public static class DeleteDomainEvent extends ActionDomainEvent {}
public static class ChangingDomainEvent extends ActionDomainEvent {}
public static class ViewingDomainEvent extends ActionDomainEvent {}
-
+
public static class RelocateNamespaceDomainEvent extends ActionDomainEvent {}
-
+
// -- MODEL
-
+
/**
* having a title() method (rather than using @Title annotation) is necessary as a workaround to be able to use
* wrapperFactory#unwrap(...) method, which is otherwise broken in Isis 1.6.0
@@ -95,7 +97,7 @@ public interface ApplicationPermission {
createFeatureId()
.ifPresent(featureId->{
-
+
switch (featureId.getType()) {
case PACKAGE:
buf.append(getFeatureFqn()); // com.mycompany
@@ -114,16 +116,16 @@ public interface ApplicationPermission {
.append(featureId.getMemberName()); // com.mycompany.Bar#foo
break;
}
-
+
});
-
+
return buf.toString();
}
-
+
ApplicationFeatureType getFeatureType();
// -- ROLE
-
+
@Property
@PropertyLayout(
hidden=Where.REFERENCES_PARENT
@@ -133,49 +135,49 @@ public interface ApplicationPermission {
throw _Exceptions.unsupportedOperation("please implement me");
}
void setRole(ApplicationRole applicationRole);
-
+
// -- RULE
-
+
@Property
@MemberOrder(name="Permissions", sequence = "2")
default ApplicationPermissionRule getRule() {
throw _Exceptions.unsupportedOperation("please implement me");
}
void setRule(ApplicationPermissionRule rule);
-
+
// -- MODE
-
+
@Property
@MemberOrder(name="Permissions", sequence = "3")
default ApplicationPermissionMode getMode() {
throw _Exceptions.unsupportedOperation("please implement me");
}
void setMode(ApplicationPermissionMode changing);
-
+
// -- TYPE
-
+
@Property
@MemberOrder(name="Feature", sequence = "5")
default String getType() {
throw _Exceptions.unsupportedOperation("please implement me");
}
-
+
// -- FQN
-
+
@Property
@MemberOrder(name="Feature", sequence = "5.1")
default String getFeatureFqn() {
throw _Exceptions.unsupportedOperation("please implement me");
}
void setFeatureFqn(String featureFqn);
-
+
// -- HELPER
-
+
@Programmatic
default Optional<ApplicationFeatureId> createFeatureId() {
return Optional.of(getFeatureType())
.map(featureType -> ApplicationFeatureId.newFeature(featureType, getFeatureFqn()));
}
-
+
}
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermissionMode.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermissionMode.java
index 1f0f0a4..1076fcc 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermissionMode.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermissionMode.java
@@ -24,6 +24,8 @@ import org.apache.isis.core.metamodel.services.appfeat.ApplicationFeature;
/**
* Named after UNIX modes (<code>chmod</code> etc), determines that nature of access (of denial of access if vetoed)
* to an {@link ApplicationFeature}.
+ *
+ * @since 2.0 {@index}
*/
public enum ApplicationPermissionMode {
/**
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermissionRepository.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermissionRepository.java
index fe49246..eb7c476 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermissionRepository.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermissionRepository.java
@@ -25,23 +25,26 @@ import org.apache.isis.core.metamodel.services.appfeat.ApplicationFeatureId;
import org.apache.isis.core.metamodel.services.appfeat.ApplicationFeatureType;
import org.apache.isis.extensions.secman.api.role.ApplicationRole;
+/**
+ * @since 2.0 {@index}
+ */
public interface ApplicationPermissionRepository<P extends ApplicationPermission> {
Optional<P> findByUserAndPermissionValue(String username, ApplicationPermissionValue changingPermissionValue);
Optional<P> findByRoleAndRuleAndFeature(
- ApplicationRole holder,
+ ApplicationRole holder,
ApplicationPermissionRule rule,
- ApplicationFeatureType type,
+ ApplicationFeatureType type,
String featureFqn);
Collection<P> allPermissions();
-
+
Collection<P> findOrphaned();
Collection<P> findByFeatureCached(ApplicationFeatureId featureId);
Collection<P> findByRoleAndRuleAndFeatureTypeCached(
ApplicationRole holder,
- ApplicationPermissionRule rule,
+ ApplicationPermissionRule rule,
ApplicationFeatureType type);
@@ -49,21 +52,21 @@ public interface ApplicationPermissionRepository<P extends ApplicationPermission
* @return detached entity
*/
P newApplicationPermission();
-
+
P newPermission(
ApplicationRole role,
- ApplicationPermissionRule rule,
+ ApplicationPermissionRule rule,
ApplicationPermissionMode mode,
- String packageFqn,
- String className,
+ String packageFqn,
+ String className,
String memberName);
P newPermission(
- ApplicationRole holder,
- ApplicationPermissionRule rule,
+ ApplicationRole holder,
+ ApplicationPermissionRule rule,
ApplicationPermissionMode mode,
- ApplicationFeatureType featureType,
+ ApplicationFeatureType featureType,
String featureFqn);
-
+
}
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermissionRule.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermissionRule.java
index bf63738..25ac6f0 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermissionRule.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermissionRule.java
@@ -24,6 +24,8 @@ import org.apache.isis.core.metamodel.services.appfeat.ApplicationFeature;
/**
* Whether the permission {@link #ALLOW grants} or {@link #VETO denies} access to an
* {@link ApplicationFeature}.
+ *
+ * @since 2.0 {@index}
*/
public enum ApplicationPermissionRule {
/**
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermissionValue.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermissionValue.java
index b4feb50..7291ce6 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermissionValue.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermissionValue.java
@@ -35,6 +35,8 @@ import org.apache.isis.core.metamodel.services.appfeat.ApplicationFeatureId;
* Intended for value type arithmetic and also for caching. No user/role information is held because that information
* is not required to perform the arithmetic.
* </p>
+ *
+ * @since 2.0 {@index}
*/
public class ApplicationPermissionValue implements Comparable<ApplicationPermissionValue>, Serializable {
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermissionValueSet.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermissionValueSet.java
index 46eb013..5c53ecc 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermissionValueSet.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermissionValueSet.java
@@ -30,12 +30,14 @@ import org.apache.isis.extensions.secman.api.IsisModuleExtSecmanApi;
import org.apache.isis.core.metamodel.services.appfeat.ApplicationFeatureId;
/**
- * A serializable value object representing a set of (anonymized)
+ * A serializable value object representing a set of (anonymized)
* {@link ApplicationPermissionValue permission}s.
*
* <p>
* Intended for value type arithmetic and also for caching.
* </p>
+ *
+ * @since 2.0 {@index}
*/
public class ApplicationPermissionValueSet implements Serializable {
@@ -77,14 +79,14 @@ public class ApplicationPermissionValueSet implements Serializable {
* -> VETO, VIEWING
* -> VETO, CHANGING
* </pre>
- *
+ *
* <p>
* Note that {@link org.apache.isis.extensions.security.manager.jdo.dom.permission.ApplicationPermissionRule#ALLOW allow} rule
* is ordered before {@link org.apache.isis.extensions.security.manager.jdo.dom.permission.ApplicationPermissionRule#VETO veto} rule
* meaning that it is checked first and therefore also takes precedence.
* </p>
*/
- private final _Multimaps.SetMultimap<ApplicationFeatureId, ApplicationPermissionValue> permissionsByFeature =
+ private final _Multimaps.SetMultimap<ApplicationFeatureId, ApplicationPermissionValue> permissionsByFeature =
_Multimaps.newSortedSetMultimap(
Collections.reverseOrder(ApplicationFeatureId.Comparators.natural()),
null // natural element order
@@ -99,7 +101,7 @@ public class ApplicationPermissionValueSet implements Serializable {
// -- constructor
public ApplicationPermissionValueSet(
- final List<ApplicationPermissionValue> permissionValues,
+ final List<ApplicationPermissionValue> permissionValues,
final PermissionsEvaluationService permissionsEvaluationService) {
this.values = Collections.unmodifiableList(_Lists.newArrayList(permissionValues));
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/PermissionsEvaluationService.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/PermissionsEvaluationService.java
index bd438df..dfef149 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/PermissionsEvaluationService.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/PermissionsEvaluationService.java
@@ -31,6 +31,8 @@ import org.apache.isis.core.metamodel.services.appfeat.ApplicationFeatureId;
* All implementations of this interface must be {@link java.io.Serializable}, because
* an instance is serialized into {@link org.apache.isis.extensions.secman.api.permission.ApplicationPermissionValueSet}.
* </p>
+ *
+ * @since 2.0 {@index}
*/
public interface PermissionsEvaluationService extends Serializable {
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/PermissionsEvaluationServiceAbstract.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/PermissionsEvaluationServiceAbstract.java
index 977f06b..3c041ac 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/PermissionsEvaluationServiceAbstract.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/PermissionsEvaluationServiceAbstract.java
@@ -23,6 +23,9 @@ import java.util.Collection;
import org.apache.isis.commons.internal.base._NullSafe;
import org.apache.isis.core.metamodel.services.appfeat.ApplicationFeatureId;
+/**
+ * @since 2.0 {@index}
+ */
public abstract class PermissionsEvaluationServiceAbstract implements PermissionsEvaluationService {
private static final long serialVersionUID = 1L;
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/PermissionsEvaluationServiceAllowBeatsVeto.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/PermissionsEvaluationServiceAllowBeatsVeto.java
index 5c2a48d..03da7eb 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/PermissionsEvaluationServiceAllowBeatsVeto.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/PermissionsEvaluationServiceAllowBeatsVeto.java
@@ -22,6 +22,8 @@ import java.util.Collection;
/**
* An implementation whereby a VETO permission for a feature overrides an ALLOW (for same scope).
+ *
+ * @since 2.0 {@index}
*/
public class PermissionsEvaluationServiceAllowBeatsVeto extends PermissionsEvaluationServiceAbstract {
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/PermissionsEvaluationServiceVetoBeatsAllow.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/PermissionsEvaluationServiceVetoBeatsAllow.java
index 5fc66d5..21bd7a4 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/PermissionsEvaluationServiceVetoBeatsAllow.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/PermissionsEvaluationServiceVetoBeatsAllow.java
@@ -27,6 +27,8 @@ import lombok.val;
/**
* An implementation whereby a VETO permission for a feature overrides an ALLOW (for same scope).
+ *
+ * @since 2.0 {@index}
*/
public class PermissionsEvaluationServiceVetoBeatsAllow extends PermissionsEvaluationServiceAbstract {
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/role/ApplicationRole.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/role/ApplicationRole.java
index 890156e..1fa9dd0 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/role/ApplicationRole.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/role/ApplicationRole.java
@@ -20,6 +20,9 @@ package org.apache.isis.extensions.secman.api.role;
import org.apache.isis.extensions.secman.api.IsisModuleExtSecmanApi;
+/**
+ * @since 2.0 {@index}
+ */
public interface ApplicationRole {
public static final int MAX_LENGTH_NAME = 50;
@@ -27,11 +30,11 @@ public interface ApplicationRole {
public static final int TYPICAL_LENGTH_DESCRIPTION = 50;
// -- EVENTS
-
+
public static abstract class PropertyDomainEvent<T> extends IsisModuleExtSecmanApi.PropertyDomainEvent<ApplicationRole, T> {}
public static abstract class CollectionDomainEvent<T> extends IsisModuleExtSecmanApi.CollectionDomainEvent<ApplicationRole, T> {}
public static abstract class ActionDomainEvent extends IsisModuleExtSecmanApi.ActionDomainEvent<ApplicationRole> {}
-
+
public static class AddUserDomainEvent extends ActionDomainEvent {}
public static class RemoveUserDomainEvent extends ActionDomainEvent {}
public static class AddActionDomainEvent extends ActionDomainEvent {}
@@ -40,14 +43,14 @@ public interface ApplicationRole {
public static class AddPackageDomainEvent extends ActionDomainEvent {}
public static class AddPropertyDomainEvent extends ActionDomainEvent {}
public static class RemovePermissionDomainEvent extends ActionDomainEvent {}
-
+
public static class DeleteDomainEvent extends ActionDomainEvent {}
-
+
public static class UpdateDescriptionDomainEvent extends ActionDomainEvent {}
public static class UpdateNameDomainEvent extends ActionDomainEvent {}
-
+
// -- MODEL
-
+
/**
* having a title() method (rather than using @Title annotation) is necessary as a workaround to be able to use
* wrapperFactory#unwrap(...) method, which is otherwise broken in Isis 1.6.0
@@ -55,10 +58,10 @@ public interface ApplicationRole {
default String title() {
return getName();
}
-
+
String getName();
void setName(String name);
-
+
String getDescription();
void setDescription(String description);
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/role/ApplicationRoleRepository.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/role/ApplicationRoleRepository.java
index 21bc101..75b16a1 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/role/ApplicationRoleRepository.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/role/ApplicationRoleRepository.java
@@ -23,21 +23,24 @@ import java.util.Optional;
import org.apache.isis.extensions.secman.api.user.ApplicationUser;
+/**
+ * @since 2.0 {@index}
+ */
public interface ApplicationRoleRepository<R extends ApplicationRole> {
/**
- *
+ *
* @return detached entity
*/
R newApplicationRole();
-
+
Collection<R> allRoles();
R newRole(String name, String description);
Collection<R> findNameContaining(String search);
Collection<R> getRoles(ApplicationUser user);
-
+
/**
* auto-complete support
* @param search
@@ -54,6 +57,6 @@ public interface ApplicationRoleRepository<R extends ApplicationRole> {
void deleteRole(ApplicationRole holder);
-
+
}
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/tenancy/ApplicationTenancy.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/tenancy/ApplicationTenancy.java
index 591c7da..f55e545 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/tenancy/ApplicationTenancy.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/tenancy/ApplicationTenancy.java
@@ -20,18 +20,21 @@ package org.apache.isis.extensions.secman.api.tenancy;
import org.apache.isis.extensions.secman.api.IsisModuleExtSecmanApi;
+/**
+ * @since 2.0 {@index}
+ */
public interface ApplicationTenancy {
public static final int MAX_LENGTH_PATH = 255;
public static final int MAX_LENGTH_NAME = 40;
public static final int TYPICAL_LENGTH_NAME = 20;
-
+
// -- DOMAIN EVENTS
-
+
public static abstract class PropertyDomainEvent<T> extends IsisModuleExtSecmanApi.PropertyDomainEvent<ApplicationTenancy, T> {}
public static abstract class CollectionDomainEvent<T> extends IsisModuleExtSecmanApi.CollectionDomainEvent<ApplicationTenancy, T> {}
public static abstract class ActionDomainEvent extends IsisModuleExtSecmanApi.ActionDomainEvent<ApplicationTenancy> {}
-
+
public static class AddUserDomainEvent extends ActionDomainEvent {}
public static class RemoveUserDomainEvent extends ActionDomainEvent {}
public static class AddChildDomainEvent extends ActionDomainEvent {}
@@ -39,19 +42,19 @@ public interface ApplicationTenancy {
public static class RemoveChildDomainEvent extends ActionDomainEvent {}
public static class UpdateNameDomainEvent extends ActionDomainEvent {}
public static class UpdateParentDomainEvent extends ActionDomainEvent {}
-
+
// -- MODEL
-
+
default String title() {
return getName();
}
-
+
public String getPath();
public String getName();
public void setName(String name);
public ApplicationTenancy getParent();
-
+
}
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/tenancy/ApplicationTenancyEvaluator.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/tenancy/ApplicationTenancyEvaluator.java
index a149ef9..01128cd 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/tenancy/ApplicationTenancyEvaluator.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/tenancy/ApplicationTenancyEvaluator.java
@@ -26,6 +26,8 @@ import org.apache.isis.extensions.secman.api.user.ApplicationUser;
* making the call (the "who").
*
* @see #handles(Class)
+ *
+ * @since 2.0 {@index}
*/
public interface ApplicationTenancyEvaluator {
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/tenancy/ApplicationTenancyRepository.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/tenancy/ApplicationTenancyRepository.java
index 7bf17a7..7afbe7f 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/tenancy/ApplicationTenancyRepository.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/tenancy/ApplicationTenancyRepository.java
@@ -22,18 +22,21 @@ import java.util.Collection;
import org.apache.isis.extensions.secman.api.user.ApplicationUser;
+/**
+ * @since 2.0 {@index}
+ */
public interface ApplicationTenancyRepository<T extends ApplicationTenancy> {
/**
- *
+ *
* @return detached entity
*/
T newApplicationTenancy();
-
+
Collection<T> allTenancies();
Collection<T> getChildren(ApplicationTenancy tenancy);
Collection<T> findByNameOrPathMatchingCached(String partialNameOrPath);
-
+
/**
* auto-complete support
* @param search
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/tenancy/HasAtPath.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/tenancy/HasAtPath.java
index 8a73c05..552ecf9 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/tenancy/HasAtPath.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/tenancy/HasAtPath.java
@@ -102,6 +102,8 @@ package org.apache.isis.extensions.secman.api.tenancy;
* </table>
* <p>any object that is not tenanted (that is, its class does not implement {@link HasAtPath the WithApplicationTenancy interface} is accessible by any user (usual permission rules apply).
* </p>
+ *
+ * @since 2.0 {@index}
*/
public interface HasAtPath {
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/user/AccountType.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/user/AccountType.java
index eeaea49..1fbe34f 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/user/AccountType.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/user/AccountType.java
@@ -21,8 +21,10 @@ package org.apache.isis.extensions.secman.api.user;
import org.apache.isis.core.metamodel.commons.StringExtensions;
/**
- * Whether the user's account is local enabled (user/password) or
+ * Whether the user's account is local enabled (user/password) or
* delegated (eg LDAP), as per {@link IsisModuleSecurityRealm#setDelegateAuthenticationRealm(org.apache.shiro.realm.AuthenticatingRealm)}.
+ *
+ * @since 2.0 {@index}
*/
public enum AccountType {
LOCAL,
@@ -31,11 +33,11 @@ public enum AccountType {
public boolean isLocal() {
return this==LOCAL;
}
-
+
public boolean isDelegated() {
return this==DELEGATED;
}
-
+
@Override
public String toString() {
return StringExtensions.capitalize(name());
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/user/ApplicationUser.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/user/ApplicationUser.java
index d783b74..dc40a86 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/user/ApplicationUser.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/user/ApplicationUser.java
@@ -26,24 +26,26 @@ import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionVal
import org.apache.isis.extensions.secman.api.role.ApplicationRole;
import org.apache.isis.extensions.secman.api.tenancy.HasAtPath;
-
+/**
+ * @since 2.0 {@index}
+ */
public interface ApplicationUser extends HasUsername, HasAtPath {
// -- CONSTANTS
-
+
public static final int MAX_LENGTH_USERNAME = 30;
public static final int MAX_LENGTH_FAMILY_NAME = 50;
public static final int MAX_LENGTH_GIVEN_NAME = 50;
public static final int MAX_LENGTH_KNOWN_AS = 20;
public static final int MAX_LENGTH_EMAIL_ADDRESS = 50;
public static final int MAX_LENGTH_PHONE_NUMBER = 25;
-
- // -- DOMAIN EVENTS
-
+
+ // -- DOMAIN EVENTS
+
public static abstract class PropertyDomainEvent<T> extends IsisModuleExtSecmanApi.PropertyDomainEvent<ApplicationUser, T> {}
public static abstract class CollectionDomainEvent<T> extends IsisModuleExtSecmanApi.CollectionDomainEvent<ApplicationUser, T> {}
public static abstract class ActionDomainEvent extends IsisModuleExtSecmanApi.ActionDomainEvent<ApplicationUser> {}
-
+
public static class AddRoleDomainEvent extends ActionDomainEvent {}
public static class UpdateAtPathDomainEvent extends ActionDomainEvent {}
public static class UpdateUsernameDomainEvent extends ActionDomainEvent {}
@@ -63,7 +65,7 @@ public interface ApplicationUser extends HasUsername, HasAtPath {
public static class UserDuplicateDomainEvent extends ActionDomainEvent {}
// -- MODEL
-
+
/**
* having a title() method (rather than using @Title annotation) is necessary as a workaround to be able to use
* wrapperFactory#unwrap(...) method, which is otherwise broken in Isis 1.6.0
@@ -73,9 +75,9 @@ public interface ApplicationUser extends HasUsername, HasAtPath {
}
default String iconName() {
- return getStatus().isEnabled() ? "enabled" : "disabled";
+ return getStatus().isEnabled() ? "enabled" : "disabled";
}
-
+
String getName();
String getEncryptedPassword();
@@ -111,13 +113,13 @@ public interface ApplicationUser extends HasUsername, HasAtPath {
void setPhoneNumber(String phoneNumber);
void setUsername(String username);
-
+
void setEncryptedPassword(String encryptedPassword);
boolean isForSelfOrRunAsAdministrator();
boolean isHasPassword();
-
+
default boolean isLocalAccount() {
return getAccountType() == AccountType.LOCAL;
}
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/user/ApplicationUserRepository.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/user/ApplicationUserRepository.java
index 2eb41ff..7d0b7cf 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/user/ApplicationUserRepository.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/user/ApplicationUserRepository.java
@@ -30,6 +30,9 @@ import org.apache.isis.extensions.secman.api.tenancy.ApplicationTenancy;
import lombok.NonNull;
+/**
+ * @since 2.0 {@index}
+ */
public interface ApplicationUserRepository<U extends ApplicationUser> {
/**
@@ -45,7 +48,7 @@ public interface ApplicationUserRepository<U extends ApplicationUser> {
Collection<U> findByAtPath(String atPath);
Collection<U> findByRole(ApplicationRole role);
Collection<U> findByTenancy(ApplicationTenancy tenancy);
-
+
/**
* auto-complete support
* @param search
@@ -59,11 +62,11 @@ public interface ApplicationUserRepository<U extends ApplicationUser> {
boolean isPasswordFeatureEnabled(ApplicationUser holder);
boolean updatePassword(ApplicationUser user, String password);
-
+
U newUser(String username, AccountType accountType, Consumer<U> beforePersist);
default U newLocalUser(
- @NonNull String username,
+ @NonNull String username,
@Nullable Password password,
@NonNull ApplicationUserStatus status) {
@@ -88,7 +91,7 @@ public interface ApplicationUserRepository<U extends ApplicationUser> {
}
-
+
}
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/user/ApplicationUserStatus.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/user/ApplicationUserStatus.java
index eaa706a..da794d6 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/user/ApplicationUserStatus.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/user/ApplicationUserStatus.java
@@ -22,6 +22,8 @@ import org.apache.isis.core.metamodel.commons.StringExtensions;
/**
* Whether the user's account is enabled or disabled.
+ *
+ * @since 2.0 {@index}
*/
public enum ApplicationUserStatus {
ENABLED,
diff --git a/extensions/security/secman/encryption-jbcrypt/src/main/java/org/apache/isis/extensions/secman/encryption/jbcrypt/IsisModuleExtSecmanEncryptionJbcrypt.java b/extensions/security/secman/encryption-jbcrypt/src/main/java/org/apache/isis/extensions/secman/encryption/jbcrypt/IsisModuleExtSecmanEncryptionJbcrypt.java
index d97f6a6..903c112 100644
--- a/extensions/security/secman/encryption-jbcrypt/src/main/java/org/apache/isis/extensions/secman/encryption/jbcrypt/IsisModuleExtSecmanEncryptionJbcrypt.java
+++ b/extensions/security/secman/encryption-jbcrypt/src/main/java/org/apache/isis/extensions/secman/encryption/jbcrypt/IsisModuleExtSecmanEncryptionJbcrypt.java
@@ -23,6 +23,9 @@ import org.springframework.context.annotation.Import;
import org.apache.isis.extensions.secman.encryption.jbcrypt.services.PasswordEncryptionServiceUsingJBcrypt;
+/**
+ * @since 2.0 {@index}
+ */
@Configuration
@Import({
PasswordEncryptionServiceUsingJBcrypt.class
diff --git a/extensions/security/secman/encryption-jbcrypt/src/main/java/org/apache/isis/extensions/secman/encryption/jbcrypt/services/PasswordEncryptionServiceUsingJBcrypt.java b/extensions/security/secman/encryption-jbcrypt/src/main/java/org/apache/isis/extensions/secman/encryption/jbcrypt/services/PasswordEncryptionServiceUsingJBcrypt.java
index 4d81e0a..1ec9fab 100644
--- a/extensions/security/secman/encryption-jbcrypt/src/main/java/org/apache/isis/extensions/secman/encryption/jbcrypt/services/PasswordEncryptionServiceUsingJBcrypt.java
+++ b/extensions/security/secman/encryption-jbcrypt/src/main/java/org/apache/isis/extensions/secman/encryption/jbcrypt/services/PasswordEncryptionServiceUsingJBcrypt.java
@@ -28,6 +28,9 @@ import org.springframework.stereotype.Service;
import org.apache.isis.applib.annotation.OrderPrecedence;
import org.apache.isis.extensions.secman.api.encryption.PasswordEncryptionService;
+/**
+ * @since 2.0 {@index}
+ */
@Service
@Named("isis.ext.secman.PasswordEncryptionServiceUsingJBcrypt")
@Order(OrderPrecedence.MIDPOINT)
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/IsisModuleExtSecmanModel.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/IsisModuleExtSecmanModel.java
index c591c89..642daec 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/IsisModuleExtSecmanModel.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/IsisModuleExtSecmanModel.java
@@ -21,6 +21,9 @@ package org.apache.isis.extensions.secman.model;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
+/**
+ * @since 2.0 {@index}
+ */
@Configuration
@ComponentScan(
basePackageClasses= {
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/user/MeService.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/user/MeService.java
index 3219ea9..e5c4f6d 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/user/MeService.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/user/MeService.java
@@ -35,6 +35,9 @@ import org.apache.isis.extensions.secman.api.IsisModuleExtSecmanApi;
import org.apache.isis.extensions.secman.api.user.ApplicationUser;
import org.apache.isis.extensions.secman.api.user.ApplicationUserRepository;
+/**
+ * @since 2.0 {@index}
+ */
@DomainService(
nature = NatureOfService.VIEW,
objectType = "isis.ext.secman.MeService"
@@ -51,7 +54,7 @@ public class MeService {
@Inject private ApplicationUserRepository<? extends ApplicationUser> applicationUserRepository;
@Inject private UserService userService;
@Inject private javax.inject.Provider<QueryResultsCache> queryResultsCacheProvider;
-
+
// -- iconName
public String iconName() {
return "applicationUser";
diff --git a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/IsisModuleExtSecmanPersistenceJdo.java b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/IsisModuleExtSecmanPersistenceJdo.java
index d98e1f2..148215d 100644
--- a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/IsisModuleExtSecmanPersistenceJdo.java
+++ b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/IsisModuleExtSecmanPersistenceJdo.java
@@ -21,6 +21,9 @@ package org.apache.isis.extensions.secman.jdo;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
+/**
+ * @since 2.0 {@index}
+ */
@Configuration
@ComponentScan(
basePackageClasses= {
diff --git a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/SeedSecurityModuleService.java b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/SeedSecurityModuleService.java
index dee96ee..9d6facb 100644
--- a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/SeedSecurityModuleService.java
+++ b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/SeedSecurityModuleService.java
@@ -32,6 +32,9 @@ import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScripts;
import lombok.extern.log4j.Log4j2;
+/**
+ * @since 2.0 {@index}
+ */
@Service
@Named("isis.ext.secman.SeedSecurityModuleService")
@Order(OrderPrecedence.MIDPOINT)
@@ -56,9 +59,9 @@ public class SeedSecurityModuleService {
fixtureScripts.run(new SeedUsersAndRolesFixtureScript());
}
-
+
}
-
+
}
diff --git a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/SeedUsersAndRolesFixtureScript.java b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/SeedUsersAndRolesFixtureScript.java
index de66e4f..25cb3f2 100644
--- a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/SeedUsersAndRolesFixtureScript.java
+++ b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/SeedUsersAndRolesFixtureScript.java
@@ -33,8 +33,10 @@ import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
* This fixture script will be run automatically on start-up by virtue of the fact that the
* {@link org.apache.isis.extensions.secman.jdo.seed.SeedSecurityModuleService} is a
* {@link org.apache.isis.applib.annotation.DomainService} and calls the setup during its
- * {@link org.apache.isis.extensions.secman.jdo.seed.SeedSecurityModuleService#init() init}
+ * {@link org.apache.isis.extensions.secman.jdo.seed.SeedSecurityModuleService#init() init}
* ({@link javax.annotation.PostConstruct}) method.
+ *
+ * @since 2.0 {@index}
*/
public class SeedUsersAndRolesFixtureScript extends FixtureScript {
diff --git a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/scripts/GlobalTenancy.java b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/scripts/GlobalTenancy.java
index 9ded73b..53ce9a0 100644
--- a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/scripts/GlobalTenancy.java
+++ b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/scripts/GlobalTenancy.java
@@ -20,6 +20,9 @@ package org.apache.isis.extensions.secman.jdo.seed.scripts;
import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
+/**
+ * @since 2.0 {@index}
+ */
public class GlobalTenancy extends AbstractTenancyFixtureScript {
public static final String TENANCY_NAME = "Global";
diff --git a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/scripts/IsisExtFixturesFixtureResultsRoleAndPermissions.java b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/scripts/IsisExtFixturesFixtureResultsRoleAndPermissions.java
index 475ecbb..4bc5012 100644
--- a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/scripts/IsisExtFixturesFixtureResultsRoleAndPermissions.java
+++ b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/scripts/IsisExtFixturesFixtureResultsRoleAndPermissions.java
@@ -22,6 +22,9 @@ import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureResult;
import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionMode;
import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionRule;
+/**
+ * @since 2.0 {@index}
+ */
public class IsisExtFixturesFixtureResultsRoleAndPermissions extends AbstractRoleAndPermissionsFixtureScript {
public static final String ROLE_NAME = "isis-ext-fixtures-fixtureresults";
diff --git a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/scripts/IsisExtSecmanAdminRoleAndPermissions.java b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/scripts/IsisExtSecmanAdminRoleAndPermissions.java
index 43c90c3..3285d50 100644
--- a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/scripts/IsisExtSecmanAdminRoleAndPermissions.java
+++ b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/scripts/IsisExtSecmanAdminRoleAndPermissions.java
@@ -23,6 +23,9 @@ import org.apache.isis.extensions.secman.api.SecmanConfiguration;
import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionMode;
import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionRule;
+/**
+ * @since 2.0 {@index}
+ */
public class IsisExtSecmanAdminRoleAndPermissions extends AbstractRoleAndPermissionsFixtureScript {
private String[] adminInitialPackagePermissions;
@@ -40,5 +43,5 @@ public class IsisExtSecmanAdminRoleAndPermissions extends AbstractRoleAndPermiss
ApplicationPermissionMode.CHANGING,
adminInitialPackagePermissions);
}
-
+
}
diff --git a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/scripts/IsisExtSecmanAdminUser.java b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/scripts/IsisExtSecmanAdminUser.java
index 9dd98d5..73f5ddb 100644
--- a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/scripts/IsisExtSecmanAdminUser.java
+++ b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/scripts/IsisExtSecmanAdminUser.java
@@ -23,14 +23,17 @@ import java.util.Arrays;
import org.apache.isis.extensions.secman.api.SecmanConfiguration;
import org.apache.isis.extensions.secman.api.user.AccountType;
+/**
+ * @since 2.0 {@index}
+ */
public class IsisExtSecmanAdminUser extends AbstractUserAndRolesFixtureScript {
public IsisExtSecmanAdminUser(SecmanConfiguration configBean) {
super(
- configBean.getAdminUserName(),
+ configBean.getAdminUserName(),
configBean.getAdminPassword(),
null,
- GlobalTenancy.TENANCY_PATH,
+ GlobalTenancy.TENANCY_PATH,
AccountType.LOCAL,
Arrays.asList(configBean.getAdminRoleName()));
}
diff --git a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/scripts/IsisExtSecmanFixtureRoleAndPermissions.java b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/scripts/IsisExtSecmanFixtureRoleAndPermissions.java
index a8d5564..8bf6a6f 100644
--- a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/scripts/IsisExtSecmanFixtureRoleAndPermissions.java
+++ b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/scripts/IsisExtSecmanFixtureRoleAndPermissions.java
@@ -24,6 +24,8 @@ import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionRul
/**
* Role to run in the prototype fixture scripts for the example webapp for the security module.
+ *
+ * @since 2.0 {@index}
*/
public class IsisExtSecmanFixtureRoleAndPermissions extends AbstractRoleAndPermissionsFixtureScript {
diff --git a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/scripts/IsisExtSecmanRegularUserRoleAndPermissions.java b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/scripts/IsisExtSecmanRegularUserRoleAndPermissions.java
index 450536e..70e84f3 100644
--- a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/scripts/IsisExtSecmanRegularUserRoleAndPermissions.java
+++ b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/scripts/IsisExtSecmanRegularUserRoleAndPermissions.java
@@ -29,6 +29,8 @@ import org.apache.isis.extensions.secman.model.app.user.MeService;
/**
* Role for regular users of the security module, providing the ability to lookup their user account using the
* {@link org.apache.isis.extensions.secman.model.app.user.MeService}, and for viewing and maintaining their user details.
+ *
+ * @since 2.0 {@index}
*/
public class IsisExtSecmanRegularUserRoleAndPermissions extends AbstractRoleAndPermissionsFixtureScript {
@@ -50,7 +52,7 @@ public class IsisExtSecmanRegularUserRoleAndPermissions extends AbstractRoleAndP
ApplicationPermissionMode.CHANGING,
MeService.class,
"me");
-
+
newClassPermissions(
ApplicationPermissionRule.ALLOW,
ApplicationPermissionMode.VIEWING,
diff --git a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/IsisModuleExtSecmanPersistenceJpa.java b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/IsisModuleExtSecmanPersistenceJpa.java
index 2840157..6fe1ec0 100644
--- a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/IsisModuleExtSecmanPersistenceJpa.java
+++ b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/IsisModuleExtSecmanPersistenceJpa.java
@@ -32,6 +32,9 @@ import org.apache.isis.extensions.secman.jpa.dom.user.ApplicationUser;
import org.apache.isis.extensions.secman.jpa.dom.user.ApplicationUserRepository;
import org.apache.isis.extensions.secman.jpa.seed.SeedSecurityModuleService;
+/**
+ * @since 2.0 {@index}
+ */
@Configuration
@Import({
ApplicationPermissionRepository.class,
diff --git a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/SeedSecurityModuleService.java b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/SeedSecurityModuleService.java
index 075cca6..e499406 100644
--- a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/SeedSecurityModuleService.java
+++ b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/SeedSecurityModuleService.java
@@ -32,6 +32,9 @@ import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScripts;
import lombok.extern.log4j.Log4j2;
+/**
+ * @since 2.0 {@index}
+ */
@Service
@Named("isis.ext.secman.SeedSecurityModuleService")
@Order(OrderPrecedence.MIDPOINT)
@@ -56,9 +59,9 @@ public class SeedSecurityModuleService {
fixtureScripts.run(new SeedUsersAndRolesFixtureScript());
}
-
+
}
-
+
}
diff --git a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/SeedUsersAndRolesFixtureScript.java b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/SeedUsersAndRolesFixtureScript.java
index c862a64..9e5583d 100644
--- a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/SeedUsersAndRolesFixtureScript.java
+++ b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/SeedUsersAndRolesFixtureScript.java
@@ -33,8 +33,10 @@ import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
* This fixture script will be run automatically on start-up by virtue of the fact that the
* {@link org.apache.isis.extensions.secman.jpa.seed.SeedSecurityModuleService} is a
* {@link org.apache.isis.applib.annotation.DomainService} and calls the setup during its
- * {@link org.apache.isis.extensions.secman.jpa.seed.SeedSecurityModuleService#init() init}
+ * {@link org.apache.isis.extensions.secman.jpa.seed.SeedSecurityModuleService#init() init}
* ({@link javax.annotation.PostConstruct}) method.
+ *
+ * @since 2.0 {@index}
*/
public class SeedUsersAndRolesFixtureScript extends FixtureScript {
diff --git a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/scripts/GlobalTenancy.java b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/scripts/GlobalTenancy.java
index 6e636d5..5a2a54a0 100644
--- a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/scripts/GlobalTenancy.java
+++ b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/scripts/GlobalTenancy.java
@@ -20,6 +20,9 @@ package org.apache.isis.extensions.secman.jpa.seed.scripts;
import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureScript;
+/**
+ * @since 2.0 {@index}
+ */
public class GlobalTenancy extends AbstractTenancyFixtureScript {
public static final String TENANCY_NAME = "Global";
diff --git a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/scripts/IsisExtFixturesFixtureResultsRoleAndPermissions.java b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/scripts/IsisExtFixturesFixtureResultsRoleAndPermissions.java
index 7bbcf4d..35c6934 100644
--- a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/scripts/IsisExtFixturesFixtureResultsRoleAndPermissions.java
+++ b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/scripts/IsisExtFixturesFixtureResultsRoleAndPermissions.java
@@ -22,6 +22,9 @@ import org.apache.isis.testing.fixtures.applib.fixturescripts.FixtureResult;
import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionMode;
import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionRule;
+/**
+ * @since 2.0 {@index}
+ */
public class IsisExtFixturesFixtureResultsRoleAndPermissions extends AbstractRoleAndPermissionsFixtureScript {
public static final String ROLE_NAME = "isis-ext-fixtures-fixtureresults";
diff --git a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/scripts/IsisExtSecmanAdminRoleAndPermissions.java b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/scripts/IsisExtSecmanAdminRoleAndPermissions.java
index d2cbbfc..fd80466 100644
--- a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/scripts/IsisExtSecmanAdminRoleAndPermissions.java
+++ b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/scripts/IsisExtSecmanAdminRoleAndPermissions.java
@@ -23,6 +23,9 @@ import org.apache.isis.extensions.secman.api.SecmanConfiguration;
import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionMode;
import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionRule;
+/**
+ * @since 2.0 {@index}
+ */
public class IsisExtSecmanAdminRoleAndPermissions extends AbstractRoleAndPermissionsFixtureScript {
private String[] adminInitialPackagePermissions;
@@ -40,5 +43,5 @@ public class IsisExtSecmanAdminRoleAndPermissions extends AbstractRoleAndPermiss
ApplicationPermissionMode.CHANGING,
adminInitialPackagePermissions);
}
-
+
}
diff --git a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/scripts/IsisExtSecmanAdminUser.java b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/scripts/IsisExtSecmanAdminUser.java
index 3e7cf6b..2fdcf6c 100644
--- a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/scripts/IsisExtSecmanAdminUser.java
+++ b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/scripts/IsisExtSecmanAdminUser.java
@@ -23,14 +23,17 @@ import java.util.Arrays;
import org.apache.isis.extensions.secman.api.SecmanConfiguration;
import org.apache.isis.extensions.secman.api.user.AccountType;
+/**
+ * @since 2.0 {@index}
+ */
public class IsisExtSecmanAdminUser extends AbstractUserAndRolesFixtureScript {
public IsisExtSecmanAdminUser(SecmanConfiguration configBean) {
super(
- configBean.getAdminUserName(),
+ configBean.getAdminUserName(),
configBean.getAdminPassword(),
null,
- GlobalTenancy.TENANCY_PATH,
+ GlobalTenancy.TENANCY_PATH,
AccountType.LOCAL,
Arrays.asList(configBean.getAdminRoleName()));
}
diff --git a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/scripts/IsisExtSecmanFixtureRoleAndPermissions.java b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/scripts/IsisExtSecmanFixtureRoleAndPermissions.java
index 0045210..08092b2 100644
--- a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/scripts/IsisExtSecmanFixtureRoleAndPermissions.java
+++ b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/scripts/IsisExtSecmanFixtureRoleAndPermissions.java
@@ -24,6 +24,8 @@ import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionRul
/**
* Role to run in the prototype fixture scripts for the example webapp for the security module.
+ *
+ * @since 2.0 {@index}
*/
public class IsisExtSecmanFixtureRoleAndPermissions extends AbstractRoleAndPermissionsFixtureScript {
diff --git a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/scripts/IsisExtSecmanRegularUserRoleAndPermissions.java b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/scripts/IsisExtSecmanRegularUserRoleAndPermissions.java
index ae5ff2d..d9a12f5 100644
--- a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/scripts/IsisExtSecmanRegularUserRoleAndPermissions.java
+++ b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/scripts/IsisExtSecmanRegularUserRoleAndPermissions.java
@@ -29,6 +29,8 @@ import org.apache.isis.extensions.secman.model.app.user.MeService;
/**
* Role for regular users of the security module, providing the ability to lookup their user account using the
* {@link org.apache.isis.extensions.secman.model.app.user.MeService}, and for viewing and maintaining their user details.
+ *
+ * @since 2.0 {@index}
*/
public class IsisExtSecmanRegularUserRoleAndPermissions extends AbstractRoleAndPermissionsFixtureScript {
@@ -44,7 +46,7 @@ public class IsisExtSecmanRegularUserRoleAndPermissions extends AbstractRoleAndP
ApplicationPermissionMode.CHANGING,
LogoutMenu.class,
"logout");
-
+
newMemberPermissions(
ApplicationPermissionRule.ALLOW,
ApplicationPermissionMode.CHANGING,
diff --git a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/userreg/SecurityModuleAppUserRegistrationServiceAbstract.java b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/userreg/SecurityModuleAppUserRegistrationServiceAbstract.java
index 22a5158..2fa7ee3 100644
--- a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/userreg/SecurityModuleAppUserRegistrationServiceAbstract.java
+++ b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/userreg/SecurityModuleAppUserRegistrationServiceAbstract.java
@@ -35,12 +35,14 @@ import org.apache.isis.extensions.secman.jpa.dom.user.ApplicationUserRepository;
/**
* An abstract implementation of {@link org.apache.isis.applib.services.userreg.UserRegistrationService}
* with a single abstract method for the initial role of newly created local users
+ *
+ * @since 2.0 {@index}
*/
public abstract class SecurityModuleAppUserRegistrationServiceAbstract implements UserRegistrationService {
@Inject private ApplicationUserRepository applicationUserRepository;
@Inject private ApplicationRoleRepository applicationRoleRepository;
-
+
@Override
public boolean usernameExists(final String username) {
return applicationUserRepository.findByUsername(username).isPresent();
@@ -52,19 +54,19 @@ public abstract class SecurityModuleAppUserRegistrationServiceAbstract implement
final Password password = new Password(userDetails.getPassword());
final ApplicationRole initialRole = getInitialRole();
-
+
final String username = userDetails.getUsername();
final String emailAddress = userDetails.getEmailAddress();
final ApplicationUser applicationUser = (ApplicationUser) applicationUserRepository
.newLocalUser(username, password, ApplicationUserStatus.ENABLED);
-
+
if(_Strings.isNotEmpty(emailAddress)) {
applicationUser.setEmailAddress(emailAddress);
}
if(initialRole!=null) {
applicationRoleRepository.addRoleToUser(initialRole, applicationUser);
}
-
+
final Set<ApplicationRole> additionalRoles = getAdditionalInitialRoles();
if(additionalRoles != null) {
for (final ApplicationRole additionalRole : additionalRoles) {
@@ -99,5 +101,5 @@ public abstract class SecurityModuleAppUserRegistrationServiceAbstract implement
* @return Additional roles for newly created local users
*/
protected abstract Set<ApplicationRole> getAdditionalInitialRoles();
-
+
}
diff --git a/extensions/security/secman/shiro-realm/src/main/java/org/apache/isis/extensions/secman/shiro/IsisModuleExtSecmanRealmShiro.java b/extensions/security/secman/shiro-realm/src/main/java/org/apache/isis/extensions/secman/shiro/IsisModuleExtSecmanRealmShiro.java
index 476b831..f4f796b 100644
--- a/extensions/security/secman/shiro-realm/src/main/java/org/apache/isis/extensions/secman/shiro/IsisModuleExtSecmanRealmShiro.java
+++ b/extensions/security/secman/shiro-realm/src/main/java/org/apache/isis/extensions/secman/shiro/IsisModuleExtSecmanRealmShiro.java
@@ -23,6 +23,9 @@ import org.springframework.context.annotation.Import;
import org.apache.isis.extensions.secman.shiro.services.SecurityRealmServiceUsingShiro;
+/**
+ * @since 2.0 {@index}
+ */
@Configuration
@Import({
SecurityRealmServiceUsingShiro.class
diff --git a/extensions/security/secman/shiro-realm/src/main/java/org/apache/isis/extensions/secman/shiro/IsisModuleExtSecmanShiroRealm.java b/extensions/security/secman/shiro-realm/src/main/java/org/apache/isis/extensions/secman/shiro/IsisModuleExtSecmanShiroRealm.java
index 350a309..b023bfd 100644
--- a/extensions/security/secman/shiro-realm/src/main/java/org/apache/isis/extensions/secman/shiro/IsisModuleExtSecmanShiroRealm.java
+++ b/extensions/security/secman/shiro-realm/src/main/java/org/apache/isis/extensions/secman/shiro/IsisModuleExtSecmanShiroRealm.java
@@ -58,6 +58,9 @@ import lombok.Getter;
import lombok.Setter;
import lombok.val;
+/**
+ * @since 2.0 {@index}
+ */
public class IsisModuleExtSecmanShiroRealm extends AuthorizingRealm implements SecurityRealm {
private static final String SECMAN_ENABLE_DELEGATED_USERS = "isis.ext.secman.enableDelegatedUsers";
@@ -66,7 +69,7 @@ public class IsisModuleExtSecmanShiroRealm extends AuthorizingRealm implements S
@Inject protected PlatformTransactionManager txMan;
@Inject private SecmanConfiguration configBean;
@Inject protected IsisConfiguration isisConfiguration;
-
+
@Getter @Setter private AuthenticatingRealm delegateAuthenticationRealm;
@Getter @Setter private boolean autoCreateUser = true;
@@ -94,11 +97,11 @@ public class IsisModuleExtSecmanShiroRealm extends AuthorizingRealm implements S
val usernamePasswordToken = (UsernamePasswordToken) token;
val username = usernamePasswordToken.getUsername();
val password = usernamePasswordToken.getPassword();
-
+
// this code block is just an optimization, entirely optional
{
- val alreadyAuthenticatedPrincipal =
+ val alreadyAuthenticatedPrincipal =
getPrincipal_fromAlreadyAuthenticatedSubjectIfApplicable(token);
if(alreadyAuthenticatedPrincipal!=null) {
val credentials = token.getCredentials();
@@ -106,20 +109,20 @@ public class IsisModuleExtSecmanShiroRealm extends AuthorizingRealm implements S
return AuthInfoForApplicationUser.of(alreadyAuthenticatedPrincipal, realmName, credentials);
}
}
-
+
// lookup from database, for roles/perms
PrincipalForApplicationUser principal = lookupPrincipal_inApplicationUserRepository(username);
val autoCreateUserWhenDelegatedAuthentication = hasDelegateAuthenticationRealm() && isAutoCreateUser();
if (principal == null && autoCreateUserWhenDelegatedAuthentication) {
- // When using delegated authentication, desired behavior is to auto-create user accounts in the
+ // When using delegated authentication, desired behavior is to auto-create user accounts in the
// DB only if these do successfully authenticate with the delegated authentication mechanism
// while the newly created user will be disabled by default
authenticateElseThrow_usingDelegatedMechanism(token);
val newPrincipal = createPrincipal_inApplicationUserRepository(username);
_Assert.assertNotNull(newPrincipal);
-
+
if(configBean.isAutoEnableIfDelegatedAndAuthenticated()) {
principal = newPrincipal;
} else {
@@ -171,24 +174,24 @@ public class IsisModuleExtSecmanShiroRealm extends AuthorizingRealm implements S
}
// -- HELPER
-
+
/**
* @implNote
* This is just an optimization, entirely optional.
* <p>
- * We reuse principal information on subjects that are already authenticated,
+ * We reuse principal information on subjects that are already authenticated,
* provided we are in a single realm authentication scenario.
* @param token
* @return {@code null} if not applicable
*/
private PrincipalForApplicationUser getPrincipal_fromAlreadyAuthenticatedSubjectIfApplicable(
AuthenticationToken token) {
-
+
// this optimization is only implemented for the simple case of a single realm setup
if(!ShiroUtils.isSingleRealm()) {
- return null;
+ return null;
}
-
+
val currentSubject = SecurityUtils.getSubject();
if(currentSubject!=null && currentSubject.isAuthenticated()) {
val authenticatedPrincipalObject = currentSubject.getPrincipal();
@@ -219,7 +222,7 @@ public class IsisModuleExtSecmanShiroRealm extends AuthorizingRealm implements S
return _NullSafe.size(fullStackTrace)>1
? _Arrays.subArray(super.getStackTrace(), 0, 1)
: fullStackTrace;
- }
+ }
};
}
diff --git a/extensions/security/secman/shiro-realm/src/main/java/org/apache/isis/extensions/secman/shiro/services/SecurityRealmServiceUsingShiro.java b/extensions/security/secman/shiro-realm/src/main/java/org/apache/isis/extensions/secman/shiro/services/SecurityRealmServiceUsingShiro.java
index 3fe9c94..40fc0d2 100644
--- a/extensions/security/secman/shiro-realm/src/main/java/org/apache/isis/extensions/secman/shiro/services/SecurityRealmServiceUsingShiro.java
+++ b/extensions/security/secman/shiro-realm/src/main/java/org/apache/isis/extensions/secman/shiro/services/SecurityRealmServiceUsingShiro.java
@@ -33,12 +33,15 @@ import org.apache.isis.extensions.secman.shiro.util.ShiroUtils;
import lombok.val;
+/**
+ * @since 2.0 {@index}
+ */
@Service
@Named("isis.ext.secman.SecurityRealmServiceUsingShiro")
@Order(OrderPrecedence.MIDPOINT)
@Qualifier("Shiro")
public class SecurityRealmServiceUsingShiro implements SecurityRealmService {
-
+
@Inject private ServiceInjector serviceInjector;
@Override
diff --git a/extensions/security/secman/shiro-realm/src/main/java/org/apache/isis/extensions/secman/shiro/util/ShiroUtils.java b/extensions/security/secman/shiro-realm/src/main/java/org/apache/isis/extensions/secman/shiro/util/ShiroUtils.java
index dbaede2..7100675 100644
--- a/extensions/security/secman/shiro-realm/src/main/java/org/apache/isis/extensions/secman/shiro/util/ShiroUtils.java
+++ b/extensions/security/secman/shiro-realm/src/main/java/org/apache/isis/extensions/secman/shiro/util/ShiroUtils.java
@@ -30,6 +30,9 @@ import org.apache.isis.extensions.secman.shiro.IsisModuleExtSecmanShiroRealm;
import lombok.experimental.UtilityClass;
+/**
+ * @since 2.0 {@index}
+ */
@UtilityClass
public class ShiroUtils {
@@ -62,5 +65,5 @@ public class ShiroUtils {
final RealmSecurityManager securityManager = getSecurityManager();
return securityManager.getRealms().size() == 1;
}
-
+
}
diff --git a/extensions/security/shiro-realm-ldap/impl/src/main/java/org/apache/isis/extensions/shirorealmldap/realm/impl/IsisLdapContextFactory.java b/extensions/security/shiro-realm-ldap/impl/src/main/java/org/apache/isis/extensions/shirorealmldap/realm/impl/IsisLdapContextFactory.java
index 226cc52..8b641de 100644
--- a/extensions/security/shiro-realm-ldap/impl/src/main/java/org/apache/isis/extensions/shirorealmldap/realm/impl/IsisLdapContextFactory.java
+++ b/extensions/security/shiro-realm-ldap/impl/src/main/java/org/apache/isis/extensions/shirorealmldap/realm/impl/IsisLdapContextFactory.java
@@ -33,6 +33,8 @@ import org.apache.shiro.realm.ldap.JndiLdapContextFactory;
*
* <p>
* See {@link IsisLdapRealm} for typical configuration within <tt>shiro.ini</tt>.
+ *
+ * @since 1.x {@index}
*/
public class IsisLdapContextFactory extends JndiLdapContextFactory {
diff --git a/extensions/security/shiro-realm-ldap/impl/src/main/java/org/apache/isis/extensions/shirorealmldap/realm/impl/IsisLdapRealm.java b/extensions/security/shiro-realm-ldap/impl/src/main/java/org/apache/isis/extensions/shirorealmldap/realm/impl/IsisLdapRealm.java
index 0ff708b..9adda95 100644
--- a/extensions/security/shiro-realm-ldap/impl/src/main/java/org/apache/isis/extensions/shirorealmldap/realm/impl/IsisLdapRealm.java
+++ b/extensions/security/shiro-realm-ldap/impl/src/main/java/org/apache/isis/extensions/shirorealmldap/realm/impl/IsisLdapRealm.java
@@ -133,6 +133,8 @@ import static org.apache.isis.commons.internal.base._NullSafe.stream;
* See the sample for group and user attribute and mapping.
* <p/>
* </p>
+ *
+ * @since 1.x {@index}
*/
public class IsisLdapRealm extends DefaultLdapRealm {
diff --git a/extensions/security/shiro-realm-ldap/impl/src/main/java/org/apache/isis/extensions/shirorealmldap/realm/impl/IsisModuleExtShiroRealmLdapImpl.java b/extensions/security/shiro-realm-ldap/impl/src/main/java/org/apache/isis/extensions/shirorealmldap/realm/impl/IsisModuleExtShiroRealmLdapImpl.java
index 6537f27..27b6d9d 100644
--- a/extensions/security/shiro-realm-ldap/impl/src/main/java/org/apache/isis/extensions/shirorealmldap/realm/impl/IsisModuleExtShiroRealmLdapImpl.java
+++ b/extensions/security/shiro-realm-ldap/impl/src/main/java/org/apache/isis/extensions/shirorealmldap/realm/impl/IsisModuleExtShiroRealmLdapImpl.java
@@ -24,6 +24,9 @@ import org.springframework.context.annotation.Import;
import org.apache.isis.security.shiro.IsisModuleSecurityShiro;
+/**
+ * @since 1.x {@index}
+ */
@Configuration
@Import({
// modules
diff --git a/extensions/vro/cors/impl/src/main/java/org/apache/isis/extensions/cors/impl/IsisModuleExtCorsImpl.java b/extensions/vro/cors/impl/src/main/java/org/apache/isis/extensions/cors/impl/IsisModuleExtCorsImpl.java
index bc8e6e8..76df208 100644
--- a/extensions/vro/cors/impl/src/main/java/org/apache/isis/extensions/cors/impl/IsisModuleExtCorsImpl.java
+++ b/extensions/vro/cors/impl/src/main/java/org/apache/isis/extensions/cors/impl/IsisModuleExtCorsImpl.java
@@ -38,19 +38,22 @@ import org.apache.isis.core.config.IsisConfiguration;
import lombok.val;
import lombok.extern.log4j.Log4j2;
+/**
+ * @since 2.0 {@index}
+ */
@Configuration
@Named("isis.ext.cors.WebModuleServerCors")
@Qualifier("CORS")
@Log4j2
public class IsisModuleExtCorsImpl {
-
+
@Bean
public FilterRegistrationBean<Filter> createCorsFilterRegistration(IsisConfiguration configuration) {
final Map<String, String> cfgMap = configuration.getAsMap();
final String resteasyBase = cfgMap.getOrDefault("resteasy.jaxrs.defaultPath", "/restful/*");
- log.info("Setting up CORS to filter resteasy-base at '{}' with {}",
- resteasyBase,
+ log.info("Setting up CORS to filter resteasy-base at '{}' with {}",
+ resteasyBase,
configuration.getExtensions().getCors());
final FilterRegistrationBean<Filter> filterRegistrationBean = new FilterRegistrationBean<>();
@@ -61,21 +64,21 @@ public class IsisModuleExtCorsImpl {
}
private CorsFilter createCorsFilter(IsisConfiguration configuration) {
-
+
val isisCorsConfig = configuration.getExtensions().getCors();
-
+
val corsConfiguration = new CorsConfiguration();
corsConfiguration.setAllowCredentials(isisCorsConfig.isAllowCredentials());
corsConfiguration.setAllowedHeaders(isisCorsConfig.getAllowedHeaders());
corsConfiguration.setAllowedMethods(isisCorsConfig.getAllowedMethods());
corsConfiguration.setAllowedOrigins(isisCorsConfig.getAllowedOrigins());
corsConfiguration.setExposedHeaders(isisCorsConfig.getExposedHeaders());
-
+
val source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", corsConfiguration);
-
+
return new CorsFilter(source);
}
-
+
}
diff --git a/extensions/vw/exceldownload/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/exceldownload/ui/IsisModuleExtExcelDownloadUi.java b/extensions/vw/exceldownload/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/exceldownload/ui/IsisModuleExtExcelDownloadUi.java
index a393815..b33b682 100644
--- a/extensions/vw/exceldownload/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/exceldownload/ui/IsisModuleExtExcelDownloadUi.java
+++ b/extensions/vw/exceldownload/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/exceldownload/ui/IsisModuleExtExcelDownloadUi.java
@@ -23,6 +23,9 @@ import org.springframework.context.annotation.Import;
import org.apache.isis.extensions.viewer.wicket.exceldownload.ui.components.CollectionContentsAsExcelFactory;
+/**
+ * @since 2.0 {@index}
+ */
@Configuration
@Import({
// @Component's
diff --git a/extensions/vw/exceldownload/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/exceldownload/ui/components/CollectionContentsAsExcel.java b/extensions/vw/exceldownload/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/exceldownload/ui/components/CollectionContentsAsExcel.java
index cdebca1..ce357da 100644
--- a/extensions/vw/exceldownload/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/exceldownload/ui/components/CollectionContentsAsExcel.java
+++ b/extensions/vw/exceldownload/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/exceldownload/ui/components/CollectionContentsAsExcel.java
@@ -34,6 +34,8 @@ import de.agilecoders.wicket.core.markup.html.bootstrap.common.NotificationPanel
/**
* {@link PanelAbstract Panel} that represents a {@link EntityCollectionModel
* collection of entity}s rendered using {@link AjaxFallbackDefaultDataTable}.
+ *
+ * @since 2.0 {@index}
*/
public class CollectionContentsAsExcel extends PanelAbstract<EntityCollectionModel> {
diff --git a/extensions/vw/exceldownload/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/exceldownload/ui/components/CollectionContentsAsExcelFactory.java b/extensions/vw/exceldownload/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/exceldownload/ui/components/CollectionContentsAsExcelFactory.java
index b892e65..405d4ad 100644
--- a/extensions/vw/exceldownload/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/exceldownload/ui/components/CollectionContentsAsExcelFactory.java
+++ b/extensions/vw/exceldownload/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/exceldownload/ui/components/CollectionContentsAsExcelFactory.java
@@ -30,10 +30,12 @@ import org.apache.isis.viewer.wicket.ui.ComponentType;
/**
* {@link ComponentFactory} for {@link CollectionContentsAsExcel}.
+ *
+ * @since 2.0 {@index}
*/
@org.springframework.stereotype.Component
-public class CollectionContentsAsExcelFactory
-extends ComponentFactoryAbstract
+public class CollectionContentsAsExcelFactory
+extends ComponentFactoryAbstract
implements CollectionContentsAsFactory {
private static final long serialVersionUID = 1L;
diff --git a/extensions/vw/fullcalendar/applib/src/main/java/org/apache/isis/extensions/fullcalendar/applib/CalendarEventable.java b/extensions/vw/fullcalendar/applib/src/main/java/org/apache/isis/extensions/fullcalendar/applib/CalendarEventable.java
index 76cdf76..9002746 100644
--- a/extensions/vw/fullcalendar/applib/src/main/java/org/apache/isis/extensions/fullcalendar/applib/CalendarEventable.java
+++ b/extensions/vw/fullcalendar/applib/src/main/java/org/apache/isis/extensions/fullcalendar/applib/CalendarEventable.java
@@ -24,6 +24,9 @@ import org.apache.isis.extensions.fullcalendar.applib.value.CalendarEvent;
import lombok.experimental.UtilityClass;
+/**
+ * @since 2.0 {@index}
+ */
public interface CalendarEventable {
/**
diff --git a/extensions/vw/fullcalendar/applib/src/main/java/org/apache/isis/extensions/fullcalendar/applib/Calendarable.java b/extensions/vw/fullcalendar/applib/src/main/java/org/apache/isis/extensions/fullcalendar/applib/Calendarable.java
index c10ce81..ee1baf0 100644
--- a/extensions/vw/fullcalendar/applib/src/main/java/org/apache/isis/extensions/fullcalendar/applib/Calendarable.java
+++ b/extensions/vw/fullcalendar/applib/src/main/java/org/apache/isis/extensions/fullcalendar/applib/Calendarable.java
@@ -21,25 +21,28 @@ package org.apache.isis.extensions.fullcalendar.applib;
import java.util.Map;
import java.util.Set;
+/**
+ * @since 2.0 {@index}
+ */
public interface Calendarable {
/**
* The names of unique "calendar"s provided by this object.
- *
+ *
* <p>
* The "calendar" is a string identifier that indicates the nature of this event.
- *
+ *
* <p>
* For example, an event of a lease's <code>FixedBreakOption</code> has three dates: the <i>break date</i>,
- * the <i>exercise date</i> and the <i>reminder date</i>. These therefore correspond to three different
- * calendar names, respectively <i>Fixed break</i>, <i>Fixed break exercise</i> and
+ * the <i>exercise date</i> and the <i>reminder date</i>. These therefore correspond to three different
+ * calendar names, respectively <i>Fixed break</i>, <i>Fixed break exercise</i> and
* <i>Fixed break exercise reminder</i>.
*/
Set<String> getCalendarNames();
-
+
/**
* The events associated with this object, keyed by their corresponding {@link #getCalendarNames() calendar name}.
*/
Map<String, CalendarEventable> getCalendarEvents();
-
+
}
diff --git a/extensions/vw/fullcalendar/applib/src/main/java/org/apache/isis/extensions/fullcalendar/applib/IsisModuleExtFullCalendarApplib.java b/extensions/vw/fullcalendar/applib/src/main/java/org/apache/isis/extensions/fullcalendar/applib/IsisModuleExtFullCalendarApplib.java
index c393ecb..7a23c6b 100644
--- a/extensions/vw/fullcalendar/applib/src/main/java/org/apache/isis/extensions/fullcalendar/applib/IsisModuleExtFullCalendarApplib.java
+++ b/extensions/vw/fullcalendar/applib/src/main/java/org/apache/isis/extensions/fullcalendar/applib/IsisModuleExtFullCalendarApplib.java
@@ -20,6 +20,9 @@ package org.apache.isis.extensions.fullcalendar.applib;
import org.springframework.context.annotation.Configuration;
+/**
+ * @since 2.0 {@index}
+ */
@Configuration
public class IsisModuleExtFullCalendarApplib {
}
diff --git a/extensions/vw/fullcalendar/applib/src/main/java/org/apache/isis/extensions/fullcalendar/applib/spi/CalendarableDereferencingService.java b/extensions/vw/fullcalendar/applib/src/main/java/org/apache/isis/extensions/fullcalendar/applib/spi/CalendarableDereferencingService.java
index ff65e2c..ed9906c 100644
--- a/extensions/vw/fullcalendar/applib/src/main/java/org/apache/isis/extensions/fullcalendar/applib/spi/CalendarableDereferencingService.java
+++ b/extensions/vw/fullcalendar/applib/src/main/java/org/apache/isis/extensions/fullcalendar/applib/spi/CalendarableDereferencingService.java
@@ -30,6 +30,7 @@ import org.apache.isis.extensions.fullcalendar.applib.Calendarable;
* <tt>Note</tt> (ie the <tt>Notable</tt>) sto be shown instead.
* </p>
*
+ * @since 2.0 {@index}
*/
public interface CalendarableDereferencingService {
Object dereference(final Object calendarableOrCalendarEventable);
diff --git a/extensions/vw/fullcalendar/applib/src/main/java/org/apache/isis/extensions/fullcalendar/applib/value/CalendarEvent.java b/extensions/vw/fullcalendar/applib/src/main/java/org/apache/isis/extensions/fullcalendar/applib/value/CalendarEvent.java
index 2ee040d..92f2970 100644
--- a/extensions/vw/fullcalendar/applib/src/main/java/org/apache/isis/extensions/fullcalendar/applib/value/CalendarEvent.java
+++ b/extensions/vw/fullcalendar/applib/src/main/java/org/apache/isis/extensions/fullcalendar/applib/value/CalendarEvent.java
@@ -28,19 +28,21 @@ import org.apache.isis.applib.util.ObjectContracts.ObjectContract;
/**
* Value type representing an event on a calendar.
+ *
+ * @since 2.0 {@index}
*/
@Value(semanticsProviderClass=CalendarEventSemanticsProvider.class)
public class CalendarEvent implements Serializable {
private static final long serialVersionUID = 1L;
-
+
static final CalendarEvent DEFAULT_VALUE = null; // no default
-
+
private final DateTime dateTime;
private final String calendarName;
private final String title;
private final String notes;
-
+
public CalendarEvent(final DateTime dateTime, final String calendarName, final String title) {
this(dateTime, calendarName, title, null);
}
@@ -55,41 +57,41 @@ public class CalendarEvent implements Serializable {
public DateTime getDateTime() {
return dateTime;
}
-
+
public String getCalendarName() {
return calendarName;
}
-
+
public String getTitle() {
return title;
}
-
+
public String getNotes() {
return notes;
}
-
+
public CalendarEvent withDateTime(final DateTime date) {
return new CalendarEvent(date, this.calendarName, this.title, this.notes);
}
-
+
public CalendarEvent withCalendarName(final String calendarName) {
return new CalendarEvent(this.dateTime, calendarName, this.title, this.notes);
}
-
+
public CalendarEvent withTitle(final String title) {
return new CalendarEvent(this.dateTime, this.calendarName, title, this.notes);
}
-
+
public CalendarEvent withNotes(final String notes) {
return new CalendarEvent(this.dateTime, this.calendarName, this.title, notes);
}
- private static final ObjectContract<CalendarEvent> objectContract =
+ private static final ObjectContract<CalendarEvent> objectContract =
ObjectContracts.contract(CalendarEvent.class)
.thenUse("dateTime", CalendarEvent::getDateTime)
.thenUse("calendarName", CalendarEvent::getCalendarName);
-
-
+
+
@Override
public int hashCode() {
return objectContract.hashCode(this);
@@ -104,7 +106,7 @@ public class CalendarEvent implements Serializable {
public String toString() {
return objectContract.toString(this);
}
-
+
public static int typicalLength() {
return 30;
}
diff --git a/extensions/vw/fullcalendar/ui/src/main/java/org/apache/isis/extensions/fullcalendar/ui/component/IsisModuleExtFullCalendarUi.java b/extensions/vw/fullcalendar/ui/src/main/java/org/apache/isis/extensions/fullcalendar/ui/component/IsisModuleExtFullCalendarUi.java
index 0f721e0..8fdeb63 100644
--- a/extensions/vw/fullcalendar/ui/src/main/java/org/apache/isis/extensions/fullcalendar/ui/component/IsisModuleExtFullCalendarUi.java
+++ b/extensions/vw/fullcalendar/ui/src/main/java/org/apache/isis/extensions/fullcalendar/ui/component/IsisModuleExtFullCalendarUi.java
@@ -23,6 +23,9 @@ import org.springframework.context.annotation.Import;
import org.apache.isis.extensions.fullcalendar.applib.IsisModuleExtFullCalendarApplib;
+/**
+ * @since 2.0 {@index}
+ */
@Configuration
@Import({
IsisModuleExtFullCalendarApplib.class
diff --git a/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/annotations/PdfJsViewer.java b/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/annotations/PdfJsViewer.java
index 4f1df63..f5534d4 100644
--- a/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/annotations/PdfJsViewer.java
+++ b/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/annotations/PdfJsViewer.java
@@ -29,6 +29,8 @@ import org.apache.isis.extensions.viewer.wicket.pdfjs.applib.config.Scale;
* An annotation that could be applied on a property or parameter
* of type {@link org.apache.isis.applib.value.Blob}. Such property/parameter will be visualized
* with <a href="https://github.com/mozilla/pdf.js">PDF.js</a> viewer.
+ *
+ * @since 2.0 {@index}
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(value = {ElementType.METHOD, ElementType.FIELD})
diff --git a/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/config/PdfJsConfig.java b/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/config/PdfJsConfig.java
index fc7dfcd..c8e6507 100644
--- a/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/config/PdfJsConfig.java
+++ b/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/config/PdfJsConfig.java
@@ -24,6 +24,9 @@ import de.agilecoders.wicket.jquery.AbstractConfig;
import de.agilecoders.wicket.jquery.IKey;
import de.agilecoders.wicket.jquery.Key;
+/**
+ * @since 2.0 {@index}
+ */
public class PdfJsConfig extends AbstractConfig {
private static final IKey<Integer> INITIAL_PAGE = new Key<>("initialPage", 1);
diff --git a/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/config/Scale.java b/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/config/Scale.java
index fb8204b..7c57e2b 100644
--- a/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/config/Scale.java
+++ b/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/config/Scale.java
@@ -20,6 +20,9 @@ package org.apache.isis.extensions.viewer.wicket.pdfjs.applib.config;
import org.apache.wicket.util.lang.Objects;
+/**
+ * @since 2.0 {@index}
+ */
public enum Scale {
AUTOMATIC("auto"),
ACTUAL_SIZE("page-actual"),
diff --git a/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/spi/PdfJsViewerAdvisor.java b/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/spi/PdfJsViewerAdvisor.java
index 33b54c4..67765e3 100644
--- a/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/spi/PdfJsViewerAdvisor.java
+++ b/extensions/vw/pdfjs/applib/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/applib/spi/PdfJsViewerAdvisor.java
@@ -27,6 +27,8 @@ import org.apache.isis.extensions.viewer.wicket.pdfjs.applib.config.Scale;
/**
* SPI service interface.
+ *
+ * @since 2.0 {@index}
*/
public interface PdfJsViewerAdvisor {
@@ -49,7 +51,7 @@ public interface PdfJsViewerAdvisor {
class InstanceKey implements Serializable {
private static final long serialVersionUID = 1L;
-
+
private final TypeKey typeKey;
private final String identifier;
@@ -124,7 +126,7 @@ public interface PdfJsViewerAdvisor {
public static class TypeKey implements Serializable {
private static final long serialVersionUID = 1L;
-
+
private final String objectType;
private final String propertyId;
private final String userName;
@@ -206,7 +208,7 @@ public interface PdfJsViewerAdvisor {
class Advice implements Serializable {
private static final long serialVersionUID = 1L;
-
+
private final Integer pageNum;
private final TypeAdvice typeAdvice;
@@ -271,7 +273,7 @@ public interface PdfJsViewerAdvisor {
public static class TypeAdvice implements Serializable {
private static final long serialVersionUID = 1L;
-
+
private final Scale scale;
private final Integer height;
diff --git a/extensions/vw/pdfjs/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/IsisModuleExtPdfjsUi.java b/extensions/vw/pdfjs/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/IsisModuleExtPdfjsUi.java
index 53ea359..c24bccb 100644
--- a/extensions/vw/pdfjs/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/IsisModuleExtPdfjsUi.java
+++ b/extensions/vw/pdfjs/ui/src/main/java/org/apache/isis/extensions/viewer/wicket/pdfjs/ui/IsisModuleExtPdfjsUi.java
@@ -24,6 +24,9 @@ import org.springframework.context.annotation.Import;
import org.apache.isis.extensions.viewer.wicket.pdfjs.metamodel.IsisModuleExtPdfjsMetaModel;
import org.apache.isis.extensions.viewer.wicket.pdfjs.ui.components.PdfJsViewerPanelComponentFactory;
+/**
+ * @since 2.0 {@index}
+ */
@Configuration
@Import({
// modules
diff --git a/isis-tooling.yml b/isis-tooling.yml
index 356bc14..183c13a 100644
--- a/isis-tooling.yml
+++ b/isis-tooling.yml
@@ -59,7 +59,7 @@ global:
Extensions: org.apache.isis.extensions
"Core: Command Log": "org.apache.isis.extensions:isis-extensions-command-log.*"
"Core: Command Replay": "org.apache.isis.extensions:isis-extensions-command-replay.*"
- "Core: Flyway": "org.apache.isis.extensions:isis-extensions-flyway.*"
+ #"Core: Flyway": "org.apache.isis.extensions:isis-extensions-flyway.*"
"Core: Model Annotation": "org.apache.isis.extensions:isis-extensions-modelannotation.*"
"Core: Quartz": "org.apache.isis.extensions:isis-extensions-quartz.*"
#"Security: Audit Trail": "org.apache.isis.security:isis-extensions-audit-trail.*"
diff --git a/mappings/jaxrsclient/applib/src/main/java/org/apache/isis/extensions/jaxrsclient/applib/IsisModuleExtJaxRsClientApplib.java b/mappings/jaxrsclient/applib/src/main/java/org/apache/isis/extensions/jaxrsclient/applib/IsisModuleExtJaxRsClientApplib.java
index a3d3e7b..6c5f5e7 100644
--- a/mappings/jaxrsclient/applib/src/main/java/org/apache/isis/extensions/jaxrsclient/applib/IsisModuleExtJaxRsClientApplib.java
+++ b/mappings/jaxrsclient/applib/src/main/java/org/apache/isis/extensions/jaxrsclient/applib/IsisModuleExtJaxRsClientApplib.java
@@ -22,6 +22,9 @@ import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
+/**
+ * @since 2.0 {@index}
+ */
@Configuration
@Import({
// modules
diff --git a/mappings/jaxrsclient/applib/src/main/java/org/apache/isis/extensions/jaxrsclient/applib/client/JaxRsClient.java b/mappings/jaxrsclient/applib/src/main/java/org/apache/isis/extensions/jaxrsclient/applib/client/JaxRsClient.java
index 9928d16..ed36eeb 100644
--- a/mappings/jaxrsclient/applib/src/main/java/org/apache/isis/extensions/jaxrsclient/applib/client/JaxRsClient.java
+++ b/mappings/jaxrsclient/applib/src/main/java/org/apache/isis/extensions/jaxrsclient/applib/client/JaxRsClient.java
@@ -22,6 +22,9 @@ import java.net.URI;
import lombok.Getter;
+/**
+ * @since 2.0 {@index}
+ */
public interface JaxRsClient {
public enum ReprType {
diff --git a/mappings/jaxrsclient/applib/src/main/java/org/apache/isis/extensions/jaxrsclient/applib/client/JaxRsResponse.java b/mappings/jaxrsclient/applib/src/main/java/org/apache/isis/extensions/jaxrsclient/applib/client/JaxRsResponse.java
index 46ed637..428d44a 100644
--- a/mappings/jaxrsclient/applib/src/main/java/org/apache/isis/extensions/jaxrsclient/applib/client/JaxRsResponse.java
+++ b/mappings/jaxrsclient/applib/src/main/java/org/apache/isis/extensions/jaxrsclient/applib/client/JaxRsResponse.java
@@ -18,6 +18,9 @@
*/
package org.apache.isis.extensions.jaxrsclient.applib.client;
+/**
+ * @since 2.0 {@index}
+ */
public interface JaxRsResponse {
int getStatus();
diff --git a/mappings/jaxrsclient/impl/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/IsisModuleExtJaxRsClientImpl.java b/mappings/jaxrsclient/impl/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/IsisModuleExtJaxRsClientImpl.java
index af8a507..932fff9 100644
--- a/mappings/jaxrsclient/impl/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/IsisModuleExtJaxRsClientImpl.java
+++ b/mappings/jaxrsclient/impl/src/main/java/org/apache/isis/extensions/jaxrsclient/impl/IsisModuleExtJaxRsClientImpl.java
@@ -21,6 +21,9 @@ package org.apache.isis.extensions.jaxrsclient.impl;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
+/**
+ * @since 2.0 {@index}
+ */
@Configuration
@ComponentScan
public class IsisModuleExtJaxRsClientImpl {
diff --git a/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/ActionParameterListBuilder.java b/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/ActionParameterListBuilder.java
index 57efcff..d02c72d 100644
--- a/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/ActionParameterListBuilder.java
+++ b/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/ActionParameterListBuilder.java
@@ -27,19 +27,18 @@ import javax.ws.rs.client.Entity;
import lombok.Getter;
/**
- *
- * @since 2.0
+ * @since 2.0 {@index}
*/
public class ActionParameterListBuilder {
private final Map<String, String> actionParameters = new LinkedHashMap<>();
-
+
@Getter
private final Map<String, Class<?>> actionParameterTypes = new LinkedHashMap<>();
public ActionParameterListBuilder addActionParameter(String parameterName, String parameterValue) {
- actionParameters.put(parameterName, parameterValue != null
- ? value("\"" + parameterValue + "\"")
+ actionParameters.put(parameterName, parameterValue != null
+ ? value("\"" + parameterValue + "\"")
: value(JSON_NULL_LITERAL));
actionParameterTypes.put(parameterName, String.class);
return this;
@@ -87,12 +86,12 @@ public class ActionParameterListBuilder {
return this;
}
-//XXX would be nice to have, but also requires the RO spec to be updated
+//XXX would be nice to have, but also requires the RO spec to be updated
// public ActionParameterListBuilder addActionParameterDto(String parameterName, Object parameterDto) {
// actionParameters.put(parameterName, dto(parameterDto));
// return this;
// }
-
+
public Entity<String> build() {
final StringBuilder sb = new StringBuilder();
@@ -112,7 +111,7 @@ public class ActionParameterListBuilder {
private String value(String valueLiteral) {
return "{\"value\" : " + valueLiteral + "}";
}
-
+
// @SneakyThrows
// private String dto(Object dto) {
// val mapper = new ObjectMapper();
diff --git a/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/IsisModuleExtRestClient.java b/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/IsisModuleExtRestClient.java
index 2de0526..9ae6064 100644
--- a/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/IsisModuleExtRestClient.java
+++ b/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/IsisModuleExtRestClient.java
@@ -20,6 +20,9 @@ package org.apache.isis.extensions.restclient;
import org.springframework.context.annotation.Configuration;
+/**
+ * @since 2.0 {@index}
+ */
@Configuration
public class IsisModuleExtRestClient {
}
diff --git a/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/ResponseDigest.java b/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/ResponseDigest.java
index c4b32d1..a881f87 100644
--- a/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/ResponseDigest.java
+++ b/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/ResponseDigest.java
@@ -49,8 +49,7 @@ import lombok.val;
import lombok.extern.log4j.Log4j2;
/**
- *
- * @since 2.0
+ * @since 2.0 {@index}
*/
@Log4j2
public class ResponseDigest<T> {
@@ -63,12 +62,12 @@ public class ResponseDigest<T> {
* @return
*/
public static <T> ResponseDigest<T> of(
- @NonNull final Response response,
+ @NonNull final Response response,
@NonNull final Class<T> entityType) {
-
+
return new ResponseDigest<>(response, entityType, null).digest();
}
-
+
/**
* synchronous response processing (list of entities)
* @param <T>
@@ -78,17 +77,17 @@ public class ResponseDigest<T> {
* @return
*/
public static <T> ResponseDigest<T> ofList(
- @NonNull final Response response,
+ @NonNull final Response response,
@NonNull final Class<T> entityType,
@NonNull final GenericType<List<T>> genericType) {
-
+
return new ResponseDigest<>(response, entityType, genericType).digest();
}
-
+
/** a-synchronous response failure processing */
public static <T> ResponseDigest<T> ofAsyncFailure(
- final Future<Response> asyncResponse,
- final Class<T> entityType,
+ final Future<Response> asyncResponse,
+ final Class<T> entityType,
final Exception failure) {
Response response;
@@ -101,7 +100,7 @@ public class ResponseDigest<T> {
final ResponseDigest<T> failureDigest = new ResponseDigest<>(response, entityType, null);
return failureDigest.digestAsyncFailure(asyncResponse.isCancelled(), failure);
}
-
+
private final Response response;
private final Class<T> entityType;
private final GenericType<List<T>> genericType;
@@ -129,44 +128,44 @@ public class ResponseDigest<T> {
public boolean isFailure() {
return failureCause!=null;
}
-
+
/**
* @return (non-null), optionally the result if cardinality is exactly ONE
*/
public Optional<T> getEntity(){
return getEntities().getSingleton();
}
-
+
/**
- * @return (non-null), the entities replied by the REST endpoint supporting any cardinality ZERO, ONE or more.
+ * @return (non-null), the entities replied by the REST endpoint supporting any cardinality ZERO, ONE or more.
*/
public Can<T> getEntities(){
return entities;
}
/**
- * @return (nullable), the failure case (if any), when the REST endpoint replied with a failure status code
+ * @return (nullable), the failure case (if any), when the REST endpoint replied with a failure status code
*/
public @Nullable Exception getFailureCause(){
return failureCause;
}
/**
- * @param failureMapper - fallback, to calculate a result from given failure exception
- * @return the result if cardinality is exactly ONE, otherwise the result of applying the failure to the {@code failureMapper}
+ * @param failureMapper - fallback, to calculate a result from given failure exception
+ * @return the result if cardinality is exactly ONE, otherwise the result of applying the failure to the {@code failureMapper}
*/
public T singletonOrElseMapFailure(Function<Exception, T> failureMapper) {
- return isSuccess()
+ return isSuccess()
? getEntity().orElseGet(()->failureMapper.apply(new NoSuchElementException()))
: failureMapper.apply(getFailureCause());
}
/**
* @param failureMapper - fallback, to calculate a result from given failure exception
- * @return the result of any cardinality, otherwise the result of applying the failure to the {@code failureMapper}
+ * @return the result of any cardinality, otherwise the result of applying the failure to the {@code failureMapper}
*/
public Can<T> multipleOrElseMapFailure(Function<Exception, Can<T>> failureMapper) {
- return isSuccess()
+ return isSuccess()
? getEntities()
: failureMapper.apply(getFailureCause());
}
@@ -181,24 +180,24 @@ public class ResponseDigest<T> {
return this;
}
- // a valid result corresponding to object not found, which is not an error per se
+ // a valid result corresponding to object not found, which is not an error per se
if(response.getStatusInfo().getStatusCode() == 404) {
entities = Can.empty();
return this;
}
-
+
if(!response.hasEntity()) {
entities = Can.empty();
failureCause = new NoSuchElementException(defaultFailureMessage(response));
return this;
}
-
+
if(response.getStatusInfo().getFamily() != Family.SUCCESSFUL) {
entities = Can.empty();
failureCause = new RestfulClientException(defaultFailureMessage(response));
return this;
}
-
+
// see if we can extract the returned representation type (repr-type) from the header
val contentTypeHeaderString = response.getHeaderString("Content-Type");
val reprType = RepresentationTypeSimplifiedV2.parseContentTypeHeaderString(contentTypeHeaderString)
@@ -206,13 +205,13 @@ public class ResponseDigest<T> {
if(reprType==null) {
entities = Can.empty();
failureCause = new RestfulClientException(String.format(
- "Invalid REST response, cannot parse header's Content-Type '%s' for the repr-type to use",
+ "Invalid REST response, cannot parse header's Content-Type '%s' for the repr-type to use",
contentTypeHeaderString));
return this;
}
-
+
try {
-
+
if(genericType==null) {
// when response is a singleton
val singleton = readSingle(reprType);
@@ -223,7 +222,7 @@ public class ResponseDigest<T> {
// when response is a list
entities = Can.ofCollection(readList(reprType));
}
-
+
} catch (Exception e) {
entities = Can.empty();
failureCause = new RestfulClientException("failed to read JAX-RS response content", e);
@@ -232,12 +231,12 @@ public class ResponseDigest<T> {
return this;
}
- private T readSingle(final RepresentationTypeSimplifiedV2 reprType)
+ private T readSingle(final RepresentationTypeSimplifiedV2 reprType)
throws JsonParseException, JsonMappingException, IOException {
-
+
log.debug("readSingle({})", reprType);
-
- if(reprType.isValue()
+
+ if(reprType.isValue()
|| isValueType(entityType)) {
val mapper = new ObjectMapper();
val jsonInput = response.readEntity(String.class);
@@ -246,25 +245,25 @@ public class ResponseDigest<T> {
}
return response.<T>readEntity(entityType);
}
-
- private List<T> readList(final RepresentationTypeSimplifiedV2 reprType)
+
+ private List<T> readList(final RepresentationTypeSimplifiedV2 reprType)
throws JsonParseException, JsonMappingException, IOException {
-
+
log.debug("readList({})", reprType);
-
- if(reprType.isValues()
+
+ if(reprType.isValues()
|| isValueType(entityType)) {
val mapper = new ObjectMapper();
val jsonInput = response.readEntity(String.class);
- final List<ScalarValueDtoV2> scalarValueDtoList =
+ final List<ScalarValueDtoV2> scalarValueDtoList =
mapper.readValue(
- jsonInput,
+ jsonInput,
mapper.getTypeFactory().constructCollectionType(List.class, ScalarValueDtoV2.class));
-
+
final List<T> resultList = new ArrayList<>(scalarValueDtoList.size());
for(val valueBody : scalarValueDtoList) {
// explicit loop, for simpler exception propagation
- resultList.add(extractValue(valueBody));
+ resultList.add(extractValue(valueBody));
}
return resultList;
@@ -286,15 +285,15 @@ public class ResponseDigest<T> {
return this;
}
- failureCause = new RestfulClientException("Async JAX-RS request failed "
+ failureCause = new RestfulClientException("Async JAX-RS request failed "
+ defaultFailureMessage(response), failure);
return this;
}
private String defaultFailureMessage(Response response) {
- String failureMessage = "non-successful JAX-RS response: " +
- String.format("%s (Http-Status-Code: %d)",
+ String failureMessage = "non-successful JAX-RS response: " +
+ String.format("%s (Http-Status-Code: %d)",
response.getStatusInfo().getReasonPhrase(),
response.getStatus());
@@ -315,8 +314,8 @@ public class ResponseDigest<T> {
private boolean isValueType(Class<T> entityType) {
return CommonDtoUtils.isValueType(entityType);
}
-
- private T extractValue(ScalarValueDtoV2 scalarValueDto)
+
+ private T extractValue(ScalarValueDtoV2 scalarValueDto)
throws JsonParseException, JsonMappingException, IOException {
return _Casts.uncheckedCast(scalarValueDto.getValue());
}
diff --git a/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/RestfulClient.java b/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/RestfulClient.java
index 0b48ba1..4db0af5 100644
--- a/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/RestfulClient.java
+++ b/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/RestfulClient.java
@@ -56,12 +56,12 @@ clientConfig.setUseRequestDebugLogging(true); // default = false
RestfulClient client = RestfulClient.ofConfig(clientConfig);
* </pre></blockquote>
- *
+ *
* Synchronous example:
* <blockquote><pre>{@code
Builder request = client.request(
- "services/myService/actions/lookupMyObjectById/invoke",
+ "services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.RO);
Entity<String> args = client.arguments()
@@ -80,9 +80,9 @@ if(digest.isSuccess()) {
}
* </pre></blockquote>
* Asynchronous example:
- * <blockquote><pre>{@code
+ * <blockquote><pre>{@code
Builder request = client.request(
- "services/myService/actions/lookupMyObjectById/invoke",
+ "services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.RO);
Entity<String> args = client.arguments()
@@ -93,7 +93,7 @@ Future<Response> asyncResponse = request
.async()
.post(args);
-CompletableFuture<ResponseDigest<MyObject>> digestFuture =
+CompletableFuture<ResponseDigest<MyObject>> digestFuture =
client.digest(asyncResponse, MyObject.class);
ResponseDigest<MyObject> digest = digestFuture.get(); // blocking
@@ -105,7 +105,7 @@ if(digest.isSuccess()) {
digest.getFailureCause().printStackTrace();
}
* </pre></blockquote>
- *
+ *
* Maven Setup:
* <blockquote><pre>{@code
<dependency>
@@ -129,8 +129,8 @@ if(digest.isSuccess()) {
<version>2.7.5</version>
</dependency>
* }</pre></blockquote>
- *
- * @since 2.0
+ *
+ * @since 2.0 {@index}
*/
@Log4j2
public class RestfulClient {
@@ -191,11 +191,11 @@ public class RestfulClient {
public <T> ResponseDigest<T> digestList(Response response, Class<T> entityType, GenericType<List<T>> genericType) {
return ResponseDigest.ofList(response, entityType, genericType);
}
-
+
// -- RESPONSE PROCESSING (ASYNC)
public <T> CompletableFuture<ResponseDigest<T>> digest(
- final Future<Response> asyncResponse,
+ final Future<Response> asyncResponse,
final Class<T> entityType) {
final CompletableFuture<ResponseDigest<T>> completableFuture = CompletableFuture.supplyAsync(()->{
@@ -212,9 +212,9 @@ public class RestfulClient {
return completableFuture;
}
-
+
public <T> CompletableFuture<ResponseDigest<T>> digestList(
- final Future<Response> asyncResponse,
+ final Future<Response> asyncResponse,
final Class<T> entityType,
GenericType<List<T>> genericType) {
@@ -226,9 +226,9 @@ public class RestfulClient {
return digest;
} catch (Exception e) {
-
+
return ResponseDigest.ofAsyncFailure(asyncResponse, entityType, e);
-
+
}
});
@@ -251,7 +251,7 @@ public class RestfulClient {
private void registerBasicAuthFilter() {
if(clientConfig.isUseBasicAuth()){
final Credentials credentials = Credentials.of(
- clientConfig.getRestfulAuthUser(),
+ clientConfig.getRestfulAuthUser(),
clientConfig.getRestfulAuthPassword());
client.register(BasicAuthFilter.of(credentials));
}
@@ -287,6 +287,6 @@ public class RestfulClient {
return "";
}
-
+
}
diff --git a/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/RestfulClientConfig.java b/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/RestfulClientConfig.java
index 0e10351..93bca84 100644
--- a/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/RestfulClientConfig.java
+++ b/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/RestfulClientConfig.java
@@ -32,18 +32,17 @@ import org.apache.isis.extensions.restclient.log.ClientConversationFilter;
import lombok.Data;
/**
- *
- * @since 2.0
+ * @since 2.0 {@index}
*/
@XmlRootElement(name="restful-client-config")
@XmlAccessorType(XmlAccessType.FIELD)
@Data
public class RestfulClientConfig {
- @XmlElement(name="restfulBase")
+ @XmlElement(name="restfulBase")
private String restfulBase;
- @XmlElement(name="useBasicAuth")
+ @XmlElement(name="useBasicAuth")
private boolean useBasicAuth;
@XmlElement(name="restfulAuthUser")
@@ -52,9 +51,9 @@ public class RestfulClientConfig {
@XmlElement(name="restfulAuthPassword")
private String restfulAuthPassword;
- @XmlElement(name="useRequestDebugLogging")
+ @XmlElement(name="useRequestDebugLogging")
private boolean useRequestDebugLogging;
-
+
@XmlTransient
private List<ClientConversationFilter> clientConversationFilters = new ArrayList<>();
diff --git a/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/RestfulClientException.java b/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/RestfulClientException.java
index 1d3f3c2..bd1c31f 100644
--- a/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/RestfulClientException.java
+++ b/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/RestfulClientException.java
@@ -18,6 +18,9 @@
*/
package org.apache.isis.extensions.restclient;
+/**
+ * @since 2.0 {@index}
+ */
public class RestfulClientException extends RuntimeException {
private static final long serialVersionUID = 1L;
diff --git a/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/auth/BasicAuthFilter.java b/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/auth/BasicAuthFilter.java
index c0dff13..54ca4d8 100644
--- a/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/auth/BasicAuthFilter.java
+++ b/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/auth/BasicAuthFilter.java
@@ -31,14 +31,13 @@ import org.apache.isis.commons.internal.base._Strings;
import static org.apache.isis.commons.internal.base._With.requires;
/**
- *
- * @since 2.0
+ * @since 2.0 {@index}
*/
@Priority(100)
public class BasicAuthFilter implements ClientRequestFilter {
/**
- *
+ *
* @since 2.0
*/
public static class Credentials {
@@ -94,4 +93,4 @@ public class BasicAuthFilter implements ClientRequestFilter {
}
}
-}
\ No newline at end of file
+}
diff --git a/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/log/ClientConversationFilter.java b/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/log/ClientConversationFilter.java
index 59c0a80..8ed653d 100644
--- a/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/log/ClientConversationFilter.java
+++ b/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/log/ClientConversationFilter.java
@@ -33,16 +33,19 @@ import org.apache.isis.commons.internal.base._Bytes;
import lombok.val;
-public interface ClientConversationFilter
+/**
+ * @since 2.0 {@index}
+ */
+public interface ClientConversationFilter
extends ClientRequestFilter, ClientResponseFilter {
-
+
void onRequest(
String endpoint,
String method,
String acceptHeaderParsing,
- Map<String, List<String>> headers,
+ Map<String, List<String>> headers,
String body);
-
+
void onResponse(int httpReturnCode, Map<String, List<String>> headers, String body);
@Override
@@ -66,10 +69,10 @@ extends ClientRequestFilter, ClientResponseFilter {
onRequest(
endpoint, method, acceptHeaderParsing,
- requestContext.getStringHeaders(),
+ requestContext.getStringHeaders(),
requestBody);
}
-
+
@Override
default void filter(ClientRequestContext requestContext, ClientResponseContext responseContext) throws IOException {
@@ -85,6 +88,6 @@ extends ClientRequestFilter, ClientResponseFilter {
onResponse(responseContext.getStatusInfo().getStatusCode(), responseContext.getHeaders(), responseBody);
}
-
-
+
+
}
diff --git a/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/log/ClientConversationLogger.java b/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/log/ClientConversationLogger.java
index 0679688..fc2695f 100644
--- a/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/log/ClientConversationLogger.java
+++ b/mappings/restclient/applib/src/main/java/org/apache/isis/extensions/restclient/log/ClientConversationLogger.java
@@ -28,16 +28,15 @@ import lombok.val;
import lombok.extern.log4j.Log4j2;
/**
- *
- * @since 2.0
+ * @since 2.0 {@index}
*/
@Log4j2
public class ClientConversationLogger implements ClientConversationFilter {
-
+
@Override
public void onRequest(String endpoint, String method, String acceptHeaderParsing,
Map<String, List<String>> headers, String body) {
-
+
val headersAsText = headers.entrySet().stream()
.map(this::toKeyValueString)
.map(this::obscureAuthHeader)
@@ -63,7 +62,7 @@ public class ClientConversationLogger implements ClientConversationFilter {
.map(this::toKeyValueString)
.map(this::obscureAuthHeader)
.collect(Collectors.joining(",\n\t"));
-
+
val sb = new StringBuilder();
sb.append("\n")
.append("---------- JAX-RS RESPONSE -------------\n")
@@ -78,12 +77,12 @@ public class ClientConversationLogger implements ClientConversationFilter {
// -- HELPER
- private final String basicAuthMagic = "Authorization: [Basic ";
+ private final String basicAuthMagic = "Authorization: [Basic ";
private String toKeyValueString(Map.Entry<?, ?> entry) {
return "" + entry.getKey() + ": " + entry.getValue();
}
-
+
private String obscureAuthHeader(String keyValueLiteral) {
if(_Strings.isEmpty(keyValueLiteral)) {
return keyValueLiteral;
@@ -100,4 +99,4 @@ public class ClientConversationLogger implements ClientConversationFilter {
-}
\ No newline at end of file
+}
diff --git a/persistence/jdo/applib/src/main/java/org/apache/isis/persistence/jdo/applib/IsisModulePersistenceJdoApplib.java b/persistence/jdo/applib/src/main/java/org/apache/isis/persistence/jdo/applib/IsisModulePersistenceJdoApplib.java
index bad4667..a7ae218 100644
--- a/persistence/jdo/applib/src/main/java/org/apache/isis/persistence/jdo/applib/IsisModulePersistenceJdoApplib.java
+++ b/persistence/jdo/applib/src/main/java/org/apache/isis/persistence/jdo/applib/IsisModulePersistenceJdoApplib.java
@@ -20,6 +20,9 @@ package org.apache.isis.persistence.jdo.applib;
import org.springframework.context.annotation.Configuration;
+/**
+ * @since 2.0 {@index}
+ */
@Configuration
public class IsisModulePersistenceJdoApplib {
}
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModuleJdoDatanucleus.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModuleJdoDatanucleus.java
index 23afaec..aed2213 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModuleJdoDatanucleus.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModuleJdoDatanucleus.java
@@ -52,6 +52,9 @@ import org.apache.isis.persistence.jdo.spring.integration.TransactionAwarePersis
import lombok.val;
+/**
+ * @since 1.x {@index}
+ */
@Configuration
@Import({
// modules
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/changetracking/JdoLifecycleListener.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/changetracking/JdoLifecycleListener.java
index 9ef64bc..1231a56 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/changetracking/JdoLifecycleListener.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/changetracking/JdoLifecycleListener.java
@@ -53,6 +53,8 @@ import lombok.extern.log4j.Log4j2;
* <li>recognizePersisting <-> preStore (when NEW)</li>
* <li>recognizeUpdating <-> postStore (when NOT NEW)</li>
* </ul>
+ *
+ * @since 2.0 {@index}
*/
@Vetoed // managed by isis
@RequiredArgsConstructor
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_datanucleusIdLong.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_datanucleusIdLong.java
index aee7b43..06ac469 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_datanucleusIdLong.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_datanucleusIdLong.java
@@ -31,6 +31,9 @@ import org.apache.isis.applib.mixins.MixinConstants;
import lombok.RequiredArgsConstructor;
+/**
+ * @since 2.0 {@index}
+ */
@Property(
domainEvent = Persistable_datanucleusIdLong.PropertyDomainEvent.class)
@PropertyLayout(
@@ -42,7 +45,7 @@ public class Persistable_datanucleusIdLong {
private final Persistable persistable;
- public static class PropertyDomainEvent
+ public static class PropertyDomainEvent
extends org.apache.isis.applib.IsisModuleApplib.PropertyDomainEvent
<Persistable_datanucleusIdLong, Long> {}
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_datanucleusVersionLong.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_datanucleusVersionLong.java
index b922be4..d49a3f6 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_datanucleusVersionLong.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_datanucleusVersionLong.java
@@ -30,6 +30,9 @@ import org.apache.isis.applib.mixins.MixinConstants;
import lombok.RequiredArgsConstructor;
+/**
+ * @since 2.0 {@index}
+ */
@Property(
domainEvent = Persistable_datanucleusVersionLong.PropertyDomainEvent.class)
@PropertyLayout(
@@ -41,7 +44,7 @@ public class Persistable_datanucleusVersionLong {
private final Persistable persistable;
- public static class PropertyDomainEvent
+ public static class PropertyDomainEvent
extends org.apache.isis.applib.IsisModuleApplib.PropertyDomainEvent
<Persistable_datanucleusVersionLong, Long> {}
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_datanucleusVersionTimestamp.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_datanucleusVersionTimestamp.java
index ae156eb..e5ff509 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_datanucleusVersionTimestamp.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_datanucleusVersionTimestamp.java
@@ -30,6 +30,9 @@ import org.apache.isis.applib.mixins.MixinConstants;
import lombok.RequiredArgsConstructor;
+/**
+ * @since 2.0 {@index}
+ */
@Property(
domainEvent = Persistable_datanucleusVersionTimestamp.PropertyDomainEvent.class)
@PropertyLayout(
@@ -41,7 +44,7 @@ public class Persistable_datanucleusVersionTimestamp {
private final Persistable persistable;
- public static class PropertyDomainEvent
+ public static class PropertyDomainEvent
extends org.apache.isis.applib.IsisModuleApplib.PropertyDomainEvent
<Persistable_datanucleusVersionTimestamp, java.sql.Timestamp> {}
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_downloadJdoMetadata.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_downloadJdoMetadata.java
index e7e15a2..823b92a 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_downloadJdoMetadata.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_downloadJdoMetadata.java
@@ -40,6 +40,9 @@ import org.apache.isis.persistence.jdo.applib.integration.JdoSupportService;
import lombok.RequiredArgsConstructor;
+/**
+ * @since 2.0 {@index}
+ */
@Action(
domainEvent = Persistable_downloadJdoMetadata.ActionDomainEvent.class,
semantics = SemanticsOf.SAFE,
@@ -53,7 +56,7 @@ import lombok.RequiredArgsConstructor;
public class Persistable_downloadJdoMetadata {
@Inject JdoSupportService jdoSupport;
-
+
private final Persistable persistable;
public static class ActionDomainEvent extends org.apache.isis.applib.IsisModuleApplib.ActionDomainEvent<Persistable_downloadJdoMetadata> {}
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/applib/IsisBookmarkConverter.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/applib/IsisBookmarkConverter.java
index 4e919d2..b9ac392 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/applib/IsisBookmarkConverter.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/applib/IsisBookmarkConverter.java
@@ -22,6 +22,9 @@ import org.datanucleus.store.types.converters.TypeConverter;
import org.apache.isis.applib.services.bookmark.Bookmark;
+/**
+ * @since 2.0 {@index}
+ */
public class IsisBookmarkConverter implements TypeConverter<Bookmark, String>{
private static final long serialVersionUID = 1L;
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/applib/IsisLocalResourcePathConverter.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/applib/IsisLocalResourcePathConverter.java
index 0e41080..8e661a4 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/applib/IsisLocalResourcePathConverter.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/applib/IsisLocalResourcePathConverter.java
@@ -22,6 +22,9 @@ import org.datanucleus.store.types.converters.TypeConverter;
import org.apache.isis.applib.value.LocalResourcePath;
+/**
+ * @since 2.0 {@index}
+ */
public class IsisLocalResourcePathConverter implements TypeConverter<LocalResourcePath, String>{
private static final long serialVersionUID = 1L;
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/applib/IsisMarkupConverter.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/applib/IsisMarkupConverter.java
index b84cbfa..744171f 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/applib/IsisMarkupConverter.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/applib/IsisMarkupConverter.java
@@ -22,6 +22,9 @@ import org.datanucleus.store.types.converters.TypeConverter;
import org.apache.isis.applib.value.Markup;
+/**
+ * @since 2.0 {@index}
+ */
public class IsisMarkupConverter implements TypeConverter<Markup, String>{
private static final long serialVersionUID = 1L;
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/applib/IsisPasswordConverter.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/applib/IsisPasswordConverter.java
index 3275251..3a87876 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/applib/IsisPasswordConverter.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/applib/IsisPasswordConverter.java
@@ -22,6 +22,9 @@ import org.datanucleus.store.types.converters.TypeConverter;
import org.apache.isis.applib.value.Password;
+/**
+ * @since 2.0 {@index}
+ */
public class IsisPasswordConverter implements TypeConverter<Password, String>{
private static final long serialVersionUID = 1L;
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/image/JavaAwtBufferedImageByteArrayConverter.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/image/JavaAwtBufferedImageByteArrayConverter.java
index 1ba371e..2a10001 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/image/JavaAwtBufferedImageByteArrayConverter.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/image/JavaAwtBufferedImageByteArrayConverter.java
@@ -26,9 +26,12 @@ import org.datanucleus.store.types.converters.TypeConverter;
import org.apache.isis.commons.internal.base._NullSafe;
import org.apache.isis.commons.internal.image._Images;
+/**
+ * @since 2.0 {@index}
+ */
public class JavaAwtBufferedImageByteArrayConverter implements TypeConverter<BufferedImage, byte[]> {
- // generated
+ // generated
private static final long serialVersionUID = 5481131533536472276L;
@Override
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/schema/v2/IsisChangesDtoConverter.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/schema/v2/IsisChangesDtoConverter.java
index 7cdbcdc..0c6d836 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/schema/v2/IsisChangesDtoConverter.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/schema/v2/IsisChangesDtoConverter.java
@@ -23,6 +23,9 @@ import org.datanucleus.store.types.converters.TypeConverter;
import org.apache.isis.applib.util.schema.ChangesDtoUtils;
import org.apache.isis.schema.chg.v2.ChangesDto;
+/**
+ * @since 2.0 {@index}
+ */
public class IsisChangesDtoConverter implements TypeConverter<ChangesDto, String>{
private static final long serialVersionUID = 1L;
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/schema/v2/IsisCommandDtoConverter.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/schema/v2/IsisCommandDtoConverter.java
index b24f503..c2e997c 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/schema/v2/IsisCommandDtoConverter.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/schema/v2/IsisCommandDtoConverter.java
@@ -23,6 +23,9 @@ import org.datanucleus.store.types.converters.TypeConverter;
import org.apache.isis.applib.util.schema.CommandDtoUtils;
import org.apache.isis.schema.cmd.v2.CommandDto;
+/**
+ * @since 2.0 {@index}
+ */
public class IsisCommandDtoConverter implements TypeConverter<CommandDto, String>{
private static final long serialVersionUID = 1L;
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/schema/v2/IsisInteractionDtoConverter.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/schema/v2/IsisInteractionDtoConverter.java
index 12f28ad..818db97 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/schema/v2/IsisInteractionDtoConverter.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/schema/v2/IsisInteractionDtoConverter.java
@@ -23,6 +23,9 @@ import org.datanucleus.store.types.converters.TypeConverter;
import org.apache.isis.applib.util.schema.InteractionDtoUtils;
import org.apache.isis.schema.ixn.v2.InteractionDto;
+/**
+ * @since 2.0 {@index}
+ */
public class IsisInteractionDtoConverter implements TypeConverter<InteractionDto, String>{
private static final long serialVersionUID = 1L;
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/schema/v2/IsisOidDtoConverter.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/schema/v2/IsisOidDtoConverter.java
index c3a77cf..fa11f3c 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/schema/v2/IsisOidDtoConverter.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/schema/v2/IsisOidDtoConverter.java
@@ -23,6 +23,9 @@ import org.datanucleus.store.types.converters.TypeConverter;
import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.schema.common.v2.OidDto;
+/**
+ * @since 2.0 {@index}
+ */
public class IsisOidDtoConverter implements TypeConverter<OidDto, String>{
private static final long serialVersionUID = 1L;
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/time/IsoOffsetTimeConverter.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/time/IsoOffsetTimeConverter.java
index 7b667f7..6c4a1bf 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/time/IsoOffsetTimeConverter.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/time/IsoOffsetTimeConverter.java
@@ -23,10 +23,13 @@ import java.time.format.DateTimeFormatter;
import org.datanucleus.store.types.converters.TypeConverter;
+/**
+ * @since 2.0 {@index}
+ */
public class IsoOffsetTimeConverter implements TypeConverter<OffsetTime, String>{
private static final long serialVersionUID = 1L;
-
+
@Override
public String toDatastoreType(final OffsetTime offsetTime) {
return offsetTime != null
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/time/IsoZonedDateTimeConverter.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/time/IsoZonedDateTimeConverter.java
index c92f7f8..7dd3070 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/time/IsoZonedDateTimeConverter.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/time/IsoZonedDateTimeConverter.java
@@ -23,10 +23,13 @@ import java.time.format.DateTimeFormatter;
import org.datanucleus.store.types.converters.TypeConverter;
+/**
+ * @since 2.0 {@index}
+ */
public class IsoZonedDateTimeConverter implements TypeConverter<ZonedDateTime, String>{
private static final long serialVersionUID = 1L;
-
+
@Override
public String toDatastoreType(final ZonedDateTime offsetTime) {
return offsetTime != null
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuemappings/applib/ByteArrayBlobRdbmsMapping.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuemappings/applib/ByteArrayBlobRdbmsMapping.java
index 5375612..279a601 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuemappings/applib/ByteArrayBlobRdbmsMapping.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuemappings/applib/ByteArrayBlobRdbmsMapping.java
@@ -23,6 +23,9 @@ import org.datanucleus.store.rdbms.mapping.column.BlobColumnMapping;
import org.datanucleus.store.rdbms.mapping.java.JavaTypeMapping;
import org.datanucleus.store.rdbms.table.Column;
+/**
+ * @since 1.x {@index}
+ */
public class ByteArrayBlobRdbmsMapping extends BlobColumnMapping {
public ByteArrayBlobRdbmsMapping(JavaTypeMapping mapping, RDBMSStoreManager storeMgr, Column col) {
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/applib/IsisBlobMapping.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/applib/IsisBlobMapping.java
index b39f17a..5a889c1 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/applib/IsisBlobMapping.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/applib/IsisBlobMapping.java
@@ -33,6 +33,9 @@ import org.datanucleus.store.rdbms.table.Table;
import org.apache.isis.applib.value.Blob;
+/**
+ * @since 1.x {@index}
+ */
public class IsisBlobMapping extends SingleFieldMultiMapping {
public IsisBlobMapping() {
diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/applib/IsisClobMapping.java b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/applib/IsisClobMapping.java
index 9550dfa..d56a221 100644
--- a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/applib/IsisClobMapping.java
+++ b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/valuetypes/applib/IsisClobMapping.java
@@ -32,6 +32,9 @@ import org.datanucleus.store.rdbms.table.Table;
import org.apache.isis.applib.value.Clob;
+/**
+ * @since 1.x {@index}
+ */
public class IsisClobMapping extends SingleFieldMultiMapping {
public IsisClobMapping() {
diff --git a/persistence/jpa/applib/src/main/java/org/apache/isis/persistence/jpa/applib/integration/JpaEntityInjectionPointResolver.java b/persistence/jpa/applib/src/main/java/org/apache/isis/persistence/jpa/applib/integration/JpaEntityInjectionPointResolver.java
index 5bbc698..6908348 100644
--- a/persistence/jpa/applib/src/main/java/org/apache/isis/persistence/jpa/applib/integration/JpaEntityInjectionPointResolver.java
+++ b/persistence/jpa/applib/src/main/java/org/apache/isis/persistence/jpa/applib/integration/JpaEntityInjectionPointResolver.java
@@ -35,19 +35,19 @@ import lombok.extern.log4j.Log4j2;
* EntityListener class for listing with the {@link javax.persistence.EntityListeners} annotation, to
* support injection point resolving for entities.
* <p>
- * Instances of this class are not managed by Spring, but by the persistence layer.
+ * Instances of this class are not managed by Spring, but by the persistence layer.
* <p>
- * The particular persistence layer implementation in use needs to be configured,
- * with a BeanManager, that is able to resolve injection points for this EntityListener.
- *
- * @since 2.0
+ * The particular persistence layer implementation in use needs to be configured,
+ * with a BeanManager, that is able to resolve injection points for this EntityListener.
+ *
+ * @since 2.0 {@index}
*/
@Log4j2
public class JpaEntityInjectionPointResolver {
@Inject // not managed by Spring (directly)
private ServiceInjector serviceInjector;
-
+
@PrePersist
@PreUpdate
@PreRemove
@@ -55,7 +55,7 @@ public class JpaEntityInjectionPointResolver {
log.debug("beforeAnyUpdate: {}", entityPojo);
serviceInjector.injectServicesInto(entityPojo);
}
-
+
@PostPersist
@PostUpdate
@PostRemove
@@ -63,11 +63,11 @@ public class JpaEntityInjectionPointResolver {
log.debug("afterAnyUpdate: {}" + entityPojo);
//serviceInjector.injectServicesInto(entityPojo);
}
-
+
@PostLoad
private void afterLoad(Object entityPojo) {
log.debug("afterLoad: {}" + entityPojo);
serviceInjector.injectServicesInto(entityPojo);
}
-
+
}
diff --git a/persistence/jpa/eclipselink/src/main/java/org/apache/isis/persistence/jpa/eclipselink/IsisModuleJpaEclipselink.java b/persistence/jpa/eclipselink/src/main/java/org/apache/isis/persistence/jpa/eclipselink/IsisModuleJpaEclipselink.java
index 615e65e..1389825 100644
--- a/persistence/jpa/eclipselink/src/main/java/org/apache/isis/persistence/jpa/eclipselink/IsisModuleJpaEclipselink.java
+++ b/persistence/jpa/eclipselink/src/main/java/org/apache/isis/persistence/jpa/eclipselink/IsisModuleJpaEclipselink.java
@@ -48,47 +48,49 @@ import lombok.val;
import lombok.extern.log4j.Log4j2;
/**
- * EclipseLink integration.
+ * EclipseLink integration.
* <p>
* Sets up EclipseLink as the implementation provider for Spring Data JPA.
- *
+ *
* @implNote does not (yet) support weaving, explicitly disables it
* @see <a href="https://www.baeldung.com/spring-eclipselink">baeldung.com</a>
+ *
+ * @since 2.0 {@index}
*/
-@Configuration
+@Configuration
@Import({
IsisModuleJpaIntegration.class
})
@Log4j2
-public class IsisModuleJpaEclipselink extends JpaBaseConfiguration {
+public class IsisModuleJpaEclipselink extends JpaBaseConfiguration {
@Inject private Provider<ServiceInjector> serviceInjectorProvider;
-
+
@Bean
public EclipseLinkJpaDialect eclipselinkJpaDialect() {
return new EclipseLinkJpaDialect();
}
-
+
@Bean
public PersistenceExceptionTranslationPostProcessor persistenceExceptionTranslationPostProcessor(){
return new PersistenceExceptionTranslationPostProcessor();
}
-
+
protected IsisModuleJpaEclipselink(
IsisConfiguration isisConfiguration,
- DataSource dataSource,
+ DataSource dataSource,
JpaProperties properties,
ObjectProvider<JtaTransactionManager> jtaTransactionManager) {
-
+
super(
- autoCreateSchemas(dataSource, isisConfiguration),
- addAdditionalOrmFiles(properties, isisConfiguration),
+ autoCreateSchemas(dataSource, isisConfiguration),
+ addAdditionalOrmFiles(properties, isisConfiguration),
jtaTransactionManager);
}
- @Override
- protected AbstractJpaVendorAdapter createJpaVendorAdapter() {
- return new EclipseLinkJpaVendorAdapter();
+ @Override
+ protected AbstractJpaVendorAdapter createJpaVendorAdapter() {
+ return new EclipseLinkJpaVendorAdapter();
}
@Override
@@ -108,27 +110,27 @@ public class IsisModuleJpaEclipselink extends JpaBaseConfiguration {
protected static DataSource autoCreateSchemas(
final DataSource dataSource,
final IsisConfiguration isisConfiguration) {
-
+
val persistenceSchemaConf = isisConfiguration.getPersistence().getJpa();
-
+
if(!persistenceSchemaConf.getAutoCreateSchemas().isEmpty()) {
-
+
log.info("about to create db schema(s) {}", persistenceSchemaConf.getAutoCreateSchemas());
-
+
try(val con = dataSource.getConnection()){
-
+
val s = con.createStatement();
-
+
for(val schema : persistenceSchemaConf.getAutoCreateSchemas()) {
s.execute(String.format(persistenceSchemaConf.getCreateSchemaSqlTemplate(), schema));
}
-
+
}
}
return dataSource;
}
-
+
/**
* integrates with settings from isis.persistence.jpa.*
*/
@@ -137,16 +139,16 @@ public class IsisModuleJpaEclipselink extends JpaBaseConfiguration {
IsisConfiguration isisConfiguration) {
val persistenceSchemaConf = isisConfiguration.getPersistence().getJpa();
-
+
persistenceSchemaConf.getAdditionalOrmFiles()
.forEach(schema->properties.getMappingResources()
.add(String.format("META-INF/orm-%s.xml", schema)));
-
+
if(!properties.getMappingResources().isEmpty()) {
log.info("using mapping-resources {}", properties.getMappingResources());
}
-
+
return properties;
}
-
-}
\ No newline at end of file
+
+}
diff --git a/security/bypass/src/main/java/org/apache/isis/security/bypass/IsisModuleSecurityBypass.java b/security/bypass/src/main/java/org/apache/isis/security/bypass/IsisModuleSecurityBypass.java
index 710a0e7..e8e4a1e 100644
--- a/security/bypass/src/main/java/org/apache/isis/security/bypass/IsisModuleSecurityBypass.java
+++ b/security/bypass/src/main/java/org/apache/isis/security/bypass/IsisModuleSecurityBypass.java
@@ -27,8 +27,8 @@ import org.apache.isis.security.bypass.authorization.AuthorizorBypass;
/**
* Auth/bypass for eg. Integration Testing
- *
- * @since 2.0
+ *
+ * @since 1.x {@index}
*/
@Configuration
@Import({
diff --git a/security/bypass/src/main/java/org/apache/isis/security/bypass/authentication/AuthenticatorBypass.java b/security/bypass/src/main/java/org/apache/isis/security/bypass/authentication/AuthenticatorBypass.java
index bc18ea2..9f46619 100644
--- a/security/bypass/src/main/java/org/apache/isis/security/bypass/authentication/AuthenticatorBypass.java
+++ b/security/bypass/src/main/java/org/apache/isis/security/bypass/authentication/AuthenticatorBypass.java
@@ -31,6 +31,8 @@ import org.apache.isis.core.security.authentication.standard.AuthenticatorAbstra
/**
* Implementation that bypasses authentication.
+ *
+ * @since 1.x {@index}
*/
@Service
@Named("isis.security.AuthenticatorBypass")
diff --git a/security/bypass/src/main/java/org/apache/isis/security/bypass/authorization/AuthorizorBypass.java b/security/bypass/src/main/java/org/apache/isis/security/bypass/authorization/AuthorizorBypass.java
index ad6cd1c..c6458b0 100644
--- a/security/bypass/src/main/java/org/apache/isis/security/bypass/authorization/AuthorizorBypass.java
+++ b/security/bypass/src/main/java/org/apache/isis/security/bypass/authorization/AuthorizorBypass.java
@@ -29,6 +29,9 @@ import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.annotation.OrderPrecedence;
import org.apache.isis.core.security.authorization.standard.Authorizor;
+/**
+ * @since 1.x {@index}
+ */
@Service
@Named("isis.security.AuthorizorBypass")
@Order(OrderPrecedence.LATE)
diff --git a/security/keycloak/src/main/java/org/apache/isis/security/keycloak/IsisModuleSecurityKeycloak.java b/security/keycloak/src/main/java/org/apache/isis/security/keycloak/IsisModuleSecurityKeycloak.java
index a1710cb..9bb35c9 100644
--- a/security/keycloak/src/main/java/org/apache/isis/security/keycloak/IsisModuleSecurityKeycloak.java
+++ b/security/keycloak/src/main/java/org/apache/isis/security/keycloak/IsisModuleSecurityKeycloak.java
@@ -29,8 +29,8 @@ import org.apache.isis.core.webapp.IsisModuleCoreWebapp;
/**
* Configuration Bean to support Isis Security using Shiro.
- *
- * @since 2.0
+ *
+ * @since 2.0 {@index}
*/
@Configuration
@Import({
diff --git a/security/keycloak/src/main/java/org/apache/isis/security/keycloak/authentication/AuthenticatorKeycloak.java b/security/keycloak/src/main/java/org/apache/isis/security/keycloak/authentication/AuthenticatorKeycloak.java
index fcf152e..f9d72f5 100644
--- a/security/keycloak/src/main/java/org/apache/isis/security/keycloak/authentication/AuthenticatorKeycloak.java
+++ b/security/keycloak/src/main/java/org/apache/isis/security/keycloak/authentication/AuthenticatorKeycloak.java
@@ -32,13 +32,16 @@ import org.apache.isis.core.security.authentication.Authentication;
import org.apache.isis.core.security.authentication.AuthenticationContext;
import org.apache.isis.core.security.authentication.standard.Authenticator;
+/**
+ * @since 2.0 {@index}
+ */
@Service
@Named("isis.security.AuthenticatorKeycloak")
@Order(OrderPrecedence.EARLY)
@Qualifier("Keycloak")
@Singleton
public class AuthenticatorKeycloak implements Authenticator {
-
+
@Inject private AuthenticationContext authenticationTracker;
@Override
@@ -48,7 +51,7 @@ public class AuthenticatorKeycloak implements Authenticator {
@Override
public Authentication authenticate(final AuthenticationRequest request, final String code) {
- // HTTP request filters should already have taken care of Authentication creation
+ // HTTP request filters should already have taken care of Authentication creation
return authenticationTracker.currentAuthentication().orElse(null);
}
diff --git a/security/keycloak/src/main/java/org/apache/isis/security/keycloak/authorization/AuthorizorKeycloak.java b/security/keycloak/src/main/java/org/apache/isis/security/keycloak/authorization/AuthorizorKeycloak.java
index 19b8f06..5202277 100644
--- a/security/keycloak/src/main/java/org/apache/isis/security/keycloak/authorization/AuthorizorKeycloak.java
+++ b/security/keycloak/src/main/java/org/apache/isis/security/keycloak/authorization/AuthorizorKeycloak.java
@@ -29,6 +29,9 @@ import org.apache.isis.applib.Identifier;
import org.apache.isis.applib.annotation.OrderPrecedence;
import org.apache.isis.core.security.authorization.standard.Authorizor;
+/**
+ * @since 2.0 {@index}
+ */
@Service
@Named("isis.security.AuthorizorKeycloak")
@Order(OrderPrecedence.EARLY)
diff --git a/security/keycloak/src/main/java/org/apache/isis/security/keycloak/webmodule/KeycloakFilter.java b/security/keycloak/src/main/java/org/apache/isis/security/keycloak/webmodule/KeycloakFilter.java
index 8853bbd..b74de88 100644
--- a/security/keycloak/src/main/java/org/apache/isis/security/keycloak/webmodule/KeycloakFilter.java
+++ b/security/keycloak/src/main/java/org/apache/isis/security/keycloak/webmodule/KeycloakFilter.java
@@ -41,8 +41,11 @@ import org.apache.isis.core.security.authentication.standard.SimpleAuthenticatio
import lombok.val;
+/**
+ * @since 2.0 {@index}
+ */
public class KeycloakFilter implements Filter {
-
+
@Autowired private InteractionFactory isisInteractionFactory;
@Override
@@ -61,11 +64,11 @@ public class KeycloakFilter implements Filter {
return;
}
final List<String> roles = toClaims(rolesHeader);
-
+
val user = UserMemento.ofNameAndRoleNames(userid, roles.stream());
val authentication = SimpleAuthentication.of(user, subjectHeader);
authentication.setType(Authentication.Type.EXTERNAL);
-
+
isisInteractionFactory.runAuthenticated(
authentication,
()->{
diff --git a/security/keycloak/src/main/java/org/apache/isis/security/keycloak/webmodule/WebModuleKeycloak.java b/security/keycloak/src/main/java/org/apache/isis/security/keycloak/webmodule/WebModuleKeycloak.java
index 75c2b2c..2fe1cb7 100644
--- a/security/keycloak/src/main/java/org/apache/isis/security/keycloak/webmodule/WebModuleKeycloak.java
+++ b/security/keycloak/src/main/java/org/apache/isis/security/keycloak/webmodule/WebModuleKeycloak.java
@@ -37,6 +37,8 @@ import lombok.Getter;
/**
* WebModule to enable support for Keycloak.
+ *
+ * @since 2.0 {@index}
*/
@Service
@Named("isis.security.WebModuleKeycloak")
diff --git a/security/shiro/src/main/java/org/apache/isis/security/shiro/IsisModuleSecurityShiro.java b/security/shiro/src/main/java/org/apache/isis/security/shiro/IsisModuleSecurityShiro.java
index 6cacb7f..e424b36 100644
--- a/security/shiro/src/main/java/org/apache/isis/security/shiro/IsisModuleSecurityShiro.java
+++ b/security/shiro/src/main/java/org/apache/isis/security/shiro/IsisModuleSecurityShiro.java
@@ -28,8 +28,8 @@ import org.apache.isis.security.shiro.webmodule.WebModuleShiro;
/**
* Configuration Bean to support Isis Security using Shiro.
- *
- * @since 2.0
+ *
+ * @since 1.x {@index}
*/
@Configuration
@Import({
diff --git a/security/shiro/src/main/java/org/apache/isis/security/shiro/authentication/AuthenticatorShiro.java b/security/shiro/src/main/java/org/apache/isis/security/shiro/authentication/AuthenticatorShiro.java
index 4eb0695..8439a9c 100644
--- a/security/shiro/src/main/java/org/apache/isis/security/shiro/authentication/AuthenticatorShiro.java
+++ b/security/shiro/src/main/java/org/apache/isis/security/shiro/authentication/AuthenticatorShiro.java
@@ -69,6 +69,8 @@ import lombok.extern.log4j.Log4j2;
* However, although there are two objects, they are set up to share the same {@link SecurityManager Shiro SecurityManager}
* (bound to a thread-local).
* </p>
+ *
+ * @since 1.x {@index}
*/
@Service
@Named("isis.security.AuthenticatorShiro")
@@ -103,7 +105,7 @@ public class AuthenticatorShiro implements Authenticator {
if(securityManager == null) {
return null;
}
-
+
final AuthenticationToken token = asAuthenticationToken(request);
final Subject currentSubject = SecurityUtils.getSubject();
@@ -158,9 +160,9 @@ public class AuthenticatorShiro implements Authenticator {
}
Authentication authenticationFor(
- AuthenticationRequest request,
- String validationCode,
- AuthenticationToken token,
+ AuthenticationRequest request,
+ String validationCode,
+ AuthenticationToken token,
Subject currentSubject) {
final Stream<String> roles = Stream.concat(
@@ -169,8 +171,8 @@ public class AuthenticatorShiro implements Authenticator {
// copy over any roles passed in
// (this is used by the Wicket viewer, for example).
request.streamRoles());
-
- val user = UserMemento.ofNameAndRoleNames(request.getName(), roles);
+
+ val user = UserMemento.ofNameAndRoleNames(request.getName(), roles);
return SimpleAuthentication.of(user, validationCode);
}
diff --git a/security/shiro/src/main/java/org/apache/isis/security/shiro/authorization/AuthorizorShiro.java b/security/shiro/src/main/java/org/apache/isis/security/shiro/authorization/AuthorizorShiro.java
index 8045e7c..636e2b5 100644
--- a/security/shiro/src/main/java/org/apache/isis/security/shiro/authorization/AuthorizorShiro.java
+++ b/security/shiro/src/main/java/org/apache/isis/security/shiro/authorization/AuthorizorShiro.java
@@ -52,13 +52,15 @@ import lombok.val;
* However, although there are two objects, they are set up to share the same {@link SecurityManager Shiro SecurityManager}
* (bound to a thread-local).
* </p>
+ *
+ * @since 1.x {@index}
*/
@Service
@Named("isis.security.AuthorizorShiro")
@Order(OrderPrecedence.EARLY)
@Qualifier("Shiro")
public class AuthorizorShiro implements Authorizor {
-
+
@Inject private SpecificationLoader specificationLoader;
@Override
@@ -125,7 +127,7 @@ public class AuthorizorShiro implements Authorizor {
}
// -- DEPS
-
+
/**
* The {@link SecurityManager} is shared between both the {@link Authenticator} and the {@link Authorizor}
* (if shiro is configured for both components).
@@ -133,12 +135,12 @@ public class AuthorizorShiro implements Authorizor {
protected RealmSecurityManager getSecurityManager() {
return ShiroSecurityContext.getSecurityManager();
}
-
+
// -- HELPER
-
+
/**
* @deprecated while this is technically correct, we should not need to call the SpecificationLoader
- * on every permission check
+ * on every permission check
*/
private String asFeatureFqns(Identifier identifier) {
val className = identifier.getClassName();
@@ -146,7 +148,7 @@ public class AuthorizorShiro implements Authorizor {
.<String>mapSuccess(this::asFeatureFqns)
.orElse(className);
}
-
+
private String asFeatureFqns(Class<?> cls) {
return Optional.ofNullable(specificationLoader.loadSpecification(cls))
.map(ObjectSpecification::getSpecId)
diff --git a/security/shiro/src/main/java/org/apache/isis/security/shiro/authorization/IsisPermission.java b/security/shiro/src/main/java/org/apache/isis/security/shiro/authorization/IsisPermission.java
index ea16d31..3877e72 100644
--- a/security/shiro/src/main/java/org/apache/isis/security/shiro/authorization/IsisPermission.java
+++ b/security/shiro/src/main/java/org/apache/isis/security/shiro/authorization/IsisPermission.java
@@ -29,6 +29,9 @@ import org.apache.isis.commons.internal.collections._Multimaps.ListMultimap;
import lombok.val;
+/**
+ * @since 1.x {@index}
+ */
public class IsisPermission extends WildcardPermission {
private static final long serialVersionUID = 1L;
@@ -89,10 +92,10 @@ public class IsisPermission extends WildcardPermission {
public String toString() {
return (isVetoed?"!":"") + (permissionGroup != null? permissionGroup + "/": "") + super.toString();
}
-
+
// -- HELPER
-
- private static final ThreadLocal<ListMultimap<String, IsisPermission>> VETOING_PERMISSIONS =
+
+ private static final ThreadLocal<ListMultimap<String, IsisPermission>> VETOING_PERMISSIONS =
ThreadLocal.withInitial(_Multimaps::newListMultimap);
public static void resetVetoedPermissions() {
@@ -114,7 +117,7 @@ public class IsisPermission extends WildcardPermission {
val vetoMultimap = IsisPermission.VETOING_PERMISSIONS.get();
vetoMultimap.putElement(permissionGroup, vetoingPermission);
}
-
+
private boolean impliesWithoutVeto(Permission p) {
return super.implies(p);
}
diff --git a/security/shiro/src/main/java/org/apache/isis/security/shiro/authorization/IsisPermissionResolver.java b/security/shiro/src/main/java/org/apache/isis/security/shiro/authorization/IsisPermissionResolver.java
index e9ec4e9..99862a2 100644
--- a/security/shiro/src/main/java/org/apache/isis/security/shiro/authorization/IsisPermissionResolver.java
+++ b/security/shiro/src/main/java/org/apache/isis/security/shiro/authorization/IsisPermissionResolver.java
@@ -21,6 +21,9 @@ package org.apache.isis.security.shiro.authorization;
import org.apache.shiro.authz.Permission;
import org.apache.shiro.authz.permission.PermissionResolver;
+/**
+ * @since 1.x {@index}
+ */
public class IsisPermissionResolver implements PermissionResolver {
public IsisPermissionResolver(){
diff --git a/security/shiro/src/main/java/org/apache/isis/security/shiro/webmodule/WebModuleShiro.java b/security/shiro/src/main/java/org/apache/isis/security/shiro/webmodule/WebModuleShiro.java
index 12b50c0..ebcc42a 100644
--- a/security/shiro/src/main/java/org/apache/isis/security/shiro/webmodule/WebModuleShiro.java
+++ b/security/shiro/src/main/java/org/apache/isis/security/shiro/webmodule/WebModuleShiro.java
@@ -61,7 +61,8 @@ import lombok.extern.log4j.Log4j2;
* WebModule to enable support for Shiro.
* <p>
* Can be customized via static {@link WebModuleShiro#setShiroEnvironmentClass(Class)}
- * @since 2.0
+ *
+ * @since 2.0 {@index}
*/
@Service
@Named("isis.security.WebModuleShiro")
@@ -69,7 +70,7 @@ import lombok.extern.log4j.Log4j2;
@Qualifier("Shiro")
@Log4j2
public class WebModuleShiro extends WebModuleAbstract {
-
+
private static final String SHIRO_FILTER_NAME = "ShiroFilter";
@@ -84,7 +85,7 @@ public class WebModuleShiro extends WebModuleAbstract {
if(shiroEnvironmentClass==null) {
System.setProperty("shiroEnvironmentClass", null);
return;
- }
+ }
System.setProperty("shiroEnvironmentClass", shiroEnvironmentClass.getName());
}
@@ -95,8 +96,8 @@ public class WebModuleShiro extends WebModuleAbstract {
if(_Strings.isNotEmpty(customShiroIniResource)) {
val ini = new Ini();
ini.loadFromPath(customShiroIniResource);
- return ini;
- }
+ return ini;
+ }
return null;
}
// see https://issues.apache.org/jira/browse/SHIRO-610
@@ -117,7 +118,7 @@ public class WebModuleShiro extends WebModuleAbstract {
System.setProperty("shiroIniResource", resourcePath);
setShiroEnvironmentClass(IniWebEnvironmentUsingSystemProperty.class);
}
-
+
/**
* Adds support for dependency injection into security realms
* @since 2.0
@@ -137,16 +138,16 @@ public class WebModuleShiro extends WebModuleAbstract {
super.contextInitialized(sce);
}
- @Override
+ @Override
protected WebEnvironment createEnvironment(ServletContext servletContext) {
val shiroEnvironment = super.createEnvironment(servletContext);
val securityManager = shiroEnvironment.getSecurityManager();
injectServicesIntoRealms(securityManager);
-
+
return shiroEnvironment;
}
-
+
@SuppressWarnings("unchecked")
@SneakyThrows
public void injectServicesIntoRealms(
@@ -160,16 +161,16 @@ public class WebModuleShiro extends WebModuleAbstract {
+ "As a consequence cannot enumerate realms.");
return;
}
-
+
val realms = (Collection<Realm>) realmsGetter
.invoke(securityManager, _Constants.emptyObjects);
realms.stream().forEach(serviceInjector::injectServicesInto);
}
-
+
}
- // --
+ // --
@Getter
private final String name = "Shiro";
@@ -189,7 +190,7 @@ public class WebModuleShiro extends WebModuleAbstract {
registerFilter(ctx, SHIRO_FILTER_NAME, ShiroFilter.class)
.ifPresent(filterReg -> {
filterReg.addMappingForUrlPatterns(
- EnumSet.of(DispatcherType.REQUEST, DispatcherType.ASYNC),
+ EnumSet.of(DispatcherType.REQUEST, DispatcherType.ASYNC),
false, // filter is forced first
"/*");
});
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/Chained.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/Chained.java
index b936e8e..5893a74 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/Chained.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/Chained.java
@@ -25,30 +25,33 @@ import org.apache.isis.applib.annotation.Where;
import org.apache.isis.subdomains.base.applib.with.WithInterval;
import org.apache.isis.subdomains.base.applib.with.WithIntervalContiguous;
+/**
+ * @since 2.0 {@index}
+ */
public interface Chained<T extends Chained<T>> {
-
+
/**
* The object (usually an {@link WithInterval}, but not necessarily) that precedes this one, if any (not
* necessarily contiguously)..
- *
+ *
* <p>
- * Implementations where successive intervals are contiguous should instead implement
+ * Implementations where successive intervals are contiguous should instead implement
* {@link WithIntervalContiguous}.
*/
@Property(editing = Editing.DISABLED, hidden=Where.ALL_TABLES, optionality = Optionality.OPTIONAL)
public T getPrevious();
/**
- * The object (usually an {@link WithInterval}, but not necessarily) that succeeds this one, if any (not
+ * The object (usually an {@link WithInterval}, but not necessarily) that succeeds this one, if any (not
* necessarily contiguously).
- *
+ *
* <p>
- * Implementations where successive intervals are contiguous should instead implement
+ * Implementations where successive intervals are contiguous should instead implement
* {@link WithIntervalContiguous}.
*/
@Property(editing = Editing.DISABLED, hidden=Where.ALL_TABLES, optionality = Optionality.OPTIONAL)
public T getNext();
-
-
+
+
}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/Dflt.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/Dflt.java
index 71f59da..d4f1ac9 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/Dflt.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/Dflt.java
@@ -22,6 +22,9 @@ import java.util.Collection;
import org.apache.isis.applib.annotation.Programmatic;
+/**
+ * @since 2.0 {@index}
+ */
public class Dflt {
private Dflt(){}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/IsisModuleSubdomainsBaseApplib.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/IsisModuleSubdomainsBaseApplib.java
index ce171d5..252db1e 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/IsisModuleSubdomainsBaseApplib.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/IsisModuleSubdomainsBaseApplib.java
@@ -20,6 +20,9 @@ package org.apache.isis.subdomains.base.applib;
import org.springframework.context.annotation.Configuration;
+/**
+ * @since 2.0 {@index}
+ */
@Configuration
public class IsisModuleSubdomainsBaseApplib {
}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/PowerType.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/PowerType.java
index 75daaad..420cb89 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/PowerType.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/PowerType.java
@@ -23,6 +23,8 @@ import org.apache.isis.applib.services.factory.FactoryService;
/**
* For <tt>enum</tt>s that act as powertypes, in other words acting as a factory
* for subtypes of some inheritance hierarchy.
+ *
+ * @since 2.0 {@index}
*/
public interface PowerType<T> {
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/Titled.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/Titled.java
index 7556838..c49a2f1 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/Titled.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/Titled.java
@@ -18,8 +18,9 @@
*/
package org.apache.isis.subdomains.base.applib;
+/**
+ * @since 2.0 {@index}
+ */
public interface Titled {
-
String title();
-
}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/TitledEnum.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/TitledEnum.java
index ef8b209..6eb5d66 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/TitledEnum.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/TitledEnum.java
@@ -23,7 +23,9 @@ import org.apache.isis.subdomains.base.applib.utils.StringUtils;
/**
* An enum that implements {@link Titled} and moreover its {@link #title()}
* is derived according to the {@link StringUtils#enumTitle(String)} algorithm.
+ *
+ * @since 2.0 {@index}
*/
public interface TitledEnum extends Titled {
-
+
}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/services/BaseServicesModule.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/services/BaseServicesModule.java
index bd0065c..e0804ac 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/services/BaseServicesModule.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/services/BaseServicesModule.java
@@ -21,6 +21,9 @@ package org.apache.isis.subdomains.base.applib.services;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
+/**
+ * @since 2.0 {@index}
+ */
@Configuration
@ComponentScan
public class BaseServicesModule {
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/services/calendar/CalendarService.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/services/calendar/CalendarService.java
index 6a4198d..48a2455 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/services/calendar/CalendarService.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/services/calendar/CalendarService.java
@@ -32,6 +32,9 @@ import org.springframework.stereotype.Service;
import org.apache.isis.applib.annotation.OrderPrecedence;
import org.apache.isis.applib.services.clock.ClockService;
+/**
+ * @since 2.0 {@index}
+ */
@Service
@Named("isis.sub.base.CalendarService")
@Order(OrderPrecedence.MIDPOINT)
@@ -40,9 +43,9 @@ import org.apache.isis.applib.services.clock.ClockService;
public class CalendarService {
private static final int MONTHS_IN_QUARTER = 3;
-
+
private ClockService clockService;
-
+
@Inject
public CalendarService(ClockService clockService) {
this.clockService = clockService;
@@ -64,7 +67,7 @@ public class CalendarService {
public LocalDate beginningOfNextQuarter() {
return beginningOfQuarter(nowAsLocalDate().plusMonths(3));
}
-
+
static LocalDate beginningOfQuarter(final LocalDate date) {
final LocalDate beginningOfMonth = beginningOfMonth(date);
final int monthOfYear = beginningOfMonth.getMonthValue();
@@ -77,7 +80,7 @@ public class CalendarService {
private LocalDate nowAsLocalDate() {
return clockService.getClock().localDate(ZoneId.systemDefault());
}
-
+
/**
* @deprecated - use {@link ClockService#getClock()}.getEpochMillis()
*/
@@ -86,5 +89,5 @@ public class CalendarService {
return clockService.getClock().getEpochMillis();
}
-
+
}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/DescriptionType.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/DescriptionType.java
index b553516..2c08e75 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/DescriptionType.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/DescriptionType.java
@@ -20,6 +20,9 @@ package org.apache.isis.subdomains.base.applib.types;
import lombok.experimental.UtilityClass;
+/**
+ * @since 2.0 {@index}
+ */
@UtilityClass
public class DescriptionType {
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/FqcnType.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/FqcnType.java
index 33f19aa..f91a4ea 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/FqcnType.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/FqcnType.java
@@ -20,6 +20,9 @@ package org.apache.isis.subdomains.base.applib.types;
import lombok.experimental.UtilityClass;
+/**
+ * @since 2.0 {@index}
+ */
@UtilityClass
public class FqcnType {
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/MoneyType.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/MoneyType.java
index 217545a..42e2490 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/MoneyType.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/MoneyType.java
@@ -20,6 +20,9 @@ package org.apache.isis.subdomains.base.applib.types;
import lombok.experimental.UtilityClass;
+/**
+ * @since 2.0 {@index}
+ */
@UtilityClass
public class MoneyType {
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/NameType.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/NameType.java
index db835d0..bdea9bf 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/NameType.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/NameType.java
@@ -20,6 +20,9 @@ package org.apache.isis.subdomains.base.applib.types;
import lombok.experimental.UtilityClass;
+/**
+ * @since 2.0 {@index}
+ */
@UtilityClass
public class NameType {
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/NotesType.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/NotesType.java
index 15c8c25..db77526 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/NotesType.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/NotesType.java
@@ -20,6 +20,9 @@ package org.apache.isis.subdomains.base.applib.types;
import lombok.experimental.UtilityClass;
+/**
+ * @since 2.0 {@index}
+ */
@UtilityClass
public class NotesType {
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/ObjectIdentifierType.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/ObjectIdentifierType.java
index 0dc1e3b..4abf1e1 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/ObjectIdentifierType.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/ObjectIdentifierType.java
@@ -20,6 +20,9 @@ package org.apache.isis.subdomains.base.applib.types;
import lombok.experimental.UtilityClass;
+/**
+ * @since 2.0 {@index}
+ */
@UtilityClass
public class ObjectIdentifierType {
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/PercentageType.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/PercentageType.java
index 46002dc..5280f44 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/PercentageType.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/PercentageType.java
@@ -20,6 +20,9 @@ package org.apache.isis.subdomains.base.applib.types;
import lombok.experimental.UtilityClass;
+/**
+ * @since 2.0 {@index}
+ */
@UtilityClass
public class PercentageType {
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/ProperNameType.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/ProperNameType.java
index 374965f..08ef75b 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/ProperNameType.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/ProperNameType.java
@@ -20,6 +20,9 @@ package org.apache.isis.subdomains.base.applib.types;
import lombok.experimental.UtilityClass;
+/**
+ * @since 2.0 {@index}
+ */
@UtilityClass
public class ProperNameType {
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/ReferenceType.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/ReferenceType.java
index eb5e67d..25a0656 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/ReferenceType.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/ReferenceType.java
@@ -20,6 +20,9 @@ package org.apache.isis.subdomains.base.applib.types;
import lombok.experimental.UtilityClass;
+/**
+ * @since 2.0 {@index}
+ */
@UtilityClass
public class ReferenceType {
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/TitleType.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/TitleType.java
index 884e823..4e27d1b 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/TitleType.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/TitleType.java
@@ -20,6 +20,9 @@ package org.apache.isis.subdomains.base.applib.types;
import lombok.experimental.UtilityClass;
+/**
+ * @since 2.0 {@index}
+ */
@UtilityClass
public class TitleType {
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/UrlTemplateType.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/UrlTemplateType.java
index 390f7ef..f350eb9 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/UrlTemplateType.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/UrlTemplateType.java
@@ -20,6 +20,9 @@ package org.apache.isis.subdomains.base.applib.types;
import lombok.experimental.UtilityClass;
+/**
+ * @since 2.0 {@index}
+ */
@UtilityClass
public class UrlTemplateType {
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/UserNameType.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/UserNameType.java
index 3fadb11..c19b026 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/UserNameType.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/UserNameType.java
@@ -20,6 +20,9 @@ package org.apache.isis.subdomains.base.applib.types;
import lombok.experimental.UtilityClass;
+/**
+ * @since 2.0 {@index}
+ */
@UtilityClass
public class UserNameType {
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/XxxType.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/XxxType.java
index f05d812..c11108e 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/XxxType.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/XxxType.java
@@ -20,6 +20,9 @@ package org.apache.isis.subdomains.base.applib.types;
import lombok.experimental.UtilityClass;
+/**
+ * @since 2.0 {@index}
+ */
@UtilityClass
public class XxxType {
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/ClassUtils.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/ClassUtils.java
index 436009d..102926d 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/ClassUtils.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/ClassUtils.java
@@ -18,8 +18,11 @@
*/
package org.apache.isis.subdomains.base.applib.utils;
+/**
+ * @since 2.0 {@index}
+ */
public final class ClassUtils {
-
+
private ClassUtils(){}
@SuppressWarnings("unchecked")
@@ -28,11 +31,11 @@ public final class ClassUtils {
try {
clsx = Thread.currentThread().getContextClassLoader().loadClass(clsName);
} catch (ClassNotFoundException e) {
- throw new IllegalArgumentException("Class '" + clsName + "' not found");
+ throw new IllegalArgumentException("Class '" + clsName + "' not found");
+ }
+ if (!cls.isAssignableFrom(clsx)) {
+ throw new IllegalArgumentException("Class '" + clsName + "' not a subclass of " + cls.getName());
}
- if (!cls.isAssignableFrom(clsx)) {
- throw new IllegalArgumentException("Class '" + clsName + "' not a subclass of " + cls.getName());
- }
return (Class<? extends T>) clsx;
}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/JodaPeriodUtils.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/JodaPeriodUtils.java
index 7275d37..e3d426a 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/JodaPeriodUtils.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/JodaPeriodUtils.java
@@ -24,6 +24,8 @@ import org.joda.time.format.PeriodFormatterBuilder;
/**
* Utilities for manipulating parsing JODA {@link Period}s.
+ *
+ * @since 2.0 {@index}
*/
public final class JodaPeriodUtils {
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/MathUtils.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/MathUtils.java
index c99e2c1..d307a32 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/MathUtils.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/MathUtils.java
@@ -23,11 +23,13 @@ import java.math.MathContext;
/**
* General-purpose math utilities.
+ *
+ * @since 2.0 {@index}
*/
public final class MathUtils {
-
+
private MathUtils() {}
-
+
public static BigDecimal round(final BigDecimal input, final int precision) {
final MathContext mc = new MathContext(precision+1);
return input.round(mc);
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/MessageUtils.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/MessageUtils.java
index 74f88af..285d68b 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/MessageUtils.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/MessageUtils.java
@@ -23,6 +23,9 @@ import java.util.regex.Pattern;
import org.apache.isis.commons.internal.base._Strings;
+/**
+ * @since 2.0 {@index}
+ */
public final class MessageUtils {
private MessageUtils(){}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/StringUtils.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/StringUtils.java
index d8e35bb..5c9a402 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/StringUtils.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/StringUtils.java
@@ -23,6 +23,9 @@ import java.util.stream.Collectors;
import org.apache.isis.commons.internal.base._Strings;
+/**
+ * @since 2.0 {@index}
+ */
public final class StringUtils {
private StringUtils() {
@@ -33,7 +36,7 @@ public final class StringUtils {
? StringUtils.capitalize(input.toLowerCase())
: null;
};
-
+
private static UnaryOperator<String> UPPER_CASE = (final String input) -> {
return input != null
? StringUtils.capitalize(input.toUpperCase())
@@ -45,7 +48,7 @@ public final class StringUtils {
if(string == null) {
return null;
}
-
+
return _Strings.splitThenStream(string, "_")
.map(LOWER_CASE_THEN_CAPITALIZE)
.collect(Collectors.joining(" "));
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/TitleBuilder.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/TitleBuilder.java
index 0c5db71..d6f4ff4 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/TitleBuilder.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/utils/TitleBuilder.java
@@ -23,7 +23,11 @@ import java.lang.reflect.Method;
import org.apache.isis.applib.util.TitleBufferException;
+/**
+ * @since 2.0 {@index}
+ */
public class TitleBuilder {
+
private static final String SPACE = " ";
private static final String DELIMITER = "[]";
private static final String PARENT_SEPARATOR = " > ";
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/valuetypes/AbstractInterval.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/valuetypes/AbstractInterval.java
index 5a5c9c8..9374522 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/valuetypes/AbstractInterval.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/valuetypes/AbstractInterval.java
@@ -23,6 +23,9 @@ import org.joda.time.LocalDate;
import org.joda.time.Period;
import org.joda.time.PeriodType;
+/**
+ * @since 2.0 {@index}
+ */
public abstract class AbstractInterval<T extends AbstractInterval<T>> {
public enum IntervalEnding {
@@ -64,7 +67,7 @@ public abstract class AbstractInterval<T extends AbstractInterval<T>> {
/**
* Determines how end dates are shown in the ui and stored in the database:
- *
+ *
* {@link IntervalEnding#EXCLUDING_END_DATE} uses the start date of the next interval as end date.
* {@link IntervalEnding#INCLUDING_END_DATE} used the last day of the interval as the end date.
*/
@@ -99,7 +102,7 @@ public abstract class AbstractInterval<T extends AbstractInterval<T>> {
/**
* Does this date contain the specified time interval.
- *
+ *
* @param date
* @return
*/
@@ -121,7 +124,7 @@ public abstract class AbstractInterval<T extends AbstractInterval<T>> {
/**
* Does this time interval contain the specified time interval.
- *
+ *
* @param localDateInterval
* @return
*/
@@ -131,7 +134,7 @@ public abstract class AbstractInterval<T extends AbstractInterval<T>> {
/**
* The duration in days
- *
+ *
* @return
*/
public int days() {
@@ -179,10 +182,10 @@ public abstract class AbstractInterval<T extends AbstractInterval<T>> {
protected String dateToString(LocalDate localDate, String format) {
return localDate == null ? "----------" : localDate.toString(format);
}
-
+
/**
* Gets the overlap between this interval and another interval.
- *
+ *
* @param otherInterval
* @return
*/
@@ -215,7 +218,7 @@ public abstract class AbstractInterval<T extends AbstractInterval<T>> {
/**
* Does this time interval contain the specified time interval.
- *
+ *
* @param interval
* @return
*/
@@ -232,7 +235,7 @@ public abstract class AbstractInterval<T extends AbstractInterval<T>> {
/**
* Does this interval is within the specified interval
- *
+ *
* @param interval
* @return
*/
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/valuetypes/LocalDateInterval.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/valuetypes/LocalDateInterval.java
index 9df0e28..8a1c2fb 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/valuetypes/LocalDateInterval.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/valuetypes/LocalDateInterval.java
@@ -23,6 +23,9 @@ import java.util.Objects;
import org.joda.time.Interval;
import org.joda.time.LocalDate;
+/**
+ * @since 2.0 {@index}
+ */
public class LocalDateInterval extends AbstractInterval<LocalDateInterval>{
public static LocalDateInterval excluding(final LocalDate startDate, final LocalDate endDate) {
@@ -34,7 +37,7 @@ public class LocalDateInterval extends AbstractInterval<LocalDateInterval>{
}
// //////////////////////////////////////
-
+
public LocalDateInterval() {
}
@@ -89,7 +92,7 @@ public class LocalDateInterval extends AbstractInterval<LocalDateInterval>{
.append(dateToString(endDateExcluding()));
return builder.toString();
}
-
+
public String toString(String format) {
StringBuilder builder =
new StringBuilder(
@@ -100,12 +103,12 @@ public class LocalDateInterval extends AbstractInterval<LocalDateInterval>{
}
// //////////////////////////////////////
-
+
/**
* Parse a string representation of a LocalDateInterval
- *
+ *
* Since this method is only used for testing it's not heavily guarded against illegal arguments
- *
+ *
* @param input a string with format yyyy-mm-dd/yyyy-mm-dd, end date is excluding
* @return
*/
@@ -120,7 +123,7 @@ public class LocalDateInterval extends AbstractInterval<LocalDateInterval>{
/**
* Parse a string to a LocalDate
- *
+ *
* @param input a string representing a parsable LocalDate, "*" or "----------" returns null
* @return
*/
@@ -133,14 +136,14 @@ public class LocalDateInterval extends AbstractInterval<LocalDateInterval>{
/**
- * Returns an end date given the start date of the next adjoining interverval
- *
+ * Returns an end date given the start date of the next adjoining interverval
+ *
* @param date
* @return
*/
public static LocalDate endDateFromStartDate(LocalDate date) {
return new LocalDateInterval(date, null).endDateFromStartDate();
-
+
}
-
+
}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/valuetypes/VT.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/valuetypes/VT.java
index 14c6a5d..4d98741 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/valuetypes/VT.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/valuetypes/VT.java
@@ -26,12 +26,14 @@ import org.joda.time.LocalDate;
/**
* Factory methods for value types
+ *
+ * @since 2.0 {@index}
*/
public final class VT {
private VT(){}
- // //////////////////////////////////////
+
public static LocalDateInterval ldi(String intervalStr) {
return intervalStr != null? LocalDateInterval.parseString(intervalStr) : null;
@@ -45,7 +47,7 @@ public final class VT {
return ldi(st, endDate, AbstractInterval.IntervalEnding.EXCLUDING_END_DATE);
}
- // //////////////////////////////////////
+
/**
*
@@ -59,7 +61,8 @@ public final class VT {
return new LocalDate(yyyy,mm,dd);
}
- // //////////////////////////////////////
+
+
public static BigInteger bi(int val) {
return BigInteger.valueOf(val);
@@ -68,7 +71,8 @@ public final class VT {
return val != null ? bi(val): null;
}
- // //////////////////////////////////////
+
+
public static BigDecimal bd(String str) {
return new BigDecimal(str);
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithCodeComparable.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithCodeComparable.java
index a81fd8f..2faa51a 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithCodeComparable.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithCodeComparable.java
@@ -18,6 +18,9 @@
*/
package org.apache.isis.subdomains.base.applib.with;
+/**
+ * @since 2.0 {@index}
+ */
public interface WithCodeComparable<T extends WithCodeComparable<T>> extends Comparable<T>, WithCodeGetter {
void setCode(String code);
-}
\ No newline at end of file
+}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithCodeGetter.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithCodeGetter.java
index 0e84285..d0d884a 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithCodeGetter.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithCodeGetter.java
@@ -22,13 +22,15 @@ import org.apache.isis.applib.util.ObjectContracts.ToStringEvaluator;
/**
* Indicates that the implementing class has a {@link #getCode() code}.
+ *
+ * @since 2.0 {@index}
*/
public interface WithCodeGetter {
public String getCode();
-
+
/**
- * Utility class for obtaining the string value of an object that implements {@link WithCodeGetter}.
+ * Utility class for obtaining the string value of an object that implements {@link WithCodeGetter}.
*/
public static final class ToString {
private ToString() {}
@@ -38,7 +40,7 @@ public interface WithCodeGetter {
public boolean canEvaluate(final Object o) {
return o instanceof WithCodeGetter;
}
-
+
@Override
public String evaluate(final Object o) {
return ((WithCodeGetter)o).getCode();
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithCodeUnique.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithCodeUnique.java
index 2e3c33a..c0da8f6 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithCodeUnique.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithCodeUnique.java
@@ -18,6 +18,9 @@
*/
package org.apache.isis.subdomains.base.applib.with;
+/**
+ * @since 2.0 {@index}
+ */
public interface WithCodeUnique extends WithCodeGetter {
}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithDescriptionComparable.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithDescriptionComparable.java
index a493f68..a50386b 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithDescriptionComparable.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithDescriptionComparable.java
@@ -18,7 +18,10 @@
*/
package org.apache.isis.subdomains.base.applib.with;
-public interface WithDescriptionComparable<T extends WithDescriptionComparable<T>>
+/**
+ * @since 2.0 {@index}
+ */
+public interface WithDescriptionComparable<T extends WithDescriptionComparable<T>>
extends Comparable<T>, WithDescriptionGetter {
void setDescription(String description);
-}
\ No newline at end of file
+}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithDescriptionGetter.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithDescriptionGetter.java
index 384e0c7..fde15f2 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithDescriptionGetter.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithDescriptionGetter.java
@@ -22,13 +22,15 @@ import org.apache.isis.applib.util.ObjectContracts.ToStringEvaluator;
/**
* Indicates that the implementing class has a {@link #getDescription() description}.
+ *
+ * @since 2.0 {@index}
*/
public interface WithDescriptionGetter {
public String getDescription();
-
+
/**
- * Utility class for obtaining the string value of an object that implements {@link WithDescriptionGetter}.
+ * Utility class for obtaining the string value of an object that implements {@link WithDescriptionGetter}.
*/
public static final class ToString {
private ToString() {}
@@ -38,7 +40,7 @@ public interface WithDescriptionGetter {
public boolean canEvaluate(final Object o) {
return o instanceof WithDescriptionGetter;
}
-
+
@Override
public String evaluate(final Object o) {
return ((WithDescriptionGetter)o).getDescription();
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithDescriptionUnique.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithDescriptionUnique.java
index 9524b00..dc89c46 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithDescriptionUnique.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithDescriptionUnique.java
@@ -18,6 +18,9 @@
*/
package org.apache.isis.subdomains.base.applib.with;
+/**
+ * @since 2.0 {@index}
+ */
public interface WithDescriptionUnique extends WithDescriptionGetter {
}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithInterval.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithInterval.java
index 662574e..501f4a5 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithInterval.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithInterval.java
@@ -32,11 +32,14 @@ import org.apache.isis.subdomains.base.applib.valuetypes.LocalDateInterval;
import lombok.experimental.UtilityClass;
+/**
+ * @since 2.0 {@index}
+ */
public interface WithInterval<T extends WithInterval<T>> extends WithStartDate {
/**
* The start date of the interval.
- *
+ *
* <p>
* A value of <tt>null</tt> implies that the parent's start date should be used. If
* that is <tt>null</tt>, then implies 'the beginning of time'.
@@ -48,7 +51,7 @@ public interface WithInterval<T extends WithInterval<T>> extends WithStartDate {
/**
* The end date of the interval.
- *
+ *
* <p>
* A value of <tt>null</tt> implies that the parent's end date should be used. If
* that is <tt>null</tt>, then implies 'the end of time'.
@@ -125,7 +128,7 @@ public interface WithInterval<T extends WithInterval<T>> extends WithStartDate {
// }
public static <T extends WithInterval<T>> T firstElseNull(
- final SortedSet<T> roles,
+ final SortedSet<T> roles,
final Predicate<T> predicate) {
return _NullSafe.stream(roles)
.filter(predicate)
@@ -136,7 +139,7 @@ public interface WithInterval<T extends WithInterval<T>> extends WithStartDate {
@UtilityClass
public static final class Predicates {
-
+
/**
* A {@link Predicate} that tests whether the role's {@link WithInterval#isCurrent() current}
* status is the specified value.
@@ -148,5 +151,5 @@ public interface WithInterval<T extends WithInterval<T>> extends WithStartDate {
}
}
-
+
}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithIntervalContiguous.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithIntervalContiguous.java
index a4f46db..940b074 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithIntervalContiguous.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithIntervalContiguous.java
@@ -34,17 +34,20 @@ import org.apache.isis.applib.annotation.Where;
import org.apache.isis.commons.internal.base._NullSafe;
import org.apache.isis.subdomains.base.applib.Chained;
-public interface WithIntervalContiguous<T extends WithIntervalContiguous<T>>
+/**
+ * @since 2.0 {@index}
+ */
+public interface WithIntervalContiguous<T extends WithIntervalContiguous<T>>
extends WithIntervalMutable<T>, Comparable<T> {
-
+
/**
* The interval that immediately precedes this one, if any.
- *
+ *
* <p>
* The predecessor's {@link #getEndDate() end date} is the day before this interval's
* {@link #getStartDate() start date}.
- *
+ *
* <p>
* Implementations where successive intervals are NOT contiguous should instead implement {@link Chained}.
*/
@@ -53,43 +56,43 @@ public interface WithIntervalContiguous<T extends WithIntervalContiguous<T>>
/**
* The interval that immediately succeeds this one, if any.
- *
+ *
* <p>
* The successor's {@link #getStartDate() start date} is the day after this interval's
* {@link #getEndDate() end date}.
- *
+ *
* <p>
* Implementations where successive intervals are NOT contiguous should instead implement {@link Chained}.
*/
@Property(editing = Editing.DISABLED, hidden=Where.ALL_TABLES, optionality = Optionality.OPTIONAL)
public T getSuccessor();
-
-
+
+
/**
* Show this {@link WithIntervalContiguous} in context with its
* predecessors and successors.
- *
+ *
* <p>
* This will typically (always) be a derived collection obtained
* by filtering a collection of the "parent".
*/
@Property(editing = Editing.DISABLED)
public SortedSet<T> getTimeline();
-
+
// //////////////////////////////////////
-
+
public interface Factory<T extends WithIntervalContiguous<T>> {
T newRole(LocalDate startDate, LocalDate endDate);
}
-
+
/**
* Helper class for implementations to delegate to.
*/
public static class Helper<T extends WithIntervalContiguous<T>> {
-
+
private final T withInterval;
public Helper(final T withInterval) {
this.withInterval = withInterval;
@@ -98,7 +101,7 @@ public interface WithIntervalContiguous<T extends WithIntervalContiguous<T>>
// //////////////////////////////////////
public T succeededBy(
- final LocalDate startDate,
+ final LocalDate startDate,
final LocalDate endDate,
final WithIntervalContiguous.Factory<T> factory) {
final WithInterval<?> successor = withInterval.getSuccessor();
@@ -114,7 +117,7 @@ public interface WithIntervalContiguous<T extends WithIntervalContiguous<T>>
}
public String validateSucceededBy(
- final LocalDate startDate,
+ final LocalDate startDate,
final LocalDate endDate) {
if(startDate != null && endDate != null && startDate.isAfter(endDate)) {
return "End date cannot be earlier than start date";
@@ -133,15 +136,15 @@ public interface WithIntervalContiguous<T extends WithIntervalContiguous<T>>
}
return null;
}
-
+
// //////////////////////////////////////
public T precededBy(
- final LocalDate startDate,
+ final LocalDate startDate,
final LocalDate endDate,
final WithIntervalContiguous.Factory<T> factory) {
-
+
final WithInterval<?> predecessor = withInterval.getPredecessor();
if(predecessor != null) {
predecessor.setEndDate(dayBeforeElseNull(startDate));
@@ -149,13 +152,13 @@ public interface WithIntervalContiguous<T extends WithIntervalContiguous<T>>
withInterval.setStartDate(dayAfterElseNull(endDate));
return factory.newRole(startDate, endDate);
}
-
+
public LocalDate default2PrecededBy() {
return dayBeforeElseNull(withInterval.getStartDate());
}
public String validatePrecededBy(
- final LocalDate startDate,
+ final LocalDate startDate,
final LocalDate endDate) {
if(startDate != null && endDate != null && startDate.isAfter(endDate)) {
return "End date cannot be earlier than start date";
@@ -213,13 +216,13 @@ public interface WithIntervalContiguous<T extends WithIntervalContiguous<T>>
.filter(filter)
.collect(Collectors.toCollection(TreeSet::new));
}
-
+
// //////////////////////////////////////
public T changeDates(
- final LocalDate startDate,
+ final LocalDate startDate,
final LocalDate endDate) {
-
+
final T predecessor = withInterval.getPredecessor();
if(predecessor != null) {
predecessor.setEndDate(dayBeforeElseNull(startDate));
@@ -236,13 +239,13 @@ public interface WithIntervalContiguous<T extends WithIntervalContiguous<T>>
public LocalDate default0ChangeDates() {
return withInterval.getEffectiveInterval().startDate();
}
-
+
public LocalDate default1ChangeDates() {
return withInterval.getEffectiveInterval().endDate();
}
public String validateChangeDates(
- final LocalDate startDate,
+ final LocalDate startDate,
final LocalDate endDate) {
if(startDate != null && endDate != null && startDate.isAfter(endDate)) {
@@ -268,7 +271,7 @@ public interface WithIntervalContiguous<T extends WithIntervalContiguous<T>>
}
return null;
}
-
+
// //////////////////////////////////////
private static LocalDate dayBeforeElseNull(final LocalDate date) {
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithIntervalMutable.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithIntervalMutable.java
index 4d41952..723435a 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithIntervalMutable.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithIntervalMutable.java
@@ -26,6 +26,9 @@ import org.apache.isis.applib.annotation.Parameter;
import org.apache.isis.applib.annotation.SemanticsOf;
import org.apache.isis.subdomains.base.applib.valuetypes.LocalDateInterval;
+/**
+ * @since 2.0 {@index}
+ */
public interface WithIntervalMutable<T extends WithIntervalMutable<T>> extends WithInterval<T> {
@Action(semantics = SemanticsOf.IDEMPOTENT)
@@ -43,7 +46,7 @@ public interface WithIntervalMutable<T extends WithIntervalMutable<T>> extends W
/**
* Helper class for implementations to delegate to.
- *
+ *
* <p>
* If the class implements {@link WithIntervalContiguous} then use
* {@link WithIntervalContiguous.Helper} instead.
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithNameComparable.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithNameComparable.java
index d6c572b..914afb3 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithNameComparable.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithNameComparable.java
@@ -18,7 +18,9 @@
*/
package org.apache.isis.subdomains.base.applib.with;
+/**
+ * @since 2.0 {@index}
+ */
public interface WithNameComparable<T extends WithNameComparable<T>> extends Comparable<T>, WithNameGetter {
-
void setName(String name);
-}
\ No newline at end of file
+}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithNameGetter.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithNameGetter.java
index 9dff134..b3bcbb9 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithNameGetter.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithNameGetter.java
@@ -22,13 +22,15 @@ import org.apache.isis.applib.util.ObjectContracts;
/**
* Indicates that the implementing class has a {@link #getName() name}.
+ *
+ * @since 2.0 {@index}
*/
public interface WithNameGetter {
public String getName();
-
+
/**
- * Utility class for obtaining the string value of an object that implements {@link WithNameGetter}.
+ * Utility class for obtaining the string value of an object that implements {@link WithNameGetter}.
*/
public static final class ToString {
private ToString() {}
@@ -38,7 +40,7 @@ public interface WithNameGetter {
public boolean canEvaluate(final Object o) {
return o instanceof WithNameGetter;
}
-
+
@Override
public String evaluate(final Object o) {
return ((WithNameGetter)o).getName();
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithNameUnique.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithNameUnique.java
index c3ce237..3071569 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithNameUnique.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithNameUnique.java
@@ -18,6 +18,9 @@
*/
package org.apache.isis.subdomains.base.applib.with;
+/**
+ * @since 2.0 {@index}
+ */
public interface WithNameUnique extends WithNameGetter {
}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithReferenceComparable.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithReferenceComparable.java
index a323bd1..50e1a85 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithReferenceComparable.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithReferenceComparable.java
@@ -18,7 +18,10 @@
*/
package org.apache.isis.subdomains.base.applib.with;
-public interface WithReferenceComparable<T extends WithReferenceComparable<T>>
+/**
+ * @since 2.0 {@index}
+ */
+public interface WithReferenceComparable<T extends WithReferenceComparable<T>>
extends Comparable<T>, WithReferenceGetter {
void setReference(String reference);
-}
\ No newline at end of file
+}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithReferenceGetter.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithReferenceGetter.java
index ba9f01e..c1e2781 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithReferenceGetter.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithReferenceGetter.java
@@ -22,13 +22,15 @@ import org.apache.isis.applib.util.ObjectContracts.ToStringEvaluator;
/**
* Indicates that the implementing class has a {@link #getReference() reference}.
+ *
+ * @since 2.0 {@index}
*/
public interface WithReferenceGetter {
public String getReference();
-
+
/**
- * Utility class for obtaining the string value of an object that implements {@link WithReferenceGetter}.
+ * Utility class for obtaining the string value of an object that implements {@link WithReferenceGetter}.
*/
public static final class ToString {
private ToString() {}
@@ -38,7 +40,7 @@ public interface WithReferenceGetter {
public boolean canEvaluate(final Object o) {
return o instanceof WithReferenceGetter;
}
-
+
@Override
public String evaluate(final Object o) {
return ((WithReferenceGetter)o).getReference();
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithReferenceUnique.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithReferenceUnique.java
index 597ac74..6cfb5e1 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithReferenceUnique.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithReferenceUnique.java
@@ -18,6 +18,9 @@
*/
package org.apache.isis.subdomains.base.applib.with;
+/**
+ * @since 2.0 {@index}
+ */
public interface WithReferenceUnique extends WithReferenceGetter {
}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithSequence.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithSequence.java
index f85ec0c..760cb7e 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithSequence.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithSequence.java
@@ -20,8 +20,10 @@ package org.apache.isis.subdomains.base.applib.with;
import java.math.BigInteger;
+/**
+ * @since 2.0 {@index}
+ */
public interface WithSequence {
-
public BigInteger getSequence();
public void setSequence(BigInteger sequence);
}
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithStartDate.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithStartDate.java
index 5ec6eba..95a5f8a 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithStartDate.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithStartDate.java
@@ -23,6 +23,9 @@ import org.joda.time.LocalDate;
import org.apache.isis.applib.annotation.Editing;
import org.apache.isis.applib.annotation.Property;
+/**
+ * @since 2.0 {@index}
+ */
public interface WithStartDate {
@Property(editing = Editing.DISABLED)
diff --git a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithTitleComparable.java b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithTitleComparable.java
index d66a686..4bbea0f 100644
--- a/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithTitleComparable.java
+++ b/subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/with/WithTitleComparable.java
@@ -18,6 +18,9 @@
*/
package org.apache.isis.subdomains.base.applib.with;
... 4603 lines suppressed ...