com.google.code.rees.scope.conversation.configuration
Class DefaultConversationConfigurationProvider

java.lang.Object
  extended by com.google.code.rees.scope.conversation.configuration.DefaultConversationConfigurationProvider
All Implemented Interfaces:
PostConstructable, ConversationConfigurationProvider, Serializable

public class DefaultConversationConfigurationProvider
extends Object
implements ConversationConfigurationProvider

The default implementation of ConversationConfigurationProvider

Author:
rees.byars
See Also:
Serialized Form

Field Summary
protected  ActionProvider actionProvider
           
protected  ConversationArbitrator arbitrator
           
protected  ConcurrentMap<Class<?>,Collection<ConversationClassConfiguration>> classConfigurations
           
protected  long maxIdleTimeMillis
           
 
Constructor Summary
DefaultConversationConfigurationProvider()
           
 
Method Summary
 Collection<ConversationClassConfiguration> getConfigurations(Class<?> clazz)
          Get the ConversationConfigurations for a given class
 void init()
          
protected  Collection<ConversationClassConfiguration> processClass(Class<?> clazz, ConcurrentMap<Class<?>,Collection<ConversationClassConfiguration>> classConfigurations)
          good candidate for refactoring...
 void setActionProvider(ActionProvider actionProvider)
          Set the ActionProvider for building action configurations on startup
 void setArbitrator(ConversationArbitrator arbitrator)
          Set the ConversationArbitrator to be used for building the configurations
 void setDefaultMaxIdleTime(long maxIdleTimeMillis)
          Set the default max idle time for conversations
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

arbitrator

protected ConversationArbitrator arbitrator

actionProvider

protected ActionProvider actionProvider

classConfigurations

protected ConcurrentMap<Class<?>,Collection<ConversationClassConfiguration>> classConfigurations

maxIdleTimeMillis

protected long maxIdleTimeMillis
Constructor Detail

DefaultConversationConfigurationProvider

public DefaultConversationConfigurationProvider()
Method Detail

setDefaultMaxIdleTime

@Property(value="conversation.idle.timeout")
public void setDefaultMaxIdleTime(long maxIdleTimeMillis)
Set the default max idle time for conversations

Specified by:
setDefaultMaxIdleTime in interface ConversationConfigurationProvider

setArbitrator

@Component
public void setArbitrator(ConversationArbitrator arbitrator)
Set the ConversationArbitrator to be used for building the configurations

Specified by:
setArbitrator in interface ConversationConfigurationProvider

setActionProvider

@Component
public void setActionProvider(ActionProvider actionProvider)
Set the ActionProvider for building action configurations on startup

Specified by:
setActionProvider in interface ConversationConfigurationProvider

init

public void init()

Specified by:
init in interface PostConstructable

getConfigurations

public Collection<ConversationClassConfiguration> getConfigurations(Class<?> clazz)
Get the ConversationConfigurations for a given class

Specified by:
getConfigurations in interface ConversationConfigurationProvider
Returns:

processClass

protected Collection<ConversationClassConfiguration> processClass(Class<?> clazz,
                                                                  ConcurrentMap<Class<?>,Collection<ConversationClassConfiguration>> classConfigurations)
good candidate for refactoring... but it works!

Parameters:
clazz -
classConfigurations -
Returns:


Copyright © 2012-2013. All Rights Reserved.