Interface ActivationInstantiator
- All Superinterfaces:
Remote
- All Known Implementing Classes:
-
ActivationGroup
,ActivationGroup_Stub
public interface ActivationInstantiator extends Remote
An ActivationInstantiator
is responsible for creating instances of "activatable" objects. A concrete subclass of ActivationGroup
implements the newInstance
method to handle creating objects within the group.
- Since:
- 1.2
- See Also:
ActivationGroup
Method Summary
Modifier and Type | Method | Description |
---|---|---|
MarshalledObject<? extends Remote> | newInstance(ActivationID id,
ActivationDesc desc) | The activator calls an instantiator's |
Method Detail
newInstance
MarshalledObject<? extends Remote> newInstance(ActivationID id, ActivationDesc desc) throws ActivationException, RemoteException
The activator calls an instantiator's newInstance
method in order to recreate in that group an object with the activation identifier, id
, and descriptor, desc
. The instantiator is responsible for:
- determining the class for the object using the descriptor's
getClassName
method, - loading the class from the code location obtained from the descriptor (using the
getLocation
method), - creating an instance of the class by invoking the special "activation" constructor of the object's class that takes two arguments: the object's
ActivationID
, and theMarshalledObject
containing object specific initialization data, and - returning a MarshalledObject containing the stub for the remote object it created.
In order for activation to be successful, one of the following requirements must be met, otherwise ActivationException
is thrown:
- Parameters:
-
id
- the object's activation identifier -
desc
- the object's descriptor - Returns:
- a marshalled object containing the serialized representation of remote object's stub
- Throws:
-
ActivationException
- if object activation fails -
RemoteException
- if remote call fails - Since:
- 1.2