org.deduced.controller.implementation
Class FlyWheelControllerProvider

java.lang.Object
  extended by org.deduced.controller.implementation.FlyWheelControllerProvider
All Implemented Interfaces:
ControllerProvider
Direct Known Subclasses:
CachedFlyWheelControllerProvider

public class FlyWheelControllerProvider
extends java.lang.Object
implements ControllerProvider

FlyWheelControllerProvider is used to create controllers on demand. Every call to the provider will create a new controller.

Author:
Steve McDuff

Field Summary
private  FlyWheelControllerFactory controllerFactory
          the factory to use to create controllers
 
Constructor Summary
FlyWheelControllerProvider()
          FlyWheelControllerProvider constructor
 
Method Summary
protected  PropertyList<PropertyCollectionController> createPropertyCollectionChildPropertyCollectionControllerList(PropertyCollection<?,?> model)
          create a property collection child property collection controller List
protected  PropertyCollectionController createPropertyCollectionController(PropertyCollection<?,?> model)
          create a property collection controller
protected  PropertyList<PropertyController> createPropertyCollectionPropertyControllerList(PropertyCollection<?,?> model)
          create a property collection child property controller List
protected  PropertyController createPropertyController(PropertyCollection<?,?> model, java.lang.Object propertyKey)
          create a property controller
 ControllerFactory getControllerFactory()
           
 PropertyList<PropertyCollectionController> getPropertyCollectionChildPropertyCollectionControllerList(PropertyCollection<?,?> model)
          (non-Javadoc)
 PropertyCollectionController getPropertyCollectionController(PropertyCollection<?,?> model)
          (non-Javadoc)
 PropertyList<PropertyController> getPropertyCollectionPropertyControllerList(PropertyCollection<?,?> model)
          (non-Javadoc)
 PropertyController getPropertyController(PropertyCollection<?,?> model, java.lang.Object propertyKey)
          (non-Javadoc)
 void setControllerFactory(FlyWheelControllerFactory setControllerFactory)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

controllerFactory

private FlyWheelControllerFactory controllerFactory
the factory to use to create controllers

Constructor Detail

FlyWheelControllerProvider

public FlyWheelControllerProvider()
FlyWheelControllerProvider constructor

Method Detail

setControllerFactory

public void setControllerFactory(FlyWheelControllerFactory setControllerFactory)
Parameters:
setControllerFactory - the controller factory to use

getControllerFactory

public ControllerFactory getControllerFactory()
Returns:
the controller factory being used

getPropertyCollectionChildPropertyCollectionControllerList

public PropertyList<PropertyCollectionController> getPropertyCollectionChildPropertyCollectionControllerList(PropertyCollection<?,?> model)
(non-Javadoc)

Specified by:
getPropertyCollectionChildPropertyCollectionControllerList in interface ControllerProvider
Parameters:
model - the controlled model
Returns:
the Property Collection Child Property Collection Controller List
See Also:
ControllerProvider.getPropertyCollectionChildPropertyCollectionControllerList(org.deduced.PropertyCollection)

createPropertyCollectionChildPropertyCollectionControllerList

protected PropertyList<PropertyCollectionController> createPropertyCollectionChildPropertyCollectionControllerList(PropertyCollection<?,?> model)
create a property collection child property collection controller List

Parameters:
model - the model being controlled
Returns:
the created List

getPropertyCollectionController

public PropertyCollectionController getPropertyCollectionController(PropertyCollection<?,?> model)
(non-Javadoc)

Specified by:
getPropertyCollectionController in interface ControllerProvider
Parameters:
model - the model from which to fetch the controller
Returns:
the associated controller
See Also:
ControllerProvider.getPropertyCollectionController(org.deduced.PropertyCollection)

createPropertyCollectionController

protected PropertyCollectionController createPropertyCollectionController(PropertyCollection<?,?> model)
create a property collection controller

Parameters:
model - the model being controlled
Returns:
the created property collection controller

getPropertyCollectionPropertyControllerList

public PropertyList<PropertyController> getPropertyCollectionPropertyControllerList(PropertyCollection<?,?> model)
(non-Javadoc)

Specified by:
getPropertyCollectionPropertyControllerList in interface ControllerProvider
Parameters:
model - the controlled model
Returns:
the Property Collection Property Controller List
See Also:
ControllerProvider.getPropertyCollectionPropertyControllerList(org.deduced.PropertyCollection)

createPropertyCollectionPropertyControllerList

protected PropertyList<PropertyController> createPropertyCollectionPropertyControllerList(PropertyCollection<?,?> model)
create a property collection child property controller List

Parameters:
model - the model being controlled
Returns:
the created List

getPropertyController

public PropertyController getPropertyController(PropertyCollection<?,?> model,
                                                java.lang.Object propertyKey)
(non-Javadoc)

Specified by:
getPropertyController in interface ControllerProvider
Parameters:
model - the controlled model
propertyKey - the key of the controlled property
Returns:
the property controller
See Also:
ControllerProvider.getPropertyController(org.deduced.PropertyCollection, java.lang.Object)

createPropertyController

protected PropertyController createPropertyController(PropertyCollection<?,?> model,
                                                      java.lang.Object propertyKey)
create a property controller

Parameters:
model - the model being controlled
propertyKey - the property key
Returns:
the created property controller