= System Overview
:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR  CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

These tables summarize all Maven artifacts available with _Apache Isis_.

== App

[plantuml,App,svg]
----
@startuml(id=App)
title App - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "App\n[Software System]" {
  rectangle "==Apache Isis Starter Parent\n<size:10>[Container: packaging: pom]</size>" <<2>> as 2
}
@enduml
----
.Projects/Modules (App)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis Starter Parent
[source,yaml]
----
Group: org.apache.isis.app
Artifact: isis-app-starter-parent
Type: pom
Directory: /starters
----
|Parent pom providing dependency and plugin management for Apache Isis applications
built with Maven. Builds on top of spring-boot-starter-parent.
|===

== Mavendeps

[plantuml,Mavendeps,svg]
----
@startuml(id=Mavendeps)
title Mavendeps - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<3>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "Mavendeps\n[Software System]" {
  rectangle "==Apache Isis Maven Deps\n<size:10>[Container: packaging: pom]</size>" <<2>> as 2
  rectangle "==Apache Isis Maven Deps - Webapp\n<size:10>[Container: packaging: pom]</size>" <<3>> as 3
}
2 .[#707070].> 3 : ""
@enduml
----
.Projects/Modules (Mavendeps)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis Maven Deps
[source,yaml]
----
Group: org.apache.isis.mavendeps
Artifact: isis-mavendeps
Type: pom
Directory: /mavendeps
----
|Collection of Apache Isis Maven Dependency Bundles.

|Apache Isis Maven Deps - Webapp
[source,yaml]
----
Group: org.apache.isis.mavendeps
Artifact: isis-mavendeps-webapp
Type: pom
Directory: /mavendeps/webapp
----
|Defines a module that can be almost used as a single dependency for running
an Apache Isis webapp (Wicket, Restful Objects, GraphQL and Shiro security).

Note: Also requires a persistence provider.

.Dependencies
****
org.apache.isis.core:isis-applib:jar:<managed> +
org.apache.isis.core:isis-core-runtimeservices:jar:<managed> +
org.apache.isis.core:isis-core-security:jar:<managed> +
org.apache.isis.core:isis-schema:jar:<managed> +
org.apache.isis.security:isis-security-bypass:jar:<managed> +
org.apache.isis.viewer:isis-viewer-restfulobjects-jaxrsresteasy4:jar:<managed> +
org.apache.isis.viewer:isis-viewer-wicket-viewer:jar:<managed> +
org.springframework.boot:spring-boot-starter-tomcat:jar:<managed> +
org.springframework.boot:spring-boot-starter-web:jar:<managed> +
****
|===

== Testing

[plantuml,Testing,svg]
----
@startuml(id=Testing)
title Testing - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<11>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<12>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<13>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<14>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<15>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<16>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<17>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<18>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<19>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<3>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<4>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<5>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<6>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<7>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<8>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<9>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<20>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<10>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "Testing\n[Software System]" {
  rectangle "==Apache Isis Testing\n<size:10>[Container: packaging: pom]</size>" <<2>> as 2
  rectangle "==Apache Isis Tst - Architecture Test Support (applib)\n<size:10>[Container: packaging: jar]</size>" <<4>> as 4
  rectangle "==Apache Isis Tst - Architecture Test Support (parent)\n<size:10>[Container: packaging: pom]</size>" <<3>> as 3
  rectangle "==Apache Isis Tst - FakeData (applib)\n<size:10>[Container: packaging: jar]</size>" <<6>> as 6
  rectangle "==Apache Isis Tst - FakeData (fixtures)\n<size:10>[Container: packaging: jar]</size>" <<7>> as 7
  rectangle "==Apache Isis Tst - FakeData (integ tests)\n<size:10>[Container: packaging: jar]</size>" <<8>> as 8
  rectangle "==Apache Isis Tst - FakeData (parent)\n<size:10>[Container: packaging: pom]</size>" <<5>> as 5
  rectangle "==Apache Isis Tst - Fixtures (applib)\n<size:10>[Container: packaging: jar]</size>" <<10>> as 10
  rectangle "==Apache Isis Tst - Fixtures (parent)\n<size:10>[Container: packaging: pom]</size>" <<9>> as 9
  rectangle "==Apache Isis Tst - H2 Console (parent)\n<size:10>[Container: packaging: pom]</size>" <<11>> as 11
  rectangle "==Apache Isis Tst - H2 Console (ui)\n<size:10>[Container: packaging: jar]</size>" <<12>> as 12
  rectangle "==Apache Isis Tst - HSQLDB Manager\n<size:10>[Container: packaging: jar]</size>" <<14>> as 14
  rectangle "==Apache Isis Tst - HSQLDB Manager (parent)\n<size:10>[Container: packaging: pom]</size>" <<13>> as 13
  rectangle "==Apache Isis Tst - Integ Test Support (applib)\n<size:10>[Container: packaging: jar]</size>" <<16>> as 16
  rectangle "==Apache Isis Tst - Integ Test Support (parent)\n<size:10>[Container: packaging: pom]</size>" <<15>> as 15
  rectangle "==Apache Isis Tst - Spec/Cucumber (applib)\n<size:10>[Container: packaging: jar]</size>" <<18>> as 18
  rectangle "==Apache Isis Tst - Spec/Cucumber (parent)\n<size:10>[Container: packaging: pom]</size>" <<17>> as 17
  rectangle "==Apache Isis Tst - Unit Test Support (applib)\n<size:10>[Container: packaging: jar]</size>" <<20>> as 20
  rectangle "==Apache Isis Tst - Unit Test Support (parent)\n<size:10>[Container: packaging: pom]</size>" <<19>> as 19
}
2 .[#707070].> 3 : ""
2 .[#707070].> 5 : ""
2 .[#707070].> 9 : ""
2 .[#707070].> 11 : ""
2 .[#707070].> 13 : ""
2 .[#707070].> 15 : ""
2 .[#707070].> 17 : ""
2 .[#707070].> 19 : ""
3 .[#707070].> 4 : ""
5 .[#707070].> 6 : ""
5 .[#707070].> 7 : ""
5 .[#707070].> 8 : ""
9 .[#707070].> 10 : ""
11 .[#707070].> 12 : ""
13 .[#707070].> 14 : ""
15 .[#707070].> 16 : ""
17 .[#707070].> 18 : ""
19 .[#707070].> 20 : ""
@enduml
----
.Projects/Modules (Testing)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis Testing
[source,yaml]
----
Group: org.apache.isis.testing
Artifact: isis-testing
Type: pom
Directory: /testing
----
|A library of utilities, mini-frameworks and tools for prototyping and testing Apache Isis applications.

|Apache Isis Tst - Architecture Test Support (parent)
[source,yaml]
----
Group: org.apache.isis.testing
Artifact: isis-testing-archtestsupport
Type: pom
Directory: /testing/archtestsupport
----
|A module providing a library of architecture tests

|Apache Isis Tst - Architecture Test Support (applib)
[source,yaml]
----
Group: org.apache.isis.testing
Artifact: isis-testing-archtestsupport-applib
Type: jar
Directory: /testing/archtestsupport/applib
----
|.Dependencies
****
com.tngtech.archunit:archunit-junit5-api:jar:<managed> +
com.tngtech.archunit:archunit-junit5-engine:jar:<managed> +
org.apache.isis.core:isis-applib:jar:<managed> +
org.apache.isis.core:isis-jdk-supplemental:pom:<managed> +
org.apache.isis.persistence:isis-persistence-jdo-integration:jar:<managed> +
org.apache.isis.persistence:isis-persistence-jpa-integration:jar:<managed> +
org.datanucleus:javax.jdo:jar:<managed> +
org.slf4j:slf4j-api:jar:<managed> +
org.springframework:spring-test:jar:<managed> +
org.springframework.boot:spring-boot-starter-test:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:testing:index/archtestsupport/applib/IsisModuleTestingArchTestSupportApplib.adoc[IsisModuleTestingArchTestSupportApplib], xref:refguide:testing:index/archtestsupport/applib/classrules/ArchitectureDomainRules.adoc[ArchitectureDomainRules], xref:refguide:testing:index/archtestsupport/applib/classrules/ArchitectureJdoRules.adoc[ArchitectureJdoRules], xref:refguide:testing:index/archtestsupport/applib/classrules/ArchitectureJpaRules.adoc[ArchitectureJpaRules], xref:refguide:testing:index/archtestsupport/applib/modulerules/ArchitectureModuleRules.adoc[ArchitectureModuleRules], xref:refguide:testing:index/archtestsupport/applib/modulerules/Subpackage.adoc[Subpackage], xref:refguide:testing:index/archtestsupport/applib/modulerules/SubpackageEnum.adoc[SubpackageEnum]
****

|Apache Isis Tst - FakeData (parent)
[source,yaml]
----
Group: org.apache.isis.testing
Artifact: isis-testing-fakedata
Type: pom
Directory: /testing/fakedata
----
|A module providing a domain service to generate fake random data
for use in unit tests or integration tests.

|Apache Isis Tst - FakeData (applib)
[source,yaml]
----
Group: org.apache.isis.testing
Artifact: isis-testing-fakedata-applib
Type: jar
Directory: /testing/fakedata/applib
----
|.Components
****
o.a.i.testing.fakedata.applib.services.FakeDataService +
****

.Dependencies
****
com.github.javafaker:javafaker:jar:<managed> +
org.apache.isis.commons:isis-commons:jar:<managed> +
org.apache.isis.core:isis-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-unittestsupport-applib:jar:<managed> +
org.projectlombok:lombok:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:testing:index/fakedata/applib/IsisModuleTestingFakeDataApplib.adoc[IsisModuleTestingFakeDataApplib], xref:refguide:testing:index/fakedata/applib/services/AbstractRandomValueGenerator.adoc[AbstractRandomValueGenerator], xref:refguide:testing:index/fakedata/applib/services/Addresses.adoc[Addresses], xref:refguide:testing:index/fakedata/applib/services/BigDecimals.adoc[BigDecimals], xref:refguide:testing:index/fakedata/applib/services/BigIntegers.adoc[BigIntegers], xref:refguide:testing:index/fakedata/applib/services/Books.adoc[Books], xref:refguide:testing:index/fakedata/applib/services/Booleans.adoc[Booleans], xref:refguide:testing:index/fakedata/applib/services/Bytes.adoc[Bytes], xref:refguide:testing:index/fakedata/applib/services/Chars.adoc[Chars], xref:refguide:testing:index/fakedata/applib/services/Collections.adoc[Collections], xref:refguide:testing:index/fakedata/applib/services/Comms.adoc[Comms], xref:refguide:testing:index/fakedata/applib/services/CreditCards.adoc[CreditCards], xref:refguide:testing:index/fakedata/applib/services/Doubles.adoc[Doubles], xref:refguide:testing:index/fakedata/applib/services/Enums.adoc[Enums], xref:refguide:testing:index/fakedata/applib/services/FakeDataService.adoc[FakeDataService], xref:refguide:testing:index/fakedata/applib/services/Floats.adoc[Floats], xref:refguide:testing:index/fakedata/applib/services/Integers.adoc[Integers], xref:refguide:testing:index/fakedata/applib/services/IsisBlobs.adoc[IsisBlobs], xref:refguide:testing:index/fakedata/applib/services/IsisClobs.adoc[IsisClobs], xref:refguide:testing:index/fakedata/applib/services/IsisPasswords.adoc[IsisPasswords], xref:refguide:testing:index/fakedata/applib/services/JavaSqlDates.adoc[JavaSqlDates], xref:refguide:testing:index/fakedata/applib/services/JavaSqlTimestamps.adoc[JavaSqlTimestamps], xref:refguide:testing:index/fakedata/applib/services/JavaTimeDateTimes.adoc[JavaTimeDateTimes], xref:refguide:testing:index/fakedata/applib/services/JavaTimeLocalDates.adoc[JavaTimeLocalDates], xref:refguide:testing:index/fakedata/applib/services/JavaTimePeriods.adoc[JavaTimePeriods], xref:refguide:testing:index/fakedata/applib/services/JavaUtilDates.adoc[JavaUtilDates], xref:refguide:testing:index/fakedata/applib/services/JodaDateTimes.adoc[JodaDateTimes], xref:refguide:testing:index/fakedata/applib/services/JodaLocalDates.adoc[JodaLocalDates], xref:refguide:testing:index/fakedata/applib/services/JodaPeriods.adoc[JodaPeriods], xref:refguide:testing:index/fakedata/applib/services/Longs.adoc[Longs], xref:refguide:testing:index/fakedata/applib/services/Lorem.adoc[Lorem], xref:refguide:testing:index/fakedata/applib/services/Names.adoc[Names], xref:refguide:testing:index/fakedata/applib/services/Shorts.adoc[Shorts], xref:refguide:testing:index/fakedata/applib/services/Strings.adoc[Strings], xref:refguide:testing:index/fakedata/applib/services/Urls.adoc[Urls], xref:refguide:testing:index/fakedata/applib/services/Uuids.adoc[Uuids]
****

|Apache Isis Tst - FakeData (fixtures)
[source,yaml]
----
Group: org.apache.isis.testing
Artifact: isis-testing-fakedata-fixtures
Type: jar
Directory: /testing/fakedata/fixtures
----
|.Dependencies
****
org.apache.isis.core:isis-applib:jar:<managed> +
org.apache.isis.persistence:isis-persistence-jdo-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-fakedata-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
org.projectlombok:lombok:jar:<managed> +
****

|Apache Isis Tst - FakeData (integ tests)
[source,yaml]
----
Group: org.apache.isis.testing
Artifact: isis-testing-fakedata-integtests
Type: jar
Directory: /testing/fakedata/integtests
----
|.Dependencies
****
org.apache.isis.persistence:isis-persistence-jdo-datanucleus:jar:<managed> +
org.apache.isis.testing:isis-testing-fakedata-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-fakedata-fixtures:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
****

|Apache Isis Tst - Fixtures (parent)
[source,yaml]
----
Group: org.apache.isis.testing
Artifact: isis-testing-fixtures
Type: pom
Directory: /testing/fixtures
----
|Library to initialize the system under test, either for integration testing or for prototyping.

|Apache Isis Tst - Fixtures (applib)
[source,yaml]
----
Group: org.apache.isis.testing
Artifact: isis-testing-fixtures-applib
Type: jar
Directory: /testing/fixtures/applib
----
|.Components
****
o.a.i.testing.fixtures.applib.modules.ModuleWithFixturesService +
o.a.i.testing.fixtures.applib.queryresultscache.QueryResultsCacheControlForFixtures +
o.a.i.testing.fixtures.applib.services.InitialFixtureScriptsInstaller +
****

.Dependencies
****
joda-time:joda-time:jar:<managed> +
org.apache.isis.core:isis-core-runtimeservices:jar:<managed> +
org.apache.isis.persistence:isis-persistence-jdo-applib:jar:<managed> +
org.apache.isis.persistence:isis-persistence-jpa-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:testing:index/fixtures/applib/IsisIntegrationTestAbstractWithFixtures.adoc[IsisIntegrationTestAbstractWithFixtures], xref:refguide:testing:index/fixtures/applib/IsisModuleTestingFixturesApplib.adoc[IsisModuleTestingFixturesApplib], xref:refguide:testing:index/fixtures/applib/events/FixturesInstalledEvent.adoc[FixturesInstalledEvent], xref:refguide:testing:index/fixtures/applib/events/FixturesInstallingEvent.adoc[FixturesInstallingEvent], xref:refguide:testing:index/fixtures/applib/fixturescripts/ExecutionParameters.adoc[ExecutionParameters], xref:refguide:testing:index/fixtures/applib/fixturescripts/ExecutionParametersDefault.adoc[ExecutionParametersDefault], xref:refguide:testing:index/fixtures/applib/fixturescripts/ExecutionParametersService.adoc[ExecutionParametersService], xref:refguide:testing:index/fixtures/applib/fixturescripts/FixtureResult.adoc[FixtureResult], xref:refguide:testing:index/fixtures/applib/fixturescripts/FixtureResultList.adoc[FixtureResultList], xref:refguide:testing:index/fixtures/applib/fixturescripts/FixtureScript.adoc[FixtureScript], xref:refguide:testing:index/fixtures/applib/fixturescripts/FixtureScriptWithExecutionStrategy.adoc[FixtureScriptWithExecutionStrategy], xref:refguide:testing:index/fixtures/applib/fixturescripts/FixtureScript_ExecutionContext.adoc[FixtureScript.ExecutionContext], xref:refguide:testing:index/fixtures/applib/fixturescripts/FixtureScripts.adoc[FixtureScripts], xref:refguide:testing:index/fixtures/applib/fixturescripts/FixtureScriptsSpecification.adoc[FixtureScriptsSpecification], xref:refguide:testing:index/fixtures/applib/fixturescripts/FixtureScriptsSpecificationProviderAutoConfiguration.adoc[FixtureScriptsSpecificationProviderAutoConfiguration], xref:refguide:testing:index/fixtures/applib/fixturescripts/FixtureScripts_MultipleExecutionStrategy.adoc[FixtureScripts.MultipleExecutionStrategy], xref:refguide:testing:index/fixtures/applib/fixturescripts/FixtureScripts_NonPersistedObjectsStrategy.adoc[FixtureScripts.NonPersistedObjectsStrategy], xref:refguide:testing:index/fixtures/applib/modules/ModuleWithFixtures.adoc[ModuleWithFixtures], xref:refguide:testing:index/fixtures/applib/modules/ModuleWithFixturesService.adoc[ModuleWithFixturesService], xref:refguide:testing:index/fixtures/applib/personas/BuilderScriptAbstract.adoc[BuilderScriptAbstract], xref:refguide:testing:index/fixtures/applib/personas/BuilderScriptWithResult.adoc[BuilderScriptWithResult], xref:refguide:testing:index/fixtures/applib/personas/BuilderScriptWithoutResult.adoc[BuilderScriptWithoutResult], xref:refguide:testing:index/fixtures/applib/personas/Persona.adoc[Persona], xref:refguide:testing:index/fixtures/applib/personas/PersonaWithBuilderScript.adoc[PersonaWithBuilderScript], xref:refguide:testing:index/fixtures/applib/personas/PersonaWithFinder.adoc[PersonaWithFinder], xref:refguide:testing:index/fixtures/applib/services/InitialFixtureScriptsInstaller.adoc[InitialFixtureScriptsInstaller], xref:refguide:testing:index/fixtures/applib/setup/PersonaEnumPersistAll.adoc[PersonaEnumPersistAll], xref:refguide:testing:index/fixtures/applib/teardown/jdo/TeardownFixtureJdoAbstract.adoc[TeardownFixtureJdoAbstract], xref:refguide:testing:index/fixtures/applib/teardown/jpa/TeardownFixtureJpaAbstract.adoc[TeardownFixtureJpaAbstract]
****

|Apache Isis Tst - H2 Console (parent)
[source,yaml]
----
Group: org.apache.isis.testing
Artifact: isis-testing-h2console
Type: pom
Directory: /testing/h2console
----
|Menu and configuration to open up H2 Console

|Apache Isis Tst - H2 Console (ui)
[source,yaml]
----
Group: org.apache.isis.testing
Artifact: isis-testing-h2console-ui
Type: jar
Directory: /testing/h2console/ui
----
|.Components
****
o.a.i.testing.h2console.ui.webmodule.WebModuleH2Console +
****

.Dependencies
****
com.h2database:h2:jar:<managed> +
javax.servlet:javax.servlet-api:jar:<managed> +
org.apache.isis.core:isis-core-webapp:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:testing:index/h2console/ui/IsisModuleTestingH2ConsoleUi.adoc[IsisModuleTestingH2ConsoleUi], xref:refguide:testing:index/h2console/ui/services/H2ManagerMenu.adoc[H2ManagerMenu], xref:refguide:testing:index/h2console/ui/webmodule/WebModuleH2Console.adoc[WebModuleH2Console]
****

|Apache Isis Tst - HSQLDB Manager (parent)
[source,yaml]
----
Group: org.apache.isis.testing
Artifact: isis-testing-hsqldbmgr
Type: pom
Directory: /testing/hsqldbmgr
----
|Menu and configuration to open up HSQLDB Manager

|Apache Isis Tst - HSQLDB Manager
[source,yaml]
----
Group: org.apache.isis.testing
Artifact: isis-testing-hsqldbmgr-ui
Type: jar
Directory: /testing/hsqldbmgr/ui
----
|.Dependencies
****
org.apache.isis.core:isis-core-webapp:jar:<managed> +
org.hsqldb:hsqldb:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/hsqldbmgr/dom/IsisModuleExtHsqldbMgr.adoc[IsisModuleExtHsqldbMgr], xref:refguide:extensions:index/hsqldbmgr/dom/services/HsqlDbManagerMenu.adoc[HsqlDbManagerMenu]
****

|Apache Isis Tst - Integ Test Support (parent)
[source,yaml]
----
Group: org.apache.isis.testing
Artifact: isis-testing-integtestsupport
Type: pom
Directory: /testing/integtestsupport
----
|Support for writing integ tests in JUnit 5; should be added as a dependency with scope=test only

|Apache Isis Tst - Integ Test Support (applib)
[source,yaml]
----
Group: org.apache.isis.testing
Artifact: isis-testing-integtestsupport-applib
Type: jar
Directory: /testing/integtestsupport/applib
----
|.Components
****
o.a.i.testing.integtestsupport.applib.IsisIntegrationTestAbstract$InteractionSupport +
****

.Dependencies
****
com.approvaltests:approvaltests:jar:<managed> +
com.h2database:h2:jar:<managed> +
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.core:isis-core-runtimeservices:jar:<managed> +
org.apache.isis.security:isis-security-bypass:jar:<managed> +
org.apache.isis.testing:isis-testing-fakedata-applib:jar:<managed> +
org.hamcrest:hamcrest-library:jar:<managed> +
org.hsqldb:hsqldb:jar:<managed> +
org.slf4j:slf4j-api:jar:<managed> +
org.springframework:spring-test:jar:<managed> +
org.springframework.boot:spring-boot-starter-test:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:testing:index/integtestsupport/applib/ExceptionRecognizerTranslate.adoc[ExceptionRecognizerTranslate], xref:refguide:testing:index/integtestsupport/applib/IsisIntegrationTestAbstract.adoc[IsisIntegrationTestAbstract], xref:refguide:testing:index/integtestsupport/applib/IsisInteractionHandler.adoc[IsisInteractionHandler], xref:refguide:testing:index/integtestsupport/applib/IsisModuleTestingIntegTestSupportApplib.adoc[IsisModuleTestingIntegTestSupportApplib], xref:refguide:testing:index/integtestsupport/applib/annotation/InteractAs.adoc[InteractAs], xref:refguide:testing:index/integtestsupport/applib/swagger/SwaggerExporter.adoc[SwaggerExporter], xref:refguide:testing:index/integtestsupport/applib/validate/DomainModelValidator.adoc[DomainModelValidator]
****

|Apache Isis Tst - Spec/Cucumber (parent)
[source,yaml]
----
Group: org.apache.isis.testing
Artifact: isis-testing-specsupport
Type: pom
Directory: /testing/specsupport
----
|Allows Cucumber to be used to write BDD-style specifications, generally as an alternative to integration tests.

|Apache Isis Tst - Spec/Cucumber (applib)
[source,yaml]
----
Group: org.apache.isis.testing
Artifact: isis-testing-specsupport-applib
Type: jar
Directory: /testing/specsupport/applib
----
|.Dependencies
****
io.cucumber:cucumber-java:jar:<managed> +
io.cucumber:cucumber-junit-platform-engine:jar:<managed> +
io.cucumber:cucumber-spring:jar:<managed> +
io.cucumber:messages:jar:19.1.4 +
org.apache.isis.testing:isis-testing-fakedata-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
org.junit.jupiter:junit-jupiter-api:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:testing:index/specsupport/applib/IsisModuleTestingSpecSupportApplib.adoc[IsisModuleTestingSpecSupportApplib], xref:refguide:testing:index/specsupport/applib/integration/ObjectFactoryForIntegration.adoc[ObjectFactoryForIntegration]
****

|Apache Isis Tst - Unit Test Support (parent)
[source,yaml]
----
Group: org.apache.isis.testing
Artifact: isis-testing-unittestsupport
Type: pom
Directory: /testing/unittestsupport
----
|A module providing test utilities for unit testing of domain modules

|Apache Isis Tst - Unit Test Support (applib)
[source,yaml]
----
Group: org.apache.isis.testing
Artifact: isis-testing-unittestsupport-applib
Type: jar
Directory: /testing/unittestsupport/applib
----
|.Dependencies
****
com.approvaltests:approvaltests:jar:<managed> +
org.apache.isis.core:isis-applib:jar:<managed> +
org.apache.isis.core:isis-core-codegen-bytebuddy:jar:<managed> +
org.apache.isis.core:isis-jdk-supplemental:pom:<managed> +
org.datanucleus:javax.jdo:jar:<managed> +
org.jmock:jmock:jar:<managed> +
org.jmock:jmock-junit4:jar:<managed> +
org.picocontainer:picocontainer:jar:<managed> +
org.slf4j:slf4j-api:jar:<managed> +
org.springframework:spring-test:jar:<managed> +
org.springframework.boot:spring-boot-starter-test:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:testing:index/unittestsupport/applib/IsisModuleTestingUnitTestSupportApplib.adoc[IsisModuleTestingUnitTestSupportApplib], xref:refguide:testing:index/unittestsupport/applib/assertions/Asserting.adoc[Asserting], xref:refguide:testing:index/unittestsupport/applib/dom/AbstractApplyToAllContractTest.adoc[AbstractApplyToAllContractTest], xref:refguide:testing:index/unittestsupport/applib/dom/comparable/ComparableContractTest_compareTo.adoc[ComparableContractTest_compareTo], xref:refguide:testing:index/unittestsupport/applib/dom/comparable/ComparableContractTester.adoc[ComparableContractTester], xref:refguide:testing:index/unittestsupport/applib/dom/pojo/PojoTester.adoc[PojoTester], xref:refguide:testing:index/unittestsupport/applib/dom/sortedsets/SortedSetsContractTestAbstract.adoc[SortedSetsContractTestAbstract], xref:refguide:testing:index/unittestsupport/applib/dom/value/ValueTypeContractTestAbstract.adoc[ValueTypeContractTestAbstract], xref:refguide:testing:index/unittestsupport/applib/io/IndentPrinter.adoc[IndentPrinter], xref:refguide:testing:index/unittestsupport/applib/io/NullPrintStream.adoc[NullPrintStream], xref:refguide:testing:index/unittestsupport/applib/jmocking/Imposterisers.adoc[Imposterisers], xref:refguide:testing:index/unittestsupport/applib/jmocking/InjectIntoJMockAction.adoc[InjectIntoJMockAction], xref:refguide:testing:index/unittestsupport/applib/jmocking/IsisActions.adoc[IsisActions], xref:refguide:testing:index/unittestsupport/applib/jmocking/JMockActions.adoc[JMockActions], xref:refguide:testing:index/unittestsupport/applib/jmocking/JUnitRuleMockery2.adoc[JUnitRuleMockery2], xref:refguide:testing:index/unittestsupport/applib/jmocking/PostponedAction.adoc[PostponedAction], xref:refguide:testing:index/unittestsupport/applib/matchers/ClassMatchers.adoc[ClassMatchers], xref:refguide:testing:index/unittestsupport/applib/matchers/ComparableMatchers.adoc[ComparableMatchers], xref:refguide:testing:index/unittestsupport/applib/matchers/FileMatchers.adoc[FileMatchers], xref:refguide:testing:index/unittestsupport/applib/matchers/JaxbMatchers.adoc[JaxbMatchers], xref:refguide:testing:index/unittestsupport/applib/matchers/ListMatchers.adoc[ListMatchers], xref:refguide:testing:index/unittestsupport/applib/matchers/StringMatchers.adoc[StringMatchers], xref:refguide:testing:index/unittestsupport/applib/matchers/ThrowableMatchers.adoc[ThrowableMatchers], xref:refguide:testing:index/unittestsupport/applib/util/CollectUtils.adoc[CollectUtils], xref:refguide:testing:index/unittestsupport/applib/util/FileUtils.adoc[FileUtils], xref:refguide:testing:index/unittestsupport/applib/util/InjectUtils.adoc[InjectUtils], xref:refguide:testing:index/unittestsupport/applib/util/ReflectUtils.adoc[ReflectUtils], xref:refguide:testing:index/unittestsupport/applib/util/StringUtils.adoc[StringUtils]
****
|===

== Examples

[plantuml,Examples,svg]
----
@startuml(id=Examples)
title Examples - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<3>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<4>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<5>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<6>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<7>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<8>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<9>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<10>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "Examples\n[Software System]" {
  rectangle "==Demo - Domain\n<size:10>[Container: packaging: jar]</size>" <<3>> as 3
  rectangle "==Demo - JavaFX\n<size:10>[Container: packaging: jar]</size>" <<4>> as 4
  rectangle "==Demo - Parent\n<size:10>[Container: packaging: pom]</size>" <<2>> as 2
  rectangle "==Demo - Vaadin\n<size:10>[Container: packaging: jar]</size>" <<5>> as 5
  rectangle "==Demo - Web\n<size:10>[Container: packaging: jar]</size>" <<6>> as 6
  rectangle "==Demo - Wicket (Common)\n<size:10>[Container: packaging: jar]</size>" <<7>> as 7
  rectangle "==Demo - Wicket/JDO\n<size:10>[Container: packaging: jar]</size>" <<8>> as 8
  rectangle "==Demo - Wicket/JPA\n<size:10>[Container: packaging: jar]</size>" <<9>> as 9
  rectangle "==Demo - Wicket/JPA (with GraphQL)\n<size:10>[Container: packaging: jar]</size>" <<10>> as 10
}
2 .[#707070].> 3 : ""
2 .[#707070].> 4 : ""
2 .[#707070].> 5 : ""
2 .[#707070].> 6 : ""
2 .[#707070].> 7 : ""
2 .[#707070].> 8 : ""
2 .[#707070].> 9 : ""
2 .[#707070].> 10 : ""
@enduml
----
.Projects/Modules (Examples)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Demo - Parent
[source,yaml]
----
Group: org.apache.isis.examples.apps
Artifact: demo-parent
Type: pom
Directory: /examples/demo
----
|.Dependencies
****
org.projectlombok:lombok:jar:<managed> +
****

|Demo - Domain
[source,yaml]
----
Group: org.apache.isis.examples.apps
Artifact: demo-domain
Type: jar
Directory: /examples/demo/domain
----
|.Components
****
demoapp.dom.AppConfiguration +
demoapp.dom._infra.LibraryPreloadingService +
demoapp.dom._infra.resources.AsciiDocConverterService +
demoapp.dom._infra.resources.AsciiDocReaderService +
demoapp.dom._infra.resources.AsciiDocValueSemanticsWithPreprocessing +
demoapp.dom._infra.resources.MarkdownReaderService +
demoapp.dom._infra.resources.MarkupReaderService +
demoapp.dom._infra.resources.MarkupVariableResolverService +
demoapp.dom._infra.resources.ResourceReaderService +
demoapp.dom._infra.samples.EnumSamples +
demoapp.dom._infra.samples.NameSamples +
demoapp.dom._infra.samples.asciidoc.IsisAsciiDocSamples +
demoapp.dom._infra.samples.markdown.IsisMarkdownSamples +
demoapp.dom._infra.urlencoding.UrlEncodingServiceNaiveInMemory +
demoapp.dom.domain._changes.EntityChangesSubscriberToCaptureChangesInMemory +
demoapp.dom.domain._commands.ExposePersistedCommands$TableColumnOrderDefault +
demoapp.dom.domain._interactions.ExecutionListenerToCaptureInteractionsInMemory +
demoapp.dom.domain.actions.Action.commandPublishing.ActionCommandPublishingSeeding +
demoapp.dom.domain.actions.Action.commandPublishing.jdo.ActionCommandPublishingJdoEntities +
demoapp.dom.domain.actions.Action.commandPublishing.jpa.ActionCommandPublishingJpaEntities +
demoapp.dom.domain.actions.Action.domainEvent.subscribers.ActionDomainEventControlService +
demoapp.dom.domain.actions.Action.executionPublishing.ActionExecutionPublishingSeeding +
demoapp.dom.domain.actions.Action.executionPublishing.jdo.ActionExecutionPublishingJdoEntities +
demoapp.dom.domain.actions.Action.executionPublishing.jpa.ActionExecutionPublishingJpaEntities +
demoapp.dom.domain.collections.Collection.domainEvent.subscribers.CollectionDomainEventControlService +
demoapp.dom.domain.objects.DomainObject.entityChangePublishing.annotated.disabled.DomainObjectEntityChangePublishingDisabledSeeding +
demoapp.dom.domain.objects.DomainObject.entityChangePublishing.annotated.disabled.jdo.DomainObjectEntityChangePublishingDisabledJdoEntities +
demoapp.dom.domain.objects.DomainObject.entityChangePublishing.annotated.disabled.jpa.DomainObjectEntityChangePublishingDisabledJpaEntities +
demoapp.dom.domain.objects.DomainObject.entityChangePublishing.annotated.enabled.DomainObjectEntityChangePublishingEnabledSeeding +
demoapp.dom.domain.objects.DomainObject.entityChangePublishing.annotated.enabled.jdo.DomainObjectEntityChangePublishingEnabledJdoEntities +
demoapp.dom.domain.objects.DomainObject.entityChangePublishing.annotated.enabled.jpa.DomainObjectEntityChangePublishingEnabledJpaEntities +
demoapp.dom.domain.objects.DomainObject.entityChangePublishing.metaAnnot.enabled.DomainObjectEntityChangePublishingEnabledMetaAnnotatedSeeding +
demoapp.dom.domain.objects.DomainObject.entityChangePublishing.metaAnnot.enabled.jdo.DomainObjectEntityChangePublishingEnabledMetaAnnotatedJdoEntities +
demoapp.dom.domain.objects.DomainObject.entityChangePublishing.metaAnnot.enabled.jpa.DomainObjectEntityChangePublishingEnabledMetaAnnotatedJpaEntities +
demoapp.dom.domain.objects.DomainObject.entityChangePublishing.metaAnnotOverridden.enabled.DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenSeeding +
demoapp.dom.domain.objects.DomainObject.entityChangePublishing.metaAnnotOverridden.enabled.jdo.DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenJdoEntities +
demoapp.dom.domain.objects.DomainObject.entityChangePublishing.metaAnnotOverridden.enabled.jpa.DomainObjectEntityChangePublishingEnabledMetaAnnotOverriddenJpaEntities +
demoapp.dom.domain.objects.DomainObject.nature.viewmodels.jaxbrefentity.JaxbRefSeeding +
demoapp.dom.domain.objects.DomainObject.nature.viewmodels.jaxbrefentity.jdo.JaxbRefJdoEntities +
demoapp.dom.domain.objects.DomainObject.nature.viewmodels.jaxbrefentity.jpa.JaxbRefJpaEntities +
demoapp.dom.domain.objects.other.embedded.jdo.ComplexNumberJdoValueSemantics +
demoapp.dom.domain.objects.other.embedded.jdo.NumberConstantJdoRepository +
demoapp.dom.domain.objects.other.embedded.jpa.ComplexNumberJpaValueSemantics +
demoapp.dom.domain.objects.other.embedded.jpa.NumberConstantJpaRepository +
demoapp.dom.domain.objects.other.embedded.persistence.NumberConstantSeeding +
demoapp.dom.domain.objects.other.embedded.samples.ComplexNumberSamples +
demoapp.dom.domain.properties.Property.commandPublishing.PropertyCommandPublishingSeeding +
demoapp.dom.domain.properties.Property.commandPublishing.jdo.PropertyCommandPublishingJdoEntities +
demoapp.dom.domain.properties.Property.commandPublishing.jpa.PropertyCommandPublishingJpaEntities +
demoapp.dom.domain.properties.Property.domainEvent.subscribers.PropertyDomainEventControlService +
demoapp.dom.domain.properties.Property.executionPublishing.PropertyExecutionPublishingSeeding +
demoapp.dom.domain.properties.Property.executionPublishing.jdo.PropertyExecutionPublishingJdoEntities +
demoapp.dom.domain.properties.Property.executionPublishing.jpa.PropertyExecutionPublishingJpaEntities +
demoapp.dom.domain.properties.Property.projecting.jdo.PropertyProjectingChildJdoEntities +
demoapp.dom.domain.properties.Property.projecting.jpa.PropertyProjectingChildJpaEntities +
demoapp.dom.domain.properties.Property.projecting.persistence.PropertyProjectingChildSeeding +
demoapp.dom.domain.properties.PropertyLayout.navigable.FileTreeNodeService +
demoapp.dom.domain.properties.PropertyLayout.repainting.PdfJsViewerAdvisorFallback +
demoapp.dom.featured.customui.geocoding.GeoapifyClient +
demoapp.dom.services.core.errorreportingservice.ErrorReportingServiceDemoImplementation +
demoapp.dom.services.core.eventbusservice.EventLogEntryJdoRepository +
demoapp.dom.services.core.eventbusservice.EventLogEntryJpaRepository +
demoapp.dom.services.core.eventbusservice.EventSubscriberDemoImplementation +
demoapp.dom.services.core.wrapperFactory.WrapperFactorySeeding +
demoapp.dom.services.core.wrapperFactory.jdo.WrapperFactoryJdoEntities +
demoapp.dom.services.core.wrapperFactory.jpa.WrapperFactoryJpaEntities +
demoapp.dom.services.extensions.secman.apptenancy.ApplicationTenancyEvaluatorForDemo +
demoapp.dom.services.extensions.secman.apptenancy.jdo.TenantedJdoEntities +
demoapp.dom.services.extensions.secman.apptenancy.jpa.TenantedJpaEntities +
demoapp.dom.services.extensions.secman.apptenancy.persistence.TenantedSeeding +
demoapp.dom.services.extensions.secman.appuser.seed.AppUserSeeding +
demoapp.dom.types.isis.blobs.jdo.IsisBlobJdoEntities +
demoapp.dom.types.isis.blobs.jpa.IsisBlobJpaEntities +
demoapp.dom.types.isis.blobs.persistence.IsisBlobSeeding +
demoapp.dom.types.isis.blobs.samples.IsisBlobsSamples +
demoapp.dom.types.isis.clobs.jdo.IsisClobJdoEntities +
demoapp.dom.types.isis.clobs.jpa.IsisClobJpaEntities +
demoapp.dom.types.isis.clobs.persistence.IsisClobSeeding +
demoapp.dom.types.isis.clobs.samples.IsisClobsSamples +
demoapp.dom.types.isis.localresourcepaths.jdo.IsisLocalResourcePathJdoEntities +
demoapp.dom.types.isis.localresourcepaths.jpa.IsisLocalResourcePathJpaEntities +
demoapp.dom.types.isis.localresourcepaths.persistence.IsisLocalResourcePathSeeding +
demoapp.dom.types.isis.localresourcepaths.samples.IsisLocalResourcePathsSamples +
demoapp.dom.types.isis.markups.jdo.IsisMarkupJdoEntities +
demoapp.dom.types.isis.markups.jpa.IsisMarkupJpaEntities +
demoapp.dom.types.isis.markups.persistence.IsisMarkupSeeding +
demoapp.dom.types.isis.markups.samples.IsisMarkupSamples +
demoapp.dom.types.isis.passwords.jdo.IsisPasswordJdoEntities +
demoapp.dom.types.isis.passwords.jpa.IsisPasswordJpaEntities +
demoapp.dom.types.isis.passwords.persistence.IsisPasswordSeeding +
demoapp.dom.types.isis.passwords.samples.IsisPasswordsSamples +
demoapp.dom.types.isisext.cal.jdo.IsisCalendarEventEntities +
demoapp.dom.types.isisext.cal.jpa.IsisCalendarEventEntities +
demoapp.dom.types.isisext.cal.persistence.IsisCalendarEventSeeding +
demoapp.dom.types.isisext.cal.samples.IsisCalendarEventSamples +
demoapp.dom.types.isisval.asciidocs.jdo.IsisAsciiDocJdoEntities +
demoapp.dom.types.isisval.asciidocs.jpa.IsisAsciiDocJpaEntities +
demoapp.dom.types.isisval.asciidocs.persistence.IsisAsciiDocSeeding +
demoapp.dom.types.isisval.markdowns.jdo.IsisMarkdownJdoEntities +
demoapp.dom.types.isisval.markdowns.jpa.IsisMarkdownJpaEntities +
demoapp.dom.types.isisval.markdowns.persistence.IsisMarkdownSeeding +
demoapp.dom.types.isisval.vegas.jdo.IsisVegaJdoEntities +
demoapp.dom.types.isisval.vegas.jpa.IsisVegaJpaEntities +
demoapp.dom.types.isisval.vegas.persistence.IsisVegaSeeding +
demoapp.dom.types.isisval.vegas.samples.IsisVegaSamples +
demoapp.dom.types.javaawt.images.jdo.JavaAwtBufferedImageJdoEntities +
demoapp.dom.types.javaawt.images.jpa.JavaAwtBufferedImageJpaEntities +
demoapp.dom.types.javaawt.images.persistence.JavaAwtBufferedImageSeeding +
demoapp.dom.types.javaawt.images.samples.JavaAwtBufferedImageService +
demoapp.dom.types.javaawt.images.samples.JavaAwtBufferedImagesSamples +
demoapp.dom.types.javalang.booleans.jdo.WrapperBooleanJdoEntities +
demoapp.dom.types.javalang.booleans.jpa.WrapperBooleanJpaEntities +
demoapp.dom.types.javalang.booleans.persistence.WrapperBooleanSeeding +
demoapp.dom.types.javalang.booleans.samples.WrapperBooleanSamples +
demoapp.dom.types.javalang.bytes.jdo.WrapperByteJdoEntities +
demoapp.dom.types.javalang.bytes.jpa.WrapperByteJpaEntities +
demoapp.dom.types.javalang.bytes.persistence.WrapperByteSeeding +
demoapp.dom.types.javalang.bytes.samples.WrapperByteSamples +
demoapp.dom.types.javalang.characters.jdo.WrapperCharacterJdoEntities +
demoapp.dom.types.javalang.characters.jpa.WrapperCharacterJpaEntities +
demoapp.dom.types.javalang.characters.persistence.WrapperCharacterSeeding +
demoapp.dom.types.javalang.characters.samples.WrapperCharacterSamples +
demoapp.dom.types.javalang.doubles.jdo.WrapperDoubleJdoEntities +
demoapp.dom.types.javalang.doubles.jpa.WrapperDoubleJpaEntities +
demoapp.dom.types.javalang.doubles.persistence.WrapperDoubleSeeding +
demoapp.dom.types.javalang.doubles.samples.WrapperDoubleSamples +
demoapp.dom.types.javalang.enums.jdo.JavaLangEnumJdoEntities +
demoapp.dom.types.javalang.enums.jpa.JavaLangEnumJpaEntities +
demoapp.dom.types.javalang.enums.persistence.JavaLangEnumSeeding +
demoapp.dom.types.javalang.floats.jdo.WrapperFloatJdoEntities +
demoapp.dom.types.javalang.floats.jpa.WrapperFloatJpaEntities +
demoapp.dom.types.javalang.floats.persistence.WrapperFloatSeeding +
demoapp.dom.types.javalang.floats.samples.WrapperFloatSamples +
demoapp.dom.types.javalang.integers.jdo.WrapperIntegerJdoEntities +
demoapp.dom.types.javalang.integers.jpa.WrapperIntegerJpaEntities +
demoapp.dom.types.javalang.integers.persistence.WrapperIntegerSeeding +
demoapp.dom.types.javalang.integers.samples.WrapperIntegerSamples +
demoapp.dom.types.javalang.longs.jdo.WrapperLongJdoEntities +
demoapp.dom.types.javalang.longs.jpa.WrapperLongJpaEntities +
demoapp.dom.types.javalang.longs.persistence.WrapperLongSeeding +
demoapp.dom.types.javalang.longs.samples.WrapperLongSamples +
demoapp.dom.types.javalang.shorts.jdo.WrapperShortJdoEntities +
demoapp.dom.types.javalang.shorts.jpa.WrapperShortJpaEntities +
demoapp.dom.types.javalang.shorts.persistence.WrapperShortSeeding +
demoapp.dom.types.javalang.shorts.samples.WrapperShortSamples +
demoapp.dom.types.javalang.strings.jdo.JavaLangStringJdoEntities +
demoapp.dom.types.javalang.strings.jpa.JavaLangStringJpaEntities +
demoapp.dom.types.javalang.strings.persistence.JavaLangStringSeeding +
demoapp.dom.types.javamath.bigdecimals.jdo.JavaMathBigDecimalJdoEntities +
demoapp.dom.types.javamath.bigdecimals.jpa.JavaMathBigDecimalJpaEntities +
demoapp.dom.types.javamath.bigdecimals.persistence.JavaMathBigDecimalSeeding +
demoapp.dom.types.javamath.bigdecimals.samples.JavaMathBigDecimalSamples +
demoapp.dom.types.javamath.bigintegers.jdo.JavaMathBigIntegerJdoEntities +
demoapp.dom.types.javamath.bigintegers.jpa.JavaMathBigIntegerJpaEntities +
demoapp.dom.types.javamath.bigintegers.persistence.JavaMathBigIntegerSeeding +
demoapp.dom.types.javamath.bigintegers.samples.JavaMathBigIntegerSamples +
demoapp.dom.types.javanet.urls.jdo.JavaNetUrlJdoEntities +
demoapp.dom.types.javanet.urls.jpa.JavaNetUrlJpaEntities +
demoapp.dom.types.javanet.urls.persistence.JavaNetUrlSeeding +
demoapp.dom.types.javanet.urls.samples.JavaNetUrlSamples +
demoapp.dom.types.javasql.javasqldate.jdo.JavaSqlDateJdoEntities +
demoapp.dom.types.javasql.javasqldate.jpa.JavaSqlDateJpaEntities +
demoapp.dom.types.javasql.javasqldate.persistence.JavaSqlDateSeeding +
demoapp.dom.types.javasql.javasqldate.samples.JavaSqlDateSamples +
demoapp.dom.types.javasql.javasqltimestamp.jdo.JavaSqlTimestampJdoEntities +
demoapp.dom.types.javasql.javasqltimestamp.jpa.JavaSqlTimestampJpaEntities +
demoapp.dom.types.javasql.javasqltimestamp.persistence.JavaSqlTimestampSeeding +
demoapp.dom.types.javasql.javasqltimestamp.samples.JavaSqlTimestampSamples +
demoapp.dom.types.javatime.javatimelocaldate.jdo.JavaTimeLocalDateJdoEntities +
demoapp.dom.types.javatime.javatimelocaldate.jpa.JavaTimeLocalDateJpaEntities +
demoapp.dom.types.javatime.javatimelocaldate.persistence.JavaTimeLocalDateSeeding +
demoapp.dom.types.javatime.javatimelocaldate.samples.JavaTimeLocalDateSamples +
demoapp.dom.types.javatime.javatimelocaldatetime.jdo.JavaTimeLocalDateTimeJdoEntities +
demoapp.dom.types.javatime.javatimelocaldatetime.jpa.JavaTimeLocalDateTimeJpaEntities +
demoapp.dom.types.javatime.javatimelocaldatetime.persistence.JavaTimeLocalDateTimeSeeding +
demoapp.dom.types.javatime.javatimelocaldatetime.samples.JavaTimeLocalDateTimeSamples +
demoapp.dom.types.javatime.javatimelocaltime.jdo.JavaTimeLocalTimeJdoEntities +
demoapp.dom.types.javatime.javatimelocaltime.jpa.JavaTimeLocalTimeJpaEntities +
demoapp.dom.types.javatime.javatimelocaltime.persistence.JavaTimeLocalTimeSeeding +
demoapp.dom.types.javatime.javatimelocaltime.samples.JavaTimeLocalTimeSamples +
demoapp.dom.types.javatime.javatimeoffsetdatetime.jdo.JavaTimeOffsetDateTimeJdoEntities +
demoapp.dom.types.javatime.javatimeoffsetdatetime.jpa.JavaTimeOffsetDateTimeJpaEntities +
demoapp.dom.types.javatime.javatimeoffsetdatetime.persistence.JavaTimeOffsetDateTimeSeeding +
demoapp.dom.types.javatime.javatimeoffsetdatetime.samples.JavaTimeOffsetDateTimeSamples +
demoapp.dom.types.javatime.javatimeoffsettime.jdo.JavaTimeOffsetTimeJdoEntities +
demoapp.dom.types.javatime.javatimeoffsettime.jpa.JavaTimeOffsetTimeJpaEntities +
demoapp.dom.types.javatime.javatimeoffsettime.persistence.JavaTimeOffsetTimeSeeding +
demoapp.dom.types.javatime.javatimeoffsettime.samples.JavaTimeOffsetTimeSamples +
demoapp.dom.types.javatime.javatimezoneddatetime.jdo.JavaTimeZonedDateTimeJdoEntities +
demoapp.dom.types.javatime.javatimezoneddatetime.jpa.JavaTimeZonedDateTimeJpaEntities +
demoapp.dom.types.javatime.javatimezoneddatetime.persistence.JavaTimeZonedDateTimeSeeding +
demoapp.dom.types.javatime.javatimezoneddatetime.samples.JavaTimeZonedDateTimeSamples +
demoapp.dom.types.javautil.javautildate.jdo.JavaUtilDateJdoEntities +
demoapp.dom.types.javautil.javautildate.jpa.JavaUtilDateJpaEntities +
demoapp.dom.types.javautil.javautildate.persistence.JavaUtilDateSeeding +
demoapp.dom.types.javautil.javautildate.samples.JavaUtilDateSamples +
demoapp.dom.types.javautil.uuids.jdo.JavaUtilUuidJdoEntities +
demoapp.dom.types.javautil.uuids.jpa.JavaUtilUuidJpaEntities +
demoapp.dom.types.javautil.uuids.persistence.JavaUtilUuidSeeding +
demoapp.dom.types.javautil.uuids.samples.JavaUtilUuidSamples +
demoapp.dom.types.jodatime.jodadatetime.jdo.JodaDateTimeJdoEntities +
demoapp.dom.types.jodatime.jodadatetime.persistence.JodaDateTimeJdoSeeding +
demoapp.dom.types.jodatime.jodadatetime.samples.JodaDateTimeSamples +
demoapp.dom.types.jodatime.jodalocaldate.jdo.JodaLocalDateJdoEntities +
demoapp.dom.types.jodatime.jodalocaldate.persistence.JodaLocalDateJdoSeeding +
demoapp.dom.types.jodatime.jodalocaldate.samples.JodaLocalDateSamples +
demoapp.dom.types.jodatime.jodalocaldatetime.jdo.JodaLocalDateTimeJdoEntities +
demoapp.dom.types.jodatime.jodalocaldatetime.persistence.JodaLocalDateTimeSeeding +
demoapp.dom.types.jodatime.jodalocaldatetime.samples.JodaLocalDateTimeSamples +
demoapp.dom.types.jodatime.jodalocaltime.jdo.JodaLocalTimeJdoEntities +
demoapp.dom.types.jodatime.jodalocaltime.persistence.JodaLocalTimeSeeding +
demoapp.dom.types.jodatime.jodalocaltime.samples.JodaLocalTimeSamples +
demoapp.dom.types.primitive.booleans.jdo.PrimitiveBooleanJdoEntities +
demoapp.dom.types.primitive.booleans.jpa.PrimitiveBooleanJpaEntities +
demoapp.dom.types.primitive.booleans.persistence.PrimitiveBooleanSeeding +
demoapp.dom.types.primitive.bytes.jdo.PrimitiveByteJdoEntities +
demoapp.dom.types.primitive.bytes.jpa.PrimitiveByteJpaEntities +
demoapp.dom.types.primitive.bytes.persistence.PrimitiveByteSeeding +
demoapp.dom.types.primitive.chars.jdo.PrimitiveCharJdoEntities +
demoapp.dom.types.primitive.chars.jpa.PrimitiveCharJpaEntities +
demoapp.dom.types.primitive.chars.persistence.PrimitiveCharSeeding +
demoapp.dom.types.primitive.doubles.jdo.PrimitiveDoubleJdoEntities +
demoapp.dom.types.primitive.doubles.jpa.PrimitiveDoubleJpaEntities +
demoapp.dom.types.primitive.doubles.persistence.PrimitiveDoubleSeeding +
demoapp.dom.types.primitive.floats.jdo.PrimitiveFloatJdoEntities +
demoapp.dom.types.primitive.floats.jpa.PrimitiveFloatJpaEntities +
demoapp.dom.types.primitive.floats.persistence.PrimitiveFloatSeeding +
demoapp.dom.types.primitive.ints.jdo.PrimitiveIntJdoEntities +
demoapp.dom.types.primitive.ints.jpa.PrimitiveIntJpaEntities +
demoapp.dom.types.primitive.ints.persistence.PrimitiveIntSeeding +
demoapp.dom.types.primitive.longs.jdo.PrimitiveLongJdoEntities +
demoapp.dom.types.primitive.longs.jpa.PrimitiveLongJpaEntities +
demoapp.dom.types.primitive.longs.persistence.PrimitiveLongSeeding +
demoapp.dom.types.primitive.shorts.jdo.PrimitiveShortJdoEntities +
demoapp.dom.types.primitive.shorts.jpa.PrimitiveShortJpaEntities +
demoapp.dom.types.primitive.shorts.persistence.PrimitiveShortSeeding +
****

.Dependencies
****
com.h2database:h2:jar:<managed> +
org.apache.isis.extensions:isis-extensions-audittrail-persistence-jdo:jar:<managed> +
org.apache.isis.extensions:isis-extensions-audittrail-persistence-jpa:jar:<managed> +
org.apache.isis.extensions:isis-extensions-commandlog-persistence-jdo:jar:<managed> +
org.apache.isis.extensions:isis-extensions-commandlog-persistence-jpa:jar:<managed> +
org.apache.isis.extensions:isis-extensions-exceldownload-wicket-ui:jar:<managed> +
org.apache.isis.extensions:isis-extensions-executionlog-persistence-jdo:jar:<managed> +
org.apache.isis.extensions:isis-extensions-executionlog-persistence-jpa:jar:<managed> +
org.apache.isis.extensions:isis-extensions-executionoutbox-persistence-jdo:jar:<managed> +
org.apache.isis.extensions:isis-extensions-executionoutbox-persistence-jpa:jar:<managed> +
org.apache.isis.extensions:isis-extensions-fullcalendar-applib:jar:<managed> +
org.apache.isis.extensions:isis-extensions-pdfjs-applib:jar:<managed> +
org.apache.isis.extensions:isis-extensions-secman-delegated-shiro:jar:<managed> +
org.apache.isis.extensions:isis-extensions-secman-encryption-spring:jar:<managed> +
org.apache.isis.extensions:isis-extensions-secman-integration:jar:<managed> +
org.apache.isis.extensions:isis-extensions-secman-persistence-jdo:jar:<managed> +
org.apache.isis.extensions:isis-extensions-secman-persistence-jpa:jar:<managed> +
org.apache.isis.extensions:isis-extensions-sessionlog-persistence-jdo:jar:<managed> +
org.apache.isis.extensions:isis-extensions-sessionlog-persistence-jpa:jar:<managed> +
org.apache.isis.extensions:isis-extensions-sse-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-h2console-ui:jar:<managed> +
org.apache.isis.testing:isis-testing-unittestsupport-applib:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-asciidoc-metamodel:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-asciidoc-persistence-jdo:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-asciidoc-persistence-jpa:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-markdown-metamodel:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-markdown-persistence-jdo:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-markdown-persistence-jpa:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-vega-metamodel:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-vega-persistence-jdo:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-vega-persistence-jpa:jar:<managed> +
org.assertj:assertj-core:jar:<managed> +
org.springframework.boot:spring-boot-configuration-processor:jar:<managed> +
****

|Demo - JavaFX
[source,yaml]
----
Group: org.apache.isis.examples.apps
Artifact: demo-javafx
Type: jar
Directory: /examples/demo/javafx
----
|.Dependencies
****
org.apache.isis.core:isis-core-runtimeservices:jar:<managed> +
org.apache.isis.core:isis-core-security:jar:<managed> +
org.apache.isis.examples.apps:demo-domain:jar:${project.version} +
org.apache.isis.incubator.viewer:isis-viewer-javafx-viewer:jar:${project.version} +
org.apache.isis.persistence:isis-persistence-jdo-applib:jar:<managed> +
org.apache.isis.security:isis-security-bypass:jar:<managed> +
org.apache.isis.security:isis-security-shiro:jar:<managed> +
org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-asciidoc-metamodel:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-asciidoc-ui:pom:${project.version} +
org.apache.isis.valuetypes:isis-valuetypes-markdown-metamodel:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-markdown-ui:pom:${project.version} +
org.projectlombok:lombok:jar:<managed> +
****

|Demo - Vaadin
[source,yaml]
----
Group: org.apache.isis.examples.apps
Artifact: demo-vaadin
Type: jar
Directory: /examples/demo/vaadin
----
|.Dependencies
****
org.apache.isis.examples.apps:demo-web:jar:${project.version} +
org.apache.isis.extensions:isis-extensions-sse-wicket:jar:<managed> +
org.apache.isis.incubator.viewer:isis-viewer-vaadin-viewer:jar:${project.version} +
org.apache.isis.valuetypes:isis-valuetypes-asciidoc-ui-vaa:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-asciidoc-ui-wkt:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-markdown-ui-wkt:jar:<managed> +
org.projectlombok:lombok:jar:<managed> +
****

|Demo - Web
[source,yaml]
----
Group: org.apache.isis.examples.apps
Artifact: demo-web
Type: jar
Directory: /examples/demo/web
----
|.Components
****
demoapp.web._infra.utils.ThereCanBeOnlyOne +
****

.Dependencies
****
org.apache.isis.examples.apps:demo-domain:jar:<managed> +
org.apache.isis.extensions:isis-extensions-cors-impl:jar:<managed> +
org.apache.isis.mavendeps:isis-mavendeps-webapp:pom:<managed> +
org.springframework.boot:spring-boot-starter:jar:<managed> +
org.springframework.boot:spring-boot-starter-actuator:jar:<managed> +
org.springframework.boot:spring-boot-starter-log4j2:jar:<managed> +
****

|Demo - Wicket (Common)
[source,yaml]
----
Group: org.apache.isis.examples.apps
Artifact: demo-wicket-common
Type: jar
Directory: /examples/demo/wicket/common
----
|.Components
****
demoapp.webapp.wicket.common.ui.custom.WhereInTheWorldPanelFactory +
****

.Dependencies
****
org.apache.isis.examples.apps:demo-web:jar:${project.version} +
org.apache.isis.extensions:isis-extensions-fullcalendar-wicket-ui:jar:<managed> +
org.apache.isis.extensions:isis-extensions-pdfjs-wicket-ui:jar:<managed> +
org.apache.isis.extensions:isis-extensions-sse-wicket:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-asciidoc-ui-wkt:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-markdown-ui-wkt:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-vega-ui-wkt:jar:<managed> +
org.apache.isis.viewer:isis-viewer-wicket-applib:jar:<managed> +
org.apache.isis.viewer:isis-viewer-wicket-ui:jar:<managed> +
org.apache.isis.viewer:isis-viewer-wicket-viewer:jar:<managed> +
****

|Demo - Wicket/JDO
[source,yaml]
----
Group: org.apache.isis.examples.apps
Artifact: demo-wicket-jdo
Type: jar
Directory: /examples/demo/wicket/jdo
----
|.Dependencies
****
org.apache.isis.examples.apps:demo-wicket-common:jar:${project.version} +
org.apache.isis.persistence:isis-persistence-jdo-datanucleus:jar:<managed> +
****

|Demo - Wicket/JPA
[source,yaml]
----
Group: org.apache.isis.examples.apps
Artifact: demo-wicket-jpa
Type: jar
Directory: /examples/demo/wicket/jpa
----
|.Dependencies
****
org.apache.isis.examples.apps:demo-wicket-common:jar:${project.version} +
org.apache.isis.persistence:isis-persistence-jpa-eclipselink:jar:<managed> +
****

|Demo - Wicket/JPA (with GraphQL)
[source,yaml]
----
Group: org.apache.isis.examples.apps
Artifact: demo-wicket-jpa-and-graphql
Type: jar
Directory: /examples/demo/wicket/jpa-and-graphql
----
|.Dependencies
****
org.apache.isis.examples.apps:demo-wicket-common:jar:${project.version} +
org.apache.isis.incubator.viewer:isis-viewer-graphql-viewer:jar:<managed> +
org.apache.isis.persistence:isis-persistence-jpa-eclipselink:jar:<managed> +
****
|===

== Root

[plantuml,Root,svg]
----
@startuml(id=Root)
title Root - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<3>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<4>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<5>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "Root\n[Software System]" {
  rectangle "==Apache Isis\n<size:10>[Container: packaging: pom]</size>" <<4>> as 4
  rectangle "==Apache Isis (Aggregator)\n<size:10>[Container: packaging: pom]</size>" <<2>> as 2
  rectangle "==Apache Isis - Antora\n<size:10>[Container: packaging: pom]</size>" <<3>> as 3
  rectangle "==Apache Isis Supplemental - Legal Info\n<size:10>[Container: packaging: jar]</size>" <<5>> as 5
}
2 .[#707070].> 4 : ""
2 .[#707070].> 3 : ""
@enduml
----
.Projects/Modules (Root)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis (Aggregator)
[source,yaml]
----
Group: org.apache.isis
Artifact: isis-all
Type: pom
Directory: /
----
|Convenience aggregator POM that references all modules, some explicitely,
others via profiles, that are not activiated per default.
The parent POM of the core framework is bom/pom.xml.

|Apache Isis - Antora
[source,yaml]
----
Group: org.apache.isis
Artifact: antora
Type: pom
Directory: /antora
----
|

|Apache Isis
[source,yaml]
----
Group: org.apache.isis
Artifact: isis-bom
Type: pom
Directory: /bom
----
|Apache Isis Bill of Material (BOM).
Also the parent POM for the core framework and extensions.

|Apache Isis Supplemental - Legal Info
[source,yaml]
----
Group: org.apache.isis
Artifact: supplemental-model
Type: jar
Directory: /supplemental-model
----
|For example, the templates used by many Apache distributions assemble a listing of project dependencies
according to their organization name (and URL), along with the URL each project's website. When dependency
POMs are missing this information, the dependency notice file that the Remote Resources Plugin renders can
be invalid.
To compensate for incomplete dependency POMs, we use the supplemental models support.
|===

== Commons

[plantuml,Commons,svg]
----
@startuml(id=Commons)
title Commons - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "Commons\n[Software System]" {
  rectangle "==Apache Isis Commons\n<size:10>[Container: packaging: jar]</size>" <<2>> as 2
}
@enduml
----
.Projects/Modules (Commons)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis Commons
[source,yaml]
----
Group: org.apache.isis.commons
Artifact: isis-commons
Type: jar
Directory: /commons
----
|Apache Isis Commons is a library with utilities, that are shared with the entire Apache Isis ecosystem.

.Dependencies
****
com.fasterxml.jackson.core:jackson-databind:jar:<managed> +
com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:<managed> +
com.google.code.findbugs:jsr305:jar:<managed> +
org.apache.isis.core:isis-core-privileged:jar:<managed> +
org.apache.isis.core:isis-jdk-supplemental:pom:<managed> +
org.hamcrest:hamcrest-library:jar:<managed> +
org.jdom:jdom2:jar:<managed> +
org.jsoup:jsoup:jar:<managed> +
org.junit.jupiter:junit-jupiter-api:jar:<managed> +
org.junit.jupiter:junit-jupiter-engine:jar:<managed> +
org.junit.jupiter:junit-jupiter-params:jar:<managed> +
org.slf4j:slf4j-api:jar:<managed> +
org.springframework:spring-context:jar:<managed> +
org.springframework:spring-tx:jar:<managed> +
org.springframework.boot:spring-boot-starter:jar:<managed> +
org.springframework.boot:spring-boot-starter-log4j2:jar:<managed> +
org.yaml:snakeyaml:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:commons:index/collections/Can.adoc[Can], xref:refguide:commons:index/collections/Cardinality.adoc[Cardinality], xref:refguide:commons:index/functional/Either.adoc[Either], xref:refguide:commons:index/functional/Railway.adoc[Railway], xref:refguide:commons:index/functional/Try.adoc[Try], xref:refguide:commons:index/resource/ResourceCoordinates.adoc[ResourceCoordinates]
****
|===

== Core

[plantuml,Core,svg]
----
@startuml(id=Core)
title Core - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<11>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<12>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<13>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<14>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<15>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<16>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<17>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<3>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<4>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<5>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<6>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<7>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<8>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<9>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<10>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "Core\n[Software System]" {
  rectangle "==Apache Isis - JDK Supplemental\n<size:10>[Container: packaging: pom]</size>" <<16>> as 16
  rectangle "==Apache Isis Api - AppLib\n<size:10>[Container: packaging: jar]</size>" <<3>> as 3
  rectangle "==Apache Isis Api - Schemas\n<size:10>[Container: packaging: jar]</size>" <<17>> as 17
  rectangle "==Apache Isis Core\n<size:10>[Container: packaging: pom]</size>" <<2>> as 2
  rectangle "==Apache Isis Core - Code Gen (ByteBuddy)\n<size:10>[Container: packaging: jar]</size>" <<4>> as 4
  rectangle "==Apache Isis Core - Configuration\n<size:10>[Container: packaging: jar]</size>" <<5>> as 5
  rectangle "==Apache Isis Core - Interaction\n<size:10>[Container: packaging: jar]</size>" <<6>> as 6
  rectangle "==Apache Isis Core - Internal Test Support\n<size:10>[Container: packaging: jar]</size>" <<7>> as 7
  rectangle "==Apache Isis Core - Internal Test Support (Vintage)\n<size:10>[Container: packaging: jar]</size>" <<8>> as 8
  rectangle "==Apache Isis Core - MetaModel\n<size:10>[Container: packaging: jar]</size>" <<9>> as 9
  rectangle "==Apache Isis Core - Privileged\n<size:10>[Container: packaging: jar]</size>" <<10>> as 10
  rectangle "==Apache Isis Core - Runtime\n<size:10>[Container: packaging: jar]</size>" <<11>> as 11
  rectangle "==Apache Isis Core - Runtime Services\n<size:10>[Container: packaging: jar]</size>" <<12>> as 12
  rectangle "==Apache Isis Core - Security\n<size:10>[Container: packaging: jar]</size>" <<13>> as 13
  rectangle "==Apache Isis Core - Transaction\n<size:10>[Container: packaging: jar]</size>" <<14>> as 14
  rectangle "==Apache Isis Core - WebApp\n<size:10>[Container: packaging: jar]</size>" <<15>> as 15
}
2 .[#707070].> 16 : ""
2 .[#707070].> 3 : ""
2 .[#707070].> 17 : ""
2 .[#707070].> 4 : ""
2 .[#707070].> 5 : ""
2 .[#707070].> 6 : ""
2 .[#707070].> 7 : ""
2 .[#707070].> 8 : ""
2 .[#707070].> 9 : ""
2 .[#707070].> 10 : ""
2 .[#707070].> 11 : ""
2 .[#707070].> 12 : ""
2 .[#707070].> 13 : ""
2 .[#707070].> 14 : ""
2 .[#707070].> 15 : ""
@enduml
----
.Projects/Modules (Core)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis Core
[source,yaml]
----
Group: org.apache.isis.core
Artifact: isis-core
Type: pom
Directory: /core
----
|Core framework, providing metamodel, runtime and core APIs.

.Dependencies
****
de.agilecoders.wicket:wicket-bootstrap-extensions:jar:<managed> +
org.projectlombok:lombok:jar:<managed> +
****

|Apache Isis Api - AppLib
[source,yaml]
----
Group: org.apache.isis.core
Artifact: isis-applib
Type: jar
Directory: /api/applib
----
|Isis application library, defining annotations and utilities for the
default (Java) programming model.

.Components
****
o.a.i.applib.annotation.DomainObject +
o.a.i.applib.annotation.DomainService +
o.a.i.applib.annotation.Value +
o.a.i.applib.services.clock.ClockService +
o.a.i.applib.services.commanddto.conmap.ContentMappingServiceForCommandDto +
o.a.i.applib.services.commanddto.conmap.ContentMappingServiceForCommandsDto +
o.a.i.applib.services.commanddto.processor.spi.CommandDtoProcessorServiceIdentity +
o.a.i.applib.services.publishing.log.CommandLogger +
o.a.i.applib.services.publishing.log.EntityChangesLogger +
o.a.i.applib.services.publishing.log.EntityPropertyChangeLogger +
o.a.i.applib.services.publishing.log.ExecutionLogger +
o.a.i.applib.services.queryresultscache.QueryResultsCache +
o.a.i.applib.services.session.SessionLogger +
o.a.i.applib.services.sudo.SudoService +
o.a.i.applib.services.user.UserService +
****

.Dependencies
****
jakarta.validation:jakarta.validation-api:jar:<managed> +
joda-time:joda-time:jar:<managed> +
org.apache.isis.commons:isis-commons:jar:<managed> +
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.core:isis-jdk-supplemental:pom:<managed> +
org.apache.isis.core:isis-schema:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:applib:index/Identifier.adoc[Identifier], xref:refguide:applib:index/IsisModuleApplib.adoc[IsisModuleApplib], xref:refguide:applib:index/IsisModuleApplibChangeAndExecutionLoggers.adoc[IsisModuleApplibChangeAndExecutionLoggers], xref:refguide:applib:index/IsisModuleApplibMixins.adoc[IsisModuleApplibMixins], xref:refguide:applib:index/ViewModel.adoc[ViewModel], xref:refguide:applib:index/annotation/Action.adoc[Action], xref:refguide:applib:index/annotation/ActionLayout.adoc[ActionLayout], xref:refguide:applib:index/annotation/BookmarkPolicy.adoc[BookmarkPolicy], xref:refguide:applib:index/annotation/Bounding.adoc[Bounding], xref:refguide:applib:index/annotation/Collection.adoc[Collection], xref:refguide:applib:index/annotation/CollectionLayout.adoc[CollectionLayout], xref:refguide:applib:index/annotation/DependentDefaultsPolicy.adoc[DependentDefaultsPolicy], xref:refguide:applib:index/annotation/DomainObject.adoc[DomainObject], xref:refguide:applib:index/annotation/DomainObjectLayout.adoc[DomainObjectLayout], xref:refguide:applib:index/annotation/DomainService.adoc[DomainService], xref:refguide:applib:index/annotation/DomainServiceLayout.adoc[DomainServiceLayout], xref:refguide:applib:index/annotation/DomainServiceLayout_MenuBar.adoc[DomainServiceLayout.MenuBar], xref:refguide:applib:index/annotation/Domain_Exclude.adoc[Domain.Exclude], xref:refguide:applib:index/annotation/Domain_Include.adoc[Domain.Include], xref:refguide:applib:index/annotation/Editing.adoc[Editing], xref:refguide:applib:index/annotation/EntityChangeKind.adoc[EntityChangeKind], xref:refguide:applib:index/annotation/HomePage.adoc[HomePage], xref:refguide:applib:index/annotation/InteractionScope.adoc[InteractionScope], xref:refguide:applib:index/annotation/Introspection.adoc[Introspection], xref:refguide:applib:index/annotation/LabelPosition.adoc[LabelPosition], xref:refguide:applib:index/annotation/MemberSupport.adoc[MemberSupport], xref:refguide:applib:index/annotation/MinLength.adoc[MinLength], xref:refguide:applib:index/annotation/Module.adoc[Module], xref:refguide:applib:index/annotation/Nature.adoc[Nature], xref:refguide:applib:index/annotation/NatureOfService.adoc[NatureOfService], xref:refguide:applib:index/annotation/Navigable.adoc[Navigable], xref:refguide:applib:index/annotation/ObjectLifecycle.adoc[ObjectLifecycle], xref:refguide:applib:index/annotation/ObjectSupport.adoc[ObjectSupport], xref:refguide:applib:index/annotation/Optionality.adoc[Optionality], xref:refguide:applib:index/annotation/Parameter.adoc[Parameter], xref:refguide:applib:index/annotation/ParameterLayout.adoc[ParameterLayout], xref:refguide:applib:index/annotation/PriorityPrecedence.adoc[PriorityPrecedence], xref:refguide:applib:index/annotation/Programmatic.adoc[Programmatic], xref:refguide:applib:index/annotation/Projecting.adoc[Projecting], xref:refguide:applib:index/annotation/PromptStyle.adoc[PromptStyle], xref:refguide:applib:index/annotation/Property.adoc[Property], xref:refguide:applib:index/annotation/PropertyLayout.adoc[PropertyLayout], xref:refguide:applib:index/annotation/Publishing.adoc[Publishing], xref:refguide:applib:index/annotation/Redirect.adoc[Redirect], xref:refguide:applib:index/annotation/Repainting.adoc[Repainting], xref:refguide:applib:index/annotation/RestrictTo.adoc[RestrictTo], xref:refguide:applib:index/annotation/SemanticsOf.adoc[SemanticsOf], xref:refguide:applib:index/annotation/Snapshot.adoc[Snapshot], xref:refguide:applib:index/annotation/TableDecoration.adoc[TableDecoration], xref:refguide:applib:index/annotation/TimePrecision.adoc[TimePrecision], xref:refguide:applib:index/annotation/TimeZoneTranslation.adoc[TimeZoneTranslation], xref:refguide:applib:index/annotation/Title.adoc[Title], xref:refguide:applib:index/annotation/Value.adoc[Value], xref:refguide:applib:index/annotation/ValueSemantics.adoc[ValueSemantics], xref:refguide:applib:index/annotation/Where.adoc[Where], xref:refguide:applib:index/client/RepresentationTypeSimplifiedV2.adoc[RepresentationTypeSimplifiedV2], xref:refguide:applib:index/client/SuppressionType.adoc[SuppressionType], xref:refguide:applib:index/clock/VirtualClock.adoc[VirtualClock], xref:refguide:applib:index/domain/DomainObjectList.adoc[DomainObjectList], xref:refguide:applib:index/events/EventObjectBase.adoc[EventObjectBase], xref:refguide:applib:index/events/domain/AbstractDomainEvent.adoc[AbstractDomainEvent], xref:refguide:applib:index/events/domain/ActionDomainEvent.adoc[ActionDomainEvent], xref:refguide:applib:index/events/domain/CollectionDomainEvent.adoc[CollectionDomainEvent], xref:refguide:applib:index/events/domain/PropertyDomainEvent.adoc[PropertyDomainEvent], xref:refguide:applib:index/events/lifecycle/AbstractLifecycleEvent.adoc[AbstractLifecycleEvent], xref:refguide:applib:index/events/lifecycle/ObjectCreatedEvent.adoc[ObjectCreatedEvent], xref:refguide:applib:index/events/lifecycle/ObjectLoadedEvent.adoc[ObjectLoadedEvent], xref:refguide:applib:index/events/lifecycle/ObjectPersistedEvent.adoc[ObjectPersistedEvent], xref:refguide:applib:index/events/lifecycle/ObjectPersistingEvent.adoc[ObjectPersistingEvent], xref:refguide:applib:index/events/lifecycle/ObjectRemovingEvent.adoc[ObjectRemovingEvent], xref:refguide:applib:index/events/lifecycle/ObjectUpdatedEvent.adoc[ObjectUpdatedEvent], xref:refguide:applib:index/events/lifecycle/ObjectUpdatingEvent.adoc[ObjectUpdatingEvent], xref:refguide:applib:index/events/ui/AbstractUiEvent.adoc[AbstractUiEvent], xref:refguide:applib:index/events/ui/CssClassUiEvent.adoc[CssClassUiEvent], xref:refguide:applib:index/events/ui/IconUiEvent.adoc[IconUiEvent], xref:refguide:applib:index/events/ui/LayoutUiEvent.adoc[LayoutUiEvent], xref:refguide:applib:index/events/ui/TitleUiEvent.adoc[TitleUiEvent], xref:refguide:applib:index/exceptions/RecoverableException.adoc[RecoverableException], xref:refguide:applib:index/exceptions/TranslatableException.adoc[TranslatableException], xref:refguide:applib:index/exceptions/UnrecoverableException.adoc[UnrecoverableException], xref:refguide:applib:index/exceptions/unrecoverable/DomainModelException.adoc[DomainModelException], xref:refguide:applib:index/exceptions/unrecoverable/MetaModelException.adoc[MetaModelException], xref:refguide:applib:index/exceptions/unrecoverable/NoAuthenticatorException.adoc[NoAuthenticatorException], xref:refguide:applib:index/exceptions/unrecoverable/ObjectNotFoundException.adoc[ObjectNotFoundException], xref:refguide:applib:index/exceptions/unrecoverable/ObjectPersistenceException.adoc[ObjectPersistenceException], xref:refguide:applib:index/exceptions/unrecoverable/PersistFailedException.adoc[PersistFailedException], xref:refguide:applib:index/exceptions/unrecoverable/ReflectiveActionException.adoc[ReflectiveActionException], xref:refguide:applib:index/exceptions/unrecoverable/RepositoryException.adoc[RepositoryException], xref:refguide:applib:index/exceptions/unrecoverable/UnexpectedCallException.adoc[UnexpectedCallException], xref:refguide:applib:index/exceptions/unrecoverable/UnknownTypeException.adoc[UnknownTypeException], xref:refguide:applib:index/graph/Edge.adoc[Edge], xref:refguide:applib:index/graph/SimpleEdge.adoc[SimpleEdge], xref:refguide:applib:index/graph/Vertex.adoc[Vertex], xref:refguide:applib:index/graph/tree/TreeAdapter.adoc[TreeAdapter], xref:refguide:applib:index/graph/tree/TreeNode.adoc[TreeNode], xref:refguide:applib:index/graph/tree/TreePath.adoc[TreePath], xref:refguide:applib:index/graph/tree/TreeState.adoc[TreeState], xref:refguide:applib:index/id/HasLogicalType.adoc[HasLogicalType], xref:refguide:applib:index/id/LogicalType.adoc[LogicalType], xref:refguide:applib:index/jaxb/DataTypeFactory.adoc[DataTypeFactory], xref:refguide:applib:index/jaxb/JavaSqlJaxbAdapters.adoc[JavaSqlJaxbAdapters], xref:refguide:applib:index/jaxb/JavaSqlXMLGregorianCalendarMarshalling.adoc[JavaSqlXMLGregorianCalendarMarshalling], xref:refguide:applib:index/jaxb/JavaTimeJaxbAdapters.adoc[JavaTimeJaxbAdapters], xref:refguide:applib:index/jaxb/JavaTimeXMLGregorianCalendarMarshalling.adoc[JavaTimeXMLGregorianCalendarMarshalling], xref:refguide:applib:index/jaxb/JavaUtilJaxbAdapters.adoc[JavaUtilJaxbAdapters], xref:refguide:applib:index/jaxb/PersistentEntitiesAdapter.adoc[PersistentEntitiesAdapter], xref:refguide:applib:index/jaxb/PersistentEntityAdapter.adoc[PersistentEntityAdapter], xref:refguide:applib:index/jaxb/PrimitiveJaxbAdapters.adoc[PrimitiveJaxbAdapters], xref:refguide:applib:index/layout/LayoutConstants.adoc[LayoutConstants], xref:refguide:applib:index/layout/component/ActionLayoutData.adoc[ActionLayoutData], xref:refguide:applib:index/layout/component/ActionLayoutDataOwner.adoc[ActionLayoutDataOwner], xref:refguide:applib:index/layout/component/CollectionLayoutData.adoc[CollectionLayoutData], xref:refguide:applib:index/layout/component/CollectionLayoutDataOwner.adoc[CollectionLayoutDataOwner], xref:refguide:applib:index/layout/component/CssClassFaPosition.adoc[CssClassFaPosition], xref:refguide:applib:index/layout/component/DomainObjectLayoutData.adoc[DomainObjectLayoutData], xref:refguide:applib:index/layout/component/DomainObjectLayoutDataOwner.adoc[DomainObjectLayoutDataOwner], xref:refguide:applib:index/layout/component/FieldSet.adoc[FieldSet], xref:refguide:applib:index/layout/component/FieldSetOwner.adoc[FieldSetOwner], xref:refguide:applib:index/layout/component/HasBookmarking.adoc[HasBookmarking], xref:refguide:applib:index/layout/component/HasCssClass.adoc[HasCssClass], xref:refguide:applib:index/layout/component/HasCssClassFa.adoc[HasCssClassFa], xref:refguide:applib:index/layout/component/HasDescribedAs.adoc[HasDescribedAs], xref:refguide:applib:index/layout/component/HasHidden.adoc[HasHidden], xref:refguide:applib:index/layout/component/HasNamed.adoc[HasNamed], xref:refguide:applib:index/layout/component/MemberRegion.adoc[MemberRegion], xref:refguide:applib:index/layout/component/MemberRegionOwner.adoc[MemberRegionOwner], xref:refguide:applib:index/layout/component/Owned.adoc[Owned], xref:refguide:applib:index/layout/component/Owner.adoc[Owner], xref:refguide:applib:index/layout/component/PropertyLayoutData.adoc[PropertyLayoutData], xref:refguide:applib:index/layout/component/ServiceActionLayoutData.adoc[ServiceActionLayoutData], xref:refguide:applib:index/layout/component/ServiceActionLayoutDataOwner.adoc[ServiceActionLayoutDataOwner], xref:refguide:applib:index/layout/component/TableDecoration.adoc[TableDecoration], xref:refguide:applib:index/layout/grid/Grid.adoc[Grid], xref:refguide:applib:index/layout/grid/GridAbstract.adoc[GridAbstract], xref:refguide:applib:index/layout/grid/bootstrap/BSClearFix.adoc[BSClearFix], xref:refguide:applib:index/layout/grid/bootstrap/BSClearFixHidden.adoc[BSClearFixHidden], xref:refguide:applib:index/layout/grid/bootstrap/BSClearFixVisible.adoc[BSClearFixVisible], xref:refguide:applib:index/layout/grid/bootstrap/BSCol.adoc[BSCol], xref:refguide:applib:index/layout/grid/bootstrap/BSElement.adoc[BSElement], xref:refguide:applib:index/layout/grid/bootstrap/BSElementAbstract.adoc[BSElementAbstract], xref:refguide:applib:index/layout/grid/bootstrap/BSGrid.adoc[BSGrid], xref:refguide:applib:index/layout/grid/bootstrap/BSRow.adoc[BSRow], xref:refguide:applib:index/layout/grid/bootstrap/BSRowContent.adoc[BSRowContent], xref:refguide:applib:index/layout/grid/bootstrap/BSRowContentOwner.adoc[BSRowContentOwner], xref:refguide:applib:index/layout/grid/bootstrap/BSRowOwner.adoc[BSRowOwner], xref:refguide:applib:index/layout/grid/bootstrap/BSTab.adoc[BSTab], xref:refguide:applib:index/layout/grid/bootstrap/BSTabGroup.adoc[BSTabGroup], xref:refguide:applib:index/layout/grid/bootstrap/BSTabGroupOwner.adoc[BSTabGroupOwner], xref:refguide:applib:index/layout/grid/bootstrap/BSTabOwner.adoc[BSTabOwner], xref:refguide:applib:index/layout/grid/bootstrap/HasCssId.adoc[HasCssId], xref:refguide:applib:index/layout/grid/bootstrap/Size.adoc[Size], xref:refguide:applib:index/layout/grid/bootstrap/SizeSpan.adoc[SizeSpan], xref:refguide:applib:index/layout/grid/bootstrap/WithinGrid.adoc[WithinGrid], xref:refguide:applib:index/layout/links/Link.adoc[Link], xref:refguide:applib:index/layout/menubars/HasNamed.adoc[HasNamed], xref:refguide:applib:index/layout/menubars/Menu.adoc[Menu], xref:refguide:applib:index/layout/menubars/MenuBar.adoc[MenuBar], xref:refguide:applib:index/layout/menubars/MenuBars.adoc[MenuBars], xref:refguide:applib:index/layout/menubars/MenuBarsAbstract.adoc[MenuBarsAbstract], xref:refguide:applib:index/layout/menubars/MenuSection.adoc[MenuSection], xref:refguide:applib:index/layout/menubars/bootstrap/BSMenu.adoc[BSMenu], xref:refguide:applib:index/layout/menubars/bootstrap/BSMenuBar.adoc[BSMenuBar], xref:refguide:applib:index/layout/menubars/bootstrap/BSMenuBars.adoc[BSMenuBars], xref:refguide:applib:index/layout/menubars/bootstrap/BSMenuSection.adoc[BSMenuSection], xref:refguide:applib:index/locale/UserLocale.adoc[UserLocale], xref:refguide:applib:index/mixins/dto/Dto.adoc[Dto], xref:refguide:applib:index/mixins/dto/DtoMixinConstants.adoc[DtoMixinConstants], xref:refguide:applib:index/mixins/dto/Dto_downloadXml.adoc[Dto_downloadXml], xref:refguide:applib:index/mixins/dto/Dto_downloadXsd.adoc[Dto_downloadXsd], xref:refguide:applib:index/mixins/layout/Object_downloadLayoutXml.adoc[Object_downloadLayoutXml], xref:refguide:applib:index/mixins/metamodel/Object_downloadMetamodelXml.adoc[Object_downloadMetamodelXml], xref:refguide:applib:index/mixins/metamodel/Object_logicalTypeName.adoc[Object_logicalTypeName], xref:refguide:applib:index/mixins/metamodel/Object_objectIdentifier.adoc[Object_objectIdentifier], xref:refguide:applib:index/mixins/metamodel/Object_rebuildMetamodel.adoc[Object_rebuildMetamodel], xref:refguide:applib:index/mixins/rest/Object_openRestApi.adoc[Object_openRestApi], xref:refguide:applib:index/mixins/security/HasUsername.adoc[HasUsername], xref:refguide:applib:index/mixins/system/DomainChangeRecord.adoc[DomainChangeRecord], xref:refguide:applib:index/mixins/system/DomainChangeRecord_ChangeType.adoc[DomainChangeRecord.ChangeType], xref:refguide:applib:index/mixins/system/HasInteractionId.adoc[HasInteractionId], xref:refguide:applib:index/mixins/system/HasInteractionIdAndSequence.adoc[HasInteractionIdAndSequence], xref:refguide:applib:index/mixins/system/HasTarget_openTargetObject.adoc[HasTarget_openTargetObject], xref:refguide:applib:index/mixins/updates/OnUpdatedAt.adoc[OnUpdatedAt], xref:refguide:applib:index/mixins/updates/OnUpdatedBy.adoc[OnUpdatedBy], xref:refguide:applib:index/mixins/updates/OnUpdatedByAndAt.adoc[OnUpdatedByAndAt], xref:refguide:applib:index/query/AllInstancesQuery.adoc[AllInstancesQuery], xref:refguide:applib:index/query/NamedQuery.adoc[NamedQuery], xref:refguide:applib:index/query/Query.adoc[Query], xref:refguide:applib:index/query/QueryRange.adoc[QueryRange], xref:refguide:applib:index/services/acceptheader/AcceptHeaderService.adoc[AcceptHeaderService], xref:refguide:applib:index/services/appfeat/ApplicationFeature.adoc[ApplicationFeature], xref:refguide:applib:index/services/appfeat/ApplicationFeatureId.adoc[ApplicationFeatureId], xref:refguide:applib:index/services/appfeat/ApplicationFeatureRepository.adoc[ApplicationFeatureRepository], xref:refguide:applib:index/services/appfeat/ApplicationFeatureSort.adoc[ApplicationFeatureSort], xref:refguide:applib:index/services/appfeat/ApplicationMemberSort.adoc[ApplicationMemberSort], xref:refguide:applib:index/services/appfeatui/ApplicationFeatureMenu.adoc[ApplicationFeatureMenu], xref:refguide:applib:index/services/appfeatui/ApplicationFeatureViewModel.adoc[ApplicationFeatureViewModel], xref:refguide:applib:index/services/appfeatui/ApplicationNamespace.adoc[ApplicationNamespace], xref:refguide:applib:index/services/appfeatui/ApplicationType.adoc[ApplicationType], xref:refguide:applib:index/services/appfeatui/ApplicationTypeAction.adoc[ApplicationTypeAction], xref:refguide:applib:index/services/appfeatui/ApplicationTypeCollection.adoc[ApplicationTypeCollection], xref:refguide:applib:index/services/appfeatui/ApplicationTypeMember.adoc[ApplicationTypeMember], xref:refguide:applib:index/services/appfeatui/ApplicationTypeProperty.adoc[ApplicationTypeProperty], xref:refguide:applib:index/services/bookmark/Bookmark.adoc[Bookmark], xref:refguide:applib:index/services/bookmark/BookmarkHolder.adoc[BookmarkHolder], xref:refguide:applib:index/services/bookmark/BookmarkHolder_lookup.adoc[BookmarkHolder_lookup], xref:refguide:applib:index/services/bookmark/BookmarkHolder_object.adoc[BookmarkHolder_object], xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[BookmarkService], xref:refguide:applib:index/services/bookmark/HasTarget.adoc[HasTarget], xref:refguide:applib:index/services/bookmark/IdStringifier.adoc[IdStringifier], xref:refguide:applib:index/services/bookmark/Oid.adoc[Oid], xref:refguide:applib:index/services/bookmarkui/BookmarkUiService.adoc[BookmarkUiService], xref:refguide:applib:index/services/clock/ClockService.adoc[ClockService], xref:refguide:applib:index/services/command/Command.adoc[Command], xref:refguide:applib:index/services/command/CommandExecutorService.adoc[CommandExecutorService], xref:refguide:applib:index/services/command/CommandExecutorService_InteractionContextPolicy.adoc[CommandExecutorService.InteractionContextPolicy], xref:refguide:applib:index/services/command/CommandOutcomeHandler.adoc[CommandOutcomeHandler], xref:refguide:applib:index/services/commanddto/HasCommandDto.adoc[HasCommandDto], xref:refguide:applib:index/services/commanddto/conmap/ContentMappingServiceForCommandDto.adoc[ContentMappingServiceForCommandDto], xref:refguide:applib:index/services/commanddto/conmap/ContentMappingServiceForCommandsDto.adoc[ContentMappingServiceForCommandsDto], xref:refguide:applib:index/services/commanddto/conmap/UserDataKeys.adoc[UserDataKeys], xref:refguide:applib:index/services/commanddto/processor/CommandDtoProcessor.adoc[CommandDtoProcessor], xref:refguide:applib:index/services/commanddto/processor/CommandDtoProcessorForActionAbstract.adoc[CommandDtoProcessorForActionAbstract], xref:refguide:applib:index/services/commanddto/processor/CommandDtoProcessorForPropertyAbstract.adoc[CommandDtoProcessorForPropertyAbstract], xref:refguide:applib:index/services/commanddto/processor/spi/CommandDtoProcessorService.adoc[CommandDtoProcessorService], xref:refguide:applib:index/services/commanddto/processor/spi/CommandDtoProcessorServiceIdentity.adoc[CommandDtoProcessorServiceIdentity], xref:refguide:applib:index/services/confview/ConfigurationMenu.adoc[ConfigurationMenu], xref:refguide:applib:index/services/confview/ConfigurationProperty.adoc[ConfigurationProperty], xref:refguide:applib:index/services/confview/ConfigurationViewService.adoc[ConfigurationViewService], xref:refguide:applib:index/services/confview/ConfigurationViewmodel.adoc[ConfigurationViewmodel], xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[ContentMappingService], xref:refguide:applib:index/services/email/EmailService.adoc[EmailService], xref:refguide:applib:index/services/error/ErrorDetails.adoc[ErrorDetails], xref:refguide:applib:index/services/error/ErrorReportingService.adoc[ErrorReportingService], xref:refguide:applib:index/services/error/SimpleTicket.adoc[SimpleTicket], xref:refguide:applib:index/services/error/Ticket.adoc[Ticket], xref:refguide:applib:index/services/eventbus/EventBusService.adoc[EventBusService], xref:refguide:applib:index/services/exceprecog/Category.adoc[Category], xref:refguide:applib:index/services/exceprecog/ExceptionRecognizer.adoc[ExceptionRecognizer], xref:refguide:applib:index/services/exceprecog/ExceptionRecognizerAbstract.adoc[ExceptionRecognizerAbstract], xref:refguide:applib:index/services/exceprecog/ExceptionRecognizerForType.adoc[ExceptionRecognizerForType], xref:refguide:applib:index/services/exceprecog/ExceptionRecognizerService.adoc[ExceptionRecognizerService], xref:refguide:applib:index/services/exceprecog/Recognition.adoc[Recognition], xref:refguide:applib:index/services/exceprecog/RootCauseFinder.adoc[RootCauseFinder], xref:refguide:applib:index/services/factory/FactoryService.adoc[FactoryService], xref:refguide:applib:index/services/grid/GridLoaderService.adoc[GridLoaderService], xref:refguide:applib:index/services/grid/GridService.adoc[GridService], xref:refguide:applib:index/services/grid/GridSystemService.adoc[GridSystemService], xref:refguide:applib:index/services/health/Health.adoc[Health], xref:refguide:applib:index/services/health/HealthCheckService.adoc[HealthCheckService], xref:refguide:applib:index/services/hint/HintIdProvider.adoc[HintIdProvider], xref:refguide:applib:index/services/hint/HintStore.adoc[HintStore], xref:refguide:applib:index/services/homepage/HomePageResolverService.adoc[HomePageResolverService], xref:refguide:applib:index/services/i18n/HasTranslationContext.adoc[HasTranslationContext], xref:refguide:applib:index/services/i18n/LanguageProvider.adoc[LanguageProvider], xref:refguide:applib:index/services/i18n/Mode.adoc[Mode], xref:refguide:applib:index/services/i18n/TranslatableString.adoc[TranslatableString], xref:refguide:applib:index/services/i18n/TranslationContext.adoc[TranslationContext], xref:refguide:applib:index/services/i18n/TranslationService.adoc[TranslationService], xref:refguide:applib:index/services/i18n/TranslationsResolver.adoc[TranslationsResolver], xref:refguide:applib:index/services/iactn/ActionInvocation.adoc[ActionInvocation], xref:refguide:applib:index/services/iactn/Execution.adoc[Execution], xref:refguide:applib:index/services/iactn/Interaction.adoc[Interaction], xref:refguide:applib:index/services/iactn/InteractionProvider.adoc[InteractionProvider], xref:refguide:applib:index/services/iactn/PropertyEdit.adoc[PropertyEdit], xref:refguide:applib:index/services/iactnlayer/InteractionContext.adoc[InteractionContext], xref:refguide:applib:index/services/iactnlayer/InteractionLayer.adoc[InteractionLayer], xref:refguide:applib:index/services/iactnlayer/InteractionLayerTracker.adoc[InteractionLayerTracker], xref:refguide:applib:index/services/iactnlayer/InteractionService.adoc[InteractionService], xref:refguide:applib:index/services/inject/ServiceInjector.adoc[ServiceInjector], xref:refguide:applib:index/services/jaxb/IsisSchemas.adoc[IsisSchemas], xref:refguide:applib:index/services/jaxb/JaxbService.adoc[JaxbService], xref:refguide:applib:index/services/keyvaluestore/KeyValueSessionStore.adoc[KeyValueSessionStore], xref:refguide:applib:index/services/layout/LayoutExportStyle.adoc[LayoutExportStyle], xref:refguide:applib:index/services/layout/LayoutService.adoc[LayoutService], xref:refguide:applib:index/services/layout/LayoutServiceMenu.adoc[LayoutServiceMenu], xref:refguide:applib:index/services/linking/DeepLinkService.adoc[DeepLinkService], xref:refguide:applib:index/services/locale/LocaleChoiceProvider.adoc[LocaleChoiceProvider], xref:refguide:applib:index/services/menu/MenuBarsLoaderService.adoc[MenuBarsLoaderService], xref:refguide:applib:index/services/menu/MenuBarsService.adoc[MenuBarsService], xref:refguide:applib:index/services/message/MessageService.adoc[MessageService], xref:refguide:applib:index/services/metamodel/BeanSort.adoc[BeanSort], xref:refguide:applib:index/services/metamodel/Config.adoc[Config], xref:refguide:applib:index/services/metamodel/DomainMember.adoc[DomainMember], xref:refguide:applib:index/services/metamodel/DomainModel.adoc[DomainModel], xref:refguide:applib:index/services/metamodel/MetaModelService.adoc[MetaModelService], xref:refguide:applib:index/services/metamodel/MetaModelServiceMenu.adoc[MetaModelServiceMenu], xref:refguide:applib:index/services/metrics/MetricsService.adoc[MetricsService], xref:refguide:applib:index/services/placeholder/PlaceholderRenderService.adoc[PlaceholderRenderService], xref:refguide:applib:index/services/publishing/log/CommandLogger.adoc[CommandLogger], xref:refguide:applib:index/services/publishing/log/EntityChangesLogger.adoc[EntityChangesLogger], xref:refguide:applib:index/services/publishing/log/EntityPropertyChangeLogger.adoc[EntityPropertyChangeLogger], xref:refguide:applib:index/services/publishing/log/ExecutionLogger.adoc[ExecutionLogger], xref:refguide:applib:index/services/publishing/spi/CommandSubscriber.adoc[CommandSubscriber], xref:refguide:applib:index/services/publishing/spi/EntityChanges.adoc[EntityChanges], xref:refguide:applib:index/services/publishing/spi/EntityChangesSubscriber.adoc[EntityChangesSubscriber], xref:refguide:applib:index/services/publishing/spi/EntityPropertyChange.adoc[EntityPropertyChange], xref:refguide:applib:index/services/publishing/spi/EntityPropertyChangeSubscriber.adoc[EntityPropertyChangeSubscriber], xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber], xref:refguide:applib:index/services/queryresultscache/MethodReferences.adoc[MethodReferences], xref:refguide:applib:index/services/queryresultscache/QueryResultsCache.adoc[QueryResultsCache], xref:refguide:applib:index/services/queryresultscache/QueryResultsCacheControl.adoc[QueryResultsCacheControl], xref:refguide:applib:index/services/registry/InstanceByPriorityComparator.adoc[InstanceByPriorityComparator], xref:refguide:applib:index/services/registry/ServiceRegistry.adoc[ServiceRegistry], xref:refguide:applib:index/services/repository/EntityState.adoc[EntityState], xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService], xref:refguide:applib:index/services/routing/RoutingService.adoc[RoutingService], xref:refguide:applib:index/services/scratchpad/Scratchpad.adoc[Scratchpad], xref:refguide:applib:index/services/session/SessionLogger.adoc[SessionLogger], xref:refguide:applib:index/services/session/SessionSubscriber.adoc[SessionSubscriber], xref:refguide:applib:index/services/sitemap/SitemapService.adoc[SitemapService], xref:refguide:applib:index/services/sitemap/SitemapServiceMenu.adoc[SitemapServiceMenu], xref:refguide:applib:index/services/sudo/SudoService.adoc[SudoService], xref:refguide:applib:index/services/swagger/Format.adoc[Format], xref:refguide:applib:index/services/swagger/SwaggerService.adoc[SwaggerService], xref:refguide:applib:index/services/swagger/Visibility.adoc[Visibility], xref:refguide:applib:index/services/tablecol/TableColumnOrderForCollectionTypeAbstract.adoc[TableColumnOrderForCollectionTypeAbstract], xref:refguide:applib:index/services/tablecol/TableColumnOrderService.adoc[TableColumnOrderService], xref:refguide:applib:index/services/tablecol/TableColumnVisibilityService.adoc[TableColumnVisibilityService], xref:refguide:applib:index/services/title/TitleService.adoc[TitleService], xref:refguide:applib:index/services/urlencoding/UrlEncodingService.adoc[UrlEncodingService], xref:refguide:applib:index/services/user/ImpersonateMenu.adoc[ImpersonateMenu], xref:refguide:applib:index/services/user/ImpersonateMenuAdvisor.adoc[ImpersonateMenuAdvisor], xref:refguide:applib:index/services/user/ImpersonateStopMenu.adoc[ImpersonateStopMenu], xref:refguide:applib:index/services/user/ImpersonatedUserHolder.adoc[ImpersonatedUserHolder], xref:refguide:applib:index/services/user/RoleMemento.adoc[RoleMemento], xref:refguide:applib:index/services/user/UserCurrentSessionTimeZoneHolder.adoc[UserCurrentSessionTimeZoneHolder], xref:refguide:applib:index/services/user/UserMemento.adoc[UserMemento], xref:refguide:applib:index/services/user/UserService.adoc[UserService], xref:refguide:applib:index/services/userreg/EmailNotificationService.adoc[EmailNotificationService], xref:refguide:applib:index/services/userreg/UserDetails.adoc[UserDetails], xref:refguide:applib:index/services/userreg/UserRegistrationService.adoc[UserRegistrationService], xref:refguide:applib:index/services/userreg/events/EmailEventAbstract.adoc[EmailEventAbstract], xref:refguide:applib:index/services/userreg/events/EmailRegistrationEvent.adoc[EmailRegistrationEvent], xref:refguide:applib:index/services/userreg/events/PasswordResetEvent.adoc[PasswordResetEvent], xref:refguide:applib:index/services/userui/UserMenu.adoc[UserMenu], xref:refguide:applib:index/services/wrapper/DisabledException.adoc[DisabledException], xref:refguide:applib:index/services/wrapper/HiddenException.adoc[HiddenException], xref:refguide:applib:index/services/wrapper/InvalidException.adoc[InvalidException], xref:refguide:applib:index/services/wrapper/WrapperFactory.adoc[WrapperFactory], xref:refguide:applib:index/services/wrapper/WrappingObject.adoc[WrappingObject], xref:refguide:applib:index/services/wrapper/callable/AsyncCallable.adoc[AsyncCallable], xref:refguide:applib:index/services/wrapper/control/AsyncControl.adoc[AsyncControl], xref:refguide:applib:index/services/wrapper/control/ControlAbstract.adoc[ControlAbstract], xref:refguide:applib:index/services/wrapper/control/ExceptionHandler.adoc[ExceptionHandler], xref:refguide:applib:index/services/wrapper/control/ExceptionHandlerAbstract.adoc[ExceptionHandlerAbstract], xref:refguide:applib:index/services/wrapper/control/ExecutionMode.adoc[ExecutionMode], xref:refguide:applib:index/services/wrapper/control/SyncControl.adoc[SyncControl], xref:refguide:applib:index/services/wrapper/events/AccessEvent.adoc[AccessEvent], xref:refguide:applib:index/services/wrapper/events/ActionArgumentEvent.adoc[ActionArgumentEvent], xref:refguide:applib:index/services/wrapper/events/ActionInvocationEvent.adoc[ActionInvocationEvent], xref:refguide:applib:index/services/wrapper/events/ActionUsabilityEvent.adoc[ActionUsabilityEvent], xref:refguide:applib:index/services/wrapper/events/ActionVisibilityEvent.adoc[ActionVisibilityEvent], xref:refguide:applib:index/services/wrapper/events/CollectionAccessEvent.adoc[CollectionAccessEvent], xref:refguide:applib:index/services/wrapper/events/CollectionMethodEvent.adoc[CollectionMethodEvent], xref:refguide:applib:index/services/wrapper/events/CollectionUsabilityEvent.adoc[CollectionUsabilityEvent], xref:refguide:applib:index/services/wrapper/events/CollectionVisibilityEvent.adoc[CollectionVisibilityEvent], xref:refguide:applib:index/services/wrapper/events/InteractionEvent.adoc[InteractionEvent], xref:refguide:applib:index/services/wrapper/events/ObjectTitleEvent.adoc[ObjectTitleEvent], xref:refguide:applib:index/services/wrapper/events/ObjectValidityEvent.adoc[ObjectValidityEvent], xref:refguide:applib:index/services/wrapper/events/ObjectVisibilityEvent.adoc[ObjectVisibilityEvent], xref:refguide:applib:index/services/wrapper/events/ParseValueEvent.adoc[ParseValueEvent], xref:refguide:applib:index/services/wrapper/events/PropertyAccessEvent.adoc[PropertyAccessEvent], xref:refguide:applib:index/services/wrapper/events/PropertyModifyEvent.adoc[PropertyModifyEvent], xref:refguide:applib:index/services/wrapper/events/PropertyUsabilityEvent.adoc[PropertyUsabilityEvent], xref:refguide:applib:index/services/wrapper/events/PropertyVisibilityEvent.adoc[PropertyVisibilityEvent], xref:refguide:applib:index/services/wrapper/events/ProposedHolderEvent.adoc[ProposedHolderEvent], xref:refguide:applib:index/services/wrapper/events/UsabilityEvent.adoc[UsabilityEvent], xref:refguide:applib:index/services/wrapper/events/ValidityEvent.adoc[ValidityEvent], xref:refguide:applib:index/services/wrapper/events/VisibilityEvent.adoc[VisibilityEvent], xref:refguide:applib:index/services/wrapper/listeners/InteractionAdapter.adoc[InteractionAdapter], xref:refguide:applib:index/services/wrapper/listeners/InteractionListener.adoc[InteractionListener], xref:refguide:applib:index/services/xactn/TransactionId.adoc[TransactionId], xref:refguide:applib:index/services/xactn/TransactionService.adoc[TransactionService], xref:refguide:applib:index/services/xactn/TransactionState.adoc[TransactionState], xref:refguide:applib:index/services/xactn/TransactionalProcessor.adoc[TransactionalProcessor], xref:refguide:applib:index/services/xml/XmlService.adoc[XmlService], xref:refguide:applib:index/services/xmlsnapshot/XmlSnapshotService.adoc[XmlSnapshotService], xref:refguide:applib:index/services/xmlsnapshot/XmlSnapshotService_Snapshot.adoc[XmlSnapshotService.Snapshot], xref:refguide:applib:index/services/xmlsnapshot/XmlSnapshotService_Snapshot_Builder.adoc[XmlSnapshotService.Snapshot.Builder], xref:refguide:applib:index/snapshot/SnapshottableWithInclusions.adoc[SnapshottableWithInclusions], xref:refguide:applib:index/spec/AbstractSpecification.adoc[AbstractSpecification], xref:refguide:applib:index/spec/AbstractSpecification2.adoc[AbstractSpecification2], xref:refguide:applib:index/spec/Specification.adoc[Specification], xref:refguide:applib:index/spec/Specification2.adoc[Specification2], xref:refguide:applib:index/spec/SpecificationAnd.adoc[SpecificationAnd], xref:refguide:applib:index/spec/SpecificationNot.adoc[SpecificationNot], xref:refguide:applib:index/spec/SpecificationOr.adoc[SpecificationOr], xref:refguide:applib:index/types/DescriptionType.adoc[DescriptionType], xref:refguide:applib:index/types/MemberIdentifierType.adoc[MemberIdentifierType], xref:refguide:applib:index/types/TargetActionType.adoc[TargetActionType], xref:refguide:applib:index/types/TargetClassType.adoc[TargetClassType], xref:refguide:applib:index/util/Enums.adoc[Enums], xref:refguide:applib:index/util/Equality.adoc[Equality], xref:refguide:applib:index/util/Hashing.adoc[Hashing], xref:refguide:applib:index/util/JaxbUtil.adoc[JaxbUtil], xref:refguide:applib:index/util/ObjectContracts.adoc[ObjectContracts], xref:refguide:applib:index/util/ReasonBuffer.adoc[ReasonBuffer], xref:refguide:applib:index/util/ReasonBuffer2.adoc[ReasonBuffer2], xref:refguide:applib:index/util/Reasons.adoc[Reasons], xref:refguide:applib:index/util/TitleBuffer.adoc[TitleBuffer], xref:refguide:applib:index/util/TitleBufferException.adoc[TitleBufferException], xref:refguide:applib:index/util/ToString.adoc[ToString], xref:refguide:applib:index/util/ZipReader.adoc[ZipReader], xref:refguide:applib:index/util/ZipWriter.adoc[ZipWriter], xref:refguide:applib:index/util/schema/ChangesDtoUtils.adoc[ChangesDtoUtils], xref:refguide:applib:index/util/schema/CommandDtoUtils.adoc[CommandDtoUtils], xref:refguide:applib:index/util/schema/CommonDtoUtils.adoc[CommonDtoUtils], xref:refguide:applib:index/util/schema/InteractionDtoUtils.adoc[InteractionDtoUtils], xref:refguide:applib:index/util/schema/InteractionsDtoUtils.adoc[InteractionsDtoUtils], xref:refguide:applib:index/util/schema/MemberExecutionDtoUtils.adoc[MemberExecutionDtoUtils], xref:refguide:applib:index/value/Blob.adoc[Blob], xref:refguide:applib:index/value/Clob.adoc[Clob], xref:refguide:applib:index/value/LocalResourcePath.adoc[LocalResourcePath], xref:refguide:applib:index/value/Markup.adoc[Markup], xref:refguide:applib:index/value/NamedWithMimeType.adoc[NamedWithMimeType], xref:refguide:applib:index/value/OpenUrlStrategy.adoc[OpenUrlStrategy], xref:refguide:applib:index/value/Password.adoc[Password], xref:refguide:applib:index/value/semantics/Converter.adoc[Converter], xref:refguide:applib:index/value/semantics/DefaultsProvider.adoc[DefaultsProvider], xref:refguide:applib:index/value/semantics/OrderRelation.adoc[OrderRelation], xref:refguide:applib:index/value/semantics/Parser.adoc[Parser], xref:refguide:applib:index/value/semantics/ParsingException.adoc[ParsingException], xref:refguide:applib:index/value/semantics/Renderer.adoc[Renderer], xref:refguide:applib:index/value/semantics/ValueSemanticsAbstract.adoc[ValueSemanticsAbstract], xref:refguide:applib:index/value/semantics/ValueSemanticsProvider.adoc[ValueSemanticsProvider], xref:refguide:applib:index/value/semantics/ValueSemanticsResolver.adoc[ValueSemanticsResolver]
****

|Apache Isis Core - Code Gen (ByteBuddy)
[source,yaml]
----
Group: org.apache.isis.core
Artifact: isis-core-codegen-bytebuddy
Type: jar
Directory: /core/codegen-bytebuddy
----
|Code generation using ByteBuddy.

.Components
****
o.a.i.core.codegen.bytebuddy.services.ProxyFactoryServiceByteBuddy +
****

.Dependencies
****
net.bytebuddy:byte-buddy:jar:<managed> +
org.apache.isis.commons:isis-commons:jar:<managed> +
org.objenesis:objenesis:jar:<managed> +
****

|Apache Isis Core - Configuration
[source,yaml]
----
Group: org.apache.isis.core
Artifact: isis-core-config
Type: jar
Directory: /core/config
----
|Isis configuration library for framework internal use.

.Components
****
o.a.i.core.config.applib.RestfulPathProvider +
o.a.i.core.config.beans.IsisBeanFactoryPostProcessorForSpring +
o.a.i.core.config.beans.IsisBeanTypeRegistryDefault +
o.a.i.core.config.converters.PatternsConverter +
o.a.i.core.config.datasources.DataSourceIntrospectionService +
o.a.i.core.config.environment.IsisLocaleInitializer +
o.a.i.core.config.environment.IsisSystemEnvironment +
o.a.i.core.config.environment.IsisTimeZoneInitializer +
o.a.i.core.config.validators.PatternOptionalStringConstraintValidator +
o.a.i.core.config.viewer.web.WebAppContextPath +
****

.Dependencies
****
org.apache.isis.commons:isis-commons:jar:<managed> +
org.apache.isis.core:isis-applib:jar:<managed> +
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.hibernate:hibernate-validator:jar:<managed> +
org.springframework.boot:spring-boot-configuration-processor:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:core:index/config/datasources/DataSourceIntrospectionService.adoc[DataSourceIntrospectionService]
****

|Apache Isis Core - Interaction
[source,yaml]
----
Group: org.apache.isis.core
Artifact: isis-core-interaction
Type: jar
Directory: /core/interaction
----
|Provides _Interaction Scope_.
Top level action execution or property changes are wrapped in an _Interaction_.
That typically corresponds to a http request/response cycle or a JUnit test method execution.

.Components
****
o.a.i.core.interaction.integration.InteractionAwareTransactionalBoundaryHandler +
o.a.i.core.interaction.scope.InteractionScopeBeanFactoryPostProcessor +
****

.Dependencies
****
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.core:isis-core-metamodel:jar:<managed> +
****

|Apache Isis Core - Internal Test Support
[source,yaml]
----
Group: org.apache.isis.core
Artifact: isis-core-internaltestsupport
Type: jar
Directory: /core/internaltestsupport
----
|Support for writing unit tests in JUnit 5; should be added as a dependency with scope=test only

.Dependencies
****
org.apache.isis.commons:isis-commons:jar:<managed> +
org.apache.isis.core:isis-core-codegen-bytebuddy:jar:<managed> +
org.datanucleus:javax.jdo:jar:<managed> +
org.hamcrest:hamcrest-library:jar:<managed> +
org.junit.jupiter:junit-jupiter-api:jar:<managed> +
org.junit.jupiter:junit-jupiter-engine:jar:<managed> +
org.junit.jupiter:junit-jupiter-params:jar:<managed> +
org.mockito:mockito-core:jar:<managed> +
org.slf4j:slf4j-api:jar:<managed> +
org.springframework.boot:spring-boot-starter-test:jar:<managed> +
****

|Apache Isis Core - Internal Test Support (Vintage)
[source,yaml]
----
Group: org.apache.isis.core
Artifact: isis-core-internaltestvintage
Type: jar
Directory: /core/internaltestvintage
----
|Legacy support for writing unit tests in JUnit 4 with JMocj and AssertJ. DEPRECATED!

.Dependencies
****
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.assertj:assertj-core:jar:<managed> +
org.jmock:jmock:jar:<managed> +
org.jmock:jmock-junit4:jar:<managed> +
org.junit.vintage:junit-vintage-engine:jar:<managed> +
org.picocontainer:picocontainer:jar:<managed> +
****

|Apache Isis Core - MetaModel
[source,yaml]
----
Group: org.apache.isis.core
Artifact: isis-core-metamodel
Type: jar
Directory: /core/metamodel
----
|.Components
****
o.a.i.core.metamodel.objectmanager.ObjectManagerDefault +
o.a.i.core.metamodel.progmodel.ProgrammingModelInitFilterDefault +
o.a.i.core.metamodel.services.ServiceInjectorDefault +
o.a.i.core.metamodel.services.appfeat.ApplicationFeatureRepositoryDefault +
o.a.i.core.metamodel.services.classsubstitutor.ClassSubstitutorDefault +
o.a.i.core.metamodel.services.classsubstitutor.ClassSubstitutorForCollections +
o.a.i.core.metamodel.services.classsubstitutor.ClassSubstitutorForDomainObjects +
o.a.i.core.metamodel.services.classsubstitutor.ClassSubstitutorRegistry +
o.a.i.core.metamodel.services.events.MetamodelEventService +
o.a.i.core.metamodel.services.exceprecog.ExceptionRecognizerForRecoverableException +
o.a.i.core.metamodel.services.grid.GridLoaderServiceDefault +
o.a.i.core.metamodel.services.grid.GridReaderUsingJaxb +
o.a.i.core.metamodel.services.grid.GridServiceDefault +
o.a.i.core.metamodel.services.grid.bootstrap.GridSystemServiceBootstrap +
o.a.i.core.metamodel.services.idstringifier.IdStringifierLookupService +
o.a.i.core.metamodel.services.layout.LayoutServiceDefault +
o.a.i.core.metamodel.services.metamodel.MetaModelServiceDefault +
o.a.i.core.metamodel.services.registry.ServiceRegistryDefault +
o.a.i.core.metamodel.services.tablecol.TableColumnOrderServiceDefault +
o.a.i.core.metamodel.services.tablecol.TableColumnOrderServiceUsingTxtFile +
o.a.i.core.metamodel.services.title.TitleServiceDefault +
o.a.i.core.metamodel.specloader.ProgrammingModelServiceDefault +
o.a.i.core.metamodel.specloader.SpecificationLoaderDefault +
o.a.i.core.metamodel.valuesemantics.ApplicationFeatureIdValueSemantics +
o.a.i.core.metamodel.valuesemantics.BigDecimalValueSemantics +
o.a.i.core.metamodel.valuesemantics.BigIntegerValueSemantics +
o.a.i.core.metamodel.valuesemantics.BlobValueSemantics +
o.a.i.core.metamodel.valuesemantics.BookmarkValueSemantics +
o.a.i.core.metamodel.valuesemantics.BooleanValueSemantics +
o.a.i.core.metamodel.valuesemantics.BufferedImageValueSemantics +
o.a.i.core.metamodel.valuesemantics.ByteValueSemantics +
o.a.i.core.metamodel.valuesemantics.ChangesDtoValueSemantics +
o.a.i.core.metamodel.valuesemantics.CharacterValueSemantics +
o.a.i.core.metamodel.valuesemantics.ClobValueSemantics +
o.a.i.core.metamodel.valuesemantics.CommandDtoValueSemantics +
o.a.i.core.metamodel.valuesemantics.DoubleValueSemantics +
o.a.i.core.metamodel.valuesemantics.FloatValueSemantics +
o.a.i.core.metamodel.valuesemantics.IdStringifierForSerializable +
o.a.i.core.metamodel.valuesemantics.IntValueSemantics +
o.a.i.core.metamodel.valuesemantics.InteractionDtoValueSemantics +
o.a.i.core.metamodel.valuesemantics.LocalResourcePathValueSemantics +
o.a.i.core.metamodel.valuesemantics.LocaleValueSemantics +
o.a.i.core.metamodel.valuesemantics.LongValueSemantics +
o.a.i.core.metamodel.valuesemantics.MarkupValueSemantics +
o.a.i.core.metamodel.valuesemantics.OidDtoValueSemantics +
o.a.i.core.metamodel.valuesemantics.PasswordValueSemantics +
o.a.i.core.metamodel.valuesemantics.ShortValueSemantics +
o.a.i.core.metamodel.valuesemantics.StringValueSemantics +
o.a.i.core.metamodel.valuesemantics.TreeNodeValueSemantics +
o.a.i.core.metamodel.valuesemantics.URLValueSemantics +
o.a.i.core.metamodel.valuesemantics.UUIDValueSemantics +
o.a.i.core.metamodel.valuesemantics.temporal.LocalDateTimeValueSemantics +
o.a.i.core.metamodel.valuesemantics.temporal.LocalDateValueSemantics +
o.a.i.core.metamodel.valuesemantics.temporal.LocalTimeValueSemantics +
o.a.i.core.metamodel.valuesemantics.temporal.OffsetDateTimeValueSemantics +
o.a.i.core.metamodel.valuesemantics.temporal.OffsetTimeValueSemantics +
o.a.i.core.metamodel.valuesemantics.temporal.ZonedDateTimeValueSemantics +
o.a.i.core.metamodel.valuesemantics.temporal.legacy.JavaSqlDateValueSemantics +
o.a.i.core.metamodel.valuesemantics.temporal.legacy.JavaSqlTimeStampValueSemantics +
o.a.i.core.metamodel.valuesemantics.temporal.legacy.JavaSqlTimeValueSemantics +
o.a.i.core.metamodel.valuesemantics.temporal.legacy.JavaUtilDateValueSemantics +
o.a.i.core.metamodel.valuetypes.ValueSemanticsResolverDefault +
****

.Dependencies
****
io.swagger:swagger-core:jar:<managed> +
org.apache.isis.core:isis-applib:jar:<managed> +
org.apache.isis.core:isis-core-config:jar:<managed> +
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.core:isis-core-security:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:core:index/metamodel/object/ManagedObject.adoc[ManagedObject], xref:refguide:core:index/metamodel/services/command/CommandDtoFactory.adoc[CommandDtoFactory], xref:refguide:core:index/metamodel/services/ixn/InteractionDtoFactory.adoc[InteractionDtoFactory], xref:refguide:core:index/metamodel/services/metamodel/MetaModelAnnotator.adoc[MetaModelAnnotator], xref:refguide:core:index/metamodel/services/publishing/CommandPublisher.adoc[CommandPublisher], xref:refguide:core:index/metamodel/services/publishing/ExecutionPublisher.adoc[ExecutionPublisher], xref:refguide:core:index/metamodel/services/schema/SchemaValueMarshaller.adoc[SchemaValueMarshaller], xref:refguide:core:index/metamodel/services/tablecol/TableColumnOrderServiceDefault.adoc[TableColumnOrderServiceDefault], xref:refguide:core:index/metamodel/services/tablecol/TableColumnOrderServiceUsingTxtFile.adoc[TableColumnOrderServiceUsingTxtFile]
****

|Apache Isis Core - Privileged
[source,yaml]
----
Group: org.apache.isis.core
Artifact: isis-core-privileged
Type: jar
Directory: /core/privileged
----
|Installs as an automatic module with unrestricted access to the class-path (not module-path).
In the context of the Java platform module system, allows for reflective access to all classes
on the class-path. Classes on the module-path need to 'opens' to this module.

|Apache Isis Core - Runtime
[source,yaml]
----
Group: org.apache.isis.core
Artifact: isis-core-runtime
Type: jar
Directory: /core/runtime
----
|Bundles framework internal services, utilities and events.

.Components
****
o.a.i.core.runtime.events.MetamodelEventService +
o.a.i.core.runtime.events.TransactionEventEmitter +
****

.Dependencies
****
org.apache.isis.core:isis-core-interaction:jar:<managed> +
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.core:isis-core-metamodel:jar:<managed> +
org.apache.isis.core:isis-core-transaction:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-jodatime-integration:jar:${project.version} +
****

|Apache Isis Core - Runtime Services
[source,yaml]
----
Group: org.apache.isis.core
Artifact: isis-core-runtimeservices
Type: jar
Directory: /core/runtimeservices
----
|Introduced to keep the 'runtime' package concise. Viewers don't have dependencies on this module.

.Components
****
o.a.i.core.runtimeservices.bookmarks.BookmarkServiceDefault +
o.a.i.core.runtimeservices.command.CommandDtoFactoryDefault +
o.a.i.core.runtimeservices.command.CommandExecutorServiceDefault +
o.a.i.core.runtimeservices.command.SchemaValueMarshallerDefault +
o.a.i.core.runtimeservices.email.EmailServiceDefault +
o.a.i.core.runtimeservices.eventbus.EventBusServiceSpring +
o.a.i.core.runtimeservices.executor.MemberExecutorServiceDefault +
o.a.i.core.runtimeservices.factory.FactoryServiceDefault +
o.a.i.core.runtimeservices.homepage.HomePageResolverServiceDefault +
o.a.i.core.runtimeservices.i18n.po.TranslationServicePo +
o.a.i.core.runtimeservices.icons.ObjectIconServiceDefault +
o.a.i.core.runtimeservices.interaction.InteractionDtoFactoryDefault +
o.a.i.core.runtimeservices.jaxb.JaxbServiceDefault +
o.a.i.core.runtimeservices.locale.LanguageProviderDefault +
o.a.i.core.runtimeservices.locale.LocaleChoiceProviderDefault +
o.a.i.core.runtimeservices.menubars.MenuBarsLoaderServiceDefault +
o.a.i.core.runtimeservices.menubars.bootstrap.MenuBarsServiceBS +
o.a.i.core.runtimeservices.message.MessageServiceDefault +
o.a.i.core.runtimeservices.placeholder.PlaceholderRenderServiceDefault +
o.a.i.core.runtimeservices.publish.CommandPublisherDefault +
o.a.i.core.runtimeservices.publish.EntityChangesPublisherDefault +
o.a.i.core.runtimeservices.publish.EntityPropertyChangePublisherDefault +
o.a.i.core.runtimeservices.publish.ExecutionPublisherDefault +
o.a.i.core.runtimeservices.publish.LifecycleCallbackNotifier +
o.a.i.core.runtimeservices.publish.ObjectLifecyclePublisherDefault +
o.a.i.core.runtimeservices.recognizer.ExceptionRecognizerServiceDefault +
o.a.i.core.runtimeservices.recognizer.dae.ExceptionRecognizerForDataAccessException +
o.a.i.core.runtimeservices.repository.RepositoryServiceDefault +
o.a.i.core.runtimeservices.routing.RoutingServiceDefault +
o.a.i.core.runtimeservices.scratchpad.ScratchpadDefault +
o.a.i.core.runtimeservices.serializing.SerializingAdapterDefault +
o.a.i.core.runtimeservices.session.InteractionIdGenerator +
o.a.i.core.runtimeservices.session.InteractionServiceDefault +
o.a.i.core.runtimeservices.sitemap.SitemapServiceDefault +
o.a.i.core.runtimeservices.spring.SpringBeansService +
o.a.i.core.runtimeservices.transaction.TransactionServiceSpring +
o.a.i.core.runtimeservices.urlencoding.UrlEncodingServiceWithCompression +
o.a.i.core.runtimeservices.user.ImpersonateMenuAdvisorDefault +
o.a.i.core.runtimeservices.user.ImpersonatedUserHolderDefault +
o.a.i.core.runtimeservices.user.UserCurrentSessionTimeZoneHolderDefault +
o.a.i.core.runtimeservices.userreg.EmailNotificationServiceDefault +
o.a.i.core.runtimeservices.wrapper.WrapperFactoryDefault +
o.a.i.core.runtimeservices.xml.XmlServiceDefault +
o.a.i.core.runtimeservices.xmlsnapshot.XmlSnapshotServiceDefault +
****

.Dependencies
****
org.apache.isis.core:isis-core-codegen-bytebuddy:jar:<managed> +
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.core:isis-core-runtime:jar:<managed> +
org.hsqldb:hsqldb:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:core:index/runtimeservices/publish/LifecycleCallbackNotifier.adoc[LifecycleCallbackNotifier], xref:refguide:core:index/runtimeservices/publish/ObjectLifecyclePublisherDefault.adoc[ObjectLifecyclePublisherDefault], xref:refguide:core:index/runtimeservices/spring/BeanDescriptor.adoc[BeanDescriptor], xref:refguide:core:index/runtimeservices/spring/ContextBeans.adoc[ContextBeans], xref:refguide:core:index/runtimeservices/spring/SpringBeansService.adoc[SpringBeansService], xref:refguide:core:index/runtimeservices/transaction/TransactionServiceSpring.adoc[TransactionServiceSpring], xref:refguide:core:index/runtimeservices/xml/XmlServiceDefault.adoc[XmlServiceDefault]
****

|Apache Isis Core - Security
[source,yaml]
----
Group: org.apache.isis.core
Artifact: isis-core-security
Type: jar
Directory: /core/security
----
|.Components
****
o.a.i.core.security.authentication.manager.AuthenticationManager +
o.a.i.core.security.authentication.standard.RandomCodeGeneratorDefault +
o.a.i.core.security.authorization.manager.AuthorizationManager +
****

.Dependencies
****
org.apache.isis.core:isis-applib:jar:<managed> +
org.apache.isis.core:isis-core-config:jar:<managed> +
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:core:index/security/authentication/AuthenticationRequest.adoc[AuthenticationRequest], xref:refguide:core:index/security/authentication/Authenticator.adoc[Authenticator], xref:refguide:core:index/security/authorization/Authorizor.adoc[Authorizor], xref:refguide:core:index/security/authorization/manager/AuthorizationManager.adoc[AuthorizationManager], xref:refguide:core:index/security/authorization/manager/AuthorizorChooser.adoc[AuthorizorChooser]
****

|Apache Isis Core - Transaction
[source,yaml]
----
Group: org.apache.isis.core
Artifact: isis-core-transaction
Type: jar
Directory: /core/transaction
----
|Provides transaction integration with Spring and also
entity change tracking, with associated publishing and pre/post value events.

.Components
****
o.a.i.core.transaction.changetracking.events.TimestampService +
****

.Dependencies
****
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.core:isis-core-metamodel:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:core:index/transaction/changetracking/EntityChangeTracker.adoc[EntityChangeTracker], xref:refguide:core:index/transaction/changetracking/EntityChangesPublisher.adoc[EntityChangesPublisher], xref:refguide:core:index/transaction/changetracking/EntityPropertyChangePublisher.adoc[EntityPropertyChangePublisher], xref:refguide:core:index/transaction/events/TransactionAfterCompletionEvent.adoc[TransactionAfterCompletionEvent]
****

|Apache Isis Core - WebApp
[source,yaml]
----
Group: org.apache.isis.core
Artifact: isis-core-webapp
Type: jar
Directory: /core/webapp
----
|Bundles all the web specific classes a srequired by viewers.
Introduced to keep the 'runtime' package concise.

.Components
****
o.a.i.core.webapp.confmenu.ConfigurationViewServiceDefault +
o.a.i.core.webapp.health.HealthIndicatorUsingHealthCheckService +
o.a.i.core.webapp.keyvaluestore.KeyValueStoreUsingHttpSession +
o.a.i.core.webapp.modules.logonlog.WebModuleLogOnExceptionLogger +
o.a.i.core.webapp.modules.templresources.WebModuleTemplateResources +
o.a.i.core.webapp.webappctx.IsisWebAppContextInitializer +
****

.Dependencies
****
javax.servlet:javax.servlet-api:jar:<managed> +
org.apache.isis.core:isis-core-interaction:jar:<managed> +
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.core:isis-core-runtime:jar:<managed> +
org.apache.isis.core:isis-core-transaction:jar:<managed> +
org.springframework:spring-web:jar:<managed> +
org.springframework.boot:spring-boot:jar:<managed> +
org.springframework.boot:spring-boot-actuator:jar:<managed> +
org.springframework.boot:spring-boot-starter-thymeleaf:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:core:index/webapp/keyvaluestore/KeyValueStoreUsingHttpSession.adoc[KeyValueStoreUsingHttpSession]
****

|Apache Isis - JDK Supplemental
[source,yaml]
----
Group: org.apache.isis.core
Artifact: isis-jdk-supplemental
Type: pom
Directory: /core/jdk-supplemental
----
|Defines a module to bring in dependencies that were part of JDK 8 but
had been removed with later JDK versions.
Also brings in Jakarta EE API (@Inject, @Qualifier, ...).

.Dependencies
****
com.fasterxml.woodstox:woodstox-core:jar:<managed> +
com.sun.xml.bind:jaxb-impl:jar:<managed> +
com.sun.xml.bind.external:relaxng-datatype:jar:2.3.6 +
com.sun.xml.bind.external:rngom:jar:2.3.6 +
com.sun.xml.ws:jaxws-ri:pom:${jaxws-ri.version} +
com.sun.xml.ws:jaxws-rt:jar:${jaxws-ri.version} +
jakarta.annotation:jakarta.annotation-api:jar:<managed> +
jakarta.enterprise:jakarta.enterprise.cdi-api:jar:2.0.1 +
jakarta.inject:jakarta.inject-api:jar:1.0.5 +
jakarta.transaction:jakarta.transaction-api:jar:<managed> +
org.codehaus.woodstox:stax2-api:jar:<managed> +
org.eclipse.persistence:org.eclipse.persistence.moxy:jar:<managed> +
org.eclipse.persistence:org.eclipse.persistence.sdo:jar:<managed> +
org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec:jar:<managed> +
****

|Apache Isis Api - Schemas
[source,yaml]
----
Group: org.apache.isis.core
Artifact: isis-schema
Type: jar
Directory: /api/schema
----
|Apache Isis schemas, for conversion into canonical DTOs (for use in integration scenarios).

.Dependencies
****
org.apache.isis.core:isis-jdk-supplemental:pom:<managed> +
org.springframework:spring-context:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:schema:index/IsisModuleSchema.adoc[IsisModuleSchema]
****
|===

== Persistence

[plantuml,Persistence,svg]
----
@startuml(id=Persistence)
title Persistence - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "Persistence\n[Software System]" {
  rectangle "==Apache Isis Persistence - Commons\n<size:10>[Container: packaging: jar]</size>" <<2>> as 2
}
@enduml
----
.Projects/Modules (Persistence)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis Persistence - Commons
[source,yaml]
----
Group: org.apache.isis.persistence
Artifact: isis-persistence-commons
Type: jar
Directory: /persistence/commons
----
|Apache Isis Common utilities for persistence stacks

.Components
****
o.a.i.persistence.jpa.integration.changetracking.EntityChangeTrackerDefault +
o.a.i.persistence.jpa.integration.changetracking.EntityChangeTrackerDefault$TransactionSubscriber +
****

.Dependencies
****
org.apache.isis.commons:isis-commons:jar:<managed> +
org.apache.isis.core:isis-applib:jar:<managed> +
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.core:isis-core-runtime:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:persistence:index/jpa/integration/changetracking/EntityChangeTrackerDefault.adoc[EntityChangeTrackerDefault]
****
|===

=== JDO

[plantuml,JDO,svg]
----
@startuml(id=JDO)
title JDO - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<3>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<4>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<5>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<6>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<7>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<8>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "JDO\n[Software System]" {
  rectangle "==Apache Isis Persistence - JDO\n<size:10>[Container: packaging: pom]</size>" <<2>> as 2
  rectangle "==Apache Isis Persistence - JDO (Spring)\n<size:10>[Container: packaging: jar]</size>" <<8>> as 8
  rectangle "==Apache Isis Persistence - JDO (applib)\n<size:10>[Container: packaging: jar]</size>" <<3>> as 3
  rectangle "==Apache Isis Persistence - JDO (integration)\n<size:10>[Container: packaging: jar]</size>" <<5>> as 5
  rectangle "==Apache Isis Persistence - JDO (metamodel)\n<size:10>[Container: packaging: jar]</size>" <<6>> as 6
  rectangle "==Apache Isis Persistence - JDO (provider)\n<size:10>[Container: packaging: jar]</size>" <<7>> as 7
  rectangle "==Apache Isis Persistence - JDO Provider (DataNucleus)\n<size:10>[Container: packaging: jar]</size>" <<4>> as 4
}
2 .[#707070].> 8 : ""
2 .[#707070].> 3 : ""
2 .[#707070].> 5 : ""
2 .[#707070].> 6 : ""
2 .[#707070].> 7 : ""
2 .[#707070].> 4 : ""
@enduml
----
.Projects/Modules (JDO)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis Persistence - JDO
[source,yaml]
----
Group: org.apache.isis.persistence
Artifact: isis-persistence-jdo
Type: pom
Directory: /persistence/jdo
----
|Supplementary applib for JDO persistence

|Apache Isis Persistence - JDO (applib)
[source,yaml]
----
Group: org.apache.isis.persistence
Artifact: isis-persistence-jdo-applib
Type: jar
Directory: /persistence/jdo/applib
----
|Supplementary applib for JDO persistence

.Dependencies
****
org.apache.isis.commons:isis-commons:jar:<managed> +
org.apache.isis.core:isis-applib:jar:<managed> +
org.datanucleus:datanucleus-rdbms:jar:<managed> +
org.datanucleus:javax.jdo:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:persistence:index/jdo/applib/IsisModulePersistenceJdoApplib.adoc[IsisModulePersistenceJdoApplib], xref:refguide:persistence:index/jdo/applib/services/JdoSupportService.adoc[JdoSupportService], xref:refguide:persistence:index/jdo/applib/types/AddressLine.adoc[AddressLine], xref:refguide:persistence:index/jdo/applib/types/Description.adoc[Description], xref:refguide:persistence:index/jdo/applib/types/Email.adoc[Email], xref:refguide:persistence:index/jdo/applib/types/Fqcn.adoc[Fqcn], xref:refguide:persistence:index/jdo/applib/types/LogicalTypeName.adoc[LogicalTypeName], xref:refguide:persistence:index/jdo/applib/types/Money.adoc[Money], xref:refguide:persistence:index/jdo/applib/types/Name.adoc[Name], xref:refguide:persistence:index/jdo/applib/types/Notes.adoc[Notes], xref:refguide:persistence:index/jdo/applib/types/ObjectIdentifier.adoc[ObjectIdentifier], xref:refguide:persistence:index/jdo/applib/types/Percentage.adoc[Percentage], xref:refguide:persistence:index/jdo/applib/types/PhoneNumber.adoc[PhoneNumber], xref:refguide:persistence:index/jdo/applib/types/PostalCode.adoc[PostalCode], xref:refguide:persistence:index/jdo/applib/types/ProperName.adoc[ProperName], xref:refguide:persistence:index/jdo/applib/types/Reference.adoc[Reference], xref:refguide:persistence:index/jdo/applib/types/Title.adoc[Title], xref:refguide:persistence:index/jdo/applib/types/UrlTemplate.adoc[UrlTemplate], xref:refguide:persistence:index/jdo/applib/types/Username.adoc[Username]
****

|Apache Isis Persistence - JDO Provider (DataNucleus)
[source,yaml]
----
Group: org.apache.isis.persistence
Artifact: isis-persistence-jdo-datanucleus
Type: jar
Directory: /persistence/jdo/datanucleus
----
|JDO Implementation (powered by DataNucleus)

.Components
****
o.a.i.persistence.jdo.datanucleus.entities.DnEntityStateProvider +
o.a.i.persistence.jdo.datanucleus.jdosupport.JdoSupportServiceDefault +
o.a.i.persistence.jdo.datanucleus.valuetypes.DnByteIdValueSemantics +
o.a.i.persistence.jdo.datanucleus.valuetypes.DnCharIdValueSemantics +
o.a.i.persistence.jdo.datanucleus.valuetypes.DnDatastoreIdImplValueSemantics +
o.a.i.persistence.jdo.datanucleus.valuetypes.DnDatastoreUniqueLongIdValueSemantics +
o.a.i.persistence.jdo.datanucleus.valuetypes.DnIntIdValueSemantics +
o.a.i.persistence.jdo.datanucleus.valuetypes.DnLongIdValueSemantics +
o.a.i.persistence.jdo.datanucleus.valuetypes.DnObjectIdValueSemantics +
o.a.i.persistence.jdo.datanucleus.valuetypes.DnShortIdValueSemantics +
o.a.i.persistence.jdo.datanucleus.valuetypes.DnStringIdValueSemantics +
o.a.i.persistence.jdo.datanucleus.valuetypes.JdoByteIdentityValueSemantics +
o.a.i.persistence.jdo.datanucleus.valuetypes.JdoCharIdentityValueSemantics +
o.a.i.persistence.jdo.datanucleus.valuetypes.JdoDatastoreIdValueSemantics +
o.a.i.persistence.jdo.datanucleus.valuetypes.JdoIntIdentityValueSemantics +
o.a.i.persistence.jdo.datanucleus.valuetypes.JdoLongIdentityValueSemantics +
o.a.i.persistence.jdo.datanucleus.valuetypes.JdoObjectIdentityValueSemantics +
o.a.i.persistence.jdo.datanucleus.valuetypes.JdoShortIdentityValueSemantics +
o.a.i.persistence.jdo.datanucleus.valuetypes.JdoStringIdentityValueSemantics +
****

.Dependencies
****
com.h2database:h2:jar:<managed> +
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.core:isis-core-runtime:jar:<managed> +
org.apache.isis.persistence:isis-persistence-jdo-integration:jar:<managed> +
org.apache.isis.persistence:isis-persistence-jdo-provider:jar:<managed> +
org.datanucleus:datanucleus-api-jdo:jar:<managed> +
org.datanucleus:datanucleus-core:jar:<managed> +
org.datanucleus:datanucleus-jdo-query:jar:<managed> +
org.datanucleus:datanucleus-jodatime:jar:<managed> +
org.datanucleus:datanucleus-rdbms:jar:<managed> +
org.springframework.boot:spring-boot-starter-jdbc:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:persistence:index/jdo/datanucleus/IsisModulePersistenceJdoDatanucleus.adoc[IsisModulePersistenceJdoDatanucleus], xref:refguide:persistence:index/jdo/datanucleus/IsisModulePersistenceJdoDatanucleusMixins.adoc[IsisModulePersistenceJdoDatanucleusMixins], xref:refguide:persistence:index/jdo/datanucleus/changetracking/JdoLifecycleListener.adoc[JdoLifecycleListener], xref:refguide:persistence:index/jdo/datanucleus/dialect/DnJdoDialect.adoc[DnJdoDialect], xref:refguide:persistence:index/jdo/datanucleus/mixins/Persistable_datanucleusVersionLong.adoc[Persistable_datanucleusVersionLong], xref:refguide:persistence:index/jdo/datanucleus/mixins/Persistable_datanucleusVersionTimestamp.adoc[Persistable_datanucleusVersionTimestamp], xref:refguide:persistence:index/jdo/datanucleus/mixins/Persistable_downloadJdoMetadata.adoc[Persistable_downloadJdoMetadata], xref:refguide:persistence:index/jdo/datanucleus/typeconverters/applib/IsisBookmarkConverter.adoc[IsisBookmarkConverter], xref:refguide:persistence:index/jdo/datanucleus/typeconverters/applib/IsisLocalResourcePathConverter.adoc[IsisLocalResourcePathConverter], xref:refguide:persistence:index/jdo/datanucleus/typeconverters/applib/IsisMarkupConverter.adoc[IsisMarkupConverter], xref:refguide:persistence:index/jdo/datanucleus/typeconverters/applib/IsisPasswordConverter.adoc[IsisPasswordConverter], xref:refguide:persistence:index/jdo/datanucleus/typeconverters/image/JavaAwtBufferedImageByteArrayConverter.adoc[JavaAwtBufferedImageByteArrayConverter], xref:refguide:persistence:index/jdo/datanucleus/typeconverters/schema/v2/IsisChangesDtoConverter.adoc[IsisChangesDtoConverter], xref:refguide:persistence:index/jdo/datanucleus/typeconverters/schema/v2/IsisCommandDtoConverter.adoc[IsisCommandDtoConverter], xref:refguide:persistence:index/jdo/datanucleus/typeconverters/schema/v2/IsisInteractionDtoConverter.adoc[IsisInteractionDtoConverter], xref:refguide:persistence:index/jdo/datanucleus/typeconverters/schema/v2/IsisOidDtoConverter.adoc[IsisOidDtoConverter], xref:refguide:persistence:index/jdo/datanucleus/typeconverters/time/OffsetDateTimeConverterForJdo.adoc[OffsetDateTimeConverterForJdo], xref:refguide:persistence:index/jdo/datanucleus/typeconverters/time/OffsetTimeConverterForJdo.adoc[OffsetTimeConverterForJdo], xref:refguide:persistence:index/jdo/datanucleus/typeconverters/time/ZonedDateTimeConverterForJdo.adoc[ZonedDateTimeConverterForJdo], xref:refguide:persistence:index/jdo/datanucleus/valuemappings/ByteArrayBlobRdbmsMapping.adoc[ByteArrayBlobRdbmsMapping], xref:refguide:persistence:index/jdo/datanucleus/valuemappings/IsisBlobMapping.adoc[IsisBlobMapping], xref:refguide:persistence:index/jdo/datanucleus/valuemappings/IsisClobMapping.adoc[IsisClobMapping]
****

|Apache Isis Persistence - JDO (integration)
[source,yaml]
----
Group: org.apache.isis.persistence
Artifact: isis-persistence-jdo-integration
Type: jar
Directory: /persistence/jdo/integration
----
|JDO Integration (powered by DataNucleus)

.Dependencies
****
org.apache.isis.commons:isis-commons:jar:<managed> +
org.apache.isis.core:isis-applib:jar:<managed> +
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.core:isis-core-runtime:jar:<managed> +
org.apache.isis.persistence:isis-persistence-commons:jar:<managed> +
org.apache.isis.persistence:isis-persistence-jdo-applib:jar:<managed> +
org.apache.isis.persistence:isis-persistence-jdo-metamodel:jar:<managed> +
org.apache.isis.persistence:isis-persistence-jdo-spring:jar:<managed> +
****

|Apache Isis Persistence - JDO (metamodel)
[source,yaml]
----
Group: org.apache.isis.persistence
Artifact: isis-persistence-jdo-metamodel
Type: jar
Directory: /persistence/jdo/metamodel
----
|JDO Metamodel Facets / Programming Model

.Components
****
o.a.i.persistence.jdo.metamodel.JdoProgrammingModel +
****

.Dependencies
****
org.apache.isis.core:isis-core-internaltestvintage:jar:<managed> +
org.apache.isis.core:isis-core-runtime:jar:<managed> +
org.apache.isis.persistence:isis-persistence-jdo-applib:jar:<managed> +
org.apache.isis.persistence:isis-persistence-jdo-provider:jar:<managed> +
****

|Apache Isis Persistence - JDO (provider)
[source,yaml]
----
Group: org.apache.isis.persistence
Artifact: isis-persistence-jdo-provider
Type: jar
Directory: /persistence/jdo/provider
----
|JDO Provider to be implemented by any actual JDO provider eg. DataNucleus.

.Dependencies
****
org.apache.isis.core:isis-core-metamodel:jar:<managed> +
org.apache.isis.persistence:isis-persistence-jdo-applib:jar:<managed> +
****

|Apache Isis Persistence - JDO (Spring)
[source,yaml]
----
Group: org.apache.isis.persistence
Artifact: isis-persistence-jdo-spring
Type: jar
Directory: /persistence/jdo/spring
----
|JDO Spring integration.

This is a fork of the Spring ORM JDO sources at github,
for which support had been dropped back in 2016 [1].

Credits to the original authors. See also docs [2].

[1] https://github.com/spring-projects/spring-framework/issues/18702
[2] https://docs.spring.io/spring-framework/docs/3.0.0.RC2/reference/html/ch13s04.html

.Dependencies
****
javax.servlet:javax.servlet-api:jar:<managed> +
org.apache.isis.commons:isis-commons:jar:<managed> +
org.apache.isis.core:isis-applib:jar:<managed> +
org.apache.isis.core:isis-core-config:jar:<managed> +
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.persistence:isis-persistence-jdo-applib:jar:<managed> +
org.apache.isis.persistence:isis-persistence-jdo-provider:jar:<managed> +
org.springframework:spring-jdbc:jar:<managed> +
org.springframework:spring-web:jar:<managed> +
****
|===

=== JPA

[plantuml,JPA,svg]
----
@startuml(id=JPA)
title JPA - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<3>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<4>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<5>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<6>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "JPA\n[Software System]" {
  rectangle "==Apache Isis Persistence - JPA\n<size:10>[Container: packaging: pom]</size>" <<2>> as 2
  rectangle "==Apache Isis Persistence - JPA (applib)\n<size:10>[Container: packaging: jar]</size>" <<3>> as 3
  rectangle "==Apache Isis Persistence - JPA (integration)\n<size:10>[Container: packaging: jar]</size>" <<5>> as 5
  rectangle "==Apache Isis Persistence - JPA (metamodel)\n<size:10>[Container: packaging: jar]</size>" <<6>> as 6
  rectangle "==Apache Isis Persistence - JPA EclipseLink\n<size:10>[Container: packaging: jar]</size>" <<4>> as 4
}
2 .[#707070].> 3 : ""
2 .[#707070].> 5 : ""
2 .[#707070].> 6 : ""
2 .[#707070].> 4 : ""
@enduml
----
.Projects/Modules (JPA)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis Persistence - JPA
[source,yaml]
----
Group: org.apache.isis.persistence
Artifact: isis-persistence-jpa
Type: pom
Directory: /persistence/jpa
----
|Apache Isis JPA integration

|Apache Isis Persistence - JPA (applib)
[source,yaml]
----
Group: org.apache.isis.persistence
Artifact: isis-persistence-jpa-applib
Type: jar
Directory: /persistence/jpa/applib
----
|Supplementary applib for JPA persistence

.Dependencies
****
org.apache.isis.commons:isis-commons:jar:<managed> +
org.apache.isis.core:isis-applib:jar:<managed> +
org.apache.isis.core:isis-core-transaction:jar:<managed> +
org.springframework.data:spring-data-jpa:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:persistence:index/jpa/applib/integration/IsisEntityListener.adoc[IsisEntityListener], xref:refguide:persistence:index/jpa/applib/services/JpaSupportService.adoc[JpaSupportService], xref:refguide:persistence:index/jpa/applib/types/BlobJpaEmbeddable.adoc[BlobJpaEmbeddable], xref:refguide:persistence:index/jpa/applib/types/ClobJpaEmbeddable.adoc[ClobJpaEmbeddable]
****

|Apache Isis Persistence - JPA EclipseLink
[source,yaml]
----
Group: org.apache.isis.persistence
Artifact: isis-persistence-jpa-eclipselink
Type: jar
Directory: /persistence/jpa/eclipselink
----
|EclipseLink integration. Sets up EclipseLink as the implementation provider for Spring Data JPA.

.Dependencies
****
jakarta.el:jakarta.el-api:jar:3.0.3 +
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.persistence:isis-persistence-jpa-integration:jar:<managed> +
org.eclipse.persistence:org.eclipse.persistence.jpa:jar:2.7.11 +
org.springframework.boot:spring-boot-starter-data-jpa:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:persistence:index/jpa/eclipselink/IsisModulePersistenceJpaEclipselink.adoc[IsisModulePersistenceJpaEclipselink]
****

|Apache Isis Persistence - JPA (integration)
[source,yaml]
----
Group: org.apache.isis.persistence
Artifact: isis-persistence-jpa-integration
Type: jar
Directory: /persistence/jpa/integration
----
|JPA integration (facets, jpa-context)

.Components
****
o.a.i.persistence.jpa.integration.entity.JpaEntityIntegration +
****

.Dependencies
****
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.core:isis-core-runtime:jar:<managed> +
org.apache.isis.persistence:isis-persistence-commons:jar:<managed> +
org.apache.isis.persistence:isis-persistence-jpa-metamodel:jar:<managed> +
org.springframework.data:spring-data-jpa:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:persistence:index/jpa/integration/typeconverters/applib/IsisBookmarkConverter.adoc[IsisBookmarkConverter], xref:refguide:persistence:index/jpa/integration/typeconverters/applib/IsisLocalResourcePathConverter.adoc[IsisLocalResourcePathConverter], xref:refguide:persistence:index/jpa/integration/typeconverters/applib/IsisMarkupConverter.adoc[IsisMarkupConverter], xref:refguide:persistence:index/jpa/integration/typeconverters/applib/IsisPasswordConverter.adoc[IsisPasswordConverter], xref:refguide:persistence:index/jpa/integration/typeconverters/java/awt/JavaAwtBufferedImageByteArrayConverter.adoc[JavaAwtBufferedImageByteArrayConverter], xref:refguide:persistence:index/jpa/integration/typeconverters/java/time/OffsetDateTimeConverterForJpa.adoc[OffsetDateTimeConverterForJpa], xref:refguide:persistence:index/jpa/integration/typeconverters/java/time/OffsetTimeConverterForJpa.adoc[OffsetTimeConverterForJpa], xref:refguide:persistence:index/jpa/integration/typeconverters/java/time/ZonedDateTimeConverterForJpa.adoc[ZonedDateTimeConverterForJpa], xref:refguide:persistence:index/jpa/integration/typeconverters/java/util/JavaUtilUuidConverter.adoc[JavaUtilUuidConverter], xref:refguide:persistence:index/jpa/integration/typeconverters/schema/v2/IsisChangesDtoConverter.adoc[IsisChangesDtoConverter], xref:refguide:persistence:index/jpa/integration/typeconverters/schema/v2/IsisCommandDtoConverter.adoc[IsisCommandDtoConverter], xref:refguide:persistence:index/jpa/integration/typeconverters/schema/v2/IsisInteractionDtoConverter.adoc[IsisInteractionDtoConverter], xref:refguide:persistence:index/jpa/integration/typeconverters/schema/v2/IsisOidDtoConverter.adoc[IsisOidDtoConverter]
****

|Apache Isis Persistence - JPA (metamodel)
[source,yaml]
----
Group: org.apache.isis.persistence
Artifact: isis-persistence-jpa-metamodel
Type: jar
Directory: /persistence/jpa/metamodel
----
|JPA Metamodel Facets / Programming Model

.Components
****
o.a.i.persistence.jpa.metamodel.JpaProgrammingModel +
****

.Dependencies
****
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.core:isis-core-runtime:jar:<managed> +
org.apache.isis.persistence:isis-persistence-jpa-applib:jar:<managed> +
****
|===

== Security

=== Bypass

[plantuml,Bypass,svg]
----
@startuml(id=Bypass)
title Bypass - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "Bypass\n[Software System]" {
  rectangle "==Apache Isis Security - Bypass\n<size:10>[Container: packaging: jar]</size>" <<2>> as 2
}
@enduml
----
.Projects/Modules (Bypass)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis Security - Bypass
[source,yaml]
----
Group: org.apache.isis.security
Artifact: isis-security-bypass
Type: jar
Directory: /security/bypass
----
|.Components
****
o.a.i.security.bypass.authentication.AuthenticatorBypass +
o.a.i.security.bypass.authorization.AuthorizorBypass +
****

.Dependencies
****
org.apache.isis.core:isis-core-runtimeservices:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:security:index/bypass/IsisModuleSecurityBypass.adoc[IsisModuleSecurityBypass], xref:refguide:security:index/bypass/authentication/AuthenticatorBypass.adoc[AuthenticatorBypass], xref:refguide:security:index/bypass/authorization/AuthorizorBypass.adoc[AuthorizorBypass]
****
|===

=== Keycloak

[plantuml,Keycloak,svg]
----
@startuml(id=Keycloak)
title Keycloak - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "Keycloak\n[Software System]" {
  rectangle "==Apache Isis Security - Keycloak\n<size:10>[Container: packaging: jar]</size>" <<2>> as 2
}
@enduml
----
.Projects/Modules (Keycloak)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis Security - Keycloak
[source,yaml]
----
Group: org.apache.isis.security
Artifact: isis-security-keycloak
Type: jar
Directory: /security/keycloak
----
|Authentication and Authorization using Keycloak

.Components
****
o.a.i.security.keycloak.handler.LogoutHandlerForKeycloak +
****

.Dependencies
****
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.core:isis-core-runtime:jar:<managed> +
org.apache.isis.core:isis-core-runtimeservices:jar:<managed> +
org.apache.isis.core:isis-core-webapp:jar:<managed> +
org.apache.isis.security:isis-security-spring:jar:<managed> +
org.springframework.boot:spring-boot-starter-security:jar:<managed> +
org.springframework.security:spring-security-oauth2-client:jar:<managed> +
org.springframework.security:spring-security-oauth2-core:jar:<managed> +
org.springframework.security:spring-security-oauth2-jose:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:security:index/keycloak/IsisModuleSecurityKeycloak.adoc[IsisModuleSecurityKeycloak]
****
|===

=== Shiro

[plantuml,Shiro,svg]
----
@startuml(id=Shiro)
title Shiro - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "Shiro\n[Software System]" {
  rectangle "==Apache Isis Security - Shiro\n<size:10>[Container: packaging: jar]</size>" <<2>> as 2
}
@enduml
----
.Projects/Modules (Shiro)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis Security - Shiro
[source,yaml]
----
Group: org.apache.isis.security
Artifact: isis-security-shiro
Type: jar
Directory: /security/shiro
----
|Authentication and Authorization using Apache Shiro.

.Components
****
o.a.i.security.shiro.authentication.AuthenticatorShiro +
o.a.i.security.shiro.authorization.AuthorizorShiro +
o.a.i.security.shiro.webmodule.WebModuleShiro +
****

.Dependencies
****
org.apache.isis.core:isis-core-internaltestvintage:jar:<managed> +
org.apache.isis.core:isis-core-runtime:jar:<managed> +
org.apache.isis.core:isis-core-runtimeservices:jar:<managed> +
org.apache.isis.core:isis-core-webapp:jar:<managed> +
org.apache.shiro:shiro-core:jar:<managed> +
org.apache.shiro:shiro-web:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:security:index/shiro/IsisModuleSecurityShiro.adoc[IsisModuleSecurityShiro], xref:refguide:security:index/shiro/authentication/AuthenticatorShiro.adoc[AuthenticatorShiro], xref:refguide:security:index/shiro/authorization/AuthorizorShiro.adoc[AuthorizorShiro], xref:refguide:security:index/shiro/authorization/IsisPermission.adoc[IsisPermission], xref:refguide:security:index/shiro/authorization/IsisPermissionResolver.adoc[IsisPermissionResolver], xref:refguide:security:index/shiro/webmodule/WebModuleShiro.adoc[WebModuleShiro]
****
|===

=== Spring

[plantuml,Spring,svg]
----
@startuml(id=Spring)
title Spring - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "Spring\n[Software System]" {
  rectangle "==Apache Isis Security - Spring\n<size:10>[Container: packaging: jar]</size>" <<2>> as 2
}
@enduml
----
.Projects/Modules (Spring)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis Security - Spring
[source,yaml]
----
Group: org.apache.isis.security
Artifact: isis-security-spring
Type: jar
Directory: /security/spring
----
|Authentication using Spring Security

.Components
****
o.a.i.security.spring.authconverters.AuthenticationConverterOfAuthenticatedPrincipal +
o.a.i.security.spring.authconverters.AuthenticationConverterOfStringPrincipal +
o.a.i.security.spring.authconverters.AuthenticationConverterOfUserDetailsPrincipal +
o.a.i.security.spring.authentication.AuthenticatorSpring +
o.a.i.security.spring.webmodule.WebModuleSpringSecurity +
****

.Dependencies
****
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.core:isis-core-runtimeservices:jar:<managed> +
org.apache.isis.core:isis-core-webapp:jar:<managed> +
org.springframework.boot:spring-boot-starter-security:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:security:index/spring/IsisModuleSecuritySpring.adoc[IsisModuleSecuritySpring], xref:refguide:security:index/spring/authconverters/AuthenticationConverter.adoc[AuthenticationConverter], xref:refguide:security:index/spring/authentication/AuthenticatorSpring.adoc[AuthenticatorSpring], xref:refguide:security:index/spring/webmodule/SpringSecurityFilter.adoc[SpringSecurityFilter], xref:refguide:security:index/spring/webmodule/WebModuleSpringSecurity.adoc[WebModuleSpringSecurity]
****
|===

== Viewer

=== Common

[plantuml,Common,svg]
----
@startuml(id=Common)
title Common - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<3>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<4>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<5>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<6>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "Common\n[Software System]" {
  rectangle "==Apache Isis Commons - Prism\n<size:10>[Container: packaging: jar]</size>" <<5>> as 5
  rectangle "==Apache Isis Viewer - Commons\n<size:10>[Container: packaging: pom]</size>" <<2>> as 2
  rectangle "==Apache Isis Viewer - Commons Applib\n<size:10>[Container: packaging: jar]</size>" <<3>> as 3
  rectangle "==Apache Isis Viewer - Commons Model\n<size:10>[Container: packaging: jar]</size>" <<4>> as 4
  rectangle "==Apache Isis Viewer - Commons Services\n<size:10>[Container: packaging: jar]</size>" <<6>> as 6
}
2 .[#707070].> 5 : ""
2 .[#707070].> 3 : ""
2 .[#707070].> 4 : ""
2 .[#707070].> 6 : ""
@enduml
----
.Projects/Modules (Common)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis Viewer - Commons
[source,yaml]
----
Group: org.apache.isis.viewer
Artifact: isis-viewer-commons
Type: pom
Directory: /viewers/commons
----
|

|Apache Isis Viewer - Commons Applib
[source,yaml]
----
Group: org.apache.isis.viewer
Artifact: isis-viewer-commons-applib
Type: jar
Directory: /viewers/commons/applib
----
|.Dependencies
****
org.apache.isis.core:isis-core-metamodel:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:viewer:index/commons/applib/mixins/Object_impersonate.adoc[Object_impersonate], xref:refguide:viewer:index/commons/applib/mixins/Object_impersonateWithRoles.adoc[Object_impersonateWithRoles], xref:refguide:viewer:index/commons/applib/services/branding/BrandingUiService.adoc[BrandingUiService], xref:refguide:viewer:index/commons/applib/services/header/HeaderUiService.adoc[HeaderUiService], xref:refguide:viewer:index/commons/applib/services/menu/MenuUiService.adoc[MenuUiService], xref:refguide:viewer:index/commons/applib/services/userprof/UserProfileUiModel.adoc[UserProfileUiModel], xref:refguide:viewer:index/commons/applib/services/userprof/UserProfileUiService.adoc[UserProfileUiService]
****

|Apache Isis Viewer - Commons Model
[source,yaml]
----
Group: org.apache.isis.viewer
Artifact: isis-viewer-commons-model
Type: jar
Directory: /viewers/commons/model
----
|.Dependencies
****
org.apache.isis.core:isis-core-runtime:jar:<managed> +
org.apache.isis.viewer:isis-viewer-commons-applib:jar:<managed> +
org.webjars:font-awesome:jar:6.2.0 +
****

|Apache Isis Commons - Prism
[source,yaml]
----
Group: org.apache.isis.viewer
Artifact: isis-viewer-commons-prism
Type: jar
Directory: /viewers/commons/prism
----
|Client Side Syntax Highlighting

.Dependencies
****
org.webjars.bowergithub.prismjs:prism:jar:1.28.0 +
****

|Apache Isis Viewer - Commons Services
[source,yaml]
----
Group: org.apache.isis.viewer
Artifact: isis-viewer-commons-services
Type: jar
Directory: /viewers/commons/services
----
|.Components
****
o.a.i.viewer.commons.services.branding.BrandingUiServiceDefault +
o.a.i.viewer.commons.services.header.HeaderUiServiceDefault +
o.a.i.viewer.commons.services.menu.MenuUiServiceDefault +
o.a.i.viewer.commons.services.userprof.UserProfileUiServiceDefault +
****

.Dependencies
****
org.apache.isis.core:isis-core-runtime:jar:<managed> +
org.apache.isis.viewer:isis-viewer-commons-model:jar:<managed> +
****
|===

=== Restful Objects

[plantuml,Restful Objects,svg]
----
@startuml(id=Restful_Objects)
title Restful Objects - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<3>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<4>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<5>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<6>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<7>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<8>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "Restful Objects\n[Software System]" {
  rectangle "==Apache Isis Viewer - RO\n<size:10>[Container: packaging: pom]</size>" <<2>> as 2
  rectangle "==Apache Isis Viewer - RO (AppLib)\n<size:10>[Container: packaging: jar]</size>" <<3>> as 3
  rectangle "==Apache Isis Viewer - RO (Client)\n<size:10>[Container: packaging: jar]</size>" <<4>> as 4
  rectangle "==Apache Isis Viewer - RO (JAX-RS Resteasy v4)\n<size:10>[Container: packaging: jar]</size>" <<5>> as 5
  rectangle "==Apache Isis Viewer - RO (Rendering)\n<size:10>[Container: packaging: jar]</size>" <<6>> as 6
  rectangle "==Apache Isis Viewer - RO (Testing)\n<size:10>[Container: packaging: jar]</size>" <<7>> as 7
  rectangle "==Apache Isis Viewer - RO (Viewer)\n<size:10>[Container: packaging: jar]</size>" <<8>> as 8
}
2 .[#707070].> 3 : ""
2 .[#707070].> 4 : ""
2 .[#707070].> 5 : ""
2 .[#707070].> 6 : ""
2 .[#707070].> 7 : ""
2 .[#707070].> 8 : ""
@enduml
----
.Projects/Modules (Restful Objects)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis Viewer - RO
[source,yaml]
----
Group: org.apache.isis.viewer
Artifact: isis-viewer-restfulobjects
Type: pom
Directory: /viewers/restfulobjects
----
|

|Apache Isis Viewer - RO (AppLib)
[source,yaml]
----
Group: org.apache.isis.viewer
Artifact: isis-viewer-restfulobjects-applib
Type: jar
Directory: /viewers/restfulobjects/applib
----
|.Dependencies
****
com.fasterxml.jackson.core:jackson-databind:jar:<managed> +
org.apache.isis.commons:isis-commons:jar:<managed> +
org.apache.isis.core:isis-applib:jar:<managed> +
org.apache.isis.core:isis-core-internaltestvintage:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:viewer:index/restfulobjects/applib/IsisModuleViewerRestfulObjectsApplib.adoc[IsisModuleViewerRestfulObjectsApplib], xref:refguide:viewer:index/restfulobjects/applib/JsonRepresentation.adoc[JsonRepresentation], xref:refguide:viewer:index/restfulobjects/applib/LinkRepresentation.adoc[LinkRepresentation], xref:refguide:viewer:index/restfulobjects/applib/Rel.adoc[Rel], xref:refguide:viewer:index/restfulobjects/applib/RelDefinition.adoc[RelDefinition], xref:refguide:viewer:index/restfulobjects/applib/RepresentationType.adoc[RepresentationType], xref:refguide:viewer:index/restfulobjects/applib/RestfulHttpMethod.adoc[RestfulHttpMethod], xref:refguide:viewer:index/restfulobjects/applib/RestfulMediaType.adoc[RestfulMediaType], xref:refguide:viewer:index/restfulobjects/applib/RestfulRequest.adoc[RestfulRequest], xref:refguide:viewer:index/restfulobjects/applib/RestfulResponse.adoc[RestfulResponse], xref:refguide:viewer:index/restfulobjects/applib/boot/BootstrapResource.adoc[BootstrapResource], xref:refguide:viewer:index/restfulobjects/applib/domainobjects/AbstractObjectMemberRepresentation.adoc[AbstractObjectMemberRepresentation], xref:refguide:viewer:index/restfulobjects/applib/domainobjects/ActionResultRepresentation.adoc[ActionResultRepresentation], xref:refguide:viewer:index/restfulobjects/applib/domainobjects/DomainObjectMemberRepresentation.adoc[DomainObjectMemberRepresentation], xref:refguide:viewer:index/restfulobjects/applib/domainobjects/DomainObjectRepresentation.adoc[DomainObjectRepresentation], xref:refguide:viewer:index/restfulobjects/applib/domainobjects/DomainObjectResource.adoc[DomainObjectResource], xref:refguide:viewer:index/restfulobjects/applib/domainobjects/DomainRepresentation.adoc[DomainRepresentation], xref:refguide:viewer:index/restfulobjects/applib/domainobjects/DomainServiceResource.adoc[DomainServiceResource], xref:refguide:viewer:index/restfulobjects/applib/domainobjects/ListRepresentation.adoc[ListRepresentation], xref:refguide:viewer:index/restfulobjects/applib/domainobjects/ObjectActionRepresentation.adoc[ObjectActionRepresentation], xref:refguide:viewer:index/restfulobjects/applib/domainobjects/ObjectCollectionRepresentation.adoc[ObjectCollectionRepresentation], xref:refguide:viewer:index/restfulobjects/applib/domainobjects/ObjectPropertyRepresentation.adoc[ObjectPropertyRepresentation], xref:refguide:viewer:index/restfulobjects/applib/domainobjects/ScalarValueRepresentation.adoc[ScalarValueRepresentation], xref:refguide:viewer:index/restfulobjects/applib/domaintypes/AbstractTypeMemberRepresentation.adoc[AbstractTypeMemberRepresentation], xref:refguide:viewer:index/restfulobjects/applib/domaintypes/ActionDescriptionRepresentation.adoc[ActionDescriptionRepresentation], xref:refguide:viewer:index/restfulobjects/applib/domaintypes/ActionParameterDescriptionRepresentation.adoc[ActionParameterDescriptionRepresentation], xref:refguide:viewer:index/restfulobjects/applib/domaintypes/CollectionDescriptionRepresentation.adoc[CollectionDescriptionRepresentation], xref:refguide:viewer:index/restfulobjects/applib/domaintypes/DomainTypeRepresentation.adoc[DomainTypeRepresentation], xref:refguide:viewer:index/restfulobjects/applib/domaintypes/DomainTypeResource.adoc[DomainTypeResource], xref:refguide:viewer:index/restfulobjects/applib/domaintypes/PropertyDescriptionRepresentation.adoc[PropertyDescriptionRepresentation], xref:refguide:viewer:index/restfulobjects/applib/domaintypes/TypeActionResultRepresentation.adoc[TypeActionResultRepresentation], xref:refguide:viewer:index/restfulobjects/applib/domaintypes/TypeListRepresentation.adoc[TypeListRepresentation], xref:refguide:viewer:index/restfulobjects/applib/dtos/ScalarValueDtoV2.adoc[ScalarValueDtoV2], xref:refguide:viewer:index/restfulobjects/applib/errors/ErrorRepresentation.adoc[ErrorRepresentation], xref:refguide:viewer:index/restfulobjects/applib/health/HealthRepresentation.adoc[HealthRepresentation], xref:refguide:viewer:index/restfulobjects/applib/health/HealthResource.adoc[HealthResource], xref:refguide:viewer:index/restfulobjects/applib/homepage/HomePageRepresentation.adoc[HomePageRepresentation], xref:refguide:viewer:index/restfulobjects/applib/homepage/HomePageResource.adoc[HomePageResource], xref:refguide:viewer:index/restfulobjects/applib/menubars/MenuBarsResource.adoc[MenuBarsResource], xref:refguide:viewer:index/restfulobjects/applib/user/UserRepresentation.adoc[UserRepresentation], xref:refguide:viewer:index/restfulobjects/applib/user/UserResource.adoc[UserResource], xref:refguide:viewer:index/restfulobjects/applib/util/JsonMapper.adoc[JsonMapper], xref:refguide:viewer:index/restfulobjects/applib/util/JsonNodeUtils.adoc[JsonNodeUtils], xref:refguide:viewer:index/restfulobjects/applib/util/MediaTypes.adoc[MediaTypes], xref:refguide:viewer:index/restfulobjects/applib/util/Parser.adoc[Parser], xref:refguide:viewer:index/restfulobjects/applib/util/PathNode.adoc[PathNode], xref:refguide:viewer:index/restfulobjects/applib/util/UrlEncodingUtils.adoc[UrlEncodingUtils], xref:refguide:viewer:index/restfulobjects/applib/version/VersionRepresentation.adoc[VersionRepresentation], xref:refguide:viewer:index/restfulobjects/applib/version/VersionResource.adoc[VersionResource]
****

|Apache Isis Viewer - RO (Client)
[source,yaml]
----
Group: org.apache.isis.viewer
Artifact: isis-viewer-restfulobjects-client
Type: jar
Directory: /viewers/restfulobjects/client
----
|.Dependencies
****
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.viewer:isis-viewer-restfulobjects-applib:jar:<managed> +
org.springframework:spring-context:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:viewer:index/restfulobjects/client/ActionParameterListBuilder.adoc[ActionParameterListBuilder], xref:refguide:viewer:index/restfulobjects/client/RestfulClient.adoc[RestfulClient], xref:refguide:viewer:index/restfulobjects/client/RestfulClientConfig.adoc[RestfulClientConfig], xref:refguide:viewer:index/restfulobjects/client/auth/BasicAuthFilter.adoc[BasicAuthFilter], xref:refguide:viewer:index/restfulobjects/client/log/ClientConversationFilter.adoc[ClientConversationFilter], xref:refguide:viewer:index/restfulobjects/client/log/ClientConversationLogger.adoc[ClientConversationLogger]
****

|Apache Isis Viewer - RO (JAX-RS Resteasy v4)
[source,yaml]
----
Group: org.apache.isis.viewer
Artifact: isis-viewer-restfulobjects-jaxrsresteasy4
Type: jar
Directory: /viewers/restfulobjects/jaxrs-resteasy-4
----
|JAX-RS plugin using jboss resteasy.

.Components
****
o.a.i.viewer.restfulobjects.jaxrsresteasy4.conneg.RestfulObjectsJaxbWriterForXml +
o.a.i.viewer.restfulobjects.jaxrsresteasy4.webmodule.WebModuleJaxrsResteasy4 +
****

.Dependencies
****
org.apache.isis.viewer:isis-viewer-restfulobjects-rendering:jar:<managed> +
org.apache.isis.viewer:isis-viewer-restfulobjects-testing:jar:<managed> +
org.apache.isis.viewer:isis-viewer-restfulobjects-viewer:jar:<managed> +
org.datanucleus:javax.jdo:jar:<managed> +
org.jboss.resteasy:resteasy-jaxb-provider:jar:<managed> +
org.jboss.resteasy:resteasy-spring-boot-starter:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:viewer:index/restfulobjects/jaxrsresteasy4/IsisModuleViewerRestfulObjectsJaxrsResteasy4.adoc[IsisModuleViewerRestfulObjectsJaxrsResteasy4], xref:refguide:viewer:index/restfulobjects/jaxrsresteasy4/conneg/RestfulObjectsJaxbWriterForXml.adoc[RestfulObjectsJaxbWriterForXml], xref:refguide:viewer:index/restfulobjects/jaxrsresteasy4/webmodule/WebModuleJaxrsResteasy4.adoc[WebModuleJaxrsResteasy4]
****

|Apache Isis Viewer - RO (Rendering)
[source,yaml]
----
Group: org.apache.isis.viewer
Artifact: isis-viewer-restfulobjects-rendering
Type: jar
Directory: /viewers/restfulobjects/rendering
----
|.Components
****
o.a.i.viewer.restfulobjects.rendering.service.RepresentationService +
o.a.i.viewer.restfulobjects.rendering.service.acceptheader.AcceptHeaderServiceForRest +
o.a.i.viewer.restfulobjects.rendering.service.acceptheader.AcceptHeaderServiceForRest$RequestFilter +
o.a.i.viewer.restfulobjects.rendering.service.acceptheader.AcceptHeaderServiceForRest$ResponseFilter +
o.a.i.viewer.restfulobjects.rendering.service.conneg.ContentNegotiationServiceForRestfulObjectsV1_0 +
o.a.i.viewer.restfulobjects.rendering.service.conneg.ContentNegotiationServiceOrgApacheIsisV1 +
o.a.i.viewer.restfulobjects.rendering.service.conneg.ContentNegotiationServiceOrgApacheIsisV2 +
o.a.i.viewer.restfulobjects.rendering.service.conneg.ContentNegotiationServiceXRoDomainType +
o.a.i.viewer.restfulobjects.rendering.service.swagger.SwaggerServiceDefault +
o.a.i.viewer.restfulobjects.rendering.service.swagger.internal.ClassExcluderDefault +
o.a.i.viewer.restfulobjects.rendering.service.swagger.internal.SwaggerSpecGenerator +
o.a.i.viewer.restfulobjects.rendering.service.swagger.internal.TaggerDefault +
o.a.i.viewer.restfulobjects.rendering.service.swagger.internal.ValuePropertyFactoryDefault +
o.a.i.viewer.restfulobjects.rendering.service.valuerender.JsonValueEncoderServiceDefault +
****

.Dependencies
****
org.apache.isis.core:isis-core-internaltestvintage:jar:<managed> +
org.apache.isis.core:isis-core-runtime:jar:<managed> +
org.apache.isis.viewer:isis-viewer-restfulobjects-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:viewer:index/restfulobjects/rendering/IResourceContext.adoc[IResourceContext], xref:refguide:viewer:index/restfulobjects/rendering/IsisModuleRestfulObjectsRendering.adoc[IsisModuleRestfulObjectsRendering], xref:refguide:viewer:index/restfulobjects/rendering/service/RepresentationService.adoc[RepresentationService], xref:refguide:viewer:index/restfulobjects/rendering/service/acceptheader/AcceptHeaderServiceForRest.adoc[AcceptHeaderServiceForRest], xref:refguide:viewer:index/restfulobjects/rendering/service/conneg/ContentNegotiationService.adoc[ContentNegotiationService], xref:refguide:viewer:index/restfulobjects/rendering/service/conneg/ContentNegotiationServiceAbstract.adoc[ContentNegotiationServiceAbstract], xref:refguide:viewer:index/restfulobjects/rendering/service/conneg/ContentNegotiationServiceForRestfulObjectsV1_0.adoc[ContentNegotiationServiceForRestfulObjectsV1_0], xref:refguide:viewer:index/restfulobjects/rendering/service/conneg/ContentNegotiationServiceOrgApacheIsisV1.adoc[ContentNegotiationServiceOrgApacheIsisV1], xref:refguide:viewer:index/restfulobjects/rendering/service/conneg/ContentNegotiationServiceOrgApacheIsisV2.adoc[ContentNegotiationServiceOrgApacheIsisV2], xref:refguide:viewer:index/restfulobjects/rendering/service/conneg/ContentNegotiationServiceXRoDomainType.adoc[ContentNegotiationServiceXRoDomainType], xref:refguide:viewer:index/restfulobjects/rendering/service/swagger/SwaggerServiceMenu.adoc[SwaggerServiceMenu], xref:refguide:viewer:index/restfulobjects/rendering/service/valuerender/JsonValueEncoderService.adoc[JsonValueEncoderService]
****

|Apache Isis Viewer - RO (Testing)
[source,yaml]
----
Group: org.apache.isis.viewer
Artifact: isis-viewer-restfulobjects-testing
Type: jar
Directory: /viewers/restfulobjects/testing
----
|.Dependencies
****
org.apache.isis.core:isis-core-internaltestvintage:jar:<managed> +
org.apache.isis.core:isis-core-runtime:jar:<managed> +
org.apache.isis.viewer:isis-viewer-restfulobjects-viewer:jar:<managed> +
****

|Apache Isis Viewer - RO (Viewer)
[source,yaml]
----
Group: org.apache.isis.viewer
Artifact: isis-viewer-restfulobjects-viewer
Type: jar
Directory: /viewers/restfulobjects/viewer
----
|.Components
****
o.a.i.viewer.restfulobjects.viewer.mappers.ExceptionMapperForObjectNotFound +
o.a.i.viewer.restfulobjects.viewer.mappers.ExceptionMapperForRestfulObjectsApplication +
o.a.i.viewer.restfulobjects.viewer.mappers.ExceptionMapperForRuntimeException +
o.a.i.viewer.restfulobjects.viewer.resources.DomainObjectResourceServerside +
o.a.i.viewer.restfulobjects.viewer.resources.DomainServiceResourceServerside +
o.a.i.viewer.restfulobjects.viewer.resources.DomainTypeResourceServerside +
o.a.i.viewer.restfulobjects.viewer.resources.HomePageResourceServerside +
o.a.i.viewer.restfulobjects.viewer.resources.ImageResourceServerside +
o.a.i.viewer.restfulobjects.viewer.resources.MenuBarsResourceServerside +
o.a.i.viewer.restfulobjects.viewer.resources.SwaggerSpecResource +
o.a.i.viewer.restfulobjects.viewer.resources.UserResourceServerside +
o.a.i.viewer.restfulobjects.viewer.resources.VersionResourceServerside +
****

.Dependencies
****
com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:<managed> +
org.apache.isis.core:isis-core-internaltestvintage:jar:<managed> +
org.apache.isis.core:isis-core-webapp:jar:<managed> +
org.apache.isis.viewer:isis-viewer-commons-services:jar:<managed> +
org.apache.isis.viewer:isis-viewer-restfulobjects-rendering:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:viewer:index/restfulobjects/viewer/IsisModuleViewerRestfulObjectsViewer.adoc[IsisModuleViewerRestfulObjectsViewer], xref:refguide:viewer:index/restfulobjects/viewer/webmodule/auth/AuthenticationStrategy.adoc[AuthenticationStrategy], xref:refguide:viewer:index/restfulobjects/viewer/webmodule/auth/AuthenticationStrategyAbstract.adoc[AuthenticationStrategyAbstract], xref:refguide:viewer:index/restfulobjects/viewer/webmodule/auth/AuthenticationStrategyBasicAuth.adoc[AuthenticationStrategyBasicAuth], xref:refguide:viewer:index/restfulobjects/viewer/webmodule/auth/AuthenticationStrategyDefault.adoc[AuthenticationStrategyDefault]
****
|===

=== Wicket

[plantuml,Wicket,svg]
----
@startuml(id=Wicket)
title Wicket - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<3>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<4>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<5>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<6>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<7>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "Wicket\n[Software System]" {
  rectangle "==Apache Isis Viewer - Wicket\n<size:10>[Container: packaging: pom]</size>" <<2>> as 2
  rectangle "==Apache Isis Viewer - Wicket (Applib)\n<size:10>[Container: packaging: jar]</size>" <<3>> as 3
  rectangle "==Apache Isis Viewer - Wicket (Graceful)\n<size:10>[Container: packaging: jar]</size>" <<4>> as 4
  rectangle "==Apache Isis Viewer - Wicket (Model)\n<size:10>[Container: packaging: jar]</size>" <<5>> as 5
  rectangle "==Apache Isis Viewer - Wicket (UI Components)\n<size:10>[Container: packaging: jar]</size>" <<6>> as 6
  rectangle "==Apache Isis Viewer - Wicket (Viewer)\n<size:10>[Container: packaging: jar]</size>" <<7>> as 7
}
2 .[#707070].> 3 : ""
2 .[#707070].> 4 : ""
2 .[#707070].> 5 : ""
2 .[#707070].> 6 : ""
2 .[#707070].> 7 : ""
@enduml
----
.Projects/Modules (Wicket)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis Viewer - Wicket
[source,yaml]
----
Group: org.apache.isis.viewer
Artifact: isis-viewer-wicket
Type: pom
Directory: /viewers/wicket
----
|

|Apache Isis Viewer - Wicket (Applib)
[source,yaml]
----
Group: org.apache.isis.viewer
Artifact: isis-viewer-wicket-applib
Type: jar
Directory: /viewers/wicket/applib
----
|.Dependencies
****
org.apache.isis.core:isis-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:viewer:index/wicket/applib/IsisModuleViewerWicketApplibMixins.adoc[IsisModuleViewerWicketApplibMixins], xref:refguide:viewer:index/wicket/applib/mixins/Object_clearHints.adoc[Object_clearHints]
****

|Apache Isis Viewer - Wicket (Graceful)
[source,yaml]
----
Group: org.apache.isis.viewer
Artifact: isis-viewer-wicket-graceful
Type: jar
Directory: /viewers/wicket/graceful
----
|Helps with the CI build, that is, it replaces original Wicket artifacts at ~/.m2/repository
with mangled variants, that do not include module-info.class entries.
This artifact - in its realeased form - is empty.

.Dependencies
****
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.wicket:wicket-core:jar:<managed> +
org.apache.wicket:wicket-extensions:jar:<managed> +
****

|Apache Isis Viewer - Wicket (Model)
[source,yaml]
----
Group: org.apache.isis.viewer
Artifact: isis-viewer-wicket-model
Type: jar
Directory: /viewers/wicket/model
----
|.Dependencies
****
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.core:isis-core-webapp:jar:<managed> +
org.apache.isis.viewer:isis-viewer-commons-model:jar:<managed> +
org.apache.isis.viewer:isis-viewer-wicket-graceful:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:viewer:index/wicket/model/IsisModuleViewerWicketModel.adoc[IsisModuleViewerWicketModel]
****

|Apache Isis Viewer - Wicket (UI Components)
[source,yaml]
----
Group: org.apache.isis.viewer
Artifact: isis-viewer-wicket-ui
Type: jar
Directory: /viewers/wicket/ui
----
|.Components
****
o.a.i.viewer.wicket.ui.app.logout.LogoutHandlerWkt +
o.a.i.viewer.wicket.ui.components.widgets.themepicker.IsisWicketThemeSupportDefault +
****

.Dependencies
****
com.google.guava:guava:jar:<managed> +
de.agilecoders.wicket:wicket-bootstrap-core:jar:<managed> +
de.agilecoders.wicket:wicket-bootstrap-themes:jar:<managed> +
de.agilecoders.wicket.webjars:wicket-webjars:jar:<managed> +
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.core:isis-core-runtimeservices:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-jodatime-integration:jar:${project.version} +
org.apache.isis.viewer:isis-viewer-commons-prism:jar:<managed> +
org.apache.isis.viewer:isis-viewer-commons-services:jar:<managed> +
org.apache.isis.viewer:isis-viewer-wicket-model:jar:<managed> +
org.apache.wicket:wicket-auth-roles:jar:<managed> +
org.apache.wicket:wicket-devutils:jar:<managed> +
org.apache.wicket:wicket-extensions:jar:<managed> +
org.apache.wicket:wicket-spring:jar:<managed> +
org.datanucleus:javax.jdo:jar:<managed> +
org.ow2.asm:asm-util:jar:<managed> +
org.slf4j:slf4j-api:jar:<managed> +
org.webjars:datatables:jar:<managed> +
org.webjars:jquery:jar:<managed> +
org.webjars:jquery-ui:jar:<managed> +
org.webjars:momentjs:jar:<managed> +
org.webjars:select2:jar:<managed> +
org.webjars.bower:summernote:jar:<managed> +
org.wicketstuff:wicketstuff-select2:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:viewer:index/wicket/ui/IsisModuleViewerWicketUi.adoc[IsisModuleViewerWicketUi]
****

|Apache Isis Viewer - Wicket (Viewer)
[source,yaml]
----
Group: org.apache.isis.viewer
Artifact: isis-viewer-wicket-viewer
Type: jar
Directory: /viewers/wicket/viewer
----
|.Components
****
o.a.i.viewer.wicket.viewer.registries.components.ComponentFactoryRegistrarDefault +
o.a.i.viewer.wicket.viewer.registries.components.ComponentFactoryRegistryDefault +
o.a.i.viewer.wicket.viewer.registries.pages.PageClassListDefault +
o.a.i.viewer.wicket.viewer.registries.pages.PageClassRegistryDefault +
o.a.i.viewer.wicket.viewer.registries.pages.PageNavigationServiceDefault +
o.a.i.viewer.wicket.viewer.services.BookmarkUiServiceWicket +
o.a.i.viewer.wicket.viewer.services.DeepLinkServiceWicket +
o.a.i.viewer.wicket.viewer.services.HintStoreUsingWicketSession +
o.a.i.viewer.wicket.viewer.services.ImageResourceCacheClassPath +
o.a.i.viewer.wicket.viewer.services.TranslationsResolverWicket +
o.a.i.viewer.wicket.viewer.webmodule.WebModuleWicket +
****

.Dependencies
****
commons-io:commons-io:jar:<managed> +
de.agilecoders.wicket:wicket-bootstrap-core:jar:<managed> +
org.apache.isis.core:isis-core-internaltestvintage:jar:<managed> +
org.apache.isis.viewer:isis-viewer-wicket-ui:jar:<managed> +
org.apache.wicket:wicket-auth-roles:jar:<managed> +
org.apache.wicket:wicket-spring:jar:<managed> +
org.springframework:spring-web:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:viewer:index/wicket/viewer/IsisModuleViewerWicketViewer.adoc[IsisModuleViewerWicketViewer]
****
|===

== Valuetypes

[plantuml,Valuetypes,svg]
----
@startuml(id=Valuetypes)
title Valuetypes - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<11>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<12>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<3>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<4>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<5>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<6>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<7>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<8>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<9>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<10>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "Valuetypes\n[Software System]" {
  rectangle "==Apache Isis Val - Joda Time (applib)\n<size:10>[Container: packaging: jar]</size>" <<4>> as 4
  rectangle "==Apache Isis Val - Joda Time (integration)\n<size:10>[Container: packaging: jar]</size>" <<5>> as 5
  rectangle "==Apache Isis Val - Joda Time (parent)\n<size:10>[Container: packaging: pom]</size>" <<3>> as 3
  rectangle "==Apache Isis Val - Vega (MetaModel)\n<size:10>[Container: packaging: jar]</size>" <<8>> as 8
  rectangle "==Apache Isis Val - Vega (Persistence JDO)\n<size:10>[Container: packaging: jar]</size>" <<9>> as 9
  rectangle "==Apache Isis Val - Vega (applib)\n<size:10>[Container: packaging: jar]</size>" <<7>> as 7
  rectangle "==Apache Isis Val - Vega (parent)\n<size:10>[Container: packaging: pom]</size>" <<6>> as 6
  rectangle "==Apache Isis Val - Vega (persistence jpa)\n<size:10>[Container: packaging: jar]</size>" <<10>> as 10
  rectangle "==Apache Isis Val - Vega (ui wicket)\n<size:10>[Container: packaging: jar]</size>" <<12>> as 12
  rectangle "==Apache Isis Val - Vega (ui)\n<size:10>[Container: packaging: pom]</size>" <<11>> as 11
  rectangle "==Apache Isis Value types\n<size:10>[Container: packaging: pom]</size>" <<2>> as 2
}
3 .[#707070].> 4 : ""
3 .[#707070].> 5 : ""
6 .[#707070].> 8 : ""
6 .[#707070].> 9 : ""
6 .[#707070].> 7 : ""
6 .[#707070].> 10 : ""
6 .[#707070].> 11 : ""
11 .[#707070].> 12 : ""
2 .[#707070].> 3 : ""
2 .[#707070].> 6 : ""
@enduml
----
.Projects/Modules (Valuetypes)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis Value types
[source,yaml]
----
Group: org.apache.isis.valuetypes
Artifact: isis-valuetypes
Type: pom
Directory: /valuetypes
----
|Value types for use within Apache Isis applications.

.Dependencies
****
org.projectlombok:lombok:jar:<managed> +
****

|Apache Isis Val - Joda Time (parent)
[source,yaml]
----
Group: org.apache.isis.valuetypes
Artifact: isis-valuetypes-jodatime
Type: pom
Directory: /valuetypes/jodatime
----
|Joda Time Library

|Apache Isis Val - Joda Time (applib)
[source,yaml]
----
Group: org.apache.isis.valuetypes
Artifact: isis-valuetypes-jodatime-applib
Type: jar
Directory: /valuetypes/jodatime/applib
----
|.Dependencies
****
joda-time:joda-time:jar:<managed> +
org.apache.isis.commons:isis-commons:jar:<managed> +
org.apache.isis.core:isis-applib:jar:<managed> +
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:valuetypes:index/jodatime/applib/IsisModuleValJodatimeApplib.adoc[IsisModuleValJodatimeApplib], xref:refguide:valuetypes:index/jodatime/applib/jaxb/JodaTimeJaxbAdapters.adoc[JodaTimeJaxbAdapters], xref:refguide:valuetypes:index/jodatime/applib/jaxb/JodaTimeXMLGregorianCalendarMarshalling.adoc[JodaTimeXMLGregorianCalendarMarshalling], xref:refguide:valuetypes:index/jodatime/applib/value/JodaTimeConverters.adoc[JodaTimeConverters]
****

|Apache Isis Val - Joda Time (integration)
[source,yaml]
----
Group: org.apache.isis.valuetypes
Artifact: isis-valuetypes-jodatime-integration
Type: jar
Directory: /valuetypes/jodatime/integration
----
|.Components
****
o.a.i.valuetypes.jodatime.integration.valuesemantics.JodaDateTimeValueSemantics +
o.a.i.valuetypes.jodatime.integration.valuesemantics.JodaLocalDateTimeValueSemantics +
o.a.i.valuetypes.jodatime.integration.valuesemantics.JodaLocalDateValueSemantics +
o.a.i.valuetypes.jodatime.integration.valuesemantics.JodaLocalTimeValueSemantics +
****

.Dependencies
****
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.core:isis-core-metamodel:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-jodatime-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:valuetypes:index/jodatime/integration/IsisModuleValJodatimeIntegration.adoc[IsisModuleValJodatimeIntegration]
****

|Apache Isis Val - Vega (parent)
[source,yaml]
----
Group: org.apache.isis.valuetypes
Artifact: isis-valuetypes-vega
Type: pom
Directory: /valuetypes/vega
----
|Vega/Vega-lite value type.

|Apache Isis Val - Vega (applib)
[source,yaml]
----
Group: org.apache.isis.valuetypes
Artifact: isis-valuetypes-vega-applib
Type: jar
Directory: /valuetypes/vega/applib
----
|.Dependencies
****
org.apache.isis.commons:isis-commons:jar:<managed> +
org.apache.isis.core:isis-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:valuetypes:index/vega/applib/IsisModuleValVegaApplib.adoc[IsisModuleValVegaApplib], xref:refguide:valuetypes:index/vega/applib/jaxb/VegaJaxbAdapter.adoc[VegaJaxbAdapter], xref:refguide:valuetypes:index/vega/applib/value/Vega.adoc[Vega]
****

|Apache Isis Val - Vega (MetaModel)
[source,yaml]
----
Group: org.apache.isis.valuetypes
Artifact: isis-valuetypes-vega-metamodel
Type: jar
Directory: /valuetypes/vega/metamodel
----
|.Components
****
o.a.i.valuetypes.vega.metamodel.semantics.VegaValueSemantics +
****

.Dependencies
****
org.apache.isis.core:isis-core-metamodel:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-vega-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:valuetypes:index/vega/metamodel/IsisModuleValVegaMetaModel.adoc[IsisModuleValVegaMetaModel]
****

|Apache Isis Val - Vega (Persistence JDO)
[source,yaml]
----
Group: org.apache.isis.valuetypes
Artifact: isis-valuetypes-vega-persistence-jdo
Type: jar
Directory: /valuetypes/vega/persistence-jdo
----
|.Dependencies
****
org.apache.isis.core:isis-core-metamodel:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-vega-applib:jar:<managed> +
org.datanucleus:datanucleus-core:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:valuetypes:index/vega/persistence/jdo/dn/IsisModuleValVegaPersistenceJdoDn.adoc[IsisModuleValVegaPersistenceJdoDn], xref:refguide:valuetypes:index/vega/persistence/jdo/dn/converters/IsisVegaConverter.adoc[IsisVegaConverter]
****

|Apache Isis Val - Vega (persistence jpa)
[source,yaml]
----
Group: org.apache.isis.valuetypes
Artifact: isis-valuetypes-vega-persistence-jpa
Type: jar
Directory: /valuetypes/vega/persistence-jpa
----
|.Dependencies
****
org.apache.isis.core:isis-core-metamodel:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-vega-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:valuetypes:index/vega/persistence/jpa/IsisModuleValVegaPersistenceJpa.adoc[IsisModuleValVegaPersistenceJpa], xref:refguide:valuetypes:index/vega/persistence/jpa/converters/IsisVegaConverter.adoc[IsisVegaConverter]
****

|Apache Isis Val - Vega (ui)
[source,yaml]
----
Group: org.apache.isis.valuetypes
Artifact: isis-valuetypes-vega-ui
Type: pom
Directory: /valuetypes/vega/ui
----
|.Dependencies
****
org.apache.isis.core:isis-core-metamodel:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-vega-applib:jar:<managed> +
****

|Apache Isis Val - Vega (ui wicket)
[source,yaml]
----
Group: org.apache.isis.valuetypes
Artifact: isis-valuetypes-vega-ui-wkt
Type: jar
Directory: /valuetypes/vega/ui/wicket
----
|.Components
****
o.a.i.valuetypes.vega.ui.wkt.components.VegaPanelFactoriesWkt$Parented +
o.a.i.valuetypes.vega.ui.wkt.components.VegaPanelFactoriesWkt$Standalone +
****

.Dependencies
****
org.apache.isis.valuetypes:isis-valuetypes-vega-metamodel:jar:<managed> +
org.apache.isis.viewer:isis-viewer-wicket-ui:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:valuetypes:index/vega/ui/wkt/IsisModuleValVegaUiWkt.adoc[IsisModuleValVegaUiWkt]
****
|===

=== Asciidoc

[plantuml,Asciidoc,svg]
----
@startuml(id=Asciidoc)
title Asciidoc - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<3>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<4>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<5>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<6>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<7>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<8>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<9>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "Asciidoc\n[Software System]" {
  rectangle "==Apache Isis Val - Asciidoctor (MetaModel)\n<size:10>[Container: packaging: jar]</size>" <<4>> as 4
  rectangle "==Apache Isis Val - Asciidoctor (Persistence JDO)\n<size:10>[Container: packaging: jar]</size>" <<5>> as 5
  rectangle "==Apache Isis Val - Asciidoctor (applib)\n<size:10>[Container: packaging: jar]</size>" <<3>> as 3
  rectangle "==Apache Isis Val - Asciidoctor (parent)\n<size:10>[Container: packaging: pom]</size>" <<2>> as 2
  rectangle "==Apache Isis Val - Asciidoctor (persistence jpa)\n<size:10>[Container: packaging: jar]</size>" <<6>> as 6
  rectangle "==Apache Isis Val - Asciidoctor (ui vaadin)\n<size:10>[Container: packaging: jar]</size>" <<8>> as 8
  rectangle "==Apache Isis Val - Asciidoctor (ui wicket)\n<size:10>[Container: packaging: jar]</size>" <<9>> as 9
  rectangle "==Apache Isis Val - Asciidoctor (ui)\n<size:10>[Container: packaging: pom]</size>" <<7>> as 7
}
2 .[#707070].> 4 : ""
2 .[#707070].> 5 : ""
2 .[#707070].> 3 : ""
2 .[#707070].> 6 : ""
2 .[#707070].> 7 : ""
7 .[#707070].> 9 : ""
@enduml
----
.Projects/Modules (Asciidoc)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis Val - Asciidoctor (parent)
[source,yaml]
----
Group: org.apache.isis.valuetypes
Artifact: isis-valuetypes-asciidoc
Type: pom
Directory: /valuetypes/asciidoc
----
|Asciidoc value type.

|Apache Isis Val - Asciidoctor (applib)
[source,yaml]
----
Group: org.apache.isis.valuetypes
Artifact: isis-valuetypes-asciidoc-applib
Type: jar
Directory: /valuetypes/asciidoc/applib
----
|.Dependencies
****
org.apache.isis.commons:isis-commons:jar:<managed> +
org.apache.isis.core:isis-applib:jar:<managed> +
org.asciidoctor:asciidoctorj-api:jar:${asciidoctorj.version} +
****

.Document Index Entries
****
xref:refguide:valuetypes:index/asciidoc/applib/IsisModuleValAsciidocApplib.adoc[IsisModuleValAsciidocApplib], xref:refguide:valuetypes:index/asciidoc/applib/jaxb/AsciiDocJaxbAdapter.adoc[AsciiDocJaxbAdapter], xref:refguide:valuetypes:index/asciidoc/applib/value/AsciiDoc.adoc[AsciiDoc]
****

|Apache Isis Val - Asciidoctor (MetaModel)
[source,yaml]
----
Group: org.apache.isis.valuetypes
Artifact: isis-valuetypes-asciidoc-metamodel
Type: jar
Directory: /valuetypes/asciidoc/metamodel
----
|.Components
****
o.a.i.valuetypes.asciidoc.metamodel.semantics.AsciiDocValueSemantics +
o.a.i.valuetypes.asciidoc.metamodel.semantics.ChangesDtoValueSemanticsPrettyRender +
o.a.i.valuetypes.asciidoc.metamodel.semantics.CommandDtoValueSemanticsPrettyRender +
o.a.i.valuetypes.asciidoc.metamodel.semantics.InteractionDtoValueSemanticsPrettyRender +
****

.Dependencies
****
org.apache.isis.core:isis-core-metamodel:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-asciidoc-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:valuetypes:index/asciidoc/metamodel/IsisModuleValAsciidocMetaModel.adoc[IsisModuleValAsciidocMetaModel]
****

|Apache Isis Val - Asciidoctor (Persistence JDO)
[source,yaml]
----
Group: org.apache.isis.valuetypes
Artifact: isis-valuetypes-asciidoc-persistence-jdo
Type: jar
Directory: /valuetypes/asciidoc/persistence-jdo
----
|.Dependencies
****
org.apache.isis.core:isis-core-metamodel:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-asciidoc-applib:jar:<managed> +
org.datanucleus:datanucleus-core:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:valuetypes:index/asciidoc/persistence/jdo/dn/IsisModuleValAsciidocPersistenceJdoDn.adoc[IsisModuleValAsciidocPersistenceJdoDn], xref:refguide:valuetypes:index/asciidoc/persistence/jdo/dn/converters/IsisAsciiDocConverter.adoc[IsisAsciiDocConverter]
****

|Apache Isis Val - Asciidoctor (persistence jpa)
[source,yaml]
----
Group: org.apache.isis.valuetypes
Artifact: isis-valuetypes-asciidoc-persistence-jpa
Type: jar
Directory: /valuetypes/asciidoc/persistence-jpa
----
|.Dependencies
****
org.apache.isis.core:isis-core-metamodel:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-asciidoc-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:valuetypes:index/asciidoc/persistence/jpa/IsisModuleValAsciidocPersistenceJpa.adoc[IsisModuleValAsciidocPersistenceJpa], xref:refguide:valuetypes:index/asciidoc/persistence/jpa/converters/IsisAsciiDocConverter.adoc[IsisAsciiDocConverter]
****

|Apache Isis Val - Asciidoctor (ui)
[source,yaml]
----
Group: org.apache.isis.valuetypes
Artifact: isis-valuetypes-asciidoc-ui
Type: pom
Directory: /valuetypes/asciidoc/ui
----
|.Dependencies
****
com.github.jnr:jnr-constants:jar:0.10.3 +
com.github.jnr:jnr-enxio:jar:0.32.13 +
com.github.jnr:jnr-ffi:jar:2.2.12 +
com.github.jnr:jnr-posix:jar:3.1.15 +
org.apache.isis.core:isis-core-metamodel:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-asciidoc-applib:jar:<managed> +
org.asciidoctor:asciidoctorj:jar:${asciidoctorj.version} +
****

|Apache Isis Val - Asciidoctor (ui vaadin)
[source,yaml]
----
Group: org.apache.isis.valuetypes
Artifact: isis-valuetypes-asciidoc-ui-vaa
Type: jar
Directory: /valuetypes/asciidoc/ui/vaadin
----
|.Dependencies
****
org.apache.isis.incubator.viewer:isis-viewer-vaadin-ui:jar:${project.version} +
****

|Apache Isis Val - Asciidoctor (ui wicket)
[source,yaml]
----
Group: org.apache.isis.valuetypes
Artifact: isis-valuetypes-asciidoc-ui-wkt
Type: jar
Directory: /valuetypes/asciidoc/ui/wicket
----
|.Components
****
o.a.i.valuetypes.asciidoc.ui.wkt.components.AsciiDocPanelFactoriesWkt$Parented +
o.a.i.valuetypes.asciidoc.ui.wkt.components.AsciiDocPanelFactoriesWkt$Standalone +
****

.Dependencies
****
org.apache.isis.valuetypes:isis-valuetypes-asciidoc-metamodel:jar:<managed> +
org.apache.isis.viewer:isis-viewer-wicket-ui:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:valuetypes:index/asciidoc/ui/wkt/IsisModuleValAsciidocUiWkt.adoc[IsisModuleValAsciidocUiWkt]
****
|===

=== Markdown

[plantuml,Markdown,svg]
----
@startuml(id=Markdown)
title Markdown - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<3>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<4>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<5>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<6>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<7>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<8>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "Markdown\n[Software System]" {
  rectangle "==Apache Isis Val - Markdown (MetaModel)\n<size:10>[Container: packaging: jar]</size>" <<4>> as 4
  rectangle "==Apache Isis Val - Markdown (Persistence JDO)\n<size:10>[Container: packaging: jar]</size>" <<5>> as 5
  rectangle "==Apache Isis Val - Markdown (applib)\n<size:10>[Container: packaging: jar]</size>" <<3>> as 3
  rectangle "==Apache Isis Val - Markdown (parent)\n<size:10>[Container: packaging: pom]</size>" <<2>> as 2
  rectangle "==Apache Isis Val - Markdown (persistence jpa)\n<size:10>[Container: packaging: jar]</size>" <<6>> as 6
  rectangle "==Apache Isis Val - Markdown (ui wicket)\n<size:10>[Container: packaging: jar]</size>" <<8>> as 8
  rectangle "==Apache Isis Val - Markdown (ui)\n<size:10>[Container: packaging: pom]</size>" <<7>> as 7
}
2 .[#707070].> 4 : ""
2 .[#707070].> 5 : ""
2 .[#707070].> 3 : ""
2 .[#707070].> 6 : ""
2 .[#707070].> 7 : ""
7 .[#707070].> 8 : ""
@enduml
----
.Projects/Modules (Markdown)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis Val - Markdown (parent)
[source,yaml]
----
Group: org.apache.isis.valuetypes
Artifact: isis-valuetypes-markdown
Type: pom
Directory: /valuetypes/markdown
----
|Markdown value type.

|Apache Isis Val - Markdown (applib)
[source,yaml]
----
Group: org.apache.isis.valuetypes
Artifact: isis-valuetypes-markdown-applib
Type: jar
Directory: /valuetypes/markdown/applib
----
|.Dependencies
****
com.vladsch.flexmark:flexmark-all:jar:${flexmark.version} +
org.apache.isis.commons:isis-commons:jar:<managed> +
org.apache.isis.core:isis-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:valuetypes:index/markdown/applib/IsisModuleValMarkdownApplib.adoc[IsisModuleValMarkdownApplib], xref:refguide:valuetypes:index/markdown/applib/jaxb/MarkdownJaxbAdapter.adoc[MarkdownJaxbAdapter], xref:refguide:valuetypes:index/markdown/applib/value/Converter.adoc[Converter], xref:refguide:valuetypes:index/markdown/applib/value/Markdown.adoc[Markdown]
****

|Apache Isis Val - Markdown (MetaModel)
[source,yaml]
----
Group: org.apache.isis.valuetypes
Artifact: isis-valuetypes-markdown-metamodel
Type: jar
Directory: /valuetypes/markdown/metamodel
----
|.Components
****
o.a.i.valuetypes.markdown.metamodel.semantics.MarkdownValueSemantics +
****

.Dependencies
****
org.apache.isis.core:isis-core-metamodel:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-markdown-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:valuetypes:index/markdown/metamodel/IsisModuleValMarkdownMetaModel.adoc[IsisModuleValMarkdownMetaModel]
****

|Apache Isis Val - Markdown (Persistence JDO)
[source,yaml]
----
Group: org.apache.isis.valuetypes
Artifact: isis-valuetypes-markdown-persistence-jdo
Type: jar
Directory: /valuetypes/markdown/persistence-jdo
----
|.Dependencies
****
org.apache.isis.core:isis-core-metamodel:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-markdown-applib:jar:<managed> +
org.datanucleus:datanucleus-core:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:valuetypes:index/markdown/persistence/jdo/dn/IsisModuleValMarkdownPersistenceJdoDn.adoc[IsisModuleValMarkdownPersistenceJdoDn], xref:refguide:valuetypes:index/markdown/persistence/jdo/dn/converters/IsisMarkdownConverter.adoc[IsisMarkdownConverter]
****

|Apache Isis Val - Markdown (persistence jpa)
[source,yaml]
----
Group: org.apache.isis.valuetypes
Artifact: isis-valuetypes-markdown-persistence-jpa
Type: jar
Directory: /valuetypes/markdown/persistence-jpa
----
|.Dependencies
****
org.apache.isis.core:isis-core-metamodel:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-markdown-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:valuetypes:index/markdown/persistence/jpa/IsisModuleValMarkdownPersistenceJpa.adoc[IsisModuleValMarkdownPersistenceJpa], xref:refguide:valuetypes:index/markdown/persistence/jpa/converters/IsisMarkdownConverter.adoc[IsisMarkdownConverter]
****

|Apache Isis Val - Markdown (ui)
[source,yaml]
----
Group: org.apache.isis.valuetypes
Artifact: isis-valuetypes-markdown-ui
Type: pom
Directory: /valuetypes/markdown/ui
----
|.Dependencies
****
com.vladsch.flexmark:flexmark-all:jar:${flexmark.version} +
org.apache.isis.core:isis-core-metamodel:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-markdown-applib:jar:<managed> +
org.jsoup:jsoup:jar:<managed> +
****

|Apache Isis Val - Markdown (ui wicket)
[source,yaml]
----
Group: org.apache.isis.valuetypes
Artifact: isis-valuetypes-markdown-ui-wkt
Type: jar
Directory: /valuetypes/markdown/ui/wicket
----
|.Components
****
o.a.i.valuetypes.markdown.ui.wkt.components.MarkdownPanelFactoriesWkt$Parented +
o.a.i.valuetypes.markdown.ui.wkt.components.MarkdownPanelFactoriesWkt$Standalone +
****

.Dependencies
****
org.apache.isis.valuetypes:isis-valuetypes-markdown-metamodel:jar:<managed> +
org.apache.isis.viewer:isis-viewer-wicket-ui:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:valuetypes:index/markdown/ui/wkt/IsisModuleValMarkdownUiWkt.adoc[IsisModuleValMarkdownUiWkt]
****
|===

=== SSE

== Extensions

[plantuml,Extensions,svg]
----
@startuml(id=Extensions)
title Extensions - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<44>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<45>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<46>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<47>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<48>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<49>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<50>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<51>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<52>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<10>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<11>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<12>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<13>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<14>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<15>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<16>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<17>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<18>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<19>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<3>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<4>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<5>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<6>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<7>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<8>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<9>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<20>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<21>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<22>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<23>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<24>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<25>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<26>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<27>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<28>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<29>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<30>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<31>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<32>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<33>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<34>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<35>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<36>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<37>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<38>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<39>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<40>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<41>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<42>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<43>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "Extensions\n[Software System]" {
  rectangle "==Apache Isis Ext - Audit Trail\n<size:10>[Container: packaging: pom]</size>" <<3>> as 3
  rectangle "==Apache Isis Ext - Audit Trail Applib\n<size:10>[Container: packaging: jar]</size>" <<4>> as 4
  rectangle "==Apache Isis Ext - Audit Trail Persistence (using JDO)\n<size:10>[Container: packaging: jar]</size>" <<5>> as 5
  rectangle "==Apache Isis Ext - Audit Trail Persistence (using JPA)\n<size:10>[Container: packaging: jar]</size>" <<6>> as 6
  rectangle "==Apache Isis Ext - CORS (impl)\n<size:10>[Container: packaging: jar]</size>" <<8>> as 8
  rectangle "==Apache Isis Ext - CORS (parent)\n<size:10>[Container: packaging: pom]</size>" <<7>> as 7
  rectangle "==Apache Isis Ext - Execution Log\n<size:10>[Container: packaging: pom]</size>" <<9>> as 9
  rectangle "==Apache Isis Ext - Execution Log API\n<size:10>[Container: packaging: jar]</size>" <<10>> as 10
  rectangle "==Apache Isis Ext - Execution Log Implementation (JDO)\n<size:10>[Container: packaging: jar]</size>" <<11>> as 11
  rectangle "==Apache Isis Ext - Execution Log Implementation (JPA)\n<size:10>[Container: packaging: jar]</size>" <<12>> as 12
  rectangle "==Apache Isis Ext - Execution Outbox\n<size:10>[Container: packaging: pom]</size>" <<13>> as 13
  rectangle "==Apache Isis Ext - Execution Outbox API\n<size:10>[Container: packaging: jar]</size>" <<14>> as 14
  rectangle "==Apache Isis Ext - Execution Outbox Implementation (JDO)\n<size:10>[Container: packaging: jar]</size>" <<15>> as 15
  rectangle "==Apache Isis Ext - Execution Outbox Implementation (JPA)\n<size:10>[Container: packaging: jar]</size>" <<16>> as 16
  rectangle "==Apache Isis Ext - Execution Outbox REST Client\n<size:10>[Container: packaging: jar]</size>" <<17>> as 17
  rectangle "==Apache Isis Ext - Execution Outbox Republisher\n<size:10>[Container: packaging: jar]</size>" <<19>> as 19
  rectangle "==Apache Isis Ext - Execution Republisher\n<size:10>[Container: packaging: pom]</size>" <<18>> as 18
  rectangle "==Apache Isis Ext - Flyway\n<size:10>[Container: packaging: pom]</size>" <<20>> as 20
  rectangle "==Apache Isis Ext - Flyway Impl\n<size:10>[Container: packaging: jar]</size>" <<21>> as 21
  rectangle "==Apache Isis Ext - FullCalendar (applib)\n<size:10>[Container: packaging: jar]</size>" <<23>> as 23
  rectangle "==Apache Isis Ext - FullCalendar (parent)\n<size:10>[Container: packaging: pom]</size>" <<22>> as 22
  rectangle "==Apache Isis Ext - FullCalendar Wicket\n<size:10>[Container: packaging: pom]</size>" <<24>> as 24
  rectangle "==Apache Isis Ext - FullCalendar Wicket (Integration)\n<size:10>[Container: packaging: jar]</size>" <<25>> as 25
  rectangle "==Apache Isis Ext - FullCalendar Wicket (UI)\n<size:10>[Container: packaging: jar]</size>" <<26>> as 26
  rectangle "==Apache Isis Ext - Sec Man\n<size:10>[Container: packaging: pom]</size>" <<33>> as 33
  rectangle "==Apache Isis Ext - Sec Man Applib\n<size:10>[Container: packaging: jar]</size>" <<34>> as 34
  rectangle "==Apache Isis Ext - Sec Man Delegated (Using Shiro)\n<size:10>[Container: packaging: jar]</size>" <<35>> as 35
  rectangle "==Apache Isis Ext - Sec Man Delegated (using Spring Oauth2)\n<size:10>[Container: packaging: jar]</size>" <<36>> as 36
  rectangle "==Apache Isis Ext - Sec Man Encryption (Using Spring)\n<size:10>[Container: packaging: jar]</size>" <<38>> as 38
  rectangle "==Apache Isis Ext - Sec Man Encryption (Using jbcrypt)\n<size:10>[Container: packaging: jar]</size>" <<37>> as 37
  rectangle "==Apache Isis Ext - Sec Man Integration\n<size:10>[Container: packaging: jar]</size>" <<39>> as 39
  rectangle "==Apache Isis Ext - Sec Man Persistence (Using JDO)\n<size:10>[Container: packaging: jar]</size>" <<40>> as 40
  rectangle "==Apache Isis Ext - Sec Man Persistence (Using JPA)\n<size:10>[Container: packaging: jar]</size>" <<41>> as 41
  rectangle "==Apache Isis Ext - Security - Shiro LDAP Realm (impl)\n<size:10>[Container: packaging: jar]</size>" <<47>> as 47
  rectangle "==Apache Isis Ext - Security - Shiro LDAP Realm (parent)\n<size:10>[Container: packaging: pom]</size>" <<46>> as 46
  rectangle "==Apache Isis Ext - Security - Spring Oauth2\n<size:10>[Container: packaging: jar]</size>" <<48>> as 48
  rectangle "==Apache Isis Ext - Server Sent Events\n<size:10>[Container: packaging: jar]</size>" <<50>> as 50
  rectangle "==Apache Isis Ext - Server Sent Events (Wicket)\n<size:10>[Container: packaging: jar]</size>" <<52>> as 52
  rectangle "==Apache Isis Ext - Server Sent Events (metamodel)\n<size:10>[Container: packaging: jar]</size>" <<51>> as 51
  rectangle "==Apache Isis Ext - Server Sent Events (parent)\n<size:10>[Container: packaging: pom]</size>" <<49>> as 49
  rectangle "==Apache Isis Ext - Session Log\n<size:10>[Container: packaging: pom]</size>" <<42>> as 42
  rectangle "==Apache Isis Ext - Session Log Applib\n<size:10>[Container: packaging: jar]</size>" <<43>> as 43
  rectangle "==Apache Isis Ext - Session Log Persistence (using JDO)\n<size:10>[Container: packaging: jar]</size>" <<44>> as 44
  rectangle "==Apache Isis Ext - Session Log Persistence (using JPA)\n<size:10>[Container: packaging: jar]</size>" <<45>> as 45
  rectangle "==Apache Isis Ext - pdf.js - Applib\n<size:10>[Container: packaging: jar]</size>" <<28>> as 28
  rectangle "==Apache Isis Ext - pdf.js - Metamodel\n<size:10>[Container: packaging: jar]</size>" <<29>> as 29
  rectangle "==Apache Isis Ext - pdf.js - Parent\n<size:10>[Container: packaging: pom]</size>" <<27>> as 27
  rectangle "==Apache Isis Ext - pdf.js - Wicket (Integration)\n<size:10>[Container: packaging: jar]</size>" <<31>> as 31
  rectangle "==Apache Isis Ext - pdf.js - Wicket (UI)\n<size:10>[Container: packaging: jar]</size>" <<32>> as 32
  rectangle "==Apache Isis Ext - pdf.js Wicket\n<size:10>[Container: packaging: pom]</size>" <<30>> as 30
  rectangle "==Apache Isis Extensions\n<size:10>[Container: packaging: pom]</size>" <<2>> as 2
}
3 .[#707070].> 4 : ""
3 .[#707070].> 5 : ""
3 .[#707070].> 6 : ""
7 .[#707070].> 8 : ""
9 .[#707070].> 10 : ""
9 .[#707070].> 11 : ""
9 .[#707070].> 12 : ""
13 .[#707070].> 14 : ""
13 .[#707070].> 15 : ""
13 .[#707070].> 16 : ""
13 .[#707070].> 17 : ""
18 .[#707070].> 19 : ""
20 .[#707070].> 21 : ""
22 .[#707070].> 23 : ""
22 .[#707070].> 24 : ""
24 .[#707070].> 25 : ""
24 .[#707070].> 26 : ""
33 .[#707070].> 34 : ""
33 .[#707070].> 35 : ""
33 .[#707070].> 36 : ""
33 .[#707070].> 38 : ""
33 .[#707070].> 37 : ""
33 .[#707070].> 39 : ""
33 .[#707070].> 40 : ""
33 .[#707070].> 41 : ""
46 .[#707070].> 47 : ""
49 .[#707070].> 50 : ""
49 .[#707070].> 52 : ""
49 .[#707070].> 51 : ""
42 .[#707070].> 43 : ""
42 .[#707070].> 44 : ""
42 .[#707070].> 45 : ""
27 .[#707070].> 28 : ""
27 .[#707070].> 29 : ""
27 .[#707070].> 30 : ""
30 .[#707070].> 31 : ""
30 .[#707070].> 32 : ""
2 .[#707070].> 3 : ""
2 .[#707070].> 7 : ""
2 .[#707070].> 9 : ""
2 .[#707070].> 13 : ""
2 .[#707070].> 18 : ""
2 .[#707070].> 20 : ""
2 .[#707070].> 22 : ""
2 .[#707070].> 33 : ""
2 .[#707070].> 46 : ""
2 .[#707070].> 48 : ""
2 .[#707070].> 49 : ""
2 .[#707070].> 42 : ""
2 .[#707070].> 27 : ""
@enduml
----
.Projects/Modules (Extensions)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis Extensions
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions
Type: pom
Directory: /extensions
----
|Extensions to the Apache Isis framework itself.
These are _not_ intended to be called by the domain logic of an Apache Isis application (see instead org.apache.isis.platform).

|Apache Isis Ext - Audit Trail
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-audittrail
Type: pom
Directory: /extensions/security/audittrail
----
|.Dependencies
****
org.apache.isis.core:isis-core-metamodel:jar:<managed> +
****

|Apache Isis Ext - Audit Trail Applib
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-audittrail-applib
Type: jar
Directory: /extensions/security/audittrail/applib
----
|.Components
****
o.a.i.extensions.audittrail.applib.spiimpl.EntityPropertyChangeSubscriberForAuditTrail +
****

.Dependencies
****
org.apache.isis.core:isis-core-runtime:jar:<managed> +
org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/audittrail/applib/app/AuditTrailMenu.adoc[AuditTrailMenu]
****

|Apache Isis Ext - Audit Trail Persistence (using JDO)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-audittrail-persistence-jdo
Type: jar
Directory: /extensions/security/audittrail/persistence-jdo
----
|.Components
****
o.a.i.extensions.audittrail.jdo.dom.AuditTrailEntryRepository +
****

.Dependencies
****
org.apache.isis.core:isis-core-runtime:jar:<managed> +
org.apache.isis.extensions:isis-extensions-audittrail-applib:jar:<managed> +
org.apache.isis.extensions:isis-extensions-audittrail-applib:test-jar:<managed> +
org.apache.isis.persistence:isis-persistence-jdo-datanucleus:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
****

|Apache Isis Ext - Audit Trail Persistence (using JPA)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-audittrail-persistence-jpa
Type: jar
Directory: /extensions/security/audittrail/persistence-jpa
----
|.Components
****
o.a.i.extensions.audittrail.jpa.dom.AuditTrailEntryRepository +
****

.Dependencies
****
org.apache.isis.core:isis-core-runtime:jar:<managed> +
org.apache.isis.extensions:isis-extensions-audittrail-applib:jar:<managed> +
org.apache.isis.extensions:isis-extensions-audittrail-applib:test-jar:<managed> +
org.apache.isis.persistence:isis-persistence-jpa-eclipselink:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
****

|Apache Isis Ext - CORS (parent)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-cors
Type: pom
Directory: /extensions/vro/cors
----
|Implementation of CORS Filter (using ebay filter)

|Apache Isis Ext - CORS (impl)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-cors-impl
Type: jar
Directory: /extensions/vro/cors/impl
----
|.Dependencies
****
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.core:isis-core-metamodel:jar:<managed> +
org.apache.isis.core:isis-core-webapp:jar:<managed> +
org.springframework:spring-web:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/cors/impl/IsisModuleExtCors.adoc[IsisModuleExtCors]
****

|Apache Isis Ext - Execution Log
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-executionlog
Type: pom
Directory: /extensions/core/executionlog
----
|Logs executions

|Apache Isis Ext - Execution Log API
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-executionlog-applib
Type: jar
Directory: /extensions/core/executionlog/applib
----
|.Components
****
o.a.i.extensions.executionlog.applib.dom.ExecutionLogEntry$TableColumnOrderDefault +
o.a.i.extensions.executionlog.applib.spiimpl.ExecutionSubscriberForExecutionLog +
****

.Dependencies
****
org.apache.isis.core:isis-applib:jar:<managed> +
org.apache.isis.core:isis-core-config:jar:<managed> +
org.apache.isis.core:isis-core-runtimeservices:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-unittestsupport-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/executionlog/applib/app/ExecutionLogMenu.adoc[ExecutionLogMenu], xref:refguide:extensions:index/executionlog/applib/contributions/HasInteractionId_executionLogEntries.adoc[HasInteractionId_executionLogEntries], xref:refguide:extensions:index/executionlog/applib/contributions/HasUsername_recentExecutionsByUser.adoc[HasUsername_recentExecutionsByUser], xref:refguide:extensions:index/executionlog/applib/contributions/Object_recentExecutions.adoc[Object_recentExecutions]
****

|Apache Isis Ext - Execution Log Implementation (JDO)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-executionlog-persistence-jdo
Type: jar
Directory: /extensions/core/executionlog/persistence-jdo
----
|.Components
****
o.a.i.extensions.executionlog.jdo.dom.ExecutionLogEntryPK$Semantics +
o.a.i.extensions.executionlog.jdo.dom.ExecutionLogEntryRepository +
****

.Dependencies
****
org.apache.isis.extensions:isis-extensions-executionlog-applib:jar:<managed> +
org.apache.isis.extensions:isis-extensions-executionlog-applib:test-jar:<managed> +
org.apache.isis.persistence:isis-persistence-jdo-datanucleus:jar:<managed> +
org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-unittestsupport-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/executionlog/jdo/IsisModuleExtExecutionLogPersistenceJdo.adoc[IsisModuleExtExecutionLogPersistenceJdo]
****

|Apache Isis Ext - Execution Log Implementation (JPA)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-executionlog-persistence-jpa
Type: jar
Directory: /extensions/core/executionlog/persistence-jpa
----
|.Components
****
o.a.i.extensions.executionlog.jpa.dom.ExecutionLogEntryPK$Semantics +
o.a.i.extensions.executionlog.jpa.dom.ExecutionLogEntryRepository +
****

.Dependencies
****
org.apache.isis.extensions:isis-extensions-executionlog-applib:jar:<managed> +
org.apache.isis.extensions:isis-extensions-executionlog-applib:test-jar:<managed> +
org.apache.isis.persistence:isis-persistence-jpa-eclipselink:jar:<managed> +
org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-unittestsupport-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/executionlog/jpa/IsisModuleExtExecutionLogPersistenceJpa.adoc[IsisModuleExtExecutionLogPersistenceJpa]
****

|Apache Isis Ext - Execution Outbox
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-executionoutbox
Type: pom
Directory: /extensions/core/executionoutbox
----
|Logs executions into an outbox, REST Client to consume

|Apache Isis Ext - Execution Outbox API
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-executionoutbox-applib
Type: jar
Directory: /extensions/core/executionoutbox/applib
----
|.Components
****
o.a.i.extensions.executionoutbox.applib.dom.ExecutionOutboxEntry$TableColumnOrderDefault +
o.a.i.extensions.executionoutbox.applib.spiimpl.ContentMappingServiceForOutboxEvents +
o.a.i.extensions.executionoutbox.applib.spiimpl.ExecutionSubscriberForExecutionOutbox +
****

.Dependencies
****
org.apache.isis.core:isis-applib:jar:<managed> +
org.apache.isis.core:isis-core-config:jar:<managed> +
org.apache.isis.core:isis-core-runtimeservices:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-unittestsupport-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/executionoutbox/applib/app/ExecutionOutboxMenu.adoc[ExecutionOutboxMenu]
****

|Apache Isis Ext - Execution Outbox Implementation (JDO)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-executionoutbox-persistence-jdo
Type: jar
Directory: /extensions/core/executionoutbox/persistence-jdo
----
|.Components
****
o.a.i.extensions.executionoutbox.jdo.dom.ExecutionOutboxEntryPK$Semantics +
o.a.i.extensions.executionoutbox.jdo.dom.ExecutionOutboxEntryRepository +
****

.Dependencies
****
org.apache.isis.extensions:isis-extensions-executionoutbox-applib:jar:<managed> +
org.apache.isis.extensions:isis-extensions-executionoutbox-applib:test-jar:<managed> +
org.apache.isis.persistence:isis-persistence-jdo-datanucleus:jar:<managed> +
org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-unittestsupport-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/executionoutbox/jdo/IsisModuleExtExecutionOutboxPersistenceJdo.adoc[IsisModuleExtExecutionOutboxPersistenceJdo]
****

|Apache Isis Ext - Execution Outbox Implementation (JPA)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-executionoutbox-persistence-jpa
Type: jar
Directory: /extensions/core/executionoutbox/persistence-jpa
----
|.Components
****
o.a.i.extensions.executionoutbox.jpa.dom.ExecutionOutboxEntryPK$Semantics +
o.a.i.extensions.executionoutbox.jpa.dom.ExecutionOutboxEntryRepository +
****

.Dependencies
****
org.apache.isis.extensions:isis-extensions-executionoutbox-applib:jar:<managed> +
org.apache.isis.extensions:isis-extensions-executionoutbox-applib:test-jar:<managed> +
org.apache.isis.persistence:isis-persistence-jpa-eclipselink:jar:<managed> +
org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-unittestsupport-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/executionoutbox/jpa/IsisModuleExtExecutionOutboxPersistenceJpa.adoc[IsisModuleExtExecutionOutboxPersistenceJpa]
****

|Apache Isis Ext - Execution Outbox REST Client
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-executionoutbox-restclient
Type: jar
Directory: /extensions/core/executionoutbox/restclient
----
|.Dependencies
****
com.approvaltests:approvaltests:jar:<managed> +
com.fasterxml.jackson.core:jackson-core:jar:<managed> +
com.fasterxml.jackson.core:jackson-databind:jar:<managed> +
com.h2database:h2:jar:<managed> +
jakarta.ws.rs:jakarta.ws.rs-api:jar:<managed> +
org.apache.cxf:cxf-rt-rs-client:jar:<managed> +
org.apache.isis.core:isis-core-runtimeservices:jar:<managed> +
org.apache.isis.core:isis-schema:jar:<managed> +
org.apache.isis.extensions:isis-extensions-executionoutbox-applib:test-jar:<managed> +
org.apache.isis.extensions:isis-extensions-executionoutbox-persistence-jpa:jar:<managed> +
org.apache.isis.extensions:isis-extensions-executionoutbox-persistence-jpa:test-jar:<managed> +
org.apache.isis.mavendeps:isis-mavendeps-webapp:pom:<managed> +
org.apache.isis.security:isis-security-bypass:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-unittestsupport-applib:jar:<managed> +
org.apache.isis.viewer:isis-viewer-restfulobjects-jaxrsresteasy4:jar:<managed> +
org.apache.isis.viewer:isis-viewer-restfulobjects-viewer:jar:<managed> +
org.assertj:assertj-core:jar:<managed> +
org.mockito:mockito-core:jar:<managed> +
org.slf4j:slf4j-api:jar:<managed> +
org.springframework.boot:spring-boot-starter-test:jar:<managed> +
org.springframework.boot:spring-boot-starter-web:jar:<managed> +
****

|Apache Isis Ext - Execution Republisher
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-executionrepublisher
Type: pom
Directory: /extensions/core/executionrepublisher
----
|Republishes executions persisted in the execution log to the execution outbox

|Apache Isis Ext - Execution Outbox Republisher
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-executionrepublisher-applib
Type: jar
Directory: /extensions/core/executionrepublisher/applib
----
|.Dependencies
****
org.apache.isis.core:isis-applib:jar:<managed> +
org.apache.isis.extensions:isis-extensions-executionlog-applib:jar:<managed> +
org.apache.isis.extensions:isis-extensions-executionoutbox-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-unittestsupport-applib:jar:<managed> +
****

|Apache Isis Ext - Flyway
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-flyway
Type: pom
Directory: /extensions/core/flyway
----
|Integrates Flyway when using any (relational) persistence store

|Apache Isis Ext - Flyway Impl
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-flyway-impl
Type: jar
Directory: /extensions/core/flyway/impl
----
|.Dependencies
****
org.apache.isis.core:isis-core-config:jar:<managed> +
org.flywaydb:flyway-core:jar:<managed> +
org.springframework:spring-context:jar:<managed> +
org.springframework:spring-jdbc:jar:<managed> +
org.springframework.boot:spring-boot-autoconfigure:jar:<managed> +
****

|Apache Isis Ext - FullCalendar (parent)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-fullcalendar
Type: pom
Directory: /extensions/vw/fullcalendar
----
|A component for Apache Isis' Wicket viewer, displaying collections of objects that have a date on a fullcalendar.io (JavaScript widget).

|Apache Isis Ext - FullCalendar (applib)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-fullcalendar-applib
Type: jar
Directory: /extensions/vw/fullcalendar/applib
----
|.Components
****
o.a.i.extensions.fullcalendar.applib.value.CalendarEventSemantics +
****

.Dependencies
****
de.agilecoders.wicket:wicket-bootstrap-core:jar:<managed> +
org.apache.isis.commons:isis-commons:jar:<managed> +
org.apache.isis.core:isis-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/fullcalendar/applib/CalendarEventable.adoc[CalendarEventable], xref:refguide:extensions:index/fullcalendar/applib/Calendarable.adoc[Calendarable], xref:refguide:extensions:index/fullcalendar/applib/IsisModuleExtFullCalendarApplib.adoc[IsisModuleExtFullCalendarApplib], xref:refguide:extensions:index/fullcalendar/applib/spi/CalendarableDereferencingService.adoc[CalendarableDereferencingService], xref:refguide:extensions:index/fullcalendar/applib/value/CalendarEvent.adoc[CalendarEvent]
****

|Apache Isis Ext - FullCalendar Wicket
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-fullcalendar-wicket
Type: pom
Directory: /extensions/vw/fullcalendar/wicket
----
|

|Apache Isis Ext - FullCalendar Wicket (Integration)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-fullcalendar-wicket-integration
Type: jar
Directory: /extensions/vw/fullcalendar/wicket/integration
----
|Integrates fullcalendar.io with Wicket

.Dependencies
****
com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:<managed> +
org.apache.isis.extensions:isis-extensions-fullcalendar-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-unittestsupport-applib:jar:<managed> +
org.apache.isis.viewer:isis-viewer-wicket-ui:jar:<managed> +
org.webjars:fullcalendar:jar:5.11.3 +
****

|Apache Isis Ext - FullCalendar Wicket (UI)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-fullcalendar-wicket-ui
Type: jar
Directory: /extensions/vw/fullcalendar/wicket/ui
----
|Integrates FullCalendar Wicket with the Wicket Viewer

.Components
****
o.a.i.extensions.fullcalendar.wkt.viewer.calendarable.CalendarableCollectionAsFullCalendarFactory +
o.a.i.extensions.fullcalendar.wkt.viewer.calendareventable.CalendarEventableCollectionAsFullCalendarFactory +
****

.Dependencies
****
org.apache.isis.extensions:isis-extensions-fullcalendar-applib:jar:<managed> +
org.apache.isis.extensions:isis-extensions-fullcalendar-wicket-integration:jar:<managed> +
org.apache.isis.testing:isis-testing-unittestsupport-applib:jar:<managed> +
org.apache.isis.viewer:isis-viewer-wicket-ui:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/fullcalendar/wkt/viewer/IsisModuleExtFullCalendarWicketUi.adoc[IsisModuleExtFullCalendarWicketUi]
****

|Apache Isis Ext - pdf.js - Parent
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-pdfjs
Type: pom
Directory: /extensions/vw/pdfjs
----
|A component for Apache Isis' Wicket viewer, allowing BLOBs containing PDFs to be rendered in a panel using pdf.js.

|Apache Isis Ext - pdf.js - Applib
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-pdfjs-applib
Type: jar
Directory: /extensions/vw/pdfjs/applib
----
|.Components
****
o.a.i.extensions.pdfjs.applib.spi.PdfJsViewerAdvisor$Default +
****

.Dependencies
****
org.apache.isis.commons:isis-commons:jar:<managed> +
org.apache.isis.core:isis-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/pdfjs/applib/annotations/PdfJsViewer.adoc[PdfJsViewer], xref:refguide:extensions:index/pdfjs/applib/config/PdfJsConfig.adoc[PdfJsConfig], xref:refguide:extensions:index/pdfjs/applib/config/Scale.adoc[Scale], xref:refguide:extensions:index/pdfjs/applib/spi/PdfJsViewerAdvisor.adoc[PdfJsViewerAdvisor]
****

|Apache Isis Ext - pdf.js - Metamodel
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-pdfjs-metamodel
Type: jar
Directory: /extensions/vw/pdfjs/metamodel
----
|.Components
****
o.a.i.extensions.pdfjs.metamodel.facet.PdfJsViewerFacetFromAnnotationFactory$Register +
****

.Dependencies
****
org.apache.isis.core:isis-core-metamodel:jar:<managed> +
org.apache.isis.extensions:isis-extensions-pdfjs-applib:jar:<managed> +
****

|Apache Isis Ext - pdf.js Wicket
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-pdfjs-wicket
Type: pom
Directory: /extensions/vw/pdfjs/wicket
----
|

|Apache Isis Ext - pdf.js - Wicket (Integration)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-pdfjs-wicket-integration
Type: jar
Directory: /extensions/vw/pdfjs/wicket/integration
----
|Integrates pdf.js with Wicket

.Dependencies
****
org.apache.isis.extensions:isis-extensions-pdfjs-applib:jar:<managed> +
org.apache.isis.viewer:isis-viewer-wicket-ui:jar:<managed> +
org.webjars.npm:pdfjs-dist:jar:2.16.105 +
****

.Document Index Entries
****
xref:refguide:extensions:index/pdfjs/wkt/integration/IsisModuleExtPdfjsWicketIntegration.adoc[IsisModuleExtPdfjsWicketIntegration]
****

|Apache Isis Ext - pdf.js - Wicket (UI)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-pdfjs-wicket-ui
Type: jar
Directory: /extensions/vw/pdfjs/wicket/ui
----
|.Components
****
o.a.i.extensions.pdfjs.wkt.ui.components.PdfJsViewerPanelComponentFactory +
****

.Dependencies
****
org.apache.isis.extensions:isis-extensions-pdfjs-metamodel:jar:<managed> +
org.apache.isis.extensions:isis-extensions-pdfjs-wicket-integration:jar:<managed> +
org.apache.isis.viewer:isis-viewer-wicket-ui:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/pdfjs/wkt/ui/IsisModuleExtPdfjsWicketUi.adoc[IsisModuleExtPdfjsWicketUi]
****

|Apache Isis Ext - Sec Man
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-secman
Type: pom
Directory: /extensions/security/secman
----
|.Dependencies
****
org.apache.isis.core:isis-core-metamodel:jar:<managed> +
org.apache.isis.core:isis-core-security:jar:<managed> +
****

|Apache Isis Ext - Sec Man Applib
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-secman-applib
Type: jar
Directory: /extensions/security/secman/applib
----
|.Components
****
o.a.i.extensions.secman.applib.feature.api.ApplicationFeatureChoices +
o.a.i.extensions.secman.applib.role.dom.ApplicationRoleRepositoryAbstract +
o.a.i.extensions.secman.applib.seed.SeedSecurityModuleService +
o.a.i.extensions.secman.applib.user.menu.MeService$UserMenuMeActionAdvisor +
****

.Dependencies
****
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
org.springframework.security:spring-security-crypto:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/secman/applib/IsisModuleExtSecmanApplib.adoc[IsisModuleExtSecmanApplib], xref:refguide:extensions:index/secman/applib/permission/dom/ApplicationPermission.adoc[ApplicationPermission], xref:refguide:extensions:index/secman/applib/permission/dom/ApplicationPermissionMode.adoc[ApplicationPermissionMode], xref:refguide:extensions:index/secman/applib/permission/dom/ApplicationPermissionRepository.adoc[ApplicationPermissionRepository], xref:refguide:extensions:index/secman/applib/permission/dom/ApplicationPermissionRule.adoc[ApplicationPermissionRule], xref:refguide:extensions:index/secman/applib/permission/dom/ApplicationPermissionValue.adoc[ApplicationPermissionValue], xref:refguide:extensions:index/secman/applib/permission/dom/ApplicationPermissionValueSet.adoc[ApplicationPermissionValueSet], xref:refguide:extensions:index/secman/applib/permission/spi/PermissionsEvaluationService.adoc[PermissionsEvaluationService], xref:refguide:extensions:index/secman/applib/role/dom/ApplicationRole.adoc[ApplicationRole], xref:refguide:extensions:index/secman/applib/role/dom/ApplicationRoleRepository.adoc[ApplicationRoleRepository], xref:refguide:extensions:index/secman/applib/role/fixtures/AbstractRoleAndPermissionsFixtureScript.adoc[AbstractRoleAndPermissionsFixtureScript], xref:refguide:extensions:index/secman/applib/role/seed/IsisAppFeatureRoleAndPermissions.adoc[IsisAppFeatureRoleAndPermissions], xref:refguide:extensions:index/secman/applib/role/seed/IsisConfigurationRoleAndPermissions.adoc[IsisConfigurationRoleAndPermissions], xref:refguide:extensions:index/secman/applib/role/seed/IsisExtAuditTrailRoleAndPermissions.adoc[IsisExtAuditTrailRoleAndPermissions], xref:refguide:extensions:index/secman/applib/role/seed/IsisExtCommandLogRoleAndPermissions.adoc[IsisExtCommandLogRoleAndPermissions], xref:refguide:extensions:index/secman/applib/role/seed/IsisExtExecutionLogRoleAndPermissions.adoc[IsisExtExecutionLogRoleAndPermissions], xref:refguide:extensions:index/secman/applib/role/seed/IsisExtExecutionOutboxRoleAndPermissions.adoc[IsisExtExecutionOutboxRoleAndPermissions], xref:refguide:extensions:index/secman/applib/role/seed/IsisExtH2ConsoleRoleAndPermissions.adoc[IsisExtH2ConsoleRoleAndPermissions], xref:refguide:extensions:index/secman/applib/role/seed/IsisExtSecmanAdminRoleAndPermissions.adoc[IsisExtSecmanAdminRoleAndPermissions], xref:refguide:extensions:index/secman/applib/role/seed/IsisExtSecmanRegularUserRoleAndPermissions.adoc[IsisExtSecmanRegularUserRoleAndPermissions], xref:refguide:extensions:index/secman/applib/role/seed/IsisExtSessionLogRoleAndPermissions.adoc[IsisExtSessionLogRoleAndPermissions], xref:refguide:extensions:index/secman/applib/role/seed/IsisPersistenceJdoMetaModelRoleAndPermissions.adoc[IsisPersistenceJdoMetaModelRoleAndPermissions], xref:refguide:extensions:index/secman/applib/role/seed/IsisSudoImpersonateRoleAndPermissions.adoc[IsisSudoImpersonateRoleAndPermissions], xref:refguide:extensions:index/secman/applib/role/seed/IsisViewerRestfulObjectsSwaggerRoleAndPermissions.adoc[IsisViewerRestfulObjectsSwaggerRoleAndPermissions], xref:refguide:extensions:index/secman/applib/seed/SeedSecurityModuleService.adoc[SeedSecurityModuleService], xref:refguide:extensions:index/secman/applib/seed/scripts/SeedUsersAndRolesFixtureScript.adoc[SeedUsersAndRolesFixtureScript], xref:refguide:extensions:index/secman/applib/tenancy/dom/ApplicationTenancy.adoc[ApplicationTenancy], xref:refguide:extensions:index/secman/applib/tenancy/dom/ApplicationTenancyRepository.adoc[ApplicationTenancyRepository], xref:refguide:extensions:index/secman/applib/tenancy/dom/HasAtPath.adoc[HasAtPath], xref:refguide:extensions:index/secman/applib/tenancy/seed/GlobalTenancy.adoc[GlobalTenancy], xref:refguide:extensions:index/secman/applib/tenancy/spi/ApplicationTenancyEvaluator.adoc[ApplicationTenancyEvaluator], xref:refguide:extensions:index/secman/applib/user/dom/AccountType.adoc[AccountType], xref:refguide:extensions:index/secman/applib/user/dom/ApplicationUser.adoc[ApplicationUser], xref:refguide:extensions:index/secman/applib/user/dom/ApplicationUserRepository.adoc[ApplicationUserRepository], xref:refguide:extensions:index/secman/applib/user/dom/ApplicationUserStatus.adoc[ApplicationUserStatus], xref:refguide:extensions:index/secman/applib/user/events/UserCreatedEvent.adoc[UserCreatedEvent], xref:refguide:extensions:index/secman/applib/user/fixtures/AbstractUserAndRolesFixtureScript.adoc[AbstractUserAndRolesFixtureScript], xref:refguide:extensions:index/secman/applib/user/menu/MeService.adoc[MeService], xref:refguide:extensions:index/secman/applib/user/seed/IsisExtSecmanAdminUser.adoc[IsisExtSecmanAdminUser]
****

|Apache Isis Ext - Sec Man Delegated (Using Shiro)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-secman-delegated-shiro
Type: jar
Directory: /extensions/security/secman/delegated-shiro
----
|Provides an implementation of a Shiro Realm that will automatically created delegated ApplicationUsers for any users externally authenticated in a delegate realm

.Dependencies
****
org.apache.isis.core:isis-core-runtime:jar:<managed> +
org.apache.isis.extensions:isis-extensions-secman-applib:jar:2.0.0-SNAPSHOT +
org.apache.isis.security:isis-security-shiro:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/secman/delegated/shiro/IsisModuleExtSecmanDelegatedShiro.adoc[IsisModuleExtSecmanDelegatedShiro], xref:refguide:extensions:index/secman/delegated/shiro/realm/IsisModuleExtSecmanShiroRealm.adoc[IsisModuleExtSecmanShiroRealm], xref:refguide:extensions:index/secman/delegated/shiro/util/ShiroUtils.adoc[ShiroUtils]
****

|Apache Isis Ext - Sec Man Delegated (using Spring Oauth2)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-secman-delegated-springoauth2
Type: jar
Directory: /extensions/security/secman/delegated-springoauth2
----
|Provides a domain service to automatically create a delegated ApplicationUser if authentication has been performed externally, eg by Spring OAuth2 or by Keycloak.

.Components
****
o.a.i.extensions.secman.delegated.springoauth2.dom.ApplicationUserAutoCreationService +
****

.Dependencies
****
org.apache.isis.extensions:isis-extensions-secman-applib:jar:<managed> +
org.springframework.security:spring-security-core:jar:<managed> +
org.springframework.security:spring-security-oauth2-core:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/secman/delegated/springoauth2/IsisModuleExtSecmanDelegatedSpringOauth2.adoc[IsisModuleExtSecmanDelegatedSpringOauth2]
****

|Apache Isis Ext - Sec Man Encryption (Using jbcrypt)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-secman-encryption-jbcrypt
Type: jar
Directory: /extensions/security/secman/encryption-jbcrypt
----
|.Components
****
o.a.i.extensions.secman.encryption.jbcrypt.services.PasswordEncoderUsingJBcrypt +
****

.Dependencies
****
org.apache.isis.core:isis-core-runtime:jar:<managed> +
org.apache.isis.extensions:isis-extensions-secman-applib:jar:<managed> +
org.mindrot:jbcrypt:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/secman/encryption/jbcrypt/IsisModuleExtSecmanEncryptionJbcrypt.adoc[IsisModuleExtSecmanEncryptionJbcrypt], xref:refguide:extensions:index/secman/encryption/jbcrypt/services/PasswordEncoderUsingJBcrypt.adoc[PasswordEncoderUsingJBcrypt]
****

|Apache Isis Ext - Sec Man Encryption (Using Spring)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-secman-encryption-spring
Type: jar
Directory: /extensions/security/secman/encryption-spring
----
|.Dependencies
****
org.apache.isis.core:isis-core-runtime:jar:<managed> +
org.apache.isis.extensions:isis-extensions-secman-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/secman/encryption/spring/IsisModuleExtSecmanEncryptionSpring.adoc[IsisModuleExtSecmanEncryptionSpring]
****

|Apache Isis Ext - Sec Man Integration
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-secman-integration
Type: jar
Directory: /extensions/security/secman/integration
----
|.Components
****
o.a.i.extensions.secman.integration.authorizor.AuthorizorSecman +
o.a.i.extensions.secman.integration.authorizor.AuthorizorSecman$PermissionCache +
o.a.i.extensions.secman.integration.facets.TenantedAuthorizationPostProcessor$Register +
o.a.i.extensions.secman.integration.permissions.PermissionsEvaluationServiceForSecman +
o.a.i.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman +
o.a.i.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman$Cache +
o.a.i.extensions.secman.integration.spiimpl.TableColumnVisibilityServiceForSecman +
o.a.i.extensions.secman.integration.usermementorefiner.UserMementoRefinerFromApplicationUser +
o.a.i.extensions.secman.integration.userreg.UserRegistrationServiceForSecman +
****

.Dependencies
****
org.apache.isis.core:isis-core-runtime:jar:<managed> +
org.apache.isis.extensions:isis-extensions-secman-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/secman/integration/IsisModuleExtSecmanIntegration.adoc[IsisModuleExtSecmanIntegration], xref:refguide:extensions:index/secman/integration/authenticator/AuthenticatorSecman.adoc[AuthenticatorSecman], xref:refguide:extensions:index/secman/integration/authenticator/AuthenticatorSecmanAutoConfiguration.adoc[AuthenticatorSecmanAutoConfiguration], xref:refguide:extensions:index/secman/integration/authorizor/AuthorizorSecman.adoc[AuthorizorSecman], xref:refguide:extensions:index/secman/integration/permissions/PermissionsEvaluationServiceForSecman.adoc[PermissionsEvaluationServiceForSecman], xref:refguide:extensions:index/secman/integration/userreg/UserRegistrationServiceForSecman.adoc[UserRegistrationServiceForSecman]
****

|Apache Isis Ext - Sec Man Persistence (Using JDO)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-secman-persistence-jdo
Type: jar
Directory: /extensions/security/secman/persistence-jdo
----
|.Components
****
o.a.i.extensions.secman.jdo.permission.dom.ApplicationPermissionRepository +
o.a.i.extensions.secman.jdo.role.dom.ApplicationRoleRepository +
o.a.i.extensions.secman.jdo.tenancy.dom.ApplicationTenancyRepository +
o.a.i.extensions.secman.jdo.user.dom.ApplicationUserRepository +
o.a.i.extensions.secman.jdo.util.RegexReplacer +
****

.Dependencies
****
org.apache.isis.core:isis-core-runtime:jar:<managed> +
org.apache.isis.extensions:isis-extensions-secman-applib:test-jar:<managed> +
org.apache.isis.extensions:isis-extensions-secman-integration:jar:<managed> +
org.apache.isis.persistence:isis-persistence-jdo-datanucleus:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/secman/jdo/IsisModuleExtSecmanPersistenceJdo.adoc[IsisModuleExtSecmanPersistenceJdo]
****

|Apache Isis Ext - Sec Man Persistence (Using JPA)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-secman-persistence-jpa
Type: jar
Directory: /extensions/security/secman/persistence-jpa
----
|.Components
****
o.a.i.extensions.secman.jpa.permission.dom.ApplicationPermissionRepository +
o.a.i.extensions.secman.jpa.role.dom.ApplicationRoleRepository +
o.a.i.extensions.secman.jpa.tenancy.dom.ApplicationTenancyRepository +
o.a.i.extensions.secman.jpa.user.dom.ApplicationUserRepository +
o.a.i.extensions.secman.jpa.util.RegexReplacer +
****

.Dependencies
****
org.apache.isis.core:isis-core-runtime:jar:<managed> +
org.apache.isis.extensions:isis-extensions-secman-applib:test-jar:<managed> +
org.apache.isis.extensions:isis-extensions-secman-integration:jar:<managed> +
org.apache.isis.persistence:isis-persistence-jpa-eclipselink:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/secman/jpa/IsisModuleExtSecmanPersistenceJpa.adoc[IsisModuleExtSecmanPersistenceJpa]
****

|Apache Isis Ext - Session Log
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-sessionlog
Type: pom
Directory: /extensions/security/sessionlog
----
|.Dependencies
****
org.apache.isis.core:isis-core-metamodel:jar:<managed> +
****

|Apache Isis Ext - Session Log Applib
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-sessionlog-applib
Type: jar
Directory: /extensions/security/sessionlog/applib
----
|.Components
****
o.a.i.extensions.sessionlog.applib.spiimpl.SessionLogServiceInitializer +
o.a.i.extensions.sessionlog.applib.spiimpl.SessionSubscriberForSessionLog +
****

.Dependencies
****
org.apache.isis.core:isis-core-runtime:jar:<managed> +
org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
****

|Apache Isis Ext - Session Log Persistence (using JDO)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-sessionlog-persistence-jdo
Type: jar
Directory: /extensions/security/sessionlog/persistence-jdo
----
|.Components
****
o.a.i.extensions.sessionlog.jdo.dom.SessionLogEntryRepository +
****

.Dependencies
****
org.apache.isis.core:isis-core-runtime:jar:<managed> +
org.apache.isis.extensions:isis-extensions-sessionlog-applib:jar:<managed> +
org.apache.isis.extensions:isis-extensions-sessionlog-applib:test-jar:<managed> +
org.apache.isis.persistence:isis-persistence-jdo-datanucleus:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
****

|Apache Isis Ext - Session Log Persistence (using JPA)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-sessionlog-persistence-jpa
Type: jar
Directory: /extensions/security/sessionlog/persistence-jpa
----
|.Components
****
o.a.i.extensions.sessionlog.jpa.dom.SessionLogEntryPK$Semantics +
o.a.i.extensions.sessionlog.jpa.dom.SessionLogEntryRepository +
****

.Dependencies
****
org.apache.isis.core:isis-core-runtime:jar:<managed> +
org.apache.isis.extensions:isis-extensions-sessionlog-applib:jar:<managed> +
org.apache.isis.extensions:isis-extensions-sessionlog-applib:test-jar:<managed> +
org.apache.isis.persistence:isis-persistence-jpa-eclipselink:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
****

|Apache Isis Ext - Security - Shiro LDAP Realm (parent)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-shiro-realm-ldap
Type: pom
Directory: /extensions/security/shiro-realm-ldap
----
|Implementation of Shiro Realm using LDAP.

|Apache Isis Ext - Security - Shiro LDAP Realm (impl)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-shiro-realm-ldap-impl
Type: jar
Directory: /extensions/security/shiro-realm-ldap/impl
----
|.Dependencies
****
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.security:isis-security-shiro:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/shirorealmldap/realm/impl/IsisLdapContextFactory.adoc[IsisLdapContextFactory], xref:refguide:extensions:index/shirorealmldap/realm/impl/IsisLdapRealm.adoc[IsisLdapRealm], xref:refguide:extensions:index/shirorealmldap/realm/impl/IsisModuleExtShiroRealmLdapImpl.adoc[IsisModuleExtShiroRealmLdapImpl]
****

|Apache Isis Ext - Security - Spring Oauth2
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-spring-security-oauth2
Type: jar
Directory: /extensions/security/spring-oauth2
----
|Authentication Converter, using Spring Security's OAuth2 client

.Components
****
o.a.i.extensions.spring.security.oauth2.authconverters.AuthenticationConverterOfOAuth2UserPrincipal +
****

.Dependencies
****
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.security:isis-security-spring:jar:<managed> +
org.springframework.boot:spring-boot-starter-oauth2-client:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/spring/security/oauth2/IsisModuleExtSpringSecurityOAuth2.adoc[IsisModuleExtSpringSecurityOAuth2]
****

|Apache Isis Ext - Server Sent Events (parent)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-sse
Type: pom
Directory: /extensions/vw/sse
----
|Dynamically updating HTML markup

|Apache Isis Ext - Server Sent Events
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-sse-applib
Type: jar
Directory: /extensions/vw/sse/applib
----
|.Dependencies
****
org.apache.isis.core:isis-core-metamodel:jar:<managed> +
org.apache.isis.core:isis-core-webapp:jar:<managed> +
org.apache.isis.viewer:isis-viewer-wicket-ui:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/sse/applib/IsisModuleExtSseApplib.adoc[IsisModuleExtSseApplib], xref:refguide:extensions:index/sse/applib/annotations/ServerSentEvents.adoc[ServerSentEvents], xref:refguide:extensions:index/sse/applib/annotations/SseSource.adoc[SseSource], xref:refguide:extensions:index/sse/applib/service/SseChannel.adoc[SseChannel], xref:refguide:extensions:index/sse/applib/service/SseService.adoc[SseService]
****

|Apache Isis Ext - Server Sent Events (metamodel)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-sse-metamodel
Type: jar
Directory: /extensions/vw/sse/metamodel
----
|.Components
****
o.a.i.extensions.sse.metamodel.facets.SseAnnotationFacetFactory$Register +
****

.Dependencies
****
org.apache.isis.core:isis-core-metamodel:jar:<managed> +
org.apache.isis.extensions:isis-extensions-sse-applib:jar:<managed> +
****

|Apache Isis Ext - Server Sent Events (Wicket)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-sse-wicket
Type: jar
Directory: /extensions/vw/sse/wicket
----
|.Components
****
o.a.i.extensions.sse.wicket.markup.ListeningMarkupPanelFactoriesForWicket$Parented +
o.a.i.extensions.sse.wicket.markup.ListeningMarkupPanelFactoriesForWicket$Standalone +
o.a.i.extensions.sse.wicket.services.SseServiceDefault +
o.a.i.extensions.sse.wicket.webmodule.WebModuleServerSentEvents +
****

.Dependencies
****
org.apache.isis.extensions:isis-extensions-sse-metamodel:jar:<managed> +
org.apache.isis.viewer:isis-viewer-wicket-ui:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/sse/wicket/IsisModuleExtSseWicket.adoc[IsisModuleExtSseWicket], xref:refguide:extensions:index/sse/wicket/services/SseServiceDefault.adoc[SseServiceDefault], xref:refguide:extensions:index/sse/wicket/webmodule/WebModuleServerSentEvents.adoc[WebModuleServerSentEvents]
****
|===

=== Applib: Excel

[plantuml,Applib: Excel,svg]
----
@startuml(id=Applib:_Excel)
title Applib: Excel - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<3>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<4>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<5>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<6>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<7>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<8>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "Applib: Excel\n[Software System]" {
  rectangle "==Apache Isis Ext - Excel (Fixtures)\n<size:10>[Container: packaging: jar]</size>" <<4>> as 4
  rectangle "==Apache Isis Ext - Excel (Integ Tests)\n<size:10>[Container: packaging: jar]</size>" <<5>> as 5
  rectangle "==Apache Isis Ext - Excel (applib)\n<size:10>[Container: packaging: jar]</size>" <<3>> as 3
  rectangle "==Apache Isis Ext - Excel (parent)\n<size:10>[Container: packaging: pom]</size>" <<2>> as 2
  rectangle "==Apache Isis Ext - Wicket Viewer - Excel Download (parent)\n<size:10>[Container: packaging: pom]</size>" <<7>> as 7
  rectangle "==Apache Isis Ext - Wicket Viewer - Excel Download (ui)\n<size:10>[Container: packaging: jar]</size>" <<8>> as 8
  rectangle "==Apache Isis Sub - Excel (testing support)\n<size:10>[Container: packaging: jar]</size>" <<6>> as 6
}
2 .[#707070].> 4 : ""
2 .[#707070].> 5 : ""
2 .[#707070].> 3 : ""
2 .[#707070].> 6 : ""
7 .[#707070].> 8 : ""
@enduml
----
.Projects/Modules (Applib: Excel)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis Ext - Excel (parent)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-excel
Type: pom
Directory: /extensions/core/excel
----
|A domain service for Apache Isis', allowing collections
of (view model) objects to be exported/imported to/from an
Excel spreadsheet.  Also support for excel-based fixtures.

|Apache Isis Ext - Excel (applib)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-excel-applib
Type: jar
Directory: /extensions/core/excel/applib
----
|.Components
****
o.a.i.extensions.excel.applib.service.ExcelServiceDefault +
****

.Dependencies
****
org.apache.isis.core:isis-applib:jar:<managed> +
org.apache.isis.core:isis-core-internaltestvintage:jar:<managed> +
org.apache.isis.core:isis-core-runtime:jar:<managed> +
org.apache.isis.persistence:isis-persistence-jdo-applib:jar:<managed> +
org.apache.poi:poi-ooxml:jar:<managed> +
org.apache.poi:poi-ooxml-lite:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/excel/applib/AggregationType.adoc[AggregationType], xref:refguide:extensions:index/excel/applib/ExcelMetaDataEnabled.adoc[ExcelMetaDataEnabled], xref:refguide:extensions:index/excel/applib/ExcelService.adoc[ExcelService], xref:refguide:extensions:index/excel/applib/IsisModuleExtExcelApplib.adoc[IsisModuleExtExcelApplib], xref:refguide:extensions:index/excel/applib/Mode.adoc[Mode], xref:refguide:extensions:index/excel/applib/RowHandler.adoc[RowHandler], xref:refguide:extensions:index/excel/applib/WorksheetContent.adoc[WorksheetContent], xref:refguide:extensions:index/excel/applib/WorksheetSpec.adoc[WorksheetSpec], xref:refguide:extensions:index/excel/applib/annotation/HyperLink.adoc[HyperLink], xref:refguide:extensions:index/excel/applib/annotation/PivotColumn.adoc[PivotColumn], xref:refguide:extensions:index/excel/applib/annotation/PivotDecoration.adoc[PivotDecoration], xref:refguide:extensions:index/excel/applib/annotation/PivotRow.adoc[PivotRow], xref:refguide:extensions:index/excel/applib/annotation/PivotValue.adoc[PivotValue], xref:refguide:extensions:index/excel/applib/util/AnnotationList.adoc[AnnotationList], xref:refguide:extensions:index/excel/applib/util/AnnotationTriplet.adoc[AnnotationTriplet], xref:refguide:extensions:index/excel/applib/util/ExcelFileBlobConverter.adoc[ExcelFileBlobConverter], xref:refguide:extensions:index/excel/applib/util/PivotUtils.adoc[PivotUtils], xref:refguide:extensions:index/excel/applib/util/SheetPivoter.adoc[SheetPivoter]
****

|Apache Isis Ext - Excel (Fixtures)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-excel-fixtures
Type: jar
Directory: /extensions/core/excel/fixture
----
|.Dependencies
****
org.apache.isis.core:isis-applib:jar:<managed> +
org.apache.isis.extensions:isis-extensions-excel-applib:jar:<managed> +
org.apache.isis.extensions:isis-extensions-excel-testing:jar:<managed> +
org.apache.isis.persistence:isis-persistence-jdo-datanucleus:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
org.projectlombok:lombok:jar:<managed> +
****

|Apache Isis Ext - Excel (Integ Tests)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-excel-integtests
Type: jar
Directory: /extensions/core/excel/integtests
----
|.Dependencies
****
org.apache.isis.extensions:isis-extensions-excel-fixtures:jar:<managed> +
org.apache.isis.persistence:isis-persistence-jdo-datanucleus:jar:<managed> +
org.apache.isis.testing:isis-testing-fakedata-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
org.hsqldb:hsqldb:jar:<managed> +
****

|Apache Isis Sub - Excel (testing support)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-excel-testing
Type: jar
Directory: /extensions/core/excel/testing
----
|.Dependencies
****
org.apache.isis.core:isis-core-metamodel:jar:<managed> +
org.apache.isis.extensions:isis-extensions-excel-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
org.projectlombok:lombok:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/excel/testing/ExcelFixture.adoc[ExcelFixture], xref:refguide:extensions:index/excel/testing/ExcelFixture2.adoc[ExcelFixture2], xref:refguide:extensions:index/excel/testing/ExcelFixtureRowHandler.adoc[ExcelFixtureRowHandler], xref:refguide:extensions:index/excel/testing/ExcelFixtureWorkbookHandler.adoc[ExcelFixtureWorkbookHandler], xref:refguide:extensions:index/excel/testing/FixtureAwareRowHandler.adoc[FixtureAwareRowHandler], xref:refguide:extensions:index/excel/testing/IsisModuleExtExcelTesting.adoc[IsisModuleExtExcelTesting]
****

|Apache Isis Ext - Wicket Viewer - Excel Download (parent)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-exceldownload
Type: pom
Directory: /extensions/vw/exceldownload
----
|A component for Apache Isis' Wicket viewer, providing an alternative representation of collections to be downloaded as an Excel spreadsheet.

|Apache Isis Ext - Wicket Viewer - Excel Download (ui)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-exceldownload-wicket-ui
Type: jar
Directory: /extensions/vw/exceldownload/wicket-ui
----
|.Components
****
o.a.i.extensions.viewer.wicket.exceldownload.ui.components.CollectionContentsAsExcelFactory +
****

.Dependencies
****
org.apache.isis.viewer:isis-viewer-wicket-ui:jar:<managed> +
org.apache.poi:poi-ooxml:jar:<managed> +
org.apache.poi:poi-ooxml-lite:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/viewer/wicket/exceldownload/ui/IsisModuleExtExcelDownloadWicketUi.adoc[IsisModuleExtExcelDownloadWicketUi], xref:refguide:extensions:index/viewer/wicket/exceldownload/ui/components/CollectionContentsAsExcelFactory.adoc[CollectionContentsAsExcelFactory]
****
|===

=== Core: Command Log

[plantuml,Core: Command Log,svg]
----
@startuml(id=Core:_Command_Log)
title Core: Command Log - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<3>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<4>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<5>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "Core: Command Log\n[Software System]" {
  rectangle "==Apache Isis Ext - Command Log\n<size:10>[Container: packaging: pom]</size>" <<2>> as 2
  rectangle "==Apache Isis Ext - Command Log API\n<size:10>[Container: packaging: jar]</size>" <<3>> as 3
  rectangle "==Apache Isis Ext - Command Log Implementation (JDO)\n<size:10>[Container: packaging: jar]</size>" <<4>> as 4
  rectangle "==Apache Isis Ext - Command Log Implementation (JPA)\n<size:10>[Container: packaging: jar]</size>" <<5>> as 5
}
2 .[#707070].> 3 : ""
2 .[#707070].> 4 : ""
2 .[#707070].> 5 : ""
@enduml
----
.Projects/Modules (Core: Command Log)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis Ext - Command Log
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-commandlog
Type: pom
Directory: /extensions/core/commandlog
----
|Logs commands

|Apache Isis Ext - Command Log API
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-commandlog-applib
Type: jar
Directory: /extensions/core/commandlog/applib
----
|.Components
****
o.a.i.extensions.commandlog.applib.dom.CommandLogEntry$TableColumnOrderDefault +
o.a.i.extensions.commandlog.applib.subscriber.CommandSubscriberForCommandLog +
****

.Dependencies
****
org.apache.isis.core:isis-applib:jar:<managed> +
org.apache.isis.core:isis-core-config:jar:<managed> +
org.apache.isis.core:isis-core-runtimeservices:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-unittestsupport-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/commandlog/applib/app/CommandLogMenu.adoc[CommandLogMenu], xref:refguide:extensions:index/commandlog/applib/contributions/HasInteractionId_commandLogEntry.adoc[HasInteractionId_commandLogEntry], xref:refguide:extensions:index/commandlog/applib/contributions/HasUsername_recentCommandsByUser.adoc[HasUsername_recentCommandsByUser], xref:refguide:extensions:index/commandlog/applib/contributions/Object_recentCommands.adoc[Object_recentCommands], xref:refguide:extensions:index/commandlog/applib/subscriber/CommandSubscriberForCommandLog.adoc[CommandSubscriberForCommandLog]
****

|Apache Isis Ext - Command Log Implementation (JDO)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-commandlog-persistence-jdo
Type: jar
Directory: /extensions/core/commandlog/persistence-jdo
----
|.Components
****
o.a.i.extensions.commandlog.jdo.dom.CommandLogEntryRepository +
****

.Dependencies
****
org.apache.isis.extensions:isis-extensions-commandlog-applib:jar:<managed> +
org.apache.isis.extensions:isis-extensions-commandlog-applib:test-jar:<managed> +
org.apache.isis.persistence:isis-persistence-jdo-datanucleus:jar:<managed> +
org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-unittestsupport-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/commandlog/jdo/IsisModuleExtCommandLogPersistenceJdo.adoc[IsisModuleExtCommandLogPersistenceJdo]
****

|Apache Isis Ext - Command Log Implementation (JPA)
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-commandlog-persistence-jpa
Type: jar
Directory: /extensions/core/commandlog/persistence-jpa
----
|.Components
****
o.a.i.extensions.commandlog.jpa.dom.CommandLogEntryPK$Semantics +
o.a.i.extensions.commandlog.jpa.dom.CommandLogEntryRepository +
****

.Dependencies
****
org.apache.isis.extensions:isis-extensions-commandlog-applib:jar:<managed> +
org.apache.isis.extensions:isis-extensions-commandlog-applib:test-jar:<managed> +
org.apache.isis.persistence:isis-persistence-jpa-eclipselink:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-unittestsupport-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/commandlog/jpa/IsisModuleExtCommandLogPersistenceJpa.adoc[IsisModuleExtCommandLogPersistenceJpa]
****
|===

=== Core: Command Replay

=== Core: Quartz

[plantuml,Core: Quartz,svg]
----
@startuml(id=Core:_Quartz)
title Core: Quartz - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<3>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "Core: Quartz\n[Software System]" {
  rectangle "==Apache Isis Ext - Quartz\n<size:10>[Container: packaging: pom]</size>" <<2>> as 2
  rectangle "==Apache Isis Ext - Quartz Impl\n<size:10>[Container: packaging: jar]</size>" <<3>> as 3
}
2 .[#707070].> 3 : ""
@enduml
----
.Projects/Modules (Core: Quartz)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis Ext - Quartz
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-quartz
Type: pom
Directory: /extensions/core/quartz
----
|Integrates Quartz

|Apache Isis Ext - Quartz Impl
[source,yaml]
----
Group: org.apache.isis.extensions
Artifact: isis-extensions-quartz-impl
Type: jar
Directory: /extensions/core/quartz/impl
----
|.Dependencies
****
org.apache.isis.core:isis-core-config:jar:<managed> +
org.apache.isis.core:isis-core-security:jar:<managed> +
org.springframework.boot:spring-boot-starter-quartz:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/quartz/IsisModuleExtQuartzImpl.adoc[IsisModuleExtQuartzImpl], xref:refguide:extensions:index/quartz/context/JobExecutionData.adoc[JobExecutionData], xref:refguide:extensions:index/quartz/spring/AutowiringSpringBeanJobFactory.adoc[AutowiringSpringBeanJobFactory]
****
|===

=== Security: Secman

=== Security: Shiro LDAP Realm

=== RO Viewer: CORS

=== Wicket Viewer: Excel Download

=== Wicket Viewer: Full Calendar

=== Wicket Viewer: Pdf.js

== Tooling

[plantuml,Tooling,svg]
----
@startuml(id=Tooling)
title Tooling - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<3>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<4>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<5>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<6>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<7>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<8>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<9>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "Tooling\n[Software System]" {
  rectangle "==Apache Isis - Tooling\n<size:10>[Container: packaging: pom]</size>" <<2>> as 2
  rectangle "==Apache Isis - Tooling - C4 Modeling\n<size:10>[Container: packaging: jar]</size>" <<3>> as 3
  rectangle "==Apache Isis - Tooling - CLI (Command Line Interface)\n<size:10>[Container: packaging: jar]</size>" <<4>> as 4
  rectangle "==Apache Isis - Tooling - Java Model (Code Mining)\n<size:10>[Container: packaging: jar]</size>" <<6>> as 6
  rectangle "==Apache Isis - Tooling - Java to Asciidoc (Code Mining)\n<size:10>[Container: packaging: jar]</size>" <<5>> as 5
  rectangle "==Apache Isis - Tooling - Meta Programming\n<size:10>[Container: packaging: jar]</size>" <<7>> as 7
  rectangle "==Apache Isis - Tooling - Model for AsciiDoc\n<size:10>[Container: packaging: jar]</size>" <<8>> as 8
  rectangle "==Apache Isis - Tooling - Project Model (Code mining)\n<size:10>[Container: packaging: jar]</size>" <<9>> as 9
}
2 .[#707070].> 3 : ""
2 .[#707070].> 4 : ""
2 .[#707070].> 6 : ""
2 .[#707070].> 5 : ""
2 .[#707070].> 7 : ""
2 .[#707070].> 8 : ""
2 .[#707070].> 9 : ""
@enduml
----
.Projects/Modules (Tooling)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis - Tooling
[source,yaml]
----
Group: org.apache.isis.tooling
Artifact: isis-tooling
Type: pom
Directory: /tooling
----
|Libraries and tools not depending on the _Apache Isis Core_ ecosystem,
eg. code mining, automated documentation.
(Targeted for JVM 11+)

.Dependencies
****
org.apache.isis.core:isis-core-internaltestsupport:jar:${project.version} +
org.checkerframework:checker-qual:jar:3.26.0 +
org.mapstruct:mapstruct-processor:jar:1.5.3.Final +
org.projectlombok:lombok:jar:<managed> +
org.slf4j:slf4j-api:jar:<managed> +
org.springframework.boot:spring-boot-starter-log4j2:jar:<managed> +
****

|Apache Isis - Tooling - C4 Modeling
[source,yaml]
----
Group: org.apache.isis.tooling
Artifact: isis-tooling-c4modeling
Type: jar
Directory: /tooling/c4modeling
----
|Library for programmatic C4 Model generation.

See https://c4model.com/

.Dependencies
****
com.structurizr:structurizr-core:jar:<managed> +
com.structurizr:structurizr-plantuml:jar:<managed> +
org.apache.isis.commons:isis-commons:jar:<managed> +
****

|Apache Isis - Tooling - CLI (Command Line Interface)
[source,yaml]
----
Group: org.apache.isis.tooling
Artifact: isis-tooling-cli
Type: jar
Directory: /tooling/cli
----
|Command Line Interface for the _Apache Isis Tooling_ ecosystem.

.Dependencies
****
info.picocli:picocli:jar:<managed> +
org.apache.isis.commons:isis-commons:jar:<managed> +
org.apache.isis.tooling:isis-tooling-c4modeling:jar:<managed> +
org.apache.isis.tooling:isis-tooling-java2adoc:jar:<managed> +
org.apache.isis.tooling:isis-tooling-javamodel:jar:<managed> +
org.apache.isis.tooling:isis-tooling-model4adoc:jar:<managed> +
org.apache.isis.tooling:isis-tooling-projectmodel:jar:<managed> +
****

|Apache Isis - Tooling - Java to Asciidoc (Code Mining)
[source,yaml]
----
Group: org.apache.isis.tooling
Artifact: isis-tooling-java2adoc
Type: jar
Directory: /tooling/java2adoc
----
|Code mining library for Java source to Asciidoc conversion.

.Dependencies
****
org.apache.isis.commons:isis-commons:jar:<managed> +
org.apache.isis.tooling:isis-tooling-javamodel:jar:<managed> +
org.apache.isis.tooling:isis-tooling-model4adoc:jar:<managed> +
org.jsoup:jsoup:jar:<managed> +
****

|Apache Isis - Tooling - Java Model (Code Mining)
[source,yaml]
----
Group: org.apache.isis.tooling
Artifact: isis-tooling-javamodel
Type: jar
Directory: /tooling/javamodel
----
|Code mining library for Java bytecode introspection.

.Dependencies
****
com.github.andi-huber:code-assert:jar:-SNAPSHOT +
com.github.javaparser:javaparser-core:jar:${javaparser.version} +
org.apache.isis.commons:isis-commons:jar:<managed> +
****

|Apache Isis - Tooling - Meta Programming
[source,yaml]
----
Group: org.apache.isis.tooling
Artifact: isis-tooling-metaprog
Type: jar
Directory: /tooling/metaprog
----
|Tools for Java meta-programming and runtime class generaton.

.Dependencies
****
com.graphql-java:graphql-java:jar:<managed> +
com.squareup:javapoet:jar:${javapoet.version} +
org.apache.isis.commons:isis-commons:jar:<managed> +
org.apache.isis.core:isis-core-internaltestsupport:jar:${project.version} +
org.apache.logging.log4j:log4j-core:jar:<managed> +
****

|Apache Isis - Tooling - Model for AsciiDoc
[source,yaml]
----
Group: org.apache.isis.tooling
Artifact: isis-tooling-model4adoc
Type: jar
Directory: /tooling/model4adoc
----
|Library for programmatic AsciiDoc generation.

The AsciiDoc name is trademarked by the Eclipse Foundation (https://www.eclipse.org/).
This project is *not* part of the specification effort for _AsciiDoc_ under the
AsciiDoc Working Group. See https://projects.eclipse.org/proposals/asciidoc-language
and https://accounts.eclipse.org/mailing-list/asciidoc-wg. However, we are happy to
help with transfer of source code, if any project (under the umbrella of the
AsciiDoc Working Group) is willing to take over.

.Dependencies
****
org.apache.isis.commons:isis-commons:jar:<managed> +
org.asciidoctor:asciidoctorj:jar:<managed> +
****

|Apache Isis - Tooling - Project Model (Code mining)
[source,yaml]
----
Group: org.apache.isis.tooling
Artifact: isis-tooling-projectmodel
Type: jar
Directory: /tooling/projectmodel
----
|Code mining library for Gradle/Maven project module tree introspection.

.Dependencies
****
org.apache.isis.commons:isis-commons:jar:<managed> +
org.apache.maven:maven-model-builder:jar:<managed> +
org.gradle:gradle-tooling-api:jar:<managed> +
****
|===

== Regression Tests

[plantuml,Regression Tests,svg]
----
@startuml(id=Regression_Tests)
title Regression Tests - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<11>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<22>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<12>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<23>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<24>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<13>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<14>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<15>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<16>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<17>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<18>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<19>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<3>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<4>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<5>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<6>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<7>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<8>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<9>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<20>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<10>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<21>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "Regression Tests\n[Software System]" {
  rectangle "==Apache Isis - Regression Tests\n<size:10>[Container: packaging: pom]</size>" <<2>> as 2
  rectangle "==Apache Isis - Regression Tests (stable)\n<size:10>[Container: packaging: jar]</size>" <<8>> as 8
  rectangle "==Apache Isis - Regression Tests (stable) - Bootstrapping\n<size:10>[Container: packaging: jar]</size>" <<9>> as 9
  rectangle "==Apache Isis - Regression Tests (stable) - Cmd/Exec/Audit/Session\n<size:10>[Container: packaging: pom]</size>" <<3>> as 3
  rectangle "==Apache Isis - Regression Tests (stable) - Cmd/Exec/Audit/Session - Generic\n<size:10>[Container: packaging: jar]</size>" <<4>> as 4
  rectangle "==Apache Isis - Regression Tests (stable) - Cmd/Exec/Audit/Session - JDO\n<size:10>[Container: packaging: jar]</size>" <<5>> as 5
  rectangle "==Apache Isis - Regression Tests (stable) - Cmd/Exec/Audit/Session - JPA\n<size:10>[Container: packaging: jar]</size>" <<6>> as 6
  rectangle "==Apache Isis - Regression Tests (stable) - Config\n<size:10>[Container: packaging: jar]</size>" <<10>> as 10
  rectangle "==Apache Isis - Regression Tests (stable) - Core WrapperFactory\n<size:10>[Container: packaging: jar]</size>" <<7>> as 7
  rectangle "==Apache Isis - Regression Tests (stable) - Cucumber\n<size:10>[Container: packaging: jar]</size>" <<11>> as 11
  rectangle "==Apache Isis - Regression Tests (stable) - Domain Model\n<size:10>[Container: packaging: jar]</size>" <<12>> as 12
  rectangle "==Apache Isis - Regression Tests (stable) - Event Handling\n<size:10>[Container: packaging: jar]</size>" <<13>> as 13
  rectangle "==Apache Isis - Regression Tests (stable) - Factory\n<size:10>[Container: packaging: jar]</size>" <<14>> as 14
  rectangle "==Apache Isis - Regression Tests (stable) - Interact\n<size:10>[Container: packaging: jar]</size>" <<15>> as 15
  rectangle "==Apache Isis - Regression Tests (stable) - Layouts\n<size:10>[Container: packaging: jar]</size>" <<16>> as 16
  rectangle "==Apache Isis - Regression Tests (stable) - Persistence (JDO)\n<size:10>[Container: packaging: jar]</size>" <<17>> as 17
  rectangle "==Apache Isis - Regression Tests (stable) - Persistence (JPA)\n<size:10>[Container: packaging: jar]</size>" <<18>> as 18
  rectangle "==Apache Isis - Regression Tests (stable) - Publishing (JPA)\n<size:10>[Container: packaging: jar]</size>" <<19>> as 19
  rectangle "==Apache Isis - Regression Tests (stable) - Rest\n<size:10>[Container: packaging: jar]</size>" <<20>> as 20
  rectangle "==Apache Isis - Regression Tests (stable) - Value Types\n<size:10>[Container: packaging: jar]</size>" <<21>> as 21
  rectangle "==Apache Isis - Regression Tests (stable) - Viewers Common\n<size:10>[Container: packaging: jar]</size>" <<22>> as 22
  rectangle "==Apache Isis - Regression Tests (stable) - Viewers JDO\n<size:10>[Container: packaging: jar]</size>" <<23>> as 23
  rectangle "==Apache Isis - Regression Tests (stable) - Viewers JPA\n<size:10>[Container: packaging: jar]</size>" <<24>> as 24
}
3 .[#707070].> 4 : ""
3 .[#707070].> 5 : ""
3 .[#707070].> 6 : ""
2 .[#707070].> 8 : ""
2 .[#707070].> 9 : ""
2 .[#707070].> 3 : ""
2 .[#707070].> 10 : ""
2 .[#707070].> 7 : ""
2 .[#707070].> 11 : ""
2 .[#707070].> 12 : ""
2 .[#707070].> 13 : ""
2 .[#707070].> 14 : ""
2 .[#707070].> 15 : ""
2 .[#707070].> 16 : ""
2 .[#707070].> 17 : ""
2 .[#707070].> 18 : ""
2 .[#707070].> 19 : ""
2 .[#707070].> 20 : ""
2 .[#707070].> 21 : ""
2 .[#707070].> 22 : ""
2 .[#707070].> 23 : ""
2 .[#707070].> 24 : ""
@enduml
----
.Projects/Modules (Regression Tests)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis - Regression Tests
[source,yaml]
----
Group: org.apache.isis.regressiontests
Artifact: isis-regressiontests
Type: pom
Directory: /regressiontests
----
|Collection of JUnit tests covering core functionalities of the framework.
(Targeted for JVM 11+)

.Dependencies
****
org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:${project.version} +
org.apache.isis.testing:isis-testing-unittestsupport-applib:jar:<managed> +
org.projectlombok:lombok:jar:<managed> +
****

|Apache Isis - Regression Tests (stable) - Cmd/Exec/Audit/Session
[source,yaml]
----
Group: org.apache.isis.regressiontests
Artifact: isis-regressiontests-cmdexecauditsess
Type: pom
Directory: /regressiontests/stable-cmdexecauditsess
----
|

|Apache Isis - Regression Tests (stable) - Cmd/Exec/Audit/Session - Generic
[source,yaml]
----
Group: org.apache.isis.regressiontests
Artifact: isis-regressiontests-cmdexecauditsess-generic
Type: jar
Directory: /regressiontests/stable-cmdexecauditsess/generic
----
|.Dependencies
****
org.apache.isis.core:isis-applib:jar:<managed> +
org.apache.isis.core:isis-core-config:jar:<managed> +
org.apache.isis.core:isis-core-runtimeservices:jar:<managed> +
org.apache.isis.extensions:isis-extensions-audittrail-applib:jar:<managed> +
org.apache.isis.extensions:isis-extensions-commandlog-applib:jar:<managed> +
org.apache.isis.extensions:isis-extensions-executionlog-applib:jar:<managed> +
org.apache.isis.extensions:isis-extensions-executionoutbox-applib:jar:<managed> +
org.apache.isis.extensions:isis-extensions-sessionlog-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
****

|Apache Isis - Regression Tests (stable) - Cmd/Exec/Audit/Session - JDO
[source,yaml]
----
Group: org.apache.isis.regressiontests
Artifact: isis-regressiontests-cmdexecauditsess-persistence-jdo
Type: jar
Directory: /regressiontests/stable-cmdexecauditsess/persistence-jdo
----
|.Dependencies
****
org.apache.isis.extensions:isis-extensions-audittrail-persistence-jdo:jar:<managed> +
org.apache.isis.extensions:isis-extensions-commandlog-persistence-jdo:jar:<managed> +
org.apache.isis.extensions:isis-extensions-executionlog-persistence-jdo:jar:<managed> +
org.apache.isis.extensions:isis-extensions-executionoutbox-persistence-jdo:jar:<managed> +
org.apache.isis.extensions:isis-extensions-sessionlog-persistence-jdo:jar:<managed> +
org.apache.isis.persistence:isis-persistence-jdo-datanucleus:jar:<managed> +
org.apache.isis.regressiontests:isis-regressiontests-cmdexecauditsess-generic:jar:<managed> +
org.apache.isis.security:isis-security-bypass:jar:<managed> +
****

|Apache Isis - Regression Tests (stable) - Cmd/Exec/Audit/Session - JPA
[source,yaml]
----
Group: org.apache.isis.regressiontests
Artifact: isis-regressiontests-cmdexecauditsess-persistence-jpa
Type: jar
Directory: /regressiontests/stable-cmdexecauditsess/persistence-jpa
----
|.Dependencies
****
org.apache.isis.extensions:isis-extensions-audittrail-persistence-jpa:jar:<managed> +
org.apache.isis.extensions:isis-extensions-commandlog-persistence-jpa:jar:<managed> +
org.apache.isis.extensions:isis-extensions-executionlog-persistence-jpa:jar:<managed> +
org.apache.isis.extensions:isis-extensions-executionoutbox-persistence-jpa:jar:<managed> +
org.apache.isis.extensions:isis-extensions-sessionlog-persistence-jpa:jar:<managed> +
org.apache.isis.persistence:isis-persistence-jpa-eclipselink:jar:<managed> +
org.apache.isis.regressiontests:isis-regressiontests-cmdexecauditsess-generic:jar:<managed> +
org.apache.isis.security:isis-security-bypass:jar:<managed> +
****

|Apache Isis - Regression Tests (stable) - Core WrapperFactory
[source,yaml]
----
Group: org.apache.isis.regressiontests
Artifact: isis-regressiontests-core-wrapperfactory
Type: jar
Directory: /regressiontests/stable-core-wrapperfactory
----
|.Dependencies
****
org.apache.isis.persistence:isis-persistence-jdo-datanucleus:jar:<managed> +
org.apache.isis.regressiontests:isis-regressiontests-stable:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
****

|Apache Isis - Regression Tests (stable)
[source,yaml]
----
Group: org.apache.isis.regressiontests
Artifact: isis-regressiontests-stable
Type: jar
Directory: /regressiontests/stable
----
|.Components
****
o.a.i.testdomain.conf.Configuration_headless$HeadlessCommandSupport +
o.a.i.testdomain.jdo.JdoInventoryDao +
o.a.i.testdomain.jdo.JdoTestFixtures +
o.a.i.testdomain.jpa.JpaInventoryDao +
o.a.i.testdomain.jpa.JpaTestFixtures +
o.a.i.testdomain.jpa.springdata.EmployeeRepository +
o.a.i.testdomain.model.valuetypes.ValueTypeExampleService +
o.a.i.testdomain.publishing.PublishingTestFactoryAbstract$CommitListener +
o.a.i.testdomain.publishing.PublishingTestFactoryJdo +
o.a.i.testdomain.publishing.PublishingTestFactoryJpa +
o.a.i.testdomain.publishing.subscriber.CommandSubscriberForTesting +
o.a.i.testdomain.publishing.subscriber.EntityChangesSubscriberForTesting +
o.a.i.testdomain.publishing.subscriber.EntityPropertyChangeSubscriberForTesting +
o.a.i.testdomain.publishing.subscriber.ExecutionSubscriberForTesting +
o.a.i.testdomain.util.event.LifecycleEventSubscriberJdoForTesting +
o.a.i.testdomain.util.event.LifecycleEventSubscriberJpaForTesting +
o.a.i.testdomain.util.interaction.DomainObjectTesterFactory +
o.a.i.testdomain.util.interaction.InteractionBoundaryProbe +
o.a.i.testdomain.util.kv.KVStoreForTesting +
o.a.i.testdomain.util.rest.RestEndpointService +
o.a.i.testdomain.wrapperfactory.CounterRepository +
****

.Dependencies
****
org.apache.isis.extensions:isis-extensions-fullcalendar-applib:jar:<managed> +
org.apache.isis.extensions:isis-extensions-secman-encryption-jbcrypt:jar:<managed> +
org.apache.isis.extensions:isis-extensions-secman-integration:jar:<managed> +
org.apache.isis.extensions:isis-extensions-secman-persistence-jdo:jar:<managed> +
org.apache.isis.extensions:isis-extensions-sse-metamodel:jar:<managed> +
org.apache.isis.mavendeps:isis-mavendeps-webapp:pom:<managed> +
org.apache.isis.persistence:isis-persistence-jdo-datanucleus:jar:<managed> +
org.apache.isis.persistence:isis-persistence-jpa-eclipselink:jar:<managed> +
org.apache.isis.security:isis-security-shiro:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-asciidoc-metamodel:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-markdown-metamodel:jar:<managed> +
org.apache.isis.valuetypes:isis-valuetypes-vega-metamodel:jar:<managed> +
org.apache.isis.viewer:isis-viewer-restfulobjects-client:jar:<managed> +
****

|Apache Isis - Regression Tests (stable) - Bootstrapping
[source,yaml]
----
Group: org.apache.isis.regressiontests
Artifact: isis-regressiontests-stable-bootstrapping
Type: jar
Directory: /regressiontests/stable-bootstrapping
----
|.Dependencies
****
org.apache.isis.regressiontests:isis-regressiontests-stable:jar:<managed> +
****

|Apache Isis - Regression Tests (stable) - Config
[source,yaml]
----
Group: org.apache.isis.regressiontests
Artifact: isis-regressiontests-stable-config
Type: jar
Directory: /regressiontests/stable-config
----
|.Dependencies
****
org.apache.isis.regressiontests:isis-regressiontests-stable:jar:<managed> +
****

|Apache Isis - Regression Tests (stable) - Cucumber
[source,yaml]
----
Group: org.apache.isis.regressiontests
Artifact: isis-regressiontests-stable-cucumber
Type: jar
Directory: /regressiontests/stable-cucumber
----
|.Dependencies
****
org.apache.isis.regressiontests:isis-regressiontests-stable:jar:<managed> +
org.apache.isis.testing:isis-testing-specsupport-applib:jar:<managed> +
org.junit.platform:junit-platform-suite-api:jar:<managed> +
****

|Apache Isis - Regression Tests (stable) - Domain Model
[source,yaml]
----
Group: org.apache.isis.regressiontests
Artifact: isis-regressiontests-stable-domainmodel
Type: jar
Directory: /regressiontests/stable-domainmodel
----
|.Dependencies
****
com.approvaltests:approvaltests:jar:<managed> +
org.apache.isis.regressiontests:isis-regressiontests-stable:jar:<managed> +
****

|Apache Isis - Regression Tests (stable) - Event Handling
[source,yaml]
----
Group: org.apache.isis.regressiontests
Artifact: isis-regressiontests-stable-eventhandling
Type: jar
Directory: /regressiontests/stable-eventhandling
----
|.Dependencies
****
org.apache.isis.regressiontests:isis-regressiontests-stable:jar:<managed> +
****

|Apache Isis - Regression Tests (stable) - Factory
[source,yaml]
----
Group: org.apache.isis.regressiontests
Artifact: isis-regressiontests-stable-factory
Type: jar
Directory: /regressiontests/stable-factory
----
|.Dependencies
****
org.apache.isis.regressiontests:isis-regressiontests-stable:jar:<managed> +
****

|Apache Isis - Regression Tests (stable) - Interact
[source,yaml]
----
Group: org.apache.isis.regressiontests
Artifact: isis-regressiontests-stable-interact
Type: jar
Directory: /regressiontests/stable-interact
----
|.Dependencies
****
org.apache.isis.regressiontests:isis-regressiontests-stable:jar:<managed> +
****

|Apache Isis - Regression Tests (stable) - Layouts
[source,yaml]
----
Group: org.apache.isis.regressiontests
Artifact: isis-regressiontests-stable-layouts
Type: jar
Directory: /regressiontests/stable-layouts
----
|.Dependencies
****
org.apache.isis.core:isis-applib:jar:<managed> +
org.apache.isis.core:isis-core-config:jar:<managed> +
org.apache.isis.core:isis-core-runtimeservices:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
org.apache.isis.viewer:isis-viewer-wicket-applib:jar:<managed> +
****

|Apache Isis - Regression Tests (stable) - Persistence (JDO)
[source,yaml]
----
Group: org.apache.isis.regressiontests
Artifact: isis-regressiontests-stable-persistence-jdo
Type: jar
Directory: /regressiontests/stable-persistence-jdo
----
|.Dependencies
****
org.apache.isis.persistence:isis-persistence-jdo-datanucleus:jar:<managed> +
org.apache.isis.regressiontests:isis-regressiontests-stable:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
****

|Apache Isis - Regression Tests (stable) - Persistence (JPA)
[source,yaml]
----
Group: org.apache.isis.regressiontests
Artifact: isis-regressiontests-stable-persistence-jpa
Type: jar
Directory: /regressiontests/stable-persistence-jpa
----
|.Dependencies
****
org.apache.isis.persistence:isis-persistence-jpa-eclipselink:jar:<managed> +
org.apache.isis.regressiontests:isis-regressiontests-stable:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
****

|Apache Isis - Regression Tests (stable) - Publishing (JPA)
[source,yaml]
----
Group: org.apache.isis.regressiontests
Artifact: isis-regressiontests-stable-publishing-jpa
Type: jar
Directory: /regressiontests/stable-publishing-jpa
----
|.Dependencies
****
org.apache.isis.persistence:isis-persistence-jpa-eclipselink:jar:<managed> +
org.apache.isis.regressiontests:isis-regressiontests-stable:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
****

|Apache Isis - Regression Tests (stable) - Rest
[source,yaml]
----
Group: org.apache.isis.regressiontests
Artifact: isis-regressiontests-stable-rest
Type: jar
Directory: /regressiontests/stable-rest
----
|.Dependencies
****
org.apache.isis.extensions:isis-extensions-cors-impl:jar:<managed> +
org.apache.isis.mavendeps:isis-mavendeps-webapp:pom:<managed> +
org.apache.isis.persistence:isis-persistence-jdo-datanucleus:jar:<managed> +
org.apache.isis.regressiontests:isis-regressiontests-stable:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
org.apache.isis.viewer:isis-viewer-restfulobjects-client:jar:<managed> +
****

|Apache Isis - Regression Tests (stable) - Value Types
[source,yaml]
----
Group: org.apache.isis.regressiontests
Artifact: isis-regressiontests-stable-value
Type: jar
Directory: /regressiontests/stable-value
----
|.Dependencies
****
org.apache.isis.regressiontests:isis-regressiontests-stable:jar:<managed> +
****

|Apache Isis - Regression Tests (stable) - Viewers Common
[source,yaml]
----
Group: org.apache.isis.regressiontests
Artifact: isis-regressiontests-stable-viewers-common
Type: jar
Directory: /regressiontests/stable-viewers-common
----
|.Dependencies
****
org.apache.isis.mavendeps:isis-mavendeps-webapp:pom:<managed> +
org.apache.isis.regressiontests:isis-regressiontests-stable:jar:<managed> +
****

|Apache Isis - Regression Tests (stable) - Viewers JDO
[source,yaml]
----
Group: org.apache.isis.regressiontests
Artifact: isis-regressiontests-stable-viewers-jdo
Type: jar
Directory: /regressiontests/stable-viewers-jdo
----
|.Dependencies
****
org.apache.isis.mavendeps:isis-mavendeps-webapp:pom:<managed> +
org.apache.isis.persistence:isis-persistence-jdo-datanucleus:jar:<managed> +
org.apache.isis.regressiontests:isis-regressiontests-stable:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
****

|Apache Isis - Regression Tests (stable) - Viewers JPA
[source,yaml]
----
Group: org.apache.isis.regressiontests
Artifact: isis-regressiontests-stable-viewers-jpa
Type: jar
Directory: /regressiontests/stable-viewers-jpa
----
|.Dependencies
****
org.apache.isis.mavendeps:isis-mavendeps-webapp:pom:<managed> +
org.apache.isis.persistence:isis-persistence-jpa-eclipselink:jar:<managed> +
org.apache.isis.regressiontests:isis-regressiontests-stable:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
****
|===

== Incubator

[plantuml,Incubator,svg]
----
@startuml(id=Incubator)
title Incubator - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "Incubator\n[Software System]" {
  rectangle "==Apache Isis Incubator\n<size:10>[Container: packaging: pom]</size>" <<2>> as 2
}
@enduml
----
.Projects/Modules (Incubator)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis Incubator
[source,yaml]
----
Group: org.apache.isis.incubator
Artifact: isis-incubator
Type: pom
Directory: /incubator
----
|Collection of Apache Isis artifacts, currently incubating.
|===

=== Kroviz Client

[plantuml,Kroviz Client,svg]
----
@startuml(id=Kroviz_Client)
title Kroviz Client - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "Kroviz Client\n[Software System]" {
  rectangle "==Apache Isis Incubator - Client kroViz\n<size:10>[Container: packaging: jar]</size>" <<2>> as 2
}
@enduml
----
.Projects/Modules (Kroviz Client)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis Incubator - Client kroViz
[source,yaml]
----
Group: org.apache.isis.incubator.clients
Artifact: isis-client-kroviz
Type: jar
Directory: /incubator/clients/kroviz
----
|Web client based on RESTful API
|===

=== GraphQL Viewer

[plantuml,GraphQL Viewer,svg]
----
@startuml(id=GraphQL_Viewer)
title GraphQL Viewer - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<3>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<4>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<5>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<6>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "GraphQL Viewer\n[Software System]" {
  rectangle "==Apache Isis Inc - Viewer GraphQL\n<size:10>[Container: packaging: pom]</size>" <<2>> as 2
  rectangle "==Apache Isis Inc - Viewer GraphQL (Applib)\n<size:10>[Container: packaging: jar]</size>" <<3>> as 3
  rectangle "==Apache Isis Inc - Viewer GraphQL (Model)\n<size:10>[Container: packaging: jar]</size>" <<4>> as 4
  rectangle "==Apache Isis Inc - Viewer GraphQL (Test)\n<size:10>[Container: packaging: jar]</size>" <<5>> as 5
  rectangle "==Apache Isis Inc - Viewer GraphQL (Viewer)\n<size:10>[Container: packaging: jar]</size>" <<6>> as 6
}
2 .[#707070].> 3 : ""
2 .[#707070].> 4 : ""
2 .[#707070].> 5 : ""
2 .[#707070].> 6 : ""
@enduml
----
.Projects/Modules (GraphQL Viewer)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis Inc - Viewer GraphQL
[source,yaml]
----
Group: org.apache.isis.incubator.viewer
Artifact: isis-viewer-graphql
Type: pom
Directory: /incubator/viewers/graphql
----
|

|Apache Isis Inc - Viewer GraphQL (Applib)
[source,yaml]
----
Group: org.apache.isis.incubator.viewer
Artifact: isis-viewer-graphql-applib
Type: jar
Directory: /incubator/viewers/graphql/applib
----
|.Dependencies
****
org.apache.isis.core:isis-applib:jar:<managed> +
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
****

|Apache Isis Inc - Viewer GraphQL (Model)
[source,yaml]
----
Group: org.apache.isis.incubator.viewer
Artifact: isis-viewer-graphql-model
Type: jar
Directory: /incubator/viewers/graphql/model
----
|.Dependencies
****
com.graphql-java:graphql-java:jar:<managed> +
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.incubator.viewer:isis-viewer-graphql-applib:jar:<managed> +
org.apache.isis.viewer:isis-viewer-commons-model:jar:<managed> +
org.springframework.graphql:spring-graphql:jar:<managed> +
****

|Apache Isis Inc - Viewer GraphQL (Test)
[source,yaml]
----
Group: org.apache.isis.incubator.viewer
Artifact: isis-viewer-graphql-test
Type: jar
Directory: /incubator/viewers/graphql/test
----
|.Dependencies
****
com.approvaltests:approvaltests:jar:<managed> +
com.h2database:h2:jar:<managed> +
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.core:isis-core-runtimeservices:jar:<managed> +
org.apache.isis.incubator.viewer:isis-viewer-graphql-viewer:jar:<managed> +
org.apache.isis.persistence:isis-persistence-jpa-eclipselink:jar:<managed> +
org.apache.isis.security:isis-security-bypass:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
****

|Apache Isis Inc - Viewer GraphQL (Viewer)
[source,yaml]
----
Group: org.apache.isis.incubator.viewer
Artifact: isis-viewer-graphql-viewer
Type: jar
Directory: /incubator/viewers/graphql/viewer
----
|.Dependencies
****
org.apache.isis.core:isis-core-webapp:jar:<managed> +
org.apache.isis.incubator.viewer:isis-viewer-graphql-model:jar:<managed> +
org.springframework.boot:spring-boot-starter-websocket:jar:<managed> +
****
|===

=== Vaadin Viewer

[plantuml,Vaadin Viewer,svg]
----
@startuml(id=Vaadin_Viewer)
title Vaadin Viewer - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<3>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<4>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<5>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "Vaadin Viewer\n[Software System]" {
  rectangle "==Apache Isis Inc - Viewer Vaadin\n<size:10>[Container: packaging: pom]</size>" <<2>> as 2
  rectangle "==Apache Isis Inc - Viewer Vaadin (Model)\n<size:10>[Container: packaging: jar]</size>" <<3>> as 3
  rectangle "==Apache Isis Inc - Viewer Vaadin (UI Components)\n<size:10>[Container: packaging: jar]</size>" <<4>> as 4
  rectangle "==Apache Isis Inc - Viewer Vaadin (Viewer)\n<size:10>[Container: packaging: jar]</size>" <<5>> as 5
}
2 .[#707070].> 3 : ""
2 .[#707070].> 4 : ""
2 .[#707070].> 5 : ""
@enduml
----
.Projects/Modules (Vaadin Viewer)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis Inc - Viewer Vaadin
[source,yaml]
----
Group: org.apache.isis.incubator.viewer
Artifact: isis-viewer-vaadin
Type: pom
Directory: /incubator/viewers/vaadin
----
|Initial sketches

|Apache Isis Inc - Viewer Vaadin (Model)
[source,yaml]
----
Group: org.apache.isis.incubator.viewer
Artifact: isis-viewer-vaadin-model
Type: jar
Directory: /incubator/viewers/vaadin/model
----
|.Dependencies
****
com.github.fge:jackson-coreutils:jar:1.8 +
com.vaadin:vaadin:jar:<managed> +
io.swagger:swagger-compat-spec-parser:jar:1.0.51 +
io.swagger:swagger-parser:jar:1.0.51 +
io.swagger.core.v3:swagger-core:jar:2.1.12 +
io.swagger.core.v3:swagger-models:jar:2.1.12 +
io.swagger.parser.v3:swagger-parser-core:jar:2.0.20 +
io.swagger.parser.v3:swagger-parser-v3:jar:2.0.20 +
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.core:isis-core-webapp:jar:<managed> +
org.apache.isis.viewer:isis-viewer-commons-model:jar:<managed> +
****

|Apache Isis Inc - Viewer Vaadin (UI Components)
[source,yaml]
----
Group: org.apache.isis.incubator.viewer
Artifact: isis-viewer-vaadin-ui
Type: jar
Directory: /incubator/viewers/vaadin/ui
----
|.Dependencies
****
com.vaadin:vaadin-spring:jar:<managed> +
commons-fileupload:commons-fileupload:jar:1.4 +
org.apache.isis.core:isis-core-runtimeservices:jar:<managed> +
org.apache.isis.incubator.viewer:isis-viewer-vaadin-model:jar:<managed> +
org.apache.isis.viewer:isis-viewer-commons-prism:jar:<managed> +
org.apache.isis.viewer:isis-viewer-commons-services:jar:<managed> +
****

|Apache Isis Inc - Viewer Vaadin (Viewer)
[source,yaml]
----
Group: org.apache.isis.incubator.viewer
Artifact: isis-viewer-vaadin-viewer
Type: jar
Directory: /incubator/viewers/vaadin/viewer
----
|.Dependencies
****
com.vaadin:vaadin-core:jar:<managed> +
com.vaadin:vaadin-spring:jar:<managed> +
org.apache.isis.core:isis-core-runtimeservices:jar:<managed> +
org.apache.isis.incubator.viewer:isis-viewer-vaadin-model:jar:<managed> +
org.apache.isis.incubator.viewer:isis-viewer-vaadin-ui:jar:<managed> +
org.springframework.boot:spring-boot-starter-web:jar:<managed> +
****
|===

=== JavaFX Viewer

[plantuml,JavaFX Viewer,svg]
----
@startuml(id=JavaFX_Viewer)
title JavaFX Viewer - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<3>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<4>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<5>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "JavaFX Viewer\n[Software System]" {
  rectangle "==Apache Isis Inc - Viewer JavaFX\n<size:10>[Container: packaging: pom]</size>" <<2>> as 2
  rectangle "==Apache Isis Inc - Viewer JavaFX (Model)\n<size:10>[Container: packaging: jar]</size>" <<3>> as 3
  rectangle "==Apache Isis Inc - Viewer JavaFX (UI Components)\n<size:10>[Container: packaging: jar]</size>" <<4>> as 4
  rectangle "==Apache Isis Inc - Viewer JavaFX (Viewer)\n<size:10>[Container: packaging: jar]</size>" <<5>> as 5
}
2 .[#707070].> 3 : ""
2 .[#707070].> 4 : ""
2 .[#707070].> 5 : ""
@enduml
----
.Projects/Modules (JavaFX Viewer)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis Inc - Viewer JavaFX
[source,yaml]
----
Group: org.apache.isis.incubator.viewer
Artifact: isis-viewer-javafx
Type: pom
Directory: /incubator/viewers/javafx
----
|Initial sketches

|Apache Isis Inc - Viewer JavaFX (Model)
[source,yaml]
----
Group: org.apache.isis.incubator.viewer
Artifact: isis-viewer-javafx-model
Type: jar
Directory: /incubator/viewers/javafx/model
----
|.Dependencies
****
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.viewer:isis-viewer-commons-model:jar:<managed> +
org.openjfx:javafx-base:jar:<managed> +
org.openjfx:javafx-controls:jar:<managed> +
org.openjfx:javafx-fxml:jar:<managed> +
org.openjfx:javafx-swing:jar:<managed> +
org.openjfx:javafx-web:jar:<managed> +
****

|Apache Isis Inc - Viewer JavaFX (UI Components)
[source,yaml]
----
Group: org.apache.isis.incubator.viewer
Artifact: isis-viewer-javafx-ui
Type: jar
Directory: /incubator/viewers/javafx/ui
----
|.Dependencies
****
org.apache.isis.core:isis-core-runtimeservices:jar:<managed> +
org.apache.isis.incubator.viewer:isis-viewer-javafx-model:jar:<managed> +
****

|Apache Isis Inc - Viewer JavaFX (Viewer)
[source,yaml]
----
Group: org.apache.isis.incubator.viewer
Artifact: isis-viewer-javafx-viewer
Type: jar
Directory: /incubator/viewers/javafx/viewer
----
|.Dependencies
****
org.apache.isis.incubator.viewer:isis-viewer-javafx-ui:jar:<managed> +
****
|===

== Other

[plantuml,Other,svg]
----
@startuml(id=Other)
title Other - Containers
caption Artifact Hierarchy (Maven)

skinparam {
  shadowing false
  arrowFontSize 10
  defaultTextAlignment center
  wrapWidth 200
  maxMessageSize 100
}
hide stereotype
left to right direction
skinparam rectangle<<2>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<3>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
skinparam rectangle<<4>> {
  BackgroundColor #438dd5
  FontColor #fffffe
  BorderColor #2E6295
}
package "Other\n[Software System]" {
  rectangle "==Apache Isis Ext - Command Replay\n<size:10>[Container: packaging: pom]</size>" <<2>> as 2
  rectangle "==Apache Isis Ext - Command Replay for Primary\n<size:10>[Container: packaging: jar]</size>" <<3>> as 3
  rectangle "==Apache Isis Ext - Command Replay for Secondary\n<size:10>[Container: packaging: jar]</size>" <<4>> as 4
}
2 .[#707070].> 3 : ""
2 .[#707070].> 4 : ""
@enduml
----
.Projects/Modules (Other)
[cols="3a,5a", options="header"]
|===
|Coordinates |Description 

|Apache Isis Ext - Command Replay
[source,yaml]
----
Group: org.apache.isis.incubator.extensions
Artifact: isis-extensions-commandreplay
Type: pom
Directory: /incubator/extensions/core/commandreplay
----
|Replays commands to secondary system

|Apache Isis Ext - Command Replay for Primary
[source,yaml]
----
Group: org.apache.isis.incubator.extensions
Artifact: isis-extensions-commandreplay-primary
Type: jar
Directory: /incubator/extensions/core/commandreplay/primary
----
|A module for obtaining commands from a primary

.Dependencies
****
org.apache.isis.core:isis-core-config:jar:<managed> +
org.apache.isis.core:isis-core-runtime:jar:<managed> +
org.apache.isis.core:isis-schema:jar:<managed> +
org.apache.isis.extensions:isis-extensions-commandlog-applib:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/commandreplay/primary/IsisModuleExtCommandReplayPrimary.adoc[IsisModuleExtCommandReplayPrimary], xref:refguide:extensions:index/commandreplay/primary/config/PrimaryConfig.adoc[PrimaryConfig], xref:refguide:extensions:index/commandreplay/primary/mixins/Object_openOnSecondary.adoc[Object_openOnSecondary], xref:refguide:extensions:index/commandreplay/primary/restapi/CommandRetrievalOnPrimaryService.adoc[CommandRetrievalOnPrimaryService], xref:refguide:extensions:index/commandreplay/primary/ui/CommandReplayOnPrimaryService.adoc[CommandReplayOnPrimaryService]
****

|Apache Isis Ext - Command Replay for Secondary
[source,yaml]
----
Group: org.apache.isis.incubator.extensions
Artifact: isis-extensions-commandreplay-secondary
Type: jar
Directory: /incubator/extensions/core/commandreplay/secondary
----
|A module providing a Quartz Job to run on a secondary system,
for obtaining commands from a primary and saving them so that they are replayed.

.Dependencies
****
org.apache.isis.core:isis-core-config:jar:<managed> +
org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
org.apache.isis.core:isis-core-runtime:jar:<managed> +
org.apache.isis.core:isis-schema:jar:<managed> +
org.apache.isis.extensions:isis-extensions-commandlog-applib:jar:<managed> +
org.apache.isis.extensions:isis-extensions-quartz-impl:jar:<managed> +
org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
org.apache.isis.viewer:isis-viewer-restfulobjects-client:jar:<managed> +
org.apache.isis.viewer:isis-viewer-restfulobjects-jaxrsresteasy4:jar:<managed> +
org.glassfish.jersey.ext:jersey-spring5:jar:<managed> +
****

.Document Index Entries
****
xref:refguide:extensions:index/commandreplay/secondary/IsisModuleExtCommandReplaySecondary.adoc[IsisModuleExtCommandReplaySecondary], xref:refguide:extensions:index/commandreplay/secondary/analyser/CommandReplayAnalyser.adoc[CommandReplayAnalyser], xref:refguide:extensions:index/commandreplay/secondary/analyser/CommandReplayAnalyserException.adoc[CommandReplayAnalyserException], xref:refguide:extensions:index/commandreplay/secondary/analyser/CommandReplayAnalyserResult.adoc[CommandReplayAnalyserResult], xref:refguide:extensions:index/commandreplay/secondary/analysis/CommandReplayAnalysisService.adoc[CommandReplayAnalysisService], xref:refguide:extensions:index/commandreplay/secondary/config/SecondaryConfig.adoc[SecondaryConfig], xref:refguide:extensions:index/commandreplay/secondary/fetch/CommandFetcher.adoc[CommandFetcher], xref:refguide:extensions:index/commandreplay/secondary/job/ReplicateAndReplayJob.adoc[ReplicateAndReplayJob], xref:refguide:extensions:index/commandreplay/secondary/job/SecondaryStatusData.adoc[SecondaryStatusData], xref:refguide:extensions:index/commandreplay/secondary/jobcallables/ReplicateAndRunCommands.adoc[ReplicateAndRunCommands], xref:refguide:extensions:index/commandreplay/secondary/mixins/CommandLogEntry_exclude.adoc[CommandLogEntry_exclude], xref:refguide:extensions:index/commandreplay/secondary/mixins/CommandLogEntry_replayQueue.adoc[CommandLogEntry_replayQueue], xref:refguide:extensions:index/commandreplay/secondary/mixins/Object_openOnPrimary.adoc[Object_openOnPrimary], xref:refguide:extensions:index/commandreplay/secondary/spi/ReplayCommandExecutionController.adoc[ReplayCommandExecutionController], xref:refguide:extensions:index/commandreplay/secondary/status/SecondaryStatus.adoc[SecondaryStatus], xref:refguide:extensions:index/commandreplay/secondary/ui/CommandReplayOnSecondaryService.adoc[CommandReplayOnSecondaryService]
****
|===
