java.rmi.activation

## Class ActivationDesc

- java.lang.Object
- - java.rmi.activation.ActivationDesc

All Implemented Interfaces:
  Serializable

    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.

Since:
  1.2
See Also:
  `Activatable`, Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`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`.
`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`.
`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`.
`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`.

### Method Summary

Methods
`boolean` `equals(Object obj)` Compares two activation descriptors for content equality.
`String` `getClassName()` Returns the class name for the object specified by this descriptor.
`MarshalledObject<?>` `getData()` Returns a "marshalled object" containing intialization/activation data for the object specified by this descriptor.
`ActivationGroupID` `getGroupID()` Returns the group identifier for the object specified by this descriptor.
`String` `getLocation()` Returns the code location for the object specified by this descriptor.
`boolean` `getRestartMode()` Returns the "restart" mode of the object associated with this activation descriptor.
`int` `hashCode()` Return the same hashCode for similar `ActivationDesc`s.

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ActivationDesc

    public ActivationDesc(String className,
                  String location,
                  MarshalledObject<?> data)
                   throws ActivationException

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.

Parameters:
  `className` - the object's fully package qualified class name
  `location` - the object's code location (from where the class is loaded)
  `data` - the object's initialization (activation) data contained in marshalled form.
Throws:
  `ActivationException` - if the current group is nonexistent
Since:
  1.2

#### ActivationDesc

    public ActivationDesc(String className,
                  String location,
                  MarshalledObject<?> data,
                  boolean restart)
                   throws ActivationException

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.

Parameters:
  `className` - the object's fully package qualified class name
  `location` - the object's code location (from where the class is loaded)
  `data` - the object's initialization (activation) data contained in marshalled form.
  `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.
Throws:
  `ActivationException` - if the current group is nonexistent
Since:
  1.2

#### ActivationDesc

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

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

#### ActivationDesc

    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.

Parameters:
  `groupID` - the group's identifier (obtained from registering `ActivationSystem.registerGroup` method). The group indicates the VM in which the object should be activated.
  `className` - the object's fully package-qualified class name
  `location` - the object's code location (from where the class is loaded)
  `data` - the object's initialization (activation) data contained in marshalled form.
  `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.
Throws:
  `IllegalArgumentException` - if `groupID` is null
Since:
  1.2

### Method Detail

#### getGroupID

    public ActivationGroupID getGroupID()

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.

Returns:
  the group identifier
Since:
  1.2

#### getClassName

    public String getClassName()

Returns the class name for the object specified by this descriptor.

Returns:
  the class name
Since:
  1.2

#### getLocation

    public String getLocation()

Returns the code location for the object specified by this descriptor.

Returns:
  the code location
Since:
  1.2

#### getData

    public MarshalledObject<?> getData()

Returns a "marshalled object" containing intialization/activation data for the object specified by this descriptor.

Returns:
  the object specific "initialization" data
Since:
  1.2

#### getRestartMode

    public boolean getRestartMode()

Returns the "restart" mode of the object associated with this activation descriptor.

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

#### equals

    public boolean equals(Object obj)

Compares two activation descriptors for content equality.

Overrides:
  `equals` in class `Object`
Parameters:
  `obj` - the Object to compare with
Returns:
  true if these Objects are equal; false otherwise.
Since:
  1.2
See Also:
  `Hashtable`

#### hashCode

    public int hashCode()

Return the same hashCode for similar `ActivationDesc`s.

Overrides:
  `hashCode` in class `Object`
Returns:
  an integer
See Also:
  `Hashtable`

Copyright © 1993, 2017, Oracle and/or its affiliates. All rights reserved.