Package org.eclipse.mat.snapshot

# Class SnapshotInfo

java.lang.Object
org.eclipse.mat.snapshot.SnapshotInfo

All Implemented Interfaces:
  `Serializable`

Direct Known Subclasses:
  `XSnapshotInfo`

public class SnapshotInfo extends Object implements Serializable
Class describing an `ISnapshot`. Each snapshot has some core data, like the date when it was acquired/parsed, the number of objects inside... This data is available with the snapshot info which is usually serialized along with the snapshot.

See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`SnapshotInfo(String path, String jvmInfo, int identifierSize, Date creationDate, int numberOfObjects, int numberOfGCRoots, int numberOfClasses, int numberOfClassLoaders, long usedHeapSize)`
Deprecated.
`SnapshotInfo(String path, String prefix, String jvmInfo, int identifierSize, Date creationDate, int numberOfObjects, int numberOfGCRoots, int numberOfClasses, int numberOfClassLoaders, long usedHeapSize)`
Construct a snapshot info.

## Method Summary

Modifier and Type
Method
Description
`Date`
`getCreationDate()`
Get date when the snapshot was acquired/parsed.
`int`
`getIdentifierSize()`
Get size of the internal identifiers in the heap dump, i.e.
`String`
`getJvmInfo()`
Get version of the JVM from which it was acquired.
`int`
`getNumberOfClasses()`
Get number of Java Classes found in the snapshot.
`int`
`getNumberOfClassLoaders()`
Get number of ClassLoaders found in the snapshot
`int`
`getNumberOfGCRoots()`
Get number of GC roots found in the snapshot.
`int`
`getNumberOfObjects()`
Get number of Java objects found in the snapshot.
`String`
`getPath()`
Get the absolute path of the heap dump file.
`String`
`getPrefix()`
Get the common prefix used to name all additional (e.g.
`Serializable`
`getProperty(String name)`
Get extra information about the snapshot
`long`
`getUsedHeapSize()`
Get number of bytes used in the heap (the allocated memory may be higher)
`Serializable`
`setProperty(String name, Serializable value)`
Store extra information about the snapshot
`String`
`toString()`

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

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### SnapshotInfo

public SnapshotInfo(String path, String prefix, String jvmInfo, int identifierSize, Date creationDate, int numberOfObjects, int numberOfGCRoots, int numberOfClasses, int numberOfClassLoaders, long usedHeapSize)
Construct a snapshot info.

Parameters:
  `path` - path from where the snapshot was acquired
  `prefix` - the base of the path for all indexes
  `jvmInfo` - version of the JVM from which it was acquired
  `identifierSize` - size of the internal identifiers in the heap dump, i.e. 32 or 64 bit
  `creationDate` - date when the snapshot was acquired/parsed
  `numberOfObjects` - number of Java objects found in the snapshot
  `numberOfGCRoots` - number of GC roots found in the snapshot
  `numberOfClasses` - number of Java Classes found in the snapshot
  `numberOfClassLoaders` - number of ClassLoaders found in the snapshot
  `usedHeapSize` - number of bytes used in the heap (the allocated memory may be higher)

### SnapshotInfo

@Deprecated public SnapshotInfo(String path, String jvmInfo, int identifierSize, Date creationDate, int numberOfObjects, int numberOfGCRoots, int numberOfClasses, int numberOfClassLoaders, long usedHeapSize)
Deprecated.

## Method Details

### getProperty

public Serializable getProperty(String name)
Get extra information about the snapshot

Parameters:
  `name` - keep_unreachable_objects - `GCRootInfo.Type` hprof.version org.eclipse.mat.snapshot.UnreachableObjectsHistogram $heapFormat
Returns:
  the extra (serializable) information

### setProperty

public Serializable setProperty(String name, Serializable value)
Store extra information about the snapshot

Parameters:
  `name` - the name/key for the property
  `value` - the object to be associated with the name keep_unreachable_objects - mark as `GCRootInfo.Type` hprof.version org.eclipse.mat.snapshot.UnreachableObjectsHistogram $heapFormat
Returns:
  the previous extra (serializable) information, or null

### getPath

public String getPath()
Get the absolute path of the heap dump file.

Returns:
  absolute path of the heap dump file.

### getPrefix

public String getPrefix()
Get the common prefix used to name all additional (e.g. index) files. The prefix includes the directory path.

Returns:
  common prefix used to name additional files

### getJvmInfo

public String getJvmInfo()
Get version of the JVM from which it was acquired.

Returns:
  version of the JVM from which it was acquired

### getIdentifierSize

public int getIdentifierSize()
Get size of the internal identifiers in the heap dump, i.e. 32 or 64 bit, in bytes.

Returns:
  size of the internal identifiers in the heap dump, i.e. 32 or 64 bit

### getCreationDate

public Date getCreationDate()
Get date when the snapshot was acquired/parsed.

Returns:
  creation date, or `null` if the creation date is not known

### getNumberOfObjects

public int getNumberOfObjects()
Get number of Java objects found in the snapshot.

Returns:
  number of Java objects found in the snapshot

### getNumberOfGCRoots

public int getNumberOfGCRoots()
Get number of GC roots found in the snapshot.

Returns:
  number of GC roots found in the snapshot

### getNumberOfClasses

public int getNumberOfClasses()
Get number of Java Classes found in the snapshot.

Returns:
  number of Java Classes found in the snapshot

### getNumberOfClassLoaders

public int getNumberOfClassLoaders()
Get number of ClassLoaders found in the snapshot

Returns:
  number of ClassLoaders found in the snapshot

### getUsedHeapSize

public long getUsedHeapSize()
Get number of bytes used in the heap (the allocated memory may be higher)

Returns:
  number of bytes used in the heap (the allocated memory may be higher)

### toString

public String toString()

Overrides:
  `toString` in class `Object`