org.deduced.dynamic
Class DynamicPropertyList

java.lang.Object
  extended by org.deduced.AbstractPropertyCollection<K,V>
      extended by org.deduced.PropertyMap<java.lang.Integer,V>
          extended by org.deduced.IdPropertyMap<V>
              extended by org.deduced.PropertyList<PropertyCollection<?,?>>
                  extended by org.deduced.dynamic.DynamicPropertyList
All Implemented Interfaces:
java.lang.Cloneable, PropertyCollection<java.lang.Integer,PropertyCollection<?,?>>

public class DynamicPropertyList
extends PropertyList<PropertyCollection<?,?>>

Class used to host a list of DynamicPropertyMap. The difference between this list and another implementation is that this list will actually propagate the changes to it's structure to it's parent in the hierarchy. This will allow the parents to override the required properties on the child objects.

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 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
DynamicPropertyList()
          constructor for the property list
DynamicPropertyList(PropertyCollection<?,?> setFixedInstance)
          constructor for the property list
 
Method Summary
protected  java.lang.Integer internalAddProperty(java.lang.Integer propertyKey, Property<PropertyCollection<?,?>> resultAdd)
          (non-Javadoc)
 Property<PropertyCollection<?,?>> removeProperty(java.lang.Object propertyKey)
          (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, clone, containsKey, getFixedInstance, getProperty, getPropertyValue, handleRemovedProperty, internalIsSetValueParentNecessary, internalRemoveProperty, internalSetValueParentIfNecessary, isFixedInstanceReference, iterator, iteratorByValue, putPropertyInMap, removePropertyValue, resetRemovedPropertyParent, setFixedInstance, setProperty, size
 
Methods inherited from class org.deduced.AbstractPropertyCollection
activate, addListener, asPropertyList, asPropertyMap, asValueList, asValueMap, callObjectClone, classLogger, clear, clearCollectionMonitoredForDelete, cloneCollection, containsInstance, containsValue, delete, deleteClearAllProperties, deleteClearListenerList, deleteFireDeleteEvent, deleteProcessCompletedValidation, deleteRemoveLocalObjectFromParent, deleteValidateEmptyListenerList, deleteValidateNoPendingReferences, firePropertyChangeEvent, flushCollectionsWithNewParent, flushCollectionsWithNewParent, getCheckDeleteMode, getCheckDeleteRunner, getInstanceIdentityKey, internalFirePropertyChangeEvent, isActivated, isDeleteCheckedOnClearParent, isEmpty, isListenerRegistered, isParentOrKeyNull, keyOnParent, parent, removeListener, requiresChangeEvent, setCheckDeleteMode, setCheckDeleteRunner, setDeleteCheckedOnClearParent, setParent, toString, updateReference, updateReferenceWithReferenceFlag, validateAllPropertyInstances, 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
Constructor Detail

DynamicPropertyList

public DynamicPropertyList()
constructor for the property list


DynamicPropertyList

public DynamicPropertyList(PropertyCollection<?,?> setFixedInstance)
constructor for the property list

Parameters:
setFixedInstance - the fixed instances in the list
Method Detail

internalAddProperty

protected java.lang.Integer internalAddProperty(java.lang.Integer propertyKey,
                                                Property<PropertyCollection<?,?>> resultAdd)
(non-Javadoc)

Overrides:
internalAddProperty in class PropertyMap<java.lang.Integer,PropertyCollection<?,?>>
Parameters:
propertyKey - the key of the added property
resultAdd - the property to add to the map
Returns:
the added property value
See Also:
PropertyMap.internalAddProperty(java.lang.Object, org.deduced.Property)

removeProperty

public Property<PropertyCollection<?,?>> removeProperty(java.lang.Object propertyKey)
(non-Javadoc)

Specified by:
removeProperty in interface PropertyCollection<java.lang.Integer,PropertyCollection<?,?>>
Overrides:
removeProperty in class PropertyMap<java.lang.Integer,PropertyCollection<?,?>>
Parameters:
propertyKey - the key of the property
Returns:
the removed property, null if remove failed
See Also:
PropertyMap.removeProperty(java.lang.Object)