ActivationDesc (Java SE 13 & JDK 13 )
Description: declaration: module: java.rmi, package: java.rmi.activation, class: ActivationDesc
Keywords: java.rmi.activation.ActivationDesc class

Module java.rmi
Package 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 | Description
  --- | ---
  `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`.
  `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`.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `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 declared in class java.lang.Object

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

- ## Constructor Details

  - ### 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
      `UnsupportedOperationException` - if and only if activation is not supported by this implementation
    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
      `UnsupportedOperationException` - if and only if activation is not supported by this implementation
    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
      `UnsupportedOperationException` - if and only if activation is not supported by this implementation
    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
      `UnsupportedOperationException` - if and only if activation is not supported by this implementation
    Since:
      1.2

- ## Method Details

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