Interface Dependent

    • Method Detail

      • immediateDependencyAvailable

        void immediateDependencyAvailable​(ServiceName dependencyName)
        Notify this dependent that one of its immediate dependencies is available, i.e., it is installed and, if not started, should start shortly.

        This method must not be called under a lock.

        Parameters:
        dependencyName - the name of the immediate dependency that is now available
      • immediateDependencyUnavailable

        void immediateDependencyUnavailable​(ServiceName dependencyName)
        Notify this dependent that one of its immediate dependencies is unavailable.
        A dependency is unavailable when it is not installed or when it is in NEVER mode.

        This method must not be called under a lock.

        Parameters:
        dependencyName - the name of the immediate dependency that is now unavailable
      • immediateDependencyUp

        void immediateDependencyUp()
        Notify this dependent that one of its immediate dependencies entered UP state.

        This method must not be called under a lock.

      • immediateDependencyDown

        void immediateDependencyDown()
        Notify this dependent that one of its immediate dependencies is leaving the UP state.

        This method must not be called under a lock.

      • dependencyFailed

        void dependencyFailed()
        Notify this dependent that one of its dependencies (immediate or transitive) failed to start. This method is called after the dependency state transitions from STARTING to START_FAILED.

        Dependency failures that occur after the notified failure do not result in new dependencyFailed notifications, as the dependent will never receive two or more dependencyFailed calls in a row. A dependencyFailed notification is only invoked again to notify of new failures if the previous failures have been cleared.

        This method must not be called under a lock.

      • dependencyFailureCleared

        void dependencyFailureCleared()
        Notify this dependent that all dependency failures previously notified are now cleared. This method is called only after all affected dependencies left START_FAILED state.

        This method must not be called under a lock.

      • transitiveDependencyUnavailable

        void transitiveDependencyUnavailable()
        Notify this dependent that one of its transitive dependencies is unavailable (either uninstalled, or in NEVER mode).

        New transitive dependencies that become unavailable after the notified one do not result in new dependencyUnavailable notifications, as the dependent will never receive two or more dependencyUnavailable calls in a row. A dependencyUnavailable notification is only invoked again to notify of newly found unavailable dependencies if all the previously unavailable dependencies have become available.

        This method must not be called under a lock.

      • transitiveDependencyAvailable

        void transitiveDependencyAvailable()
        Notify this dependent that all unavailable transitive dependencies are now available (i.e., they are installed and will perform an attempt to start shortly).

        This method must not be called under a lock.

      • getController

        ServiceControllerImpl<?> getController()
        Get the controller of this dependent.
        Returns:
        the controller