org.incode.example.settings.dom.ApplicationSettingMenu Maven / Gradle / Ivy
package org.incode.example.settings.dom;
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.DomainServiceLayout;
import org.apache.isis.applib.annotation.NatureOfService;
import org.incode.example.settings.dom.jdo.ApplicationSettingsServiceJdo;
/**
* An implementation of {@link ApplicationSettingsService} that persists settings
* as entities into a JDO-backed database.
*
*
* This service is automatically registered and provides UI-visible actions. If necessary these can be hidden
* either using security or by writing a subscriber to veto their visibility:
*
*
* @DomainService(nature = NatureOfService.DOMAIN)
* public class HideIsisModuleSettingsModuleMenus {
*
* @Programmatic @PostConstruct
* public void postConstruct() { eventBusService.register(this); }
* @Programmatic @PostConstruct
* public void preDestroy() { eventBusService.unregister(this); }
*
* @Programmatic @Subscribe
* public void on(final SettingsModule.ActionDomainEvent> event) {
* event.hide();
* }
*
* @Inject
* private EventBusService eventBusService;
* }
*
*/
@DomainService(
nature = NatureOfService.VIEW_MENU_ONLY
)
@DomainServiceLayout(
named = "Settings",
menuOrder = "400.1",
menuBar = DomainServiceLayout.MenuBar.SECONDARY
)
public class ApplicationSettingMenu extends ApplicationSettingsServiceJdo implements ApplicationSettingsServiceRW {
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy