Class AppRoot

  • All Implemented Interfaces:
    Id, LocalId
    Direct Known Subclasses:
    ReflectiveAppRoot

    public abstract class AppRoot
    extends LocalUriId
    implements Id
    Root path of an application. An application has a name. Many applications may be created. The name creates a name space for each application, so that components may be individually addressed across application instances. An AppRoot retrieves "components" through ComponentRoots. Each component provides a fluent builder for an Id that is specific to that component.
    • Constructor Detail

      • AppRoot

        protected AppRoot​(String name)
    • Method Detail

      • get

        public abstract <T extends ComponentRoot> T get​(Class<T> providerId)
        subclasses should override this using the appropriate DI/ServiceLoading mechanism to allow the pattern appRoot.get(Components.class)...; e.g. appRoot.get(ProcessIds.class).get("my.process.id).tasks().get("my.task")
      • name

        public String name()
        Name is only used to differentiate multiple applications. Mostly useful in a distributed context, with RemoteIds.