| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="utf-8"> |
| <meta name="viewport" content="width=device-width,initial-scale=1"> |
| <title>Applib :: Apache Isis</title> |
| <link rel="canonical" href="https://isis.apache.org/refguide/2.0.0-M3/config/sections/isis.applib.html"> |
| <meta name="generator" content="Antora 2.2.0"> |
| <link rel="stylesheet" href="../../../../_/css/site.css"> |
| <link rel="stylesheet" href="../../../../_/css/site-custom.css"> |
| <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet"> |
| <link rel="home" href="https://isis.apache.org" title="Apache Isis"> |
| <link rel="next" href="isis.core.meta-model.html" title="Core MetaModel"> |
| <link rel="prev" href="../about.html" title="Configuration"> |
| </head> |
| <body class="article"> |
| <header class="header"> |
| <nav class="navbar"> |
| <div class="navbar-brand"> |
| <a class="navbar-item" href="https://isis.apache.org"> |
| <span class="icon"> |
| <img src="../../../../_/img/isis-logo-48x48.png"></img> |
| </span> |
| <span>Apache Isis</span> |
| </a> |
| <button class="navbar-burger" data-target="topbar-nav"> |
| <span></span> |
| <span></span> |
| <span></span> |
| </button> |
| </div> |
| <div id="topbar-nav" class="navbar-menu"> |
| <a class="navbar-end"> |
| <div class="navbar-item has-dropdown is-hoverable"> |
| <a class="navbar-link" href="#">Quick Start</a> |
| <div class="navbar-dropdown"> |
| <span class="navbar-item navbar-heading">Starter Apps</span> |
| <a class="navbar-item" href="../../../../docs/latest/starters/helloworld.html">Hello World</a> |
| <a class="navbar-item" href="../../../../docs/latest/starters/simpleapp.html">Simple App</a> |
| <hr class="navbar-divider"/> |
| <span class="navbar-item navbar-heading">Demos & Tutorials</span> |
| <a class="navbar-item" href="../../../../docs/latest/demo/about.html">Demo App</a> |
| <a class="navbar-item" href="https://danhaywood.gitlab.io/isis-petclinic-tutorial-docs/petclinic/1.16.2/intro.html">Petclinic (tutorial)</a> |
| <hr class="navbar-divider"/> |
| <span class="navbar-item navbar-heading">Resources</span> |
| <a class="navbar-item" href="../../../../docs/latest/resources/cheatsheet.html">Cheatsheet</a> |
| <a class="navbar-item" href="../../../../docs/latest/resources/icons.html">Icons</a> |
| </div> |
| </div> |
| <div class="navbar-item has-dropdown is-hoverable"> |
| <a class="navbar-link" href="#">Guides</a> |
| <div class="navbar-dropdown"> |
| <span class="navbar-item navbar-heading">Development</span> |
| <a class="navbar-item" href="../../../../setupguide/latest/about.html">Setup Guide</a> |
| <hr class="navbar-divider"/> |
| <span class="navbar-item navbar-heading">Core</span> |
| <a class="navbar-item" href="../../../../userguide/latest/about.html">User Guide</a> |
| <a class="navbar-item" href="../../../../refguide/latest/about.html">Reference Guide</a> |
| <a class="navbar-item" href="../../../../testing/latest/about.html">Testing Guide</a> |
| </div> |
| </div> |
| <div class="navbar-item has-dropdown is-hoverable"> |
| <a class="navbar-link" href="#">Libraries</a> |
| <div class="navbar-dropdown"> |
| <span class="navbar-item navbar-heading">For Use in Apps</span> |
| <a class="navbar-item" href="../../../../subdomains/latest/about.html">Subdomain Libraries</a> |
| <a class="navbar-item" href="../../../../valuetypes/latest/about.html">Value Types</a> |
| <hr class="navbar-divider"/> |
| <span class="navbar-item navbar-heading">Integrate between Apps</span> |
| <a class="navbar-item" href="../../../../mappings/latest/about.html">Bounded Context Mapping Libraries</a> |
| <hr class="navbar-divider"/> |
| <span class="navbar-item navbar-heading">Other</span> |
| <a class="navbar-item" href="../../../../incubator/latest/about.html">Incubator</a> |
| <a class="navbar-item" href="../../../../legacy/latest/about.html">Legacy</a> |
| </div> |
| </div> |
| <div class="navbar-item has-dropdown is-hoverable"> |
| <a class="navbar-link" href="#">Components</a> |
| <div class="navbar-dropdown"> |
| <span class="navbar-item navbar-heading">Viewers</span> |
| <a class="navbar-item" href="../../../../vw/latest/about.html">Wicket UI</a> |
| <a class="navbar-item" href="../../../../vro/latest/about.html">Restful Objects (REST)</a> |
| <hr class="navbar-divider"/> |
| <span class="navbar-item navbar-heading">Security</span> |
| <a class="navbar-item" href="../../../../security/latest/about.html">Security Guide</a> |
| <hr class="navbar-divider"/> |
| <span class="navbar-item navbar-heading">Persistence</span> |
| <a class="navbar-item" href="../../../../pjdo/latest/about.html">DataNucleus (JDO)</a> |
| <hr class="navbar-divider"/> |
| <span class="navbar-item navbar-heading">Extensions</span> |
| <a class="navbar-item" href="../../../../extensions/latest/about.html">Extensions Catalog</a> |
| </div> |
| </div> |
| <div class="navbar-item has-dropdown is-hoverable"> |
| <a class="navbar-link" href="#">Support</a> |
| <div class="navbar-dropdown"> |
| <span class="navbar-item navbar-heading">Contact</span> |
| <a class="navbar-item" href="../../../../docs/latest/support/slack-channel.html">Slack</a> |
| <a class="navbar-item" href="../../../../docs/latest/support/mailing-list.html">Mailing Lists</a> |
| <a class="navbar-item" href="https://issues.apache.org/jira/browse/ISIS">JIRA</a> |
| <a class="navbar-item" href="https://stackoverflow.com/questions/tagged/isis">Stack Overflow</a> |
| <hr class="navbar-divider"/> |
| <span class="navbar-item navbar-heading">Releases</span> |
| <a class="navbar-item" href="../../../../docs/latest/downloads/how-to.html">Downloads</a> |
| <a class="navbar-item" href="../../../../relnotes/latest/about.html">Release Notes</a> |
| <a class="navbar-item" href="../../../../docs/latest/archive/1-x.html">Archive (1.x)</a> |
| <hr class="navbar-divider"/> |
| <span class="navbar-item navbar-heading">Framework</span> |
| <a class="navbar-item" href="../../../../conguide/latest/about.html">Contributors' Guide</a> |
| <a class="navbar-item" href="../../../../comguide/latest/about.html">Committers' Guide</a> |
| <a class="navbar-item" href="../../../../core/latest/about.html">Core Design</a> |
| </div> |
| </div> |
| <div class="navbar-item has-dropdown is-hoverable"> |
| <a class="navbar-link" href="#">ASF</a> |
| <div class="navbar-dropdown"> |
| <a class="navbar-item" href="http://www.apache.org/">Apache Homepage</a> |
| <a class="navbar-item" href="https://www.apache.org/events/current-event">Events</a> |
| <a class="navbar-item" href="https://www.apache.org/licenses/">Licenses</a> |
| <a class="navbar-item" href="https://www.apache.org/security/">Security</a> |
| <a class="navbar-item" href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
| <a class="navbar-item" href="https://www.apache.org/foundation/thanks.html">Thanks</a> |
| <hr class="navbar-divider"/> |
| <a class="navbar-item" href="https://whimsy.apache.org/board/minutes/Isis.html">PMC board minutes</a> |
| </div> |
| </div> |
| <a class="navbar-item" href="../../../../docs/latest/about.html"> |
| <span class="icon"> |
| <img src="../../../../_/img/home.png"></img> |
| </span> |
| </a> |
| </div> |
| </div> |
| </nav> |
| </header> |
| <div class="body -toc"> |
| <div class="nav-container" data-component="refguide" data-version="2.0.0-M3"> |
| <aside class="nav"> |
| <div class="panels"> |
| <div class="nav-panel-pagination"> |
| <a class="page-previous" rel="prev" href="../about.html" title="Configuration"><span></span></a> |
| <a class="page-next" rel="next" |
| href="isis.core.meta-model.html" title="Core MetaModel"><span></span></a> |
| <!-- |
| page.parent doesn't seem to be set... |
| <a class="page-parent" rel="prev" href="../about.html" title="Configuration"><span></span></a> |
| --> |
| </div> |
| <div class="nav-panel-menu is-active" data-panel="menu"> |
| <nav class="nav-menu"> |
| <h3 class="title"><a href="../../about.html">Reference Guide</a></h3> |
| <ul class="nav-list"> |
| <li class="nav-item" data-depth="0"> |
| <ul class="nav-list"> |
| <li class="nav-item" data-depth="1"> |
| <button class="nav-item-toggle"></button> |
| <a class="nav-link" href="../../applib-ant/about.html">Annotations</a> |
| <ul class="nav-list"> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/Action.html">Action</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/ActionLayout.html">ActionLayout</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/Collection.html">Collection</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/CollectionLayout.html">CollectionLayout</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/Column.html">Column</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/Digits.html">Digits</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/Discriminator.html">Discriminator</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/DomainObject.html">DomainObject</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/DomainObjectLayout.html">DomainObjectLayout</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/DomainService.html">DomainService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/DomainServiceLayout.html">DomainServiceLayout</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/Facets.html">Facets</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/HomePage.html">HomePage</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/MemberOrder.html">MemberOrder</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/Mixin.html">Mixin</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/NotPersistent.html">NotPersistent.</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/Nullable.html">Nullable</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/MinLength.html">MinLength</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/Parameter.html">Parameter</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/ParameterLayout.html">ParameterLayout</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/Pattern.html">Pattern</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/PersistenceCapable.html">PersistenceCapable</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/PrimaryKey.html">PrimaryKey</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/Programmatic.html">Programmatic</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/Property.html">Property</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/PropertyLayout.html">PropertyLayout</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/IsisSessionScope.html">RequestScoped</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/Title.html">Title</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/ViewModel.html">ViewModel</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/XmlJavaTypeAdapter.html">XmlJavaTypeAdapter</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-ant/XmlRootElement.html">XmlRootElement</a> |
| </li> |
| </ul> |
| </li> |
| <li class="nav-item" data-depth="1"> |
| <button class="nav-item-toggle"></button> |
| <a class="nav-link" href="../../applib-methods/about.html">Methods</a> |
| <ul class="nav-list"> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-methods/prefixes.html">Supporting Method Prefixes</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-methods/reserved.html">Reserved Methods</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-methods/lifecycle.html">Lifecycle Methods</a> |
| </li> |
| </ul> |
| </li> |
| <li class="nav-item" data-depth="1"> |
| <button class="nav-item-toggle"></button> |
| <a class="nav-link" href="../../applib-classes/about.html">Classes</a> |
| <ul class="nav-list"> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-classes/events.html">Events</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-classes/ViewModel.html"><code>ViewModel</code></a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-classes/value-types.html">Value Types</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-classes/spec.html">Specification pattern</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-classes/i18n.html">i18n support</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-classes/roles-mixins-contributees.html">Roles, Mixins and Contributees</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-classes/utility.html">Utility Classes</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-classes/layout.html">Layout</a> |
| </li> |
| </ul> |
| </li> |
| <li class="nav-item" data-depth="1"> |
| <button class="nav-item-toggle"></button> |
| <a class="nav-link" href="../../applib-svc/about.html">Domain Services</a> |
| <ul class="nav-list"> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/AcceptHeaderService.html">AcceptHeaderService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/ApplicationFeatureRepository.html">ApplicationFeatureRepository</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/AuditerService.html">AuditerService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/BookmarkService.html">BookmarkService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/BookmarkUiService.html">BookmarkUiService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/ClockService.html">ClockService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/CommandContext.html">CommandContext</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/CommandDtoProcessorService.html">CommandDtoProcessorService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/CommandExecutorService.html">CommandExecutorService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/CommandService.html">CommandService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/ConfigurationMenu.html">ConfigurationMenu</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/ConfigurationViewService.html">ConfigurationViewService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/ContentMappingService.html">ContentMappingService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/DeepLinkService.html">DeepLinkService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/EmailNotificationService.html">EmailNotificationService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/EmailService.html">EmailService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/ErrorReportingService.html">ErrorReportingService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/EventBusService.html">EventBusService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/ExceptionRecognizerService.html">ExceptionRecognizerService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/FactoryService.html">FactoryService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/GridLoaderService.html">GridLoaderService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/GridService.html">GridService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/GridSystemService.html">GridSystemService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/HealthCheckService.html">HealthCheckService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/HintStore.html">HintStore</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/HomePageResolverService.html">HomePageResolverService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/InteractionContext.html">InteractionContext</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/JaxbService.html">JaxbService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/LayoutService.html">LayoutService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/LayoutServiceMenu.html">LayoutServiceMenu</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/LocaleProvider.html">LocaleProvider</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/MenuBarsLoaderService.html">MenuBarsLoaderService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/MenuBarsService.html">MenuBarsService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/MessageService.html">MessageService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/MetaModelService.html">MetamodelService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/MetaModelServiceMenu.html">MetamodelServiceMenu</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/MetricsService.html">MetricsService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/PublisherService.html">PublisherService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/QueryResultsCache.html">QueryResultsCache</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/RepositoryService.html">RepositoryService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/RoutingService.html">RoutingService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/Scratchpad.html">Scratchpad</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/ServiceInjector.html">ServiceInjector</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/ServiceRegistry.html">ServiceRegistry</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/SessionLoggingService.html">SessionLoggingService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/SudoService.html">SudoService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/SwaggerService.html">SwaggerService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/TableColumnOrderService.html">TableColumnOrderService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/TitleService.html">TitleService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/TranslationService.html">TranslationService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/TranslationsResolver.html">TranslationsResolver</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/TransactionService.html">TransactionService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/UrlEncodingService.html">UrlEncodingService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/UserProfileService.html">UserProfileService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/UserRegistrationService.html">UserRegistrationService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/UserService.html">UserService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/WrapperFactory.html">WrapperFactory</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/XmlService.html">XmlService</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../applib-svc/XmlSnapshotService.html">XmlSnapshotService</a> |
| </li> |
| </ul> |
| </li> |
| <li class="nav-item" data-depth="1"> |
| <button class="nav-item-toggle"></button> |
| <a class="nav-link" href="../about.html">Configuration</a> |
| <ul class="nav-list"> |
| <li class="nav-item is-current-page" data-depth="2"> |
| <a class="nav-link" href="isis.applib.html">Applib</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="isis.core.meta-model.html">Core MetaModel</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="isis.core.meta-model.introspector.html">Core MetaModel Introspection</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="isis.core.meta-model.validator.html">MetaModel Validator</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="isis.core.runtime.html">Core Runtime Services configurations</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="isis.core.runtime-services.html">Core Runtime Services configurations</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="isis.security.shiro.html">Shiro Security Implementation</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="isis.persistence.jdo-datanucleus.html">JDO DataNucleus</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="isis.persistence.jdo-datanucleus.impl.html">DataNucleus Configuration</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="isis.viewer.restfulobjects.html">Restful Objects Viewer</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="isis.viewer.wicket.html">Wicket Viewer</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="isis.extensions.html">Extensions</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="isis.value-types.html">Value types</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="isis.testing.html">Testing</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="isis.legacy.html">Legacy</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="resteasy.html">RestEasy Configuration</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="Other.html">Other</a> |
| </li> |
| </ul> |
| </li> |
| <li class="nav-item" data-depth="1"> |
| <button class="nav-item-toggle"></button> |
| <a class="nav-link" href="../../schema/about.html">Schema</a> |
| <ul class="nav-list"> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../schema/mml.html">MetaModel</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../schema/cmd.html">Command</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../schema/ixn.html">Interaction</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../schema/chg.html">Changes</a> |
| </li> |
| <li class="nav-item" data-depth="2"> |
| <a class="nav-link" href="../../schema/common.html">Common</a> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </nav> |
| </div> |
| <div class="nav-panel-explore" data-panel="explore"> |
| <div class="context"> |
| <span class="title">Reference Guide</span> |
| <span class="version">2.0.0-M3</span> |
| </div> |
| <ul class="components"> |
| <li class="component"> |
| <span class="title"> </span> |
| <ul class="versions"> |
| <li class="version is-latest"> |
| <a href="../../../../docs/2.0.0-M3/about.html">2.0.0-M3</a> |
| </li> |
| </ul> |
| </li> |
| <li class="component"> |
| <span class="title">BC Mappings Catalog</span> |
| <ul class="versions"> |
| <li class="version is-latest"> |
| <a href="../../../../mappings/2.0.0-M3/about.html">2.0.0-M3</a> |
| </li> |
| </ul> |
| </li> |
| <li class="component"> |
| <span class="title">Committers' Guide</span> |
| <ul class="versions"> |
| <li class="version is-latest"> |
| <a href="../../../../comguide/2.0.0-M3/about.html">2.0.0-M3</a> |
| </li> |
| </ul> |
| </li> |
| <li class="component"> |
| <span class="title">Contributors' Guide</span> |
| <ul class="versions"> |
| <li class="version is-latest"> |
| <a href="../../../../conguide/2.0.0-M3/about.html">2.0.0-M3</a> |
| </li> |
| </ul> |
| </li> |
| <li class="component"> |
| <span class="title">Design Docs</span> |
| <ul class="versions"> |
| <li class="version is-latest"> |
| <a href="../../../../core/2.0.0-M3/about.html">2.0.0-M3</a> |
| </li> |
| </ul> |
| </li> |
| <li class="component"> |
| <span class="title">Extensions Catalog</span> |
| <ul class="versions"> |
| <li class="version is-latest"> |
| <a href="../../../../extensions/2.0.0-M3/about.html">2.0.0-M3</a> |
| </li> |
| </ul> |
| </li> |
| <li class="component"> |
| <span class="title">Incubator Catalog</span> |
| <ul class="versions"> |
| <li class="version is-latest"> |
| <a href="../../../../incubator/2.0.0-M3/about.html">2.0.0-M3</a> |
| </li> |
| </ul> |
| </li> |
| <li class="component"> |
| <span class="title">JDO/DataNucleus</span> |
| <ul class="versions"> |
| <li class="version is-latest"> |
| <a href="../../../../pjdo/2.0.0-M3/about.html">2.0.0-M3</a> |
| </li> |
| </ul> |
| </li> |
| <li class="component"> |
| <span class="title">Legacy Catalog</span> |
| <ul class="versions"> |
| <li class="version is-latest"> |
| <a href="../../../../legacy/2.0.0-M3/about.html">2.0.0-M3</a> |
| </li> |
| </ul> |
| </li> |
| <li class="component is-current"> |
| <span class="title">Reference Guide</span> |
| <ul class="versions"> |
| <li class="version is-current is-latest"> |
| <a href="../../about.html">2.0.0-M3</a> |
| </li> |
| </ul> |
| </li> |
| <li class="component"> |
| <span class="title">Release Notes</span> |
| <ul class="versions"> |
| <li class="version is-latest"> |
| <a href="../../../../relnotes/2.0.0-M3/about.html">2.0.0-M3</a> |
| </li> |
| </ul> |
| </li> |
| <li class="component"> |
| <span class="title">Restful Objects Viewer</span> |
| <ul class="versions"> |
| <li class="version is-latest"> |
| <a href="../../../../vro/2.0.0-M3/about.html">2.0.0-M3</a> |
| </li> |
| </ul> |
| </li> |
| <li class="component"> |
| <span class="title">Security Guide</span> |
| <ul class="versions"> |
| <li class="version is-latest"> |
| <a href="../../../../security/2.0.0-M3/about.html">2.0.0-M3</a> |
| </li> |
| </ul> |
| </li> |
| <li class="component"> |
| <span class="title">Setup Guide</span> |
| <ul class="versions"> |
| <li class="version is-latest"> |
| <a href="../../../../setupguide/2.0.0-M3/about.html">2.0.0-M3</a> |
| </li> |
| </ul> |
| </li> |
| <li class="component"> |
| <span class="title">Subdomains Catalog</span> |
| <ul class="versions"> |
| <li class="version is-latest"> |
| <a href="../../../../subdomains/2.0.0-M3/about.html">2.0.0-M3</a> |
| </li> |
| </ul> |
| </li> |
| <li class="component"> |
| <span class="title">Testing Guide</span> |
| <ul class="versions"> |
| <li class="version is-latest"> |
| <a href="../../../../testing/2.0.0-M3/about.html">2.0.0-M3</a> |
| </li> |
| </ul> |
| </li> |
| <li class="component"> |
| <span class="title">User Guide</span> |
| <ul class="versions"> |
| <li class="version is-latest"> |
| <a href="../../../../userguide/2.0.0-M3/about.html">2.0.0-M3</a> |
| </li> |
| </ul> |
| </li> |
| <li class="component"> |
| <span class="title">Value Types Catalog</span> |
| <ul class="versions"> |
| <li class="version is-latest"> |
| <a href="../../../../valuetypes/2.0.0-M3/about.html">2.0.0-M3</a> |
| </li> |
| </ul> |
| </li> |
| <li class="component"> |
| <span class="title">Wicket Viewer</span> |
| <ul class="versions"> |
| <li class="version is-latest"> |
| <a href="../../../../vw/2.0.0-M3/about.html">2.0.0-M3</a> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </aside> |
| </div> |
| <main role="main"> |
| <div class="toolbar" role="navigation"> |
| <button class="nav-toggle"></button> |
| <a href="../../../../docs/2.0.0-M3/about.html" class="home-link"></a> |
| <nav class="breadcrumbs" aria-label="breadcrumbs"> |
| <ul> |
| <li><a href="../../about.html">Reference Guide</a></li> |
| <li><a href="../about.html">Configuration</a></li> |
| <li><a href="isis.applib.html">Applib</a></li> |
| </ul> |
| </nav> |
| <div class="edit-this-page"><a href="https://github.com/apache/isis/edit/2.0.0-M3/core/config/src/main/adoc/modules/config/pages/sections/isis.applib.adoc">Edit</a></div> |
| </div> |
| <article class="doc"> |
| <a name="section-top"></a> |
| <h1 class="page">Applib</h1> |
| <div id="preamble"> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>Default configuration for applib annotations.</p> |
| </div> |
| <table class="tableblock frame-all grid-all stretch"> |
| <colgroup> |
| <col style="width: 30%;"> |
| <col style="width: 20%;"> |
| <col style="width: 50%;"> |
| </colgroup> |
| <thead> |
| <tr> |
| <th class="tableblock halign-left valign-top">Property</th> |
| <th class="tableblock halign-left valign-top">Default</th> |
| <th class="tableblock halign-left valign-top">Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.action-layout.css-class-fa.patterns" class="paragraph"> |
| <p>isis.applib.annotation.<br> |
| action-layout.css-class-fa.<br> |
| patterns</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>Provides a mapping of patterns to font-awesome CSS classes, where the pattern is used to match against the name of the action method in order to determine a CSS class to use, for example on the action’s menu icon if rendered by the Wicket viewer.</p> |
| </div> |
| <div class="paragraph"> |
| <p>Providing a default set of patterns encourages a common set of verbs to be used.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The font awesome class for individual actions can be overridden using <code>ActionLayout#cssClassFa()</code>.</p> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.action-layout.css-class.patterns" class="paragraph"> |
| <p>isis.applib.annotation.<br> |
| action-layout.css-class.patterns</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>Provides a mapping of patterns to CSS classes, where the pattern is used to match against the name of the action method in order to determine a CSS class to use, for example on the action’s button if rendered by the Wicket viewer.</p> |
| </div> |
| <div class="paragraph"> |
| <p>Providing a default set of patterns encourages a common set of verbs to be used.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The CSS class for individual actions can be overridden using <code>ActionLayout#cssClass()</code>.</p> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.action.command" class="paragraph"> |
| <p>isis.applib.annotation.action.<br> |
| command</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>The default for whether action invocations should be reified as a <code>Command</code> using the <code>CommandService</code>, possibly so that the actual execution of the action can be deferred until later (background execution) or replayed against a copy of the system.</p> |
| </div> |
| <div class="paragraph"> |
| <p>In particular, the <code>CommandWithDto</code> implementation of <code>Command</code> represents the action invocation memento (obtained using <code>CommandWithDto#asDto()</code>) as a <code>CommandDto</code>.</p> |
| </div> |
| <div class="paragraph"> |
| <p>This setting can be overridden on a case-by-case basis using <code>Action#command()</code>.</p> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.action.domain-event.post-for-default" class="paragraph"> |
| <p>isis.applib.annotation.action.<br> |
| domain-event.post-for-default</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>true</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>Influences whether an <code>ActionDomainEvent</code> should be published (on the internal <code>EventBusService</code>) whenever an action is being interacted with.</p> |
| </div> |
| <div class="paragraph"> |
| <p>Up to five different events can be fired during an interaction, with the event’s phase determining which (hide, disable, validate, executing and executed). Subscribers can influence the behaviour at each of these phases.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The algorithm for determining whether (and what type of) an event is actually sent depends on the value of the <code>Action#domainEvent()</code> for the action in question:</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>If set to some subtype of ActionDomainEvent.Noop, then <em>no</em> event is sent.</p> |
| </li> |
| <li> |
| <p>If set to some subtype of ActionDomainEvent.Default, then an event is sent <em>if and only if</em> this configuration setting is set.</p> |
| </li> |
| <li> |
| <p>If set to any other subtype, then an event <em>is</em> sent.</p> |
| </li> |
| </ul> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.action.explicit" class="paragraph"> |
| <p>isis.applib.annotation.action.<br> |
| explicit</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>Whether or not a public method needs to be annotated with @<code>Action</code> in order to be picked up as an action in the metamodel.</p> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.action.publishing" class="paragraph"> |
| <p>isis.applib.annotation.action.<br> |
| publishing</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>The default for whether action invocations should be sent through to the <code>PublisherService</code> for publishing.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The service’s publish method is called only once per transaction, with <code>Execution</code> collecting details of the identity of the target object, the action invoked, the action arguments and the returned object (if any).</p> |
| </div> |
| <div class="paragraph"> |
| <p>This setting can be overridden on a case-by-case basis using <code>Action#publishing()</code>.</p> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.collection-layout.default-view" class="paragraph"> |
| <p>isis.applib.annotation.<br> |
| collection-layout.default-view</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>Defines the initial view to display collections when rendered.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The value of this can be overridden on a case-by-case basis using <code>CollectionLayout#defaultView()</code>. Note that this default configuration property is an enum and so defines only a fixed number of values, whereas the annotation returns a string; this is to allow for flexibility that individual viewers might support their own additional types. For example, the Wicket viewer supports</p> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.collection-layout.paged" class="paragraph"> |
| <p>isis.applib.annotation.<br> |
| collection-layout.paged</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>12</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>Defines the default number of objects that are shown in a "parented" collection of a domain object, result of invoking an action.</p> |
| </div> |
| <div class="paragraph"> |
| <p>This can be overridden on a case-by-case basis using <code>CollectionLayout#paged()</code>.</p> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.collection.domain-event.post-for-default" class="paragraph"> |
| <p>isis.applib.annotation.collection.<br> |
| domain-event.post-for-default</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>true</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>Influences whether an <code>CollectionDomainEvent</code> should be published (on the internal <code>EventBusService</code>) whenever a collection is being interacted with.</p> |
| </div> |
| <div class="paragraph"> |
| <p>Up to two different events can be fired during an interaction, with the event’s phase determining which (hide, disable)Subscribers can influence the behaviour at each of these phases.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The algorithm for determining whether (and what type of) an event is actually sent depends on the value of the <code>Collection#domainEvent()</code> for the collection action in question:</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>If set to some subtype of CollectionDomainEvent.Noop, then <em>no</em> event is sent.</p> |
| </li> |
| <li> |
| <p>If set to some subtype of CollectionDomainEvent.Default, then an event is sent <em>if and only if</em> this configuration setting is set.</p> |
| </li> |
| <li> |
| <p>If set to any other subtype, then an event <em>is</em> sent.</p> |
| </li> |
| </ul> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.domain-object-layout.css-class-ui-event.post-for-default" class="paragraph"> |
| <p>isis.applib.annotation.<br> |
| domain-object-layout.<br> |
| css-class-ui-event.<br> |
| post-for-default</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>true</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>Influences whether an <code>CssClassUiEvent</code> should be published (on the internal <code>EventBusService</code>) whenever a domain object is about to be rendered in the UI - thereby allowing subscribers to optionally <code>CssClassUiEvent#setCssClass(String)</code> change) the CSS classes that are used.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The algorithm for determining whether (and what type of) an event is sent depends on the value of the <code>DomainObjectLayout#cssClassUiEvent()</code> @DomainObjectLayout(cssClassEvent=…​)} for the domain object in question.</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>If set to some subtype of CssClassUiEvent.Noop, then <em>no</em> event is sent.</p> |
| </li> |
| <li> |
| <p>If set to some subtype of CssClassUiEvent.Default, then an event is sent <em>if and only if</em> this configuration setting is set.</p> |
| </li> |
| <li> |
| <p>If set to any other subtype, then an event <em>is</em> sent.</p> |
| </li> |
| </ul> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.domain-object-layout.icon-ui-event.post-for-default" class="paragraph"> |
| <p>isis.applib.annotation.<br> |
| domain-object-layout.icon-ui-event.<br> |
| post-for-default</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>true</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>Influences whether an <code>IconUiEvent</code> should be published (on the internal <code>EventBusService</code>) whenever a domain object is about to be rendered in the UI - thereby allowing subscribers to optionally <code>IconUiEvent#setIconName(String)</code> change) the icon that is used.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The algorithm for determining whether (and what type of) an event is sent depends on the value of the <code>DomainObjectLayout#iconUiEvent()</code> @DomainObjectLayout(iconEvent=…​)} for the domain object in question.</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>If set to some subtype of IconUiEvent.Noop, then <em>no</em> event is sent.</p> |
| </li> |
| <li> |
| <p>If set to some subtype of IconUiEvent.Default, then an event is sent <em>if and only if</em> this configuration setting is set.</p> |
| </li> |
| <li> |
| <p>If set to any other subtype, then an event <em>is</em> sent.</p> |
| </li> |
| </ul> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.domain-object-layout.layout-ui-event.post-for-default" class="paragraph"> |
| <p>isis.applib.annotation.<br> |
| domain-object-layout.<br> |
| layout-ui-event.post-for-default</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>true</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>Influences whether an <code>LayoutUiEvent</code> should be published (on the internal <code>EventBusService</code>) whenever a domain object is about to be rendered in the UI - thereby allowing subscribers to optionally <code>LayoutUiEvent#setLayout(String)</code> change) the layout that is used.</p> |
| </div> |
| <div class="paragraph"> |
| <p>If a different layout value has been set, then a layout in the form <code>xml</code> use used (where <code>zzz</code> is the name of the layout).</p> |
| </div> |
| <div class="paragraph"> |
| <p>The algorithm for determining whether (and what type of) an event is sent depends on the value of the <code>DomainObjectLayout#layoutUiEvent()</code> @DomainObjectLayout(layoutEvent=…​)} for the domain object in question.</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>If set to some subtype of LayoutUiEvent.Noop, then <em>no</em> event is sent.</p> |
| </li> |
| <li> |
| <p>If set to some subtype of LayoutUiEvent.Default, then an event is sent <em>if and only if</em> this configuration setting is set.</p> |
| </li> |
| <li> |
| <p>If set to any other subtype, then an event <em>is</em> sent.</p> |
| </li> |
| </ul> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.domain-object-layout.paged" class="paragraph"> |
| <p>isis.applib.annotation.<br> |
| domain-object-layout.paged</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>25</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>Defines the default number of objects that are shown in a "standalone" collection obtained as the result of invoking an action.</p> |
| </div> |
| <div class="paragraph"> |
| <p>This can be overridden on a case-by-case basis using <code>DomainObjectLayout#paged()</code>.</p> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.domain-object-layout.title-ui-event.post-for-default" class="paragraph"> |
| <p>isis.applib.annotation.<br> |
| domain-object-layout.<br> |
| title-ui-event.post-for-default</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>true</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>Influences whether an <code>TitleUiEvent</code> should be published (on the internal <code>EventBusService</code>) whenever a domain object is about to be rendered in the UI - thereby allowing subscribers to optionally <code>TitleUiEvent#setTitle(String)</code> change) the title that is used.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The algorithm for determining whether (and what type of) an event is sent depends on the value of the <code>DomainObjectLayout#titleUiEvent()</code> @DomainObjectLayout(titleEvent=…​)} for the domain object in question.</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>If set to some subtype of TitleUiEvent.Noop, then <em>no</em> event is sent.</p> |
| </li> |
| <li> |
| <p>If set to some subtype of TitleUiEvent.Default, then an event is sent <em>if and only if</em> this configuration setting is set.</p> |
| </li> |
| <li> |
| <p>If set to any other subtype, then an event <em>is</em> sent.</p> |
| </li> |
| </ul> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.domain-object.auditing" class="paragraph"> |
| <p>isis.applib.annotation.<br> |
| domain-object.auditing</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>The default for whether <em>domain entities</em> should be audited or not (meaning that any changes are sent through to the <code>AuditerService</code>.</p> |
| </div> |
| <div class="paragraph"> |
| <p>This setting can be overridden on a case-by-case basis using <code>DomainObject#auditing()</code> DomainObject#getAuditing()}</p> |
| </div> |
| <div class="paragraph"> |
| <p>Note: this applies only to domain entities, not view models.</p> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.domain-object.created-lifecycle-event.post-for-default" class="paragraph"> |
| <p>isis.applib.annotation.<br> |
| domain-object.<br> |
| created-lifecycle-event.<br> |
| post-for-default</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>true</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>Influences whether an <code>ObjectCreatedEvent</code> should be published (on the internal <code>EventBusService</code>) whenever a domain object has been created using <code>FactoryService</code>.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The algorithm for determining whether (and what type of) an event is sent depends on the value of the @DomainObject(createdLifecycleEvent=…​) for the domain object in question.</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>If set to some subtype of ObjectCreatedEvent.Noop, then <em>no</em> event is sent.</p> |
| </li> |
| <li> |
| <p>If set to some subtype of ObjectCreatedEvent.Default, then an event is sent <em>if and only if</em> this configuration setting is set.</p> |
| </li> |
| <li> |
| <p>If set to any other subtype, then an event <em>is</em> sent.</p> |
| </li> |
| </ul> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.domain-object.editing" class="paragraph"> |
| <p>isis.applib.annotation.<br> |
| domain-object.editing</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>The default for whether the properties of domain objects can be edited, or whether instead they can be modified only using actions (or programmatically as a side-effect of actions on other objects).</p> |
| </div> |
| <div class="paragraph"> |
| <p>This setting can be overridden on a case-by-case basis using DomainObject#getEditing()</p> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.domain-object.loaded-lifecycle-event.post-for-default" class="paragraph"> |
| <p>isis.applib.annotation.<br> |
| domain-object.<br> |
| loaded-lifecycle-event.<br> |
| post-for-default</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>true</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>Influences whether an <code>ObjectLoadedEvent</code> should be published (on the internal <code>EventBusService</code>) whenever a domain <em>entity</em> has been loaded from the persistence store.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The algorithm for determining whether (and what type of) an event is sent depends on the value of the @DomainObject(loadedLifecycleEvent=…​) for the domain object in question.</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>If set to some subtype of ObjectLoadedEvent.Noop, then <em>no</em> event is sent.</p> |
| </li> |
| <li> |
| <p>If set to some subtype of ObjectCreatedEvent.Default, then an event is sent <em>if and only if</em> this configuration setting is set.</p> |
| </li> |
| <li> |
| <p>If set to any other subtype, then an event <em>is</em> sent.</p> |
| </li> |
| </ul> |
| </div> |
| <div class="paragraph"> |
| <p>Note: this applies only to domain entities, not to view models.</p> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.domain-object.persisted-lifecycle-event.post-for-default" class="paragraph"> |
| <p>isis.applib.annotation.<br> |
| domain-object.<br> |
| persisted-lifecycle-event.<br> |
| post-for-default</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>true</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>Influences whether an <code>ObjectPersistedEvent</code> should be published (on the internal <code>EventBusService</code>) whenever a domain <em>entity</em> has been persisted (for the first time) to the persistence store.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The algorithm for determining whether (and what type of) an event is sent depends on the value of the @DomainObject(persistedLifecycleEvent=…​) for the domain object in question.</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>If set to some subtype of ObjectPersistedEvent.Noop, then <em>no</em> event is sent.</p> |
| </li> |
| <li> |
| <p>If set to some subtype of ObjectCreatedEvent.Default, then an event is sent <em>if and only if</em> this configuration setting is set.</p> |
| </li> |
| <li> |
| <p>If set to any other subtype, then an event <em>is</em> sent.</p> |
| </li> |
| </ul> |
| </div> |
| <div class="paragraph"> |
| <p>Note: this applies only to domain entities, not to view models.</p> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.domain-object.persisting-lifecycle-event.post-for-default" class="paragraph"> |
| <p>isis.applib.annotation.<br> |
| domain-object.<br> |
| persisting-lifecycle-event.<br> |
| post-for-default</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>true</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>Influences whether an <code>ObjectPersistingEvent</code> should be published (on the internal <code>EventBusService</code>) whenever a domain <em>entity</em> is about to be persisting (for the first time) to the persistence store.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The algorithm for determining whether (and what type of) an event is sent depends on the value of the @DomainObject(persistingLifecycleEvent=…​) for the domain object in question.</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>If set to some subtype of ObjectPersistingEvent.Noop, then <em>no</em> event is sent.</p> |
| </li> |
| <li> |
| <p>If set to some subtype of ObjectCreatedEvent.Default, then an event is sent <em>if and only if</em> this configuration setting is set.</p> |
| </li> |
| <li> |
| <p>If set to any other subtype, then an event <em>is</em> sent.</p> |
| </li> |
| </ul> |
| </div> |
| <div class="paragraph"> |
| <p>Note: this applies only to domain entities, not to view models.</p> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.domain-object.publishing" class="paragraph"> |
| <p>isis.applib.annotation.<br> |
| domain-object.publishing</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>The default for whether the identities of changed objects should be sent through to the <code>PublisherService</code> for publishing.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The service’s publish method is called only once per transaction, with <code>PublishedObjects</code> collecting details of all changed domain objects.</p> |
| </div> |
| <div class="paragraph"> |
| <p>This setting can be overridden on a case-by-case basis using <code>DomainObject#publishing()</code>.</p> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.domain-object.removing-lifecycle-event.post-for-default" class="paragraph"> |
| <p>isis.applib.annotation.<br> |
| domain-object.<br> |
| removing-lifecycle-event.<br> |
| post-for-default</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>true</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>Influences whether an <code>ObjectRemovingEvent</code> should be published (on the internal <code>EventBusService</code>) whenever a persistent domain <em>entity</em> is about to be removed (that is, deleted) from the persistence store.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The algorithm for determining whether (and what type of) an event is sent depends on the value of the @DomainObject(removingLifecycleEvent=…​) for the domain object in question.</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>If set to some subtype of ObjectRemovingEvent.Noop, then <em>no</em> event is sent.</p> |
| </li> |
| <li> |
| <p>If set to some subtype of ObjectCreatedEvent.Default, then an event is sent <em>if and only if</em> this configuration setting is set.</p> |
| </li> |
| <li> |
| <p>If set to any other subtype, then an event <em>is</em> sent.</p> |
| </li> |
| </ul> |
| </div> |
| <div class="paragraph"> |
| <p>Note: this applies only to domain entities, not to view models.</p> |
| </div> |
| <div class="paragraph"> |
| <p>Note: There is no corresponding <code>removed</code> callback, because (for the JDO persistence store at least) it is not possible to interact with a domain entity once it has been deleted.</p> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.domain-object.updated-lifecycle-event.post-for-default" class="paragraph"> |
| <p>isis.applib.annotation.<br> |
| domain-object.<br> |
| updated-lifecycle-event.<br> |
| post-for-default</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>true</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>Influences whether an <code>ObjectUpdatedEvent</code> should be published (on the internal <code>EventBusService</code>) whenever a persistent domain <em>entity</em> has been updated in the persistence store.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The algorithm for determining whether (and what type of) an event is sent depends on the value of the @DomainObject(updatedLifecycleEvent=…​) for the domain object in question.</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>If set to some subtype of ObjectUpdatedEvent.Noop, then <em>no</em> event is sent.</p> |
| </li> |
| <li> |
| <p>If set to some subtype of ObjectCreatedEvent.Default, then an event is sent <em>if and only if</em> this configuration setting is set.</p> |
| </li> |
| <li> |
| <p>If set to any other subtype, then an event <em>is</em> sent.</p> |
| </li> |
| </ul> |
| </div> |
| <div class="paragraph"> |
| <p>Note: this applies only to domain entities, not to view models.</p> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.domain-object.updating-lifecycle-event.post-for-default" class="paragraph"> |
| <p>isis.applib.annotation.<br> |
| domain-object.<br> |
| updating-lifecycle-event.<br> |
| post-for-default</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>true</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>Influences whether an <code>ObjectUpdatingEvent</code> should be published (on the internal <code>EventBusService</code>) whenever a persistent domain <em>entity</em> is about to be updated in the persistence store.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The algorithm for determining whether (and what type of) an event is sent depends on the value of the @DomainObject(updatingLifecycleEvent=…​) for the domain object in question.</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>If set to some subtype of ObjectUpdatingEvent.Noop, then <em>no</em> event is sent.</p> |
| </li> |
| <li> |
| <p>If set to some subtype of ObjectCreatedEvent.Default, then an event is sent <em>if and only if</em> this configuration setting is set.</p> |
| </li> |
| <li> |
| <p>If set to any other subtype, then an event <em>is</em> sent.</p> |
| </li> |
| </ul> |
| </div> |
| <div class="paragraph"> |
| <p>Note: this applies only to domain entities, not to view models.</p> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.parameter-layout.label-position" class="paragraph"> |
| <p>isis.applib.annotation.<br> |
| parameter-layout.label-position</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>Defines the default position for the label for an action parameter.</p> |
| </div> |
| <div class="paragraph"> |
| <p>Can be overridden on a case-by-case basis using <code>ParameterLayout#labelPosition()</code>.</p> |
| </div> |
| <div class="paragraph"> |
| <p>If left as <code>LabelPosition#NOT_SPECIFIED</code> and not overridden, then the position depends upon the viewer implementation.</p> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.property-layout.label-position" class="paragraph"> |
| <p>isis.applib.annotation.<br> |
| property-layout.label-position</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>Defines the default position for the label for a domain object property.</p> |
| </div> |
| <div class="paragraph"> |
| <p>Can be overridden on a case-by-case basis using <code>ParameterLayout#labelPosition()</code>.</p> |
| </div> |
| <div class="paragraph"> |
| <p>If left as <code>LabelPosition#NOT_SPECIFIED</code> and not overridden, then the position depends upon the viewer implementation.</p> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.property.command" class="paragraph"> |
| <p>isis.applib.annotation.property.<br> |
| command</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>The default for whether property edits should be reified as a <code>Command</code> using the <code>CommandService</code>, possibly so that the actual execution of the property edit can be deferred until later (background execution) or replayed against a copy of the system.</p> |
| </div> |
| <div class="paragraph"> |
| <p>In particular, the <code>CommandWithDto</code> implementation of <code>Command</code> represents the action invocation memento (obtained using <code>CommandWithDto#asDto()</code>) as a <code>CommandDto</code>.</p> |
| </div> |
| <div class="paragraph"> |
| <p>This setting can be overridden on a case-by-case basis using <code>Action#command()</code>.</p> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.property.domain-event.post-for-default" class="paragraph"> |
| <p>isis.applib.annotation.property.<br> |
| domain-event.post-for-default</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>true</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>Influences whether an <code>PropertyDomainEvent</code> should be published (on the internal <code>EventBusService</code>) whenever an property is being interacted with.</p> |
| </div> |
| <div class="paragraph"> |
| <p>Up to five different events can be fired during an interaction, with the event’s phase determining which (hide, disable, validate, executing and executed). Subscribers can influence the behaviour at each of these phases.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The algorithm for determining whether (and what type of) an event is actually sent depends on the value of the <code>Property#domainEvent()</code> for the property in question:</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>If set to some subtype of propertyDomainEvent.Noop, then <em>no</em> event is sent.</p> |
| </li> |
| <li> |
| <p>If set to some subtype of propertyDomainEvent.Default, then an event is sent <em>if and only if</em> this configuration setting is set.</p> |
| </li> |
| <li> |
| <p>If set to any other subtype, then an event <em>is</em> sent.</p> |
| </li> |
| </ul> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.property.publishing" class="paragraph"> |
| <p>isis.applib.annotation.property.<br> |
| publishing</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>The default for whether property edits should be sent through to the <code>PublisherService</code> for publishing.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The service’s publish method is called only once per transaction, with <code>Execution</code> collecting details of the identity of the target object, the property edited, and the new value of the property.</p> |
| </div> |
| <div class="paragraph"> |
| <p>This setting can be overridden on a case-by-case basis using \{ @link org.apache.isis.applib.annotation.Property#publishing()}.</p> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.view-model-layout.css-class-ui-event.post-for-default" class="paragraph"> |
| <p>isis.applib.annotation.<br> |
| view-model-layout.<br> |
| css-class-ui-event.<br> |
| post-for-default</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>true</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>Influences whether an <code>CssClassUiEvent</code> should be published (on the internal <code>EventBusService</code>) whenever a view model (annotated with @ViewModel) is about to be rendered in the UI - thereby allowing subscribers to optionally <code>CssClassUiEvent#setCssClass(String)</code> change) the CSS classes that are used.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The algorithm for determining whether (and what type of) an event is sent depends on the value of the <code>ViewModelLayout#cssClassUiEvent()</code> @ViewModelLayout(cssClassEvent=…​)} for the domain object in question:</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>If set to some subtype of CssClassUiEvent.Noop, then <em>no</em> event is sent.</p> |
| </li> |
| <li> |
| <p>If set to some subtype of CssClassUiEvent.Default, then an event is sent <em>if and only if</em> this configuration setting is set.</p> |
| </li> |
| <li> |
| <p>If set to any other subtype, then an event <em>is</em> sent.</p> |
| </li> |
| </ul> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.view-model-layout.icon-ui-event.post-for-default" class="paragraph"> |
| <p>isis.applib.annotation.<br> |
| view-model-layout.icon-ui-event.<br> |
| post-for-default</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>true</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>Influences whether an <code>IconUiEvent</code> should be published (on the internal <code>EventBusService</code>) whenever a view model (annotated with @ViewModel) is about to be rendered in the UI - thereby allowing subscribers to optionally <code>IconUiEvent#setIconName(String)</code> change) the icon that is used.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The algorithm for determining whether (and what type of) an event is sent depends on the value of the <code>ViewModelLayout#iconUiEvent()</code> @ViewModelLayout(iconEvent=…​)} for the domain object in question:</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>If set to some subtype of IconUiEvent.Noop, then <em>no</em> event is sent.</p> |
| </li> |
| <li> |
| <p>If set to some subtype of IconUiEvent.Default, then an event is sent <em>if and only if</em> this configuration setting is set.</p> |
| </li> |
| <li> |
| <p>If set to any other subtype, then an event <em>is</em> sent.</p> |
| </li> |
| </ul> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.view-model-layout.layout-ui-event.post-for-default" class="paragraph"> |
| <p>isis.applib.annotation.<br> |
| view-model-layout.layout-ui-event.<br> |
| post-for-default</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>true</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>Influences whether an <code>LayoutUiEvent</code> should be published (on the internal <code>EventBusService</code>) whenever a view model (annotated with @ViewModel) is about to be rendered in the UI - thereby allowing subscribers to optionally <code>LayoutUiEvent#setLayout(String)</code> change) the layout that is used.</p> |
| </div> |
| <div class="paragraph"> |
| <p>If a different layout value has been set, then a layout in the form <code>xml</code> use used (where <code>zzz</code> is the name of the layout).</p> |
| </div> |
| <div class="paragraph"> |
| <p>The algorithm for determining whether (and what type of) an event is sent depends on the value of the <code>ViewModelLayout#layoutUiEvent()</code> @ViewModelLayout(layoutEvent=…​)} for the domain object in question:</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>If set to some subtype of LayoutUiEvent.Noop, then <em>no</em> event is sent.</p> |
| </li> |
| <li> |
| <p>If set to some subtype of LayoutUiEvent.Default, then an event is sent <em>if and only if</em> this configuration setting is set.</p> |
| </li> |
| <li> |
| <p>If set to any other subtype, then an event <em>is</em> sent.</p> |
| </li> |
| </ul> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.view-model-layout.title-ui-event.post-for-default" class="paragraph"> |
| <p>isis.applib.annotation.<br> |
| view-model-layout.title-ui-event.<br> |
| post-for-default</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>true</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>Influences whether an <code>TitleUiEvent</code> should be published (on the internal <code>EventBusService</code>) whenever a view model (annotated with @ViewModel) is about to be rendered in the UI - thereby allowing subscribers to optionally <code>TitleUiEvent#setTitle(String)</code> change) the title that is used.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The algorithm for determining whether (and what type of) an event is sent depends on the value of the <code>ViewModelLayout#titleUiEvent()</code> @ViewModelLayout(titleEvent=…​)} for the domain object in question:</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>If set to some subtype of TitleUiEvent.Noop, then <em>no</em> event is sent.</p> |
| </li> |
| <li> |
| <p>If set to some subtype of TitleUiEvent.Default, then an event is sent <em>if and only if</em> this configuration setting is set.</p> |
| </li> |
| <li> |
| <p>If set to any other subtype, then an event <em>is</em> sent.</p> |
| </li> |
| </ul> |
| </div></div></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><div class="content"><div id="isis.applib.annotation.view-model.validation.semantic-checking.enable" class="paragraph"> |
| <p>isis.applib.annotation.view-model.<br> |
| validation.semantic-checking.<br> |
| enable</p> |
| </div></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"></div></td> |
| <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph"> |
| <p>Whether to check for inconsistencies between the usage of <code>DomainObject</code>, <code>ViewModel</code>, <code>DomainObjectLayout</code> and <code>ViewModelLayout</code>.</p> |
| </div></div></td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="events"><a class="anchor" href="#events"></a>Events</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>Note:</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>In order for the lifecycle events to fire (<code>persisting</code>, <code>loaded</code> etc) the class must be annotated using <code>@DomainObject</code> (even if no attributes on that annotation are set).</p> |
| </li> |
| <li> |
| <p>Similarly, for UI events to fire (<code>title</code>, <code>icon</code> etc) the class must be annotated using <code>@DomainObjectLayout</code> (even if no attributes on that annotation are set).</p> |
| </li> |
| <li> |
| <p>Similarly, for domain events to fire (<code>title</code>, <code>icon</code> etc) the action/property/collection must be annotated using the appropriate <code>@XxxLayout</code> (even if no attributes on that annotation are set).</p> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="non-editable-objects"><a class="anchor" href="#non-editable-objects"></a>Non-editable Objects</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>The <code>isis.applib.annotation.domain-object.editing</code> configuration property determines whether properties can be edited or not. |
| By default it is <em>disabled</em>:</p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="highlightjs highlight"><code class="language-ini hljs" data-lang="ini">isis.applib.annotation.domain-object.editing=false</code></pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p>We recommend leaving this at its default, and only selectively enabling property editing where there are likely to be no business rules, such as "notes" or "comments" properties. |
| Doing so will help drive out the underlying business operations (processes and procedures) that require objects to change; these can then be captured as actions.</p> |
| </div> |
| </div> |
| </div> |
| </article> |
| <aside class="article-aside toc" role="navigation"> |
| <p class="toc-title">On this page</p> |
| <div id="article-toc"></div> |
| </aside> |
| </main> |
| </div> |
| <footer class="footer"> |
| <div class="content"> |
| <div class="copyright"> |
| <p> |
| Copyright © 2010~2020 The Apache Software Foundation, licensed under the Apache License, v2.0. |
| <br/> |
| Apache, the Apache feather logo, Apache Isis, and the Apache Isis project logo are all trademarks of The Apache Software Foundation. |
| </p> |
| </div> |
| <div class="revision"> |
| <p>Revision: SNAPSHOT</p> |
| </div> |
| </div> |
| </footer> |
| <script src="../../../../_/js/site.js"></script> |
| <script async src="../../../../_/js/vendor/highlight.js"></script> |
| <script src="../../../../_/js/vendor/jquery-3.4.1.min.js"></script> |
| <script src="../../../../_/js/vendor/jquery-ui-1.12.1.custom.widget-only.min.js"></script> |
| <script src="../../../../_/js/vendor/jquery.tocify.min.js"></script> |
| |
| <script> |
| $(function() { |
| $("#article-toc").tocify( { |
| showEffect: "slideDown", |
| hashGenerator: "pretty", |
| hideEffect: "slideUp", |
| selectors: "h2, h3", |
| scrollTo: 120, |
| smoothScroll: true, |
| theme: "jqueryui", |
| highlightOnScroll: true |
| } ); |
| }); |
| </script> |
| </body> |
| </html> |