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
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 -