Class RouterAppManager

  • All Implemented Interfaces:
    ClientAppManager

    public class RouterAppManager
    extends ClientAppManagerImpl
    Notify the router of events, and provide methods for client apps to find each other.
    Since:
    0.9.4
    • Constructor Detail

      • RouterAppManager

        public RouterAppManager​(RouterContext ctx)
    • Method Detail

      • addAndStart

        public boolean addAndStart​(ClientApp app,
                                   String[] args)
        Parameters:
        args - the args that were used to instantiate the app, non-null, may be zero-length
        Returns:
        success
        Throws:
        IllegalArgumentException - if already added
      • getClientApp

        public ClientApp getClientApp​(String className,
                                      String[] args)
        Get the first known ClientApp with this class name and exact arguments. Caller may then retrieve or control the state of the returned client. A client will generally be found only if it is running or transitioning; after it is stopped it will not be tracked by the manager.
        Parameters:
        args - non-null, may be zero-length
        Returns:
        client app or null
        Since:
        0.9.6
      • register

        public boolean register​(ClientApp app)
        Register with the manager under the given name, so that other clients may find it. Only required for apps used by other apps.
        Specified by:
        register in interface ClientAppManager
        Overrides:
        register in class ClientAppManagerImpl
        Parameters:
        app - non-null
        Returns:
        true if successful, false if duplicate name
      • unregister

        public void unregister​(ClientApp app)
        Unregister with the manager. Name must be the same as that from register(). Only required for apps used by other apps.
        Specified by:
        unregister in interface ClientAppManager
        Overrides:
        unregister in class ClientAppManagerImpl
        Parameters:
        app - non-null
        Since:
        0.9.41 overridden for logging only
      • shutdown

        public void shutdown()
        Since:
        0.9.6