Class AsyncCapabilityServiceBuilder<T>

All Implemented Interfaces:
org.jboss.as.controller.CapabilityServiceBuilder<T>, org.jboss.as.controller.RequirementServiceBuilder<T>, ServiceBuilder<T>

public class AsyncCapabilityServiceBuilder<T> extends AsyncServiceBuilder<T> implements org.jboss.as.controller.CapabilityServiceBuilder<T>
A CapabilityServiceBuilder decorator whose installed service will start and/or stop asynchronously. e.g. <![CDATA[ CapabilityServiceTarget target = ...; RuntimeCapability<?> capability = ...; Service service = ...; CapabilityServiceBuilder<?> builder = new AsyncCapabilityServiceBuilder<>(target.addCapability(capability)); builder.setInstance(service).install(); ]]>
Author:
Paul Ferraro
  • Constructor Details

    • AsyncCapabilityServiceBuilder

      public AsyncCapabilityServiceBuilder(org.jboss.as.controller.CapabilityServiceBuilder<T> builder)
    • AsyncCapabilityServiceBuilder

      public AsyncCapabilityServiceBuilder(org.jboss.as.controller.CapabilityServiceBuilder<T> builder, AsyncServiceBuilder.Async async)
  • Method Details

    • addListener

      public org.jboss.as.controller.CapabilityServiceBuilder<T> addListener(LifecycleListener listener)
      Description copied from class: DelegatingServiceBuilder
      Adds a service listener to be added to the service.
      Specified by:
      addListener in interface org.jboss.as.controller.CapabilityServiceBuilder<T>
      Specified by:
      addListener in interface org.jboss.as.controller.RequirementServiceBuilder<T>
      Specified by:
      addListener in interface ServiceBuilder<T>
      Overrides:
      addListener in class AsyncServiceBuilder<T>
      Parameters:
      listener - the listener to add to the service
      Returns:
      this builder
    • setInitialMode

      public org.jboss.as.controller.CapabilityServiceBuilder<T> setInitialMode(ServiceController.Mode mode)
      Description copied from class: DelegatingServiceBuilder
      Sets initial service mode.
      Specified by:
      setInitialMode in interface org.jboss.as.controller.CapabilityServiceBuilder<T>
      Specified by:
      setInitialMode in interface org.jboss.as.controller.RequirementServiceBuilder<T>
      Specified by:
      setInitialMode in interface ServiceBuilder<T>
      Overrides:
      setInitialMode in class AsyncServiceBuilder<T>
      Parameters:
      mode - initial service mode
      Returns:
      this builder
    • setInstance

      public org.jboss.as.controller.CapabilityServiceBuilder<T> setInstance(Service service)
      Description copied from class: DelegatingServiceBuilder
      Sets service instance. If ServiceBuilder.install() method call is issued without this method being called then NULL service will be installed into the container.

      Once this method have been called then all subsequent calls of ServiceBuilder.requires(ServiceName), and ServiceBuilder.provides(ServiceName...) methods will fail because their return values should be provided to service instance.

      Specified by:
      setInstance in interface org.jboss.as.controller.CapabilityServiceBuilder<T>
      Specified by:
      setInstance in interface org.jboss.as.controller.RequirementServiceBuilder<T>
      Specified by:
      setInstance in interface ServiceBuilder<T>
      Overrides:
      setInstance in class AsyncServiceBuilder<T>
      Parameters:
      service - the service instance
      Returns:
      this configurator
    • provides

      public <V> Consumer<V> provides(org.jboss.as.controller.capability.RuntimeCapability<?> capability)
      Specified by:
      provides in interface org.jboss.as.controller.CapabilityServiceBuilder<T>
    • provides

      public <V> Consumer<V> provides(org.jboss.as.controller.capability.RuntimeCapability<?>... capabilities)
      Specified by:
      provides in interface org.jboss.as.controller.CapabilityServiceBuilder<T>
    • provides

      public <V> Consumer<V> provides(org.jboss.as.controller.capability.RuntimeCapability<?> capability, ServiceName alias, ServiceName... aliases)
      Specified by:
      provides in interface org.jboss.as.controller.CapabilityServiceBuilder<T>
    • provides

      public <V> Consumer<V> provides(org.jboss.as.controller.capability.RuntimeCapability<?>[] capabilities, ServiceName[] aliases)
      Specified by:
      provides in interface org.jboss.as.controller.CapabilityServiceBuilder<T>