FileDocCategorySizeDatePackage
ActivationDesc.javaAPI DocJava SE 5 API11633Fri Aug 26 14:57:12 BST 2005java.rmi.activation

ActivationDesc

public final class ActivationDesc extends Object implements Serializable
An activation descriptor contains the information necessary to activate an object:
  • the object's group identifier,
  • the object's fully-qualified class name,
  • the object's code location (the location of the class), a codebase URL path,
  • the object's restart "mode", and,
  • a "marshalled" object that can contain object specific initialization data.

A descriptor registered with the activation system can be used to recreate/activate the object specified by the descriptor. The MarshalledObject in the object's descriptor is passed as the second argument to the remote object's constructor for object to use during reinitialization/activation.

author
Ann Wollrath
version
1.27, 12/19/03
since
1.2
see
java.rmi.activation.Activatable

Fields Summary
private ActivationGroupID
groupID
private String
className
private String
location
private MarshalledObject
data
private boolean
restart
private static final long
serialVersionUID
indicate compatibility with the Java 2 SDK v1.2 version of class
Constructors Summary
public ActivationDesc(String className, String location, MarshalledObject data)
Constructs an object descriptor for an object whose class name is className, that can be loaded from the code location and whose initialization information is data. If this form of the constructor is used, the groupID defaults to the current id for ActivationGroup for this VM. All objects with the same ActivationGroupID are activated in the same VM.

Note that objects specified by a descriptor created with this constructor will only be activated on demand (by default, the restart mode is false). If an activatable object requires restart services, use one of the ActivationDesc constructors that takes a boolean parameter, restart.

This constructor will throw ActivationException if there is no current activation group for this VM. To create an ActivationGroup use the ActivationGroup.createGroup method.

param
className the object's fully package qualified class name
param
location the object's code location (from where the class is loaded)
param
data the object's initialization (activation) data contained in marshalled form.
exception
ActivationException if the current group is nonexistent
since
1.2


                                                                                                                                                                                  
      
			    
			   
	 
    
	this(ActivationGroup.internalCurrentGroupID(),
	     className, location, data, false);
    
public ActivationDesc(String className, String location, MarshalledObject data, boolean restart)
Constructs an object descriptor for an object whose class name is className, that can be loaded from the code location and whose initialization information is data. If this form of the constructor is used, the groupID defaults to the current id for ActivationGroup for this VM. All objects with the same ActivationGroupID are activated in the same VM.

This constructor will throw ActivationException if there is no current activation group for this VM. To create an ActivationGroup use the ActivationGroup.createGroup method.

param
className the object's fully package qualified class name
param
location the object's code location (from where the class is loaded)
param
data the object's initialization (activation) data contained in marshalled form.
param
restart if true, the object is restarted (reactivated) when either the activator is restarted or the object's activation group is restarted after an unexpected crash; if false, the object is only activated on demand. Specifying restart to be true does not force an initial immediate activation of a newly registered object; initial activation is lazy.
exception
ActivationException if the current group is nonexistent
since
1.2

	this(ActivationGroup.internalCurrentGroupID(),
	     className, location, data, restart);
    
public ActivationDesc(ActivationGroupID groupID, String className, String location, MarshalledObject data)
Constructs an object descriptor for an object whose class name is className that can be loaded from the code location and whose initialization information is data. All objects with the same groupID are activated in the same Java VM.

Note that objects specified by a descriptor created with this constructor will only be activated on demand (by default, the restart mode is false). If an activatable object requires restart services, use one of the ActivationDesc constructors that takes a boolean parameter, restart.

param
groupID the group's identifier (obtained from registering ActivationSystem.registerGroup method). The group indicates the VM in which the object should be activated.
param
className the object's fully package-qualified class name
param
location the object's code location (from where the class is loaded)
param
data the object's initialization (activation) data contained in marshalled form.
exception
IllegalArgumentException if groupID is null
since
1.2

	this(groupID, className, location, data, false);
    
public ActivationDesc(ActivationGroupID groupID, String className, String location, MarshalledObject data, boolean restart)
Constructs an object descriptor for an object whose class name is className that can be loaded from the code location and whose initialization information is data. All objects with the same groupID are activated in the same Java VM.

param
groupID the group's identifier (obtained from registering ActivationSystem.registerGroup method). The group indicates the VM in which the object should be activated.
param
className the object's fully package-qualified class name
param
location the object's code location (from where the class is loaded)
param
data the object's initialization (activation) data contained in marshalled form.
param
restart if true, the object is restarted (reactivated) when either the activator is restarted or the object's activation group is restarted after an unexpected crash; if false, the object is only activated on demand. Specifying restart to be true does not force an initial immediate activation of a newly registered object; initial activation is lazy.
exception
IllegalArgumentException if groupID is null
since
1.2

	if (groupID == null)
	    throw new IllegalArgumentException("groupID can't be null");
	this.groupID = groupID;
	this.className = className;
	this.location = location;
	this.data = data;
	this.restart = restart;
    
Methods Summary
public booleanequals(java.lang.Object obj)
Compares two activation descriptors for content equality.

param
obj the Object to compare with
return
true if these Objects are equal; false otherwise.
see
java.util.Hashtable
since
1.2

	
	if (obj instanceof ActivationDesc) {
	    ActivationDesc desc = (ActivationDesc) obj;
	    return
		((groupID == null ? desc.groupID == null :
		  groupID.equals(desc.groupID)) &&
		 (className == null ? desc.className == null :
		  className.equals(desc.className)) &&
		 (location == null ? desc.location == null:
		  location.equals(desc.location)) &&
		 (data == null ? desc.data == null :
		  data.equals(desc.data)) &&
		 (restart == desc.restart));

	} else {
	    return false;
	}
    
public java.lang.StringgetClassName()
Returns the class name for the object specified by this descriptor.

return
the class name
since
1.2

	return className;
    
public java.rmi.MarshalledObjectgetData()
Returns a "marshalled object" containing intialization/activation data for the object specified by this descriptor.

return
the object specific "initialization" data
since
1.2

	return data;
    
public ActivationGroupIDgetGroupID()
Returns the group identifier for the object specified by this descriptor. A group provides a way to aggregate objects into a single Java virtual machine. RMI creates/activates objects with the same groupID in the same virtual machine.

return
the group identifier
since
1.2

	return groupID;
    
public java.lang.StringgetLocation()
Returns the code location for the object specified by this descriptor.

return
the code location
since
1.2

	return location;
    
public booleangetRestartMode()
Returns the "restart" mode of the object associated with this activation descriptor.

return
true if the activatable object associated with this activation descriptor is restarted via the activation daemon when either the daemon comes up or the object's group is restarted after an unexpected crash; otherwise it returns false, meaning that the object is only activated on demand via a method call. Note that if the restart mode is true, the activator does not force an initial immediate activation of a newly registered object; initial activation is lazy.
since
1.2

	return restart;
    
public inthashCode()
Return the same hashCode for similar ActivationDescs.

return
an integer
see
java.util.Hashtable

	return ((location == null
		    ? 0
		    : location.hashCode() << 24) ^
		(groupID == null
		    ? 0
		    : groupID.hashCode() << 16) ^
		(className == null
		    ? 0
		    : className.hashCode() << 9) ^
		(data == null
		    ? 0
		    : data.hashCode() << 1) ^
		(restart
		    ? 1
		    : 0));