compact3
com.sun.management

## Class GarbageCollectionNotificationInfo

- java.lang.Object
- - com.sun.management.GarbageCollectionNotificationInfo

All Implemented Interfaces:
  CompositeDataView

    @Exported
    public class GarbageCollectionNotificationInfo
    extends Object
    implements CompositeDataView

The information about a garbage collection

A garbage collection notification is emitted by `GarbageCollectorMXBean` when the Java virtual machine completes a garbage collection action The notification emitted will contain the garbage collection notification information about the status of the memory: <u1>

The name of the garbage collector used perform the collection.
The action performed by the garbage collector.
The cause of the garbage collection action.
A `GcInfo` object containing some statistics about the GC cycle (start time, end time) and the memory usage before and after the GC cycle.
</u1>

A `CompositeData` representing the `GarbageCollectionNotificationInfo` object is stored in the userdata of a notification. The `from` method is provided to convert from a `CompositeData` to a `GarbageCollectionNotificationInfo` object. For example:

>           Notification notif;

>           // receive the notification emitted by a GarbageCollectorMXBean and set to notif
>           ...

>           String notifType = notif.getType();
>           if (notifType.equals(GarbageCollectionNotificationInfo.GARBAGE_COLLECTION_NOTIFICATION)) {
>               // retrieve the garbage collection notification information
>               CompositeData cd = (CompositeData) notif.getUserData();
>               GarbageCollectionNotificationInfo info = GarbageCollectionNotificationInfo.from(cd);
>               ....
>           }

The type of the notification emitted by a `GarbageCollectorMXBean` is:

- A garbage collection notification.
  Used by every notification emitted by the garbage collector, the details about the notification are provided in the action String

### Field Summary

Fields
`static String` `GARBAGE_COLLECTION_NOTIFICATION` Notification type denoting that the Java virtual machine has completed a garbage collection cycle.

### Constructor Summary

Constructors
Constructor and Description
`GarbageCollectionNotificationInfo(String gcName, String gcAction, String gcCause, GcInfo gcInfo)` Constructs a `GarbageCollectionNotificationInfo` object.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`static GarbageCollectionNotificationInfo` `from(CompositeData cd)` Returns a `GarbageCollectionNotificationInfo` object represented by the given `CompositeData`.
`String` `getGcAction()` Returns the action of the performed by the garbage collector
`String` `getGcCause()` Returns the cause the garbage collection
`GcInfo` `getGcInfo()` Returns the GC information related to the last garbage collection
`String` `getGcName()` Returns the name of the garbage collector used to perform the collection
`CompositeData` `toCompositeData(CompositeType ct)` Return a `CompositeData` corresponding to the values in this object.

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

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

### Field Detail

#### GARBAGE_COLLECTION_NOTIFICATION

    public static final String GARBAGE_COLLECTION_NOTIFICATION

Notification type denoting that the Java virtual machine has completed a garbage collection cycle. This notification is emitted by a `GarbageCollectorMXBean`. The value of this notification type is `com.sun.management.gc.notification`.

See Also:
  Constant Field Values

### Constructor Detail

#### GarbageCollectionNotificationInfo

    public GarbageCollectionNotificationInfo(String gcName,
                                             String gcAction,
                                             String gcCause,
                                             GcInfo gcInfo)

Constructs a `GarbageCollectionNotificationInfo` object.

Parameters:
  `gcName` - The name of the garbage collector used to perform the collection
  `gcAction` - The name of the action performed by the garbage collector
  `gcCause` - The cause the garbage collection action
  `gcInfo` - a GcInfo object providing statistics about the GC cycle

### Method Detail

#### getGcName

    public String getGcName()

Returns the name of the garbage collector used to perform the collection

Returns:
  the name of the garbage collector used to perform the collection

#### getGcAction

    public String getGcAction()

Returns the action of the performed by the garbage collector

Returns:
  the the action of the performed by the garbage collector

#### getGcCause

    public String getGcCause()

Returns the cause the garbage collection

Returns:
  the the cause the garbage collection

#### getGcInfo

    public GcInfo getGcInfo()

Returns the GC information related to the last garbage collection

Returns:
  the GC information related to the last garbage collection

#### from

    public static GarbageCollectionNotificationInfo from(CompositeData cd)

Returns a `GarbageCollectionNotificationInfo` object represented by the given `CompositeData`. The given `CompositeData` must contain the following attributes:

> Attribute Name | Type
> --- | ---
> gcName | `java.lang.String`
> gcAction | `java.lang.String`
> gcCause | `java.lang.String`
> gcInfo | `javax.management.openmbean.CompositeData`

Parameters:
  `cd` - `CompositeData` representing a `GarbageCollectionNotificationInfo`
Returns:
  a `GarbageCollectionNotificationInfo` object represented by `cd` if `cd` is not `null`; `null` otherwise.
Throws:
  `IllegalArgumentException` - if `cd` does not represent a `GarbaageCollectionNotificationInfo` object.

#### toCompositeData

    public CompositeData toCompositeData(CompositeType ct)

Description copied from interface: `javax.management.openmbean.CompositeDataView`

Return a `CompositeData` corresponding to the values in this object. The returned value should usually be an instance of `CompositeDataSupport`, or a class that serializes as a `CompositeDataSupport` via a `writeReplace` method. Otherwise, a remote client that receives the object might not be able to reconstruct it.

Specified by:
  `toCompositeData` in interface `CompositeDataView`
Parameters:
  `ct` - The expected `CompositeType` of the returned value. If the returned value is `cd`, then `cd.getCompositeType().equals(ct)` should be true. Typically this will be because `cd` is a `CompositeDataSupport` constructed with `ct` as its `CompositeType`.
Returns:
  the `CompositeData`.