JBoss Modular Service Kernel API 1.0.0.Beta4-SNAPSHOT

org.jboss.msc.service
Interface ServiceTarget

All Known Subinterfaces:
BatchBuilder, ServiceContainer

public interface ServiceTarget

The target of ServiceBuilder installations. ServicesBuilders to be installed on a target should be retrieved by calling one of the addService methods (addService(ServiceName, Service), addServiceValue(ServiceName, Value) or addServiceValueIfNotExist(ServiceName, Value)). Notice that installation will only take place after ServiceBuilder.install() is invoked. ServiceBuilders that are not installed are ignored.

Author:
Flavia Rainone

Method Summary
 ServiceTarget addDependency(Collection<ServiceName> dependencies)
          Add a collection of dependencies that will be added to the all ServiceBuilders installed in this target
 ServiceTarget addDependency(ServiceName... dependencies)
          Add a list of dependencies that will be added to the all ServiceBuilders installed in this target.
 ServiceTarget addDependency(ServiceName dependency)
          Add a dependency that will be added to the all ServiceBuilders installed in this target.
 ServiceTarget addListener(Collection<ServiceListener<Object>> listeners)
          Add a collection of service listener that will be added to all ServiceBuilders installed in this target.
 ServiceTarget addListener(ServiceListener<Object>... listeners)
          Add a list of service listener that will be added to all ServiceBuilders installed in this target.
 ServiceTarget addListener(ServiceListener<Object> listener)
          Add a service listener that will be added to all the ServiceBuilders installed in this target.
<T> ServiceBuilder<T>
addService(ServiceName name, Service<T> service)
          Get a builder which can be used to add a service to this target.
<T> ServiceBuilder<T>
addServiceValue(ServiceName name, Value<? extends Service<T>> value)
          Get a builder which can be used to add a service to this target.
<T> ServiceBuilder<T>
addServiceValueIfNotExist(ServiceName name, Value<? extends Service<T>> value)
          Get a builder which can be used to add a service to this target.
 BatchBuilder batchBuilder()
          Create a new batch builder, which is used to resolve and install described services in this target.
 ServiceTarget subTarget()
          Create a sub-target using this as the parent target.
 

Method Detail

addServiceValue

<T> ServiceBuilder<T> addServiceValue(ServiceName name,
                                      Value<? extends Service<T>> value)
                                  throws IllegalArgumentException
Get a builder which can be used to add a service to this target.

Parameters:
name - the service name
value - the service value
Returns:
the builder for the service
Throws:
IllegalArgumentException

addService

<T> ServiceBuilder<T> addService(ServiceName name,
                                 Service<T> service)
                             throws IllegalArgumentException
Get a builder which can be used to add a service to this target.

Parameters:
name - the service name
service - the service
Returns:
the builder for the service
Throws:
IllegalArgumentException

addServiceValueIfNotExist

<T> ServiceBuilder<T> addServiceValueIfNotExist(ServiceName name,
                                                Value<? extends Service<T>> value)
                                            throws IllegalArgumentException
Get a builder which can be used to add a service to this target. The returned builder will be installed only if another service with the same name does not already exist. The provided value should return the same result every time (see Values.cached(Value) for more information). Note that any provided aliases must not exist previously if the service is installed, or an error will occur.

Parameters:
name - the service name
value - the service value
Returns:
the builder for the service
Throws:
IllegalArgumentException

addListener

ServiceTarget addListener(ServiceListener<Object> listener)
Add a service listener that will be added to all the ServiceBuilders installed in this target.

Parameters:
listener - the listener to add to the target
Returns:
this target

addListener

ServiceTarget addListener(ServiceListener<Object>... listeners)
Add a list of service listener that will be added to all ServiceBuilders installed in this target.

Parameters:
listeners - a list of listeners to add to the target
Returns:
this target

addListener

ServiceTarget addListener(Collection<ServiceListener<Object>> listeners)
Add a collection of service listener that will be added to all ServiceBuilders installed in this target.

Parameters:
listeners - a collection of listeners to add to the target
Returns:
this target

addDependency

ServiceTarget addDependency(ServiceName dependency)
Add a dependency that will be added to the all ServiceBuilders installed in this target.

Parameters:
dependency - the dependency to add to the target
Returns:
this target

addDependency

ServiceTarget addDependency(ServiceName... dependencies)
Add a list of dependencies that will be added to the all ServiceBuilders installed in this target.

Parameters:
dependencies - a list of dependencies to add to the target
Returns:
this target

addDependency

ServiceTarget addDependency(Collection<ServiceName> dependencies)
Add a collection of dependencies that will be added to the all ServiceBuilders installed in this target

Parameters:
dependencies - a collection of dependencies to add to this target
Returns:
this target

subTarget

ServiceTarget subTarget()
Create a sub-target using this as the parent target.

Returns:
the new service target

batchBuilder

BatchBuilder batchBuilder()
Create a new batch builder, which is used to resolve and install described services in this target.

Returns:
the new batch builder

JBoss Modular Service Kernel API 1.0.0.Beta4-SNAPSHOT

Copyright © 2010 JBoss, a division of Red Hat, Inc.