org.deduced.controller.implementation
Class DeducedControllerLayerExtensionImplementation

java.lang.Object
  extended by org.deduced.AbstractPropertyCollection<K,V>
      extended by org.deduced.FixedPropertyInstanceCollection<java.lang.Object,java.lang.Object>
          extended by org.deduced.implementation.DeducedControllerLayerImplementation
              extended by org.deduced.controller.implementation.DeducedControllerLayerExtensionImplementation
All Implemented Interfaces:
java.lang.Cloneable, java.util.EventListener, DeducedControllerLayerExtension, DeducedApplicationLayer, DeducedControllerLayer, DeducedModelLayer, DeducedModelLayerExtension, DocumentedCollection, NamedPropertyCollection, PropertyCollection<java.lang.Object,java.lang.Object>, PropertyListener<java.lang.Object,java.lang.Object>, SchemaBasedApplicationLayer

public class DeducedControllerLayerExtensionImplementation
extends DeducedControllerLayerImplementation
implements DeducedControllerLayerExtension, PropertyListener<java.lang.Object,java.lang.Object>

Deduced Controller Layer Extension Implementation

Author:
Steve McDuff

Nested Class Summary
private  class DeducedControllerLayerExtensionImplementation.LooseParentPropertyList<V>
          LooseParentPropertyList is a property list that allows addition of property collections where the parent already matches the current collection
 
Nested classes/interfaces inherited from class org.deduced.AbstractPropertyCollection
AbstractPropertyCollection.CollectionToDeleteMonitor
 
Field Summary
private  SchemaAnalyzerBuilder analyzer
          schema analyzer
private  ControllerFactory controllerFactory
          controller factory
private  ControllerProvider controllerProvider
          controller provider
private  ModelFactory modelFactory
          model factory
private  PropertyCollection<?,?> monitoredCollectionList
          the monitored collection list
private  DeducedModelLayer monitoredModelLayer
          the monitored model layer
private static long serialVersionUID
          serial ID
 
Fields inherited from class org.deduced.implementation.DeducedControllerLayerImplementation
KEY_SET
 
Fields inherited from class org.deduced.AbstractPropertyCollection
CHECK_DELETE_MODE_AUTOMATIC, CHECK_DELETE_MODE_MANUAL, COLLECTION_TO_DELETE
 
Fields inherited from interface org.deduced.DeducedControllerLayer
CONTROLLED_MODEL_INSTANCE, DEDUCED_CONTROLLER_LAYER_TYPE
 
Fields inherited from interface org.deduced.DeducedModelLayer
COLLECTION_LIST_INSTANCE, DEDUCED_MODEL_LAYER_TYPE, DEPENDENT_MODEL_LIST_INSTANCE
 
Fields inherited from interface org.deduced.SchemaBasedApplicationLayer
SCHEMA_BASED_APPLICATION_LAYER_TYPE, SCHEMA_INFORMATION_INSTANCE, SCHEMA_LIST_INSTANCE
 
Fields inherited from interface org.deduced.DeducedApplicationLayer
DEDUCED_APPLICATION_LAYER_TYPE
 
Fields inherited from interface org.deduced.NamedPropertyCollection
NAME_INSTANCE, NAMED_PROPERTY_COLLECTION_TYPE
 
Fields inherited from interface org.deduced.DocumentedCollection
DOCUMENTATION_INSTANCE, DOCUMENTED_COLLECTION_TYPE
 
Fields inherited from interface org.deduced.PropertyCollection
PROPERTY_COLLECTION_TYPE
 
Constructor Summary
DeducedControllerLayerExtensionImplementation()
          DeducedControllerLayerExtensionImplementation Constructor
DeducedControllerLayerExtensionImplementation(boolean analyzeSchema)
          DeducedControllerLayerExtensionImplementation Constructor
 
Method Summary
private  void createAllControllers()
          create All Controllers
private  void createCollectionController(PropertyCollection<?,?> model)
          create Collection Controller
 SchemaAnalyzerBuilder getAnalyzer()
          get the schema analyzer
 DeducedModelLayerExtension getControlledModelExtension()
          (non-Javadoc)
 ControllerFactory getControllerFactory()
          (non-Javadoc)
 ControllerProvider getControllerProvider()
          (non-Javadoc)
 ModelFactory getModelFactory()
          (non-Javadoc)
 void propertyChanged(PropertyChangeEvent<? extends java.lang.Object,? extends java.lang.Object> event)
          (non-JSDoc)
 void rebuildAllControllers()
          rebuild All Controllers
private  void removeCollectionController(PropertyCollection<?,?> oldValue)
          remove Collection Controller
 DeducedModelLayer setControlledModel(DeducedModelLayer setValue)
          (non-JSDoc)
 void setControllerFactory(ControllerFactory setControllerFactory)
          set Controller Factory
 void setControllerProvider(ControllerProvider setControllerProvider)
          set Controller Provider
 void setModelFactory(ModelFactory setModelFactory)
          set Model Factory
private  void updateMonitoredCollectionList(PropertyCollection<?,?> setValue)
          update Monitored Collection List
private  void updateMonitoredModelLayer(DeducedModelLayer setValue)
          update Monitored Model Layer
 
Methods inherited from class org.deduced.implementation.DeducedControllerLayerImplementation
asKeySet, clone, createInstancesAndTypes, createKeyList, equals, fillInstancesAndTypes, fillInstancesAndTypesFromSchema, fillTypeLists, getCollectionList, getCollectionList, getControlledModel, getControlledModel, getDependentModelList, getDependentModelList, getDocumentation, getDocumentation, getName, getName, getPropertyValue, getSchemaInformation, getSchemaInformation, getSchemaList, getSchemaList, resetListFixedInstances, setCollectionList, setCollectionList, setControlledModel, setDependentModelList, setDependentModelList, setDocumentation, setDocumentation, setName, setName, setProperty, setSchemaInformation, setSchemaInformation, setSchemaList, setSchemaList, type
 
Methods inherited from class org.deduced.FixedPropertyInstanceCollection
addProperty, areKeysAssignedAutomatically, containsKey, getProperty, iterator, iteratorByValue, removeProperty, removePropertyInstance, removePropertyValue, size
 
Methods inherited from class org.deduced.AbstractPropertyCollection
activate, addListener, asPropertyList, asPropertyMap, asValueList, asValueMap, callObjectClone, classLogger, cleanNewlyClonedValue, clear, clearCollectionMonitoredForDelete, cloneCollection, containsInstance, containsValue, createUniqueID, delete, deleteClearAllProperties, deleteClearListenerList, deleteFireDeleteEvent, deleteProcessCompletedValidation, deleteRemoveLocalObjectFromParent, deleteValidateEmptyListenerList, deleteValidateNoPendingReferences, firePropertyChangeEvent, flushCollectionsWithNewParent, flushCollectionsWithNewParent, getActionInvoker, getCheckDeleteMode, getCheckDeleteRunner, getFixedInstance, getInstanceIdentityKey, hashCode, id, instanceKey, internalFirePropertyChangeEvent, invokeAction, isActivated, isDeleteCheckedOnClearParent, isEmpty, isListenerRegistered, isParentOrKeyNull, keyOnParent, parent, removeListener, requiresChangeEvent, setActionInvoker, setCheckDeleteMode, setCheckDeleteRunner, setDeleteCheckedOnClearParent, setFixedInstance, setParent, toString, updateReference, updateReferenceWithReferenceFlag, validateAllPropertyInstances, validateNoListener, validateNoParentRecursion, validateParentIsNull, validateParentIsNull, valueKey
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.deduced.DeducedControllerLayer
getControlledModel
 
Methods inherited from interface org.deduced.DeducedModelLayer
getCollectionList, getDependentModelList, setCollectionList, setDependentModelList
 
Methods inherited from interface org.deduced.SchemaBasedApplicationLayer
getSchemaInformation, getSchemaList, setSchemaInformation, setSchemaList
 
Methods inherited from interface org.deduced.NamedPropertyCollection
getName, setName
 
Methods inherited from interface org.deduced.DocumentedCollection
getDocumentation, setDocumentation
 
Methods inherited from interface org.deduced.PropertyCollection
activate, addListener, addProperty, areKeysAssignedAutomatically, asKeySet, asPropertyList, asPropertyMap, asValueList, asValueMap, clear, clone, containsInstance, containsKey, containsValue, delete, getFixedInstance, getProperty, getPropertyValue, id, instanceKey, invokeAction, isActivated, isEmpty, isListenerRegistered, iterator, iteratorByValue, keyOnParent, parent, removeListener, removeProperty, removePropertyInstance, removePropertyValue, setFixedInstance, setParent, setProperty, size, type, valueKey
 

Field Detail

serialVersionUID

private static final long serialVersionUID
serial ID

See Also:
Constant Field Values

controllerFactory

private ControllerFactory controllerFactory
controller factory


modelFactory

private ModelFactory modelFactory
model factory


analyzer

private SchemaAnalyzerBuilder analyzer
schema analyzer


controllerProvider

private ControllerProvider controllerProvider
controller provider


monitoredModelLayer

private DeducedModelLayer monitoredModelLayer
the monitored model layer


monitoredCollectionList

private PropertyCollection<?,?> monitoredCollectionList
the monitored collection list

Constructor Detail

DeducedControllerLayerExtensionImplementation

public DeducedControllerLayerExtensionImplementation()
DeducedControllerLayerExtensionImplementation Constructor


DeducedControllerLayerExtensionImplementation

public DeducedControllerLayerExtensionImplementation(boolean analyzeSchema)
DeducedControllerLayerExtensionImplementation Constructor

Parameters:
analyzeSchema - option to analyze the schema or not. If the schema isn't analyzed, the user interface will not show
Method Detail

getControllerFactory

public ControllerFactory getControllerFactory()
(non-Javadoc)

Specified by:
getControllerFactory in interface DeducedControllerLayerExtension
Returns:
the controller factory
See Also:
DeducedControllerLayerExtension.getControllerFactory()

setControllerFactory

public void setControllerFactory(ControllerFactory setControllerFactory)
set Controller Factory

Parameters:
setControllerFactory - the controller factory

getAnalyzer

public SchemaAnalyzerBuilder getAnalyzer()
get the schema analyzer

Returns:
the schema analyzer

getModelFactory

public ModelFactory getModelFactory()
(non-Javadoc)

Specified by:
getModelFactory in interface DeducedModelLayerExtension
Returns:
the model factory used to build this model layer
See Also:
DeducedModelLayerExtension.getModelFactory()

setModelFactory

public void setModelFactory(ModelFactory setModelFactory)
set Model Factory

Parameters:
setModelFactory - the Model Factory

setControllerProvider

public void setControllerProvider(ControllerProvider setControllerProvider)
set Controller Provider

Parameters:
setControllerProvider - the Controller Provider

getControllerProvider

public ControllerProvider getControllerProvider()
(non-Javadoc)

Specified by:
getControllerProvider in interface DeducedControllerLayerExtension
Returns:
the controller provider
See Also:
DeducedControllerLayerExtension.getControllerProvider()

getControlledModelExtension

public DeducedModelLayerExtension getControlledModelExtension()
(non-Javadoc)

Specified by:
getControlledModelExtension in interface DeducedControllerLayerExtension
Returns:
the controlled model extension
See Also:
DeducedControllerLayerExtension.getControlledModelExtension()

setControlledModel

public DeducedModelLayer setControlledModel(DeducedModelLayer setValue)
(non-JSDoc)

Specified by:
setControlledModel in interface DeducedControllerLayer
Overrides:
setControlledModel in class DeducedControllerLayerImplementation
Parameters:
setValue - new controlled model
Returns:
controlled model value after the change
See Also:
DeducedControllerLayerImplementation.setControlledModel(org.deduced.DeducedModelLayer)

updateMonitoredModelLayer

private void updateMonitoredModelLayer(DeducedModelLayer setValue)
update Monitored Model Layer

Parameters:
setValue - the new model layer ot monitor

updateMonitoredCollectionList

private void updateMonitoredCollectionList(PropertyCollection<?,?> setValue)
update Monitored Collection List

Parameters:
setValue - the new collection list to monitor

rebuildAllControllers

public void rebuildAllControllers()
rebuild All Controllers


createAllControllers

private void createAllControllers()
create All Controllers


createCollectionController

private void createCollectionController(PropertyCollection<?,?> model)
create Collection Controller

Parameters:
model - model for which to create the controller

propertyChanged

public void propertyChanged(PropertyChangeEvent<? extends java.lang.Object,? extends java.lang.Object> event)
(non-JSDoc)

Specified by:
propertyChanged in interface PropertyListener<java.lang.Object,java.lang.Object>
Parameters:
event - the event that was generated
See Also:
PropertyListener.propertyChanged(org.deduced.PropertyChangeEvent)

removeCollectionController

private void removeCollectionController(PropertyCollection<?,?> oldValue)
remove Collection Controller

Parameters:
oldValue - the model to remove