net.infonode.properties.propertymap
public interface PropertyMap extends ReadWritable
Properties of type {@link PropertyMapProperty} in the {@link PropertyMapGroup} will automatically be assigned new PropertyMap's as values. These PropertyMap's are called child maps. These property values cannot be modified.
Listeners can be added to a PropertyMap. The listeners are notified when a property value is modified in the PropertyMap or, if the property value is not overridden, one of it's super maps. A tree listener can also be added that listens for value changes in the property map, it's super maps and it's child mapss.
Property maps are created using the factory methods in {@link PropertyMapFactory}.
Version: $Revision: 1.20 $
Method Summary | |
---|---|
void | addListener(PropertyMapListener listener)
Adds a listener that listens for value changes in this PropertyMap.
|
void | addPropertyChangeListener(Property property, PropertyChangeListener listener)
Adds a property listener that listens for value changes for a specific property.
|
void | addSuperMap(PropertyMap superMap)
Adds a super map to this map.
|
void | addTreeListener(PropertyMapTreeListener listener)
Adds a tree listener that listens for value changes in this PropertyMap or any child maps.
|
void | clear(boolean recursive)
Removes all property values in this property map.
|
PropertyMap | copy(boolean copySuperMapRefs, boolean recursive)
Creates a copy of this map. |
Object | createRelativeRef(Property fromProperty, PropertyMap toMap, Property toProperty)
Creates a relative reference from one property value to another property value.
|
PropertyMap | getSuperMap()
Returns the most recently added super map.
|
boolean | isEmpty(boolean recursive)
Returns true if this property map doesn't contain any property values.
|
void | read(ObjectInputStream in)
Reads property values from a stream and sets them in this map.
|
void | removeListener(PropertyMapListener listener)
Removes a listener which was previously added with {@link #addListener(PropertyMapListener)}.
|
void | removePropertyChangeListener(Property property, PropertyChangeListener listener)
Removes a previously added property listener.
|
PropertyMap | removeSuperMap()
Removes the most recently added super map.
|
boolean | removeSuperMap(PropertyMap superMap)
Removes a super map that has previously been added using {@link #addSuperMap(PropertyMap)}.
|
void | removeTreeListener(PropertyMapTreeListener listener)
Removes a previously added tree listener.
|
Object | removeValue(Property property)
Removes a property value.
|
boolean | replaceSuperMap(PropertyMap oldSuperMap, PropertyMap newSuperMap)
Replaces a super map that has previously been added using {@link #addSuperMap(PropertyMap)}.
|
boolean | valuesEqualTo(PropertyMap propertyMap, boolean recursive)
Returns true if all the values in this property map is equal to the values in the given map.
|
void | write(ObjectOutputStream out, boolean recursive)
Serializes the serializable values of this property map. |
void | write(ObjectOutputStream out) Serializes the serializable values of this property map. |
Parameters: listener the listener
Parameters: property the property to listen to changes on listener the listener
Parameters: superMap the super map
Parameters: listener the listener
Parameters: recursive true if child maps should be cleared recursively
Parameters: copySuperMapRefs if true, copies the references to super maps recursive if true, copies all child maps as well
Returns: a copy of this map
Since: IDW 1.3.0
When the value of the fromProperty is read, it will return the value of the toProperty in the toMap.
Sub maps of this property map will inherit this reference relative to themselves, ie the reference in the sub map is converted to a reference relative to the sub map if possible, otherwise the reference is the same as for the super map. Here is an example:
Changes to the referenced property value will be propagated to listeners of this property.
Parameters: fromProperty the property value that will hold the reference toMap the property map that holds the property value that is referenced toProperty the property which value is referenced
Returns: the old value that the fromProperty had in this property map
Throws: InvalidPropertyTypeException
Returns: the super map
Parameters: recursive true if child maps should be recursively checked
Returns: true if this property map doesn't contain any property values
Parameters: in the stream from which to read property values
Throws: IOException if there is an error in the stream
Parameters: listener the listener
Parameters: property the property which the listener listens to changes on listener the listener
Returns: the super map removed
Parameters: superMap the super map to remove
Returns: true if the super map was found and removed, otherwise false
Since: IDW 1.3.0
Parameters: listener the listener
Parameters: property the property
Returns: the value removed
Throws: InvalidPropertyException if values for this property can't be stored in this property map
Parameters: oldSuperMap the super map to replace newSuperMap the super map to replace it with
Returns: true if the super map was found and replaced, otherwise false
Since: IDW 1.3.0
Parameters: propertyMap the map to compare values with recursive true if child maps should be recursively checked
Returns: true if all the values in this property map is equal to the values in the given map
Parameters: out the stream on which to serialize this map recursive true if child maps should be recursively serialized
Throws: IOException if there is an error in the stream
Serializes the serializable values of this property map. Values not implementing the {@link java.io.Serializable} interface will not be written to the stream. The properties are identified using their names.
This method recursively writes all child maps.
Parameters: out the stream
Throws: IOException if there is a stream error