/** * Convenience class for services that act as subscribers. */ @DomainServiceLayout( menuOrder = "1" ) public abstract class AbstractSubscriber { @PostConstruct public void postConstruct() { eventBusService.register(this); } @Programmatic public void preDestroy() { eventBusService.unregister(this); } @javax.inject.Inject protected DomainObjectContainer container; @javax.inject.Inject protected EventBusService eventBusService; }
private static String nameOf(final Class<?> cls) { final DomainServiceLayout domainServiceLayout = cls.getAnnotation(DomainServiceLayout.class); String name = domainServiceLayout != null ? domainServiceLayout.named(): null; if(name == null) { name = cls.getName(); } return name; }
@DomainServiceLayout() public static class ServiceWithDomainServiceLayout { }
@DomainServiceLayout(menuOrder = "100") public static class ServiceWithDomainServiceLayout100 { }
/** * An implementation of {@link UserSettingsService} that persists settings * as entities into a JDO-backed database. */ @DomainService( nature = NatureOfService.VIEW_MENU_ONLY ) @DomainServiceLayout( named = "Settings", menuOrder = "400.2", menuBar = DomainServiceLayout.MenuBar.SECONDARY ) public class UserSettingMenu extends UserSettingsServiceJdo { }
/** * Demonstrates an extension to the built-in representation service (a framework-provided service). */ @DomainService( nature = NatureOfService.DOMAIN ) @DomainServiceLayout( menuOrder = "1" // override the framework-provided service ) public class ToDoAppRepresentationService extends RepresentationServiceForRestfulObjects { @Override protected Response buildResponse(Response.ResponseBuilder responseBuilder) { responseBuilder.header("X-ResponseGeneratedBy", getClass().getCanonicalName()); return super.buildResponse(responseBuilder); } }
nature = NatureOfService.DOMAIN @DomainServiceLayout( menuOrder = "" + (Integer.MAX_VALUE - 1)
objectType = "isisApplib.ConfigurationServiceMenu" @DomainServiceLayout( menuBar = DomainServiceLayout.MenuBar.TERTIARY, menuOrder = "500.900"
nature = NatureOfService.VIEW_MENU_ONLY @DomainServiceLayout( named = "Prototyping", menuBar = DomainServiceLayout.MenuBar.SECONDARY,
@DomainService(nature = NatureOfService.DOMAIN) @DomainServiceLayout(menuOrder = "1") public class RoutingServiceUsingBreadcrumbs extends RoutingServiceDefault {
nature = NatureOfService.VIEW_MENU_ONLY @DomainServiceLayout( named = "Settings", menuOrder = "400.1",
@DomainService( nature = NatureOfService.VIEW_MENU_ONLY @DomainServiceLayout( menuBar = DomainServiceLayout.MenuBar.TERTIARY
@DomainService( nature = NatureOfService.VIEW_MENU_ONLY @DomainServiceLayout( named = "Prototyping", menuBar = DomainServiceLayout.MenuBar.SECONDARY,
objectType = "isisApplib.HsqlDbManagerMenu" @DomainServiceLayout( named = "Prototyping", menuOrder = "500.800",
@DomainService( nature = NatureOfService.DOMAIN @DomainServiceLayout( menuOrder = "1100" // not visible, but determines the order initialized (must come after security module's seed service)
@DomainServiceLayout(menuOrder = "10") public class SimpleObjects {
@DomainServiceLayout( menuBar = DomainServiceLayout.MenuBar.TERTIARY, named = "Settings",
objectType = "isisApplib.LayoutServiceMenu" @DomainServiceLayout( named = "Prototyping", menuBar = DomainServiceLayout.MenuBar.SECONDARY,
objectType = "isisApplib.SwaggerServiceMenu" @DomainServiceLayout( named = "Prototyping", menuBar = DomainServiceLayout.MenuBar.SECONDARY,
@DomainService( nature = NatureOfService.VIEW_MENU_ONLY @DomainServiceLayout( named="Analysis", menuOrder = "20")