ActivationDesc (Java Platform SE 8 )
Keywords: java.rmi.activation.ActivationDesc class
Date: 2026-01-21

compact2, compact3
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

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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 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
        `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 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`

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.