org.apache.felix.dm.impl.dependencies
Class TemporalServiceDependencyImpl
java.lang.Object
org.apache.felix.dm.impl.dependencies.DependencyBase
org.apache.felix.dm.impl.dependencies.ServiceDependencyImpl
org.apache.felix.dm.impl.dependencies.TemporalServiceDependencyImpl
- All Implemented Interfaces:
- InvocationHandler, ComponentDependencyDeclaration, Dependency, DependencyActivation, ServiceDependency, TemporalServiceDependency, ServiceTrackerCustomizer
public class TemporalServiceDependencyImpl
- extends ServiceDependencyImpl
- implements TemporalServiceDependency, InvocationHandler
Temporal Service dependency implementation, used to hide temporary service dependency "outage".
Only works with required dependency.
(see javadoc in TemporalServiceDependency
).
Methods inherited from class org.apache.felix.dm.impl.dependencies.ServiceDependencyImpl |
addingService, createCopy, getAutoConfigInstance, getAutoConfigName, getAutoConfigType, getInterface, getName, getProperties, getState, getType, invoke, invokeAdded, invokeAdded, invokeChanged, invokeRemoved, invokeRemoved, isAutoConfig, isAvailable, isPropagated, lookupService, lookupServiceReference, makeAvailable, setAutoConfig, setAutoConfig, setCallbacks, setCallbacks, setCallbacks, setCallbacks, setDefaultImplementation, setInstanceBound, setPropagate, setPropagate, setService, setService, setService, setService, start, stop, toString |
Methods inherited from interface org.apache.felix.dm.ServiceDependency |
setAutoConfig, setAutoConfig, setCallbacks, setCallbacks, setCallbacks, setCallbacks, setDefaultImplementation, setInstanceBound, setPropagate, setPropagate, setService, setService, setService, setService |
Methods inherited from interface org.apache.felix.dm.Dependency |
createCopy, getAutoConfigInstance, getAutoConfigName, getAutoConfigType, getProperties, invokeAdded, invokeRemoved, isAutoConfig, isAvailable, isInstanceBound, isPropagated, isRequired |
TemporalServiceDependencyImpl
public TemporalServiceDependencyImpl(BundleContext context,
Logger logger)
- Creates a new Temporal Service Dependency.
- Parameters:
context
- The bundle context of the bundle which is instantiating this dependency objectlogger
- the logger our Internal logger for logging events.- See Also:
DependencyActivatorBase.createTemporalServiceDependency()
setTimeout
public TemporalServiceDependency setTimeout(long timeout)
- Sets the timeout for this temporal dependency. Specifying a timeout value of zero means that there is no timeout period,
and an invocation on a missing service will fail immediately.
- Specified by:
setTimeout
in interface TemporalServiceDependency
- Parameters:
timeout
- the dependency timeout value greater or equals to 0
- Returns:
- this temporal dependency
- Throws:
IllegalArgumentException
- if the timeout is negative
setRequired
public ServiceDependency setRequired(boolean required)
- Sets the required flag which determines if this service is required or not. This method
just override the superclass method in order to check if the required flag is true
(optional dependency is not supported by this class).
- Specified by:
setRequired
in interface ServiceDependency
- Overrides:
setRequired
in class ServiceDependencyImpl
- Parameters:
required
- the required flag, which must be set to true
- Returns:
- this service dependency
- Throws:
IllegalArgumentException
- if the "required" parameter is not true.
addedService
public void addedService(ServiceReference ref,
Object service)
- The ServiceTracker calls us here in order to inform about a service arrival.
- Specified by:
addedService
in interface ServiceTrackerCustomizer
- Overrides:
addedService
in class ServiceDependencyImpl
modifiedService
public void modifiedService(ServiceReference ref,
Object service)
- The ServiceTracker calls us here when a tracked service properties are modified.
- Specified by:
modifiedService
in interface ServiceTrackerCustomizer
- Overrides:
modifiedService
in class ServiceDependencyImpl
- Parameters:
ref
- The reference to the service that has been modified.service
- The service object for the specified referenced service.
removedService
public void removedService(ServiceReference ref,
Object service)
- The ServiceTracker calls us here when a tracked service is lost.
- Specified by:
removedService
in interface ServiceTrackerCustomizer
- Overrides:
removedService
in class ServiceDependencyImpl
- Parameters:
ref
- The reference to the service that has been removed.service
- The service object for the specified referenced service.
getService
public Object getService()
- Overrides:
getService
in class ServiceDependencyImpl
invoke
public Object invoke(Object proxy,
Method method,
Object[] args)
throws Throwable
- Specified by:
invoke
in interface InvocationHandler
- Throws:
Throwable
Copyright © 2013 The Apache Software Foundation. All Rights Reserved.