org.cogchar.bind.rk.behavior
Class ChannelBindingLifecycle

java.lang.Object
  extended by org.jflux.impl.services.rk.property.PropertyChangeNotifier
      extended by org.jflux.impl.services.rk.lifecycle.AbstractLifecycleProvider<Channel,Channel>
          extended by org.cogchar.bind.rk.behavior.ChannelBindingLifecycle
All Implemented Interfaces:
org.jflux.impl.services.rk.lifecycle.ServiceLifecycleProvider<Channel>, org.jflux.impl.services.rk.property.PropertyChangeSource

public class ChannelBindingLifecycle
extends org.jflux.impl.services.rk.lifecycle.AbstractLifecycleProvider<Channel,Channel>

A channelBindingLifecycle manages the service lifecycle for a Channel object. The channel is identified by a URI, and defined by properties in a ChannelBindingConfig, which is independently obtained, but usually comes from a Cogchar RDF-backed FancyChannelSpec. TODO: Capture formal unit tests that build ChannelBindingConfigs manually and test them in different JFlux contexts.

Author:
Matthew Stevenson , Stub22

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 static String SERVICE_DEP_KEY
           
static String URI_PROPERTY_NAME
           
 
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
ChannelBindingLifecycle(List<org.jflux.impl.services.rk.lifecycle.DependencyDescriptor> depDescList, ChannelBindingConfig conf)
           
 
Method Summary
protected  Channel create(Map<String,Object> dependencies)
           
protected  CCRK_ServiceChannelFactory getServiceChannelFactory()
           
protected  Class<Channel> getServiceClass()
           
protected  void handleChange(String dependencyKey, Object dependency, Map<String,Object> availableDependencies)
           
static void setTheWorkaroundRepoClient(org.appdapter.help.repo.RepoClient repoClient)
           
 
Methods inherited from class org.jflux.impl.services.rk.lifecycle.AbstractLifecycleProvider
addRuntimeDependency, dependencyChanged, getDependencyDescriptors, getRegistrationProperties, getService, getServiceClassNames, isSatisfied, removeRuntimeDependency, start, stop
 
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

SERVICE_DEP_KEY

protected static String SERVICE_DEP_KEY

URI_PROPERTY_NAME

public static String URI_PROPERTY_NAME
Constructor Detail

ChannelBindingLifecycle

public ChannelBindingLifecycle(List<org.jflux.impl.services.rk.lifecycle.DependencyDescriptor> depDescList,
                               ChannelBindingConfig conf)
Method Detail

setTheWorkaroundRepoClient

public static void setTheWorkaroundRepoClient(org.appdapter.help.repo.RepoClient repoClient)

getServiceChannelFactory

protected CCRK_ServiceChannelFactory getServiceChannelFactory()

create

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

handleChange

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

getServiceClass

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


Copyright © 2010-2014. All Rights Reserved.