com.virtuosotechnologies.lib.container
Interface RequestableObjectSet

All Superinterfaces:
ObjectContainer, ObjectSet

public interface RequestableObjectSet
extends ObjectSet

An ObjectSet with request-semantics mutation methods. The semantics of these methods is that they are requests, but there is no guarantee of their actual effect. They may result in the requested change being done, they may result in a completely different change being done, or they may have no result at all. Clients should install listeners on the ObjectSet to determine what, if any, effect these mutation methods actually have.

This interface itself does not specify thread-safety semantics. The particular implementation or use in a larger interface should specify this. For example, standalone ObjectSets may be fully synchronized and thread-safe. ObjectSets related to AWT or Swing objects may require that all interaction be done on the AWT event thread.


Method Summary
 void requestAddObject(Object obj)
          Request that an object be added to the set.
 void requestRemoveObject(Object obj)
          Request that an object be removed from the set.
 
Methods inherited from interface com.virtuosotechnologies.lib.container.ObjectSet
addObjectSetListener, contains, removeObjectSetListener
 
Methods inherited from interface com.virtuosotechnologies.lib.container.ObjectContainer
getConstraints, getContentsAsArray, getSize
 

Method Detail

requestAddObject

public void requestAddObject(Object obj)
Request that an object be added to the set. There is no guarantee of what change, if any, will actually be made.

Parameters:
obj - object to add

requestRemoveObject

public void requestRemoveObject(Object obj)
Request that an object be removed from the set. There is no guarantee of what change, if any, will actually be made.

Parameters:
obj - object to remove