org.deduced.controller.implementation
Class FlyWheelPropertyCollectionControllerList

java.lang.Object
  extended by org.deduced.AbstractPropertyCollection<K,V>
      extended by org.deduced.PropertyMap<java.lang.Object,V>
          extended by org.deduced.IdPropertyMap<V>
              extended by org.deduced.PropertyList<PropertyCollectionController>
                  extended by org.deduced.controller.implementation.FlyWheelPropertyCollectionControllerList
All Implemented Interfaces:
java.lang.Cloneable, java.util.EventListener, PropertyCollection<java.lang.Object,PropertyCollectionController>, PropertyListener<java.lang.Object,java.lang.Object>

public class FlyWheelPropertyCollectionControllerList
extends PropertyList<PropertyCollectionController>
implements PropertyListener<java.lang.Object,java.lang.Object>

FlyWheelPropertyCollectionControllerMap

Author:
Steve McDuff

Nested Class Summary
 
Nested classes/interfaces inherited from class org.deduced.PropertyMap
PropertyMap.PropertyIterator, PropertyMap.ValueIterator
 
Nested classes/interfaces inherited from class org.deduced.AbstractPropertyCollection
AbstractPropertyCollection.CollectionToDeleteMonitor
 
Field Summary
private  DeducedControllerLayerExtension controlLayer
          control layer being used
private  PropertyCollection<?,?> controlledCollection
          the controlled collection
private static long serialVersionUID
          serial ID
 
Fields inherited from class org.deduced.PropertyList
PROPERTY_LIST_TYPE
 
Fields inherited from class org.deduced.PropertyMap
PROPERTY_MAP_TYPE
 
Fields inherited from class org.deduced.AbstractPropertyCollection
CHECK_DELETE_MODE_AUTOMATIC, CHECK_DELETE_MODE_MANUAL, COLLECTION_TO_DELETE
 
Fields inherited from interface org.deduced.PropertyCollection
PROPERTY_COLLECTION_TYPE
 
Constructor Summary
FlyWheelPropertyCollectionControllerList(DeducedControllerLayerExtension setControlLayer, PropertyCollection<?,?> setControlledCollection)
          FlyWheelPropertyCollectionControllerMap Constructor
 
Method Summary
private  void createFilteredList()
          createFilteredList
protected  void deleteRemoveLocalObjectFromParent()
          (non-Javadoc)
private  void internalAddPropertyCollectionController(PropertyCollection<?,?> propertyValue)
          internal Add Property Collection Controller
private  void internalAddPropertyCollectionControllerIfValid(java.lang.Object newValue, PropertyCollection<?,?> instance)
          internal Add Property Collection Controller If Valid.
private  void internalRemoveAssociatedPropertyCollectionController(java.lang.Object oldValue)
          internal Remove Associated Property Collection Controller
private  void internalRemoveAssociatedPropertyCollectionControllerIfValid(java.lang.Object oldValue)
          internal Remove Associated Property Collection Controller If Valid
protected  void internalSetValueParentIfNecessary(java.lang.Object propertyKey, PropertyCollectionController newValue, boolean isReference)
          (non-Javadoc)
 java.lang.Object keyOnParent()
          (non-Javadoc)
 PropertyCollection<?,?> parent()
          (non-Javadoc)
 void propertyChanged(PropertyChangeEvent<?,?> event)
          (non-Javadoc)
 
Methods inherited from class org.deduced.PropertyList
type
 
Methods inherited from class org.deduced.IdPropertyMap
addProperty, areKeysAssignedAutomatically, createThrowMustNotSpecifyKeyError, equals, generateKey, hashCode, instanceKey, removePropertyInstance
 
Methods inherited from class org.deduced.PropertyMap
asKeySet, cleanNewlyClonedValue, clone, containsKey, getFixedInstance, getProperty, getPropertyValue, handleRemovedProperty, internalAddProperty, internalIsSetValueParentNecessary, internalRemoveProperty, isFixedInstanceReference, iterator, iteratorByValue, putPropertyInMap, removeProperty, removePropertyValue, resetRemovedPropertyParent, setFixedInstance, setProperty, size, validateCollectionParentBeforeAddition
 
Methods inherited from class org.deduced.AbstractPropertyCollection
activate, addListener, asPropertyList, asPropertyMap, asValueList, asValueMap, callObjectClone, classLogger, clear, clearCollectionMonitoredForDelete, cloneCollection, containsInstance, containsValue, createUniqueID, delete, deleteClearAllProperties, deleteClearListenerList, deleteFireDeleteEvent, deleteProcessCompletedValidation, deleteValidateEmptyListenerList, deleteValidateNoPendingReferences, firePropertyChangeEvent, flushCollectionsWithNewParent, flushCollectionsWithNewParent, getActionInvoker, getCheckDeleteMode, getCheckDeleteRunner, getInstanceIdentityKey, id, internalFirePropertyChangeEvent, invokeAction, isActivated, isDeleteCheckedOnClearParent, isEmpty, isListenerRegistered, isParentOrKeyNull, removeListener, requiresChangeEvent, setActionInvoker, setCheckDeleteMode, setCheckDeleteRunner, setDeleteCheckedOnClearParent, setParent, toString, updateReference, updateReferenceWithReferenceFlag, validateAllPropertyInstances, validateNoListener, validateNoParentRecursion, validateParentIsNull, validateParentIsNull, valueKey
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
serial ID

See Also:
Constant Field Values

controlLayer

private DeducedControllerLayerExtension controlLayer
control layer being used


controlledCollection

private PropertyCollection<?,?> controlledCollection
the controlled collection

Constructor Detail

FlyWheelPropertyCollectionControllerList

public FlyWheelPropertyCollectionControllerList(DeducedControllerLayerExtension setControlLayer,
                                                PropertyCollection<?,?> setControlledCollection)
FlyWheelPropertyCollectionControllerMap Constructor

Parameters:
setControlLayer - the control layer
setControlledCollection - the controlled collection
Method Detail

createFilteredList

private void createFilteredList()
createFilteredList


internalAddPropertyCollectionController

private void internalAddPropertyCollectionController(PropertyCollection<?,?> propertyValue)
internal Add Property Collection Controller

Parameters:
propertyValue - the collection to control

internalSetValueParentIfNecessary

protected void internalSetValueParentIfNecessary(java.lang.Object propertyKey,
                                                 PropertyCollectionController newValue,
                                                 boolean isReference)
(non-Javadoc)

Overrides:
internalSetValueParentIfNecessary in class PropertyMap<java.lang.Object,PropertyCollectionController>
Parameters:
propertyKey - the property key of the new value
newValue - the new value
isReference - is the new value a reference
See Also:
PropertyMap.internalSetValueParentIfNecessary(java.lang.Object, java.lang.Object, boolean)

propertyChanged

public void propertyChanged(PropertyChangeEvent<?,?> event)
(non-Javadoc)

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)

internalRemoveAssociatedPropertyCollectionControllerIfValid

private void internalRemoveAssociatedPropertyCollectionControllerIfValid(java.lang.Object oldValue)
internal Remove Associated Property Collection Controller If Valid

Parameters:
oldValue - the possible collection that got removed from the

internalRemoveAssociatedPropertyCollectionController

private void internalRemoveAssociatedPropertyCollectionController(java.lang.Object oldValue)
internal Remove Associated Property Collection Controller

Parameters:
oldValue - the value that got removed

internalAddPropertyCollectionControllerIfValid

private void internalAddPropertyCollectionControllerIfValid(java.lang.Object newValue,
                                                            PropertyCollection<?,?> instance)
internal Add Property Collection Controller If Valid. A new value requires a property collection controller only if it is a property collection and it is not a reference.

Parameters:
newValue - the new value that might require a controller
instance - the instance of the new value

parent

public PropertyCollection<?,?> parent()
(non-Javadoc)

Specified by:
parent in interface PropertyCollection<java.lang.Object,PropertyCollectionController>
Overrides:
parent in class AbstractPropertyCollection<java.lang.Object,PropertyCollectionController>
Returns:
Returns the parent.
See Also:
AbstractPropertyCollection.parent()

keyOnParent

public java.lang.Object keyOnParent()
(non-Javadoc)

Specified by:
keyOnParent in interface PropertyCollection<java.lang.Object,PropertyCollectionController>
Overrides:
keyOnParent in class AbstractPropertyCollection<java.lang.Object,PropertyCollectionController>
Returns:
the key on the parent
See Also:
AbstractPropertyCollection.keyOnParent()

deleteRemoveLocalObjectFromParent

protected void deleteRemoveLocalObjectFromParent()
(non-Javadoc)

Overrides:
deleteRemoveLocalObjectFromParent in class AbstractPropertyCollection<java.lang.Object,PropertyCollectionController>
See Also:
AbstractPropertyCollection.deleteRemoveLocalObjectFromParent()