org.commonreality.object.manager
Interface IRequestableObjectManager<O extends ISimulationObject,L extends IObjectListener<O>>

All Superinterfaces:
IMutableObjectManager<O,L>, IObjectManager<O,L>
All Known Subinterfaces:
IRequestableAfferentObjectManager, IRequestableEfferentObjectManager, IRequestableRealObjectManager
All Known Implementing Classes:
RequestableAfferentObjectManager, RequestableEfferentCommandManager, RequestableEfferentObjectManager, RequestableRealObjectManager

public interface IRequestableObjectManager<O extends ISimulationObject,L extends IObjectListener<O>>
extends IMutableObjectManager<O,L>

The requestable object manager is the only object manager that is able to create new objects. It does this by requesting a new identifier of the appropriate type (as defined by the type of simulation object managed) from CR. This is usually a bulk, cached operation to avoid costly blocking. Once it has the identifier, it is free to create the object and return it.

At some point in the future, the object will be added to the object manager which will then trigger the appropriate events allowing CR to notify the respective parties.

Author:
developer

Method Summary
 void addFreeIdentifiers(java.util.Collection<IIdentifier> freeIdentifiers)
          When a new block of identifiers is made available from CR, they are added to the object manager
 O request(IIdentifier identifier)
          request than an object be created.
 IIdentifier requestIdentifier(IIdentifier identifier)
           
 
Methods inherited from interface org.commonreality.object.manager.IMutableObjectManager
add, add, remove, remove, update, update
 
Methods inherited from interface org.commonreality.object.manager.IObjectManager
addListener, get, getIdentifiers, getListeners, hasListeners, removeListener, waitForChange
 

Method Detail

request

O request(IIdentifier identifier)
request than an object be created. The meaning of identifier is going to be specific to the implementation.

Parameters:
identifier -
Returns:

requestIdentifier

IIdentifier requestIdentifier(IIdentifier identifier)

addFreeIdentifiers

void addFreeIdentifiers(java.util.Collection<IIdentifier> freeIdentifiers)
When a new block of identifiers is made available from CR, they are added to the object manager

Parameters:
freeIdentifiers -