org.robokind.api.common.osgi.lifecycle
Class ConfiguredServiceLifecycle<T,C,P>

java.lang.Object
  extended by org.jflux.impl.services.rk.property.PropertyChangeNotifier
      extended by org.jflux.impl.services.rk.lifecycle.AbstractLifecycleProvider<T,T>
          extended by org.robokind.api.common.osgi.lifecycle.ConfiguredServiceLifecycle<T,C,P>
All Implemented Interfaces:
org.jflux.impl.services.rk.lifecycle.ServiceLifecycleProvider<T>, org.jflux.impl.services.rk.property.PropertyChangeSource

public class ConfiguredServiceLifecycle<T,C,P>
extends org.jflux.impl.services.rk.lifecycle.AbstractLifecycleProvider<T,T>

Author:
Matthew Stevenson

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.jflux.impl.services.rk.lifecycle.ServiceLifecycleProvider
org.jflux.impl.services.rk.lifecycle.ServiceLifecycleProvider.Validator
 
Field Summary
protected  ServiceContext<T,C,P> myServiceContext
          ServiceContext created from loading a service.
 
Fields inherited from class org.jflux.impl.services.rk.lifecycle.AbstractLifecycleProvider
myRegistrationProperties, myService, myServiceClassNames
 
Fields inherited from interface org.jflux.impl.services.rk.lifecycle.ServiceLifecycleProvider
PROP_DEPENDENCY_ADDED, PROP_DEPENDENCY_REMOVED
 
Constructor Summary
ConfiguredServiceLifecycle(ConfiguredServiceParams<T,C,P> params)
          Creates a lifecycle best fitting the given params.
ConfiguredServiceLifecycle(ConfiguredServiceParams<T,C,P> params, Properties props)
          Creates a lifecycle best fitting the given params.
 
Method Summary
protected  void cleanupService(T service)
           
protected  T create(Map<String,Object> dependencies)
           
 T getService()
           
 Class<T> getServiceClass()
           
protected  void handleChange(String name, Object dependency, Map<String,Object> availableDependencies)
           
 void stop()
           
 
Methods inherited from class org.jflux.impl.services.rk.lifecycle.AbstractLifecycleProvider
addRuntimeDependency, dependencyChanged, getDependencyDescriptors, getRegistrationProperties, getServiceClassNames, isSatisfied, removeRuntimeDependency, start
 
Methods inherited from class org.jflux.impl.services.rk.property.PropertyChangeNotifier
addPropertyChangeListener, addPropertyChangeListener, clearAllListeners, clearListeners, fireIndexedPropertyChange, fireIndexedPropertyChange, fireIndexedPropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getPropertyChangeListeners, getPropertyChangeListeners, hasListeners, removePropertyChangeListener, removePropertyChangeListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jflux.impl.services.rk.property.PropertyChangeSource
addPropertyChangeListener, addPropertyChangeListener, removePropertyChangeListener, removePropertyChangeListener
 

Field Detail

myServiceContext

protected ServiceContext<T,C,P> myServiceContext
ServiceContext created from loading a service. If a config is set rather than loaded, this may be null.

Constructor Detail

ConfiguredServiceLifecycle

public ConfiguredServiceLifecycle(ConfiguredServiceParams<T,C,P> params)
Creates a lifecycle best fitting the given params.

Parameters:
params -

ConfiguredServiceLifecycle

public ConfiguredServiceLifecycle(ConfiguredServiceParams<T,C,P> params,
                                  Properties props)
Creates a lifecycle best fitting the given params.

Parameters:
params -
props - registration properties
Method Detail

getService

public T getService()
Specified by:
getService in interface org.jflux.impl.services.rk.lifecycle.ServiceLifecycleProvider<T>
Overrides:
getService in class org.jflux.impl.services.rk.lifecycle.AbstractLifecycleProvider<T,T>

create

protected T create(Map<String,Object> dependencies)
Specified by:
create in class org.jflux.impl.services.rk.lifecycle.AbstractLifecycleProvider<T,T>

stop

public void stop()
Specified by:
stop in interface org.jflux.impl.services.rk.lifecycle.ServiceLifecycleProvider<T>
Overrides:
stop in class org.jflux.impl.services.rk.lifecycle.AbstractLifecycleProvider<T,T>

handleChange

protected void handleChange(String name,
                            Object dependency,
                            Map<String,Object> availableDependencies)
Specified by:
handleChange in class org.jflux.impl.services.rk.lifecycle.AbstractLifecycleProvider<T,T>

cleanupService

protected void cleanupService(T service)

getServiceClass

public Class<T> getServiceClass()
Specified by:
getServiceClass in class org.jflux.impl.services.rk.lifecycle.AbstractLifecycleProvider<T,T>


Copyright © 2011-2013. All Rights Reserved.