Package org.eclipse.mat.snapshot.acquire

## Class VmInfo

- java.lang.Object
- - org.eclipse.mat.snapshot.acquire.VmInfo

Direct Known Subclasses:
  `IBMVmInfo`, `JmapVmInfo`

    public class VmInfo
    extends java.lang.Object

Instances of this class are descriptors of locally running Java processes. Arguments can be injected into the query using public fields marked with the `Argument` annotation. Typical arguments to be supplied by the user of the heap dump provider include

- boolean flags
- int parm
- File file optionally tagged with tagged with `Argument.Advice.DIRECTORY` or `Argument.Advice.SAVE`.
- enum - an enum

The implementation can be tagged with the following annotations to control the description and help text.

- `Name`
- `Help`
- `HelpUrl`
- `Usage`

Since:
  1.0

### Constructor Summary

Constructors
`VmInfo()` An empty constructor
`VmInfo​(int pid, java.lang.String description, boolean heapDumpEnabled, java.lang.String proposedFileName, IHeapDumpProvider heapDumpProvider)` Constructor with parameters

### Method Summary

All Methods Instance Methods Concrete Methods
`java.lang.String` `getDescription()` Get the description of the Java process
`IHeapDumpProvider` `getHeapDumpProvider()` Get the heap dump provider which returned this VmInfo
`int` `getPid()` Get the PID of the process
`java.lang.String` `getProposedFileName()` Returns a proposed file name under which the heap dump should be saved, e.g.
`boolean` `isHeapDumpEnabled()` Indicate if a heap dump can be acquired from the described process
`void` `setDescription​(java.lang.String description)` Set the description of the Java process
`void` `setHeapDumpEnabled​(boolean heapDumpEnabled)` Set the flag if heap dumps can be acquired from the described process
`void` `setHeapDumpProvider​(IHeapDumpProvider heapDumpProvider)` Set the heap dump provider of this VmInfo
`void` `setPid​(int pid)` Set the PID for the process descriptor
`void` `setProposedFileName​(java.lang.String proposedFileName)` Set the proposed file name for this process
`java.lang.String` `toString()`

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

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

### Constructor Detail

#### VmInfo

    public VmInfo()

An empty constructor

#### VmInfo

    public VmInfo​(int pid,
                  java.lang.String description,
                  boolean heapDumpEnabled,
                  java.lang.String proposedFileName,
                  IHeapDumpProvider heapDumpProvider)

Constructor with parameters

Parameters:
  `pid` - the process ID of the process
  `description` - a free text description of the process, usually the process name
  `heapDumpEnabled` - a boolean value indicating if a heap dump from the process can be acquired
  `proposedFileName` - a proposal for the file name, under which the heap dump can be saved. %pid% can be used as a placeholder for the PID. Example: java_pid%pid%.hprof
  `heapDumpProvider` - the `IHeapDumpProvider` which can use this VmInfo

### Method Detail

#### getPid

    public int getPid()

Get the PID of the process

Returns:
  the process ID

#### setPid

    public void setPid​(int pid)

Set the PID for the process descriptor

Parameters:
  `pid` - process identifier

#### getDescription

    public java.lang.String getDescription()

Get the description of the Java process

Returns:
  the description

#### setDescription

    public void setDescription​(java.lang.String description)

Set the description of the Java process

Parameters:
  `description` - description of the Java process

#### isHeapDumpEnabled

    public boolean isHeapDumpEnabled()

Indicate if a heap dump can be acquired from the described process

Returns:
  true if the heap dump can be triggered

#### setHeapDumpEnabled

    public void setHeapDumpEnabled​(boolean heapDumpEnabled)

Set the flag if heap dumps can be acquired from the described process

Parameters:
  `heapDumpEnabled` - true if a heap dump is possible on this process

#### getHeapDumpProvider

    public IHeapDumpProvider getHeapDumpProvider()

Get the heap dump provider which returned this VmInfo

Returns:
  the heap dump provider

#### setHeapDumpProvider

    public void setHeapDumpProvider​(IHeapDumpProvider heapDumpProvider)

Set the heap dump provider of this VmInfo

Parameters:
  `heapDumpProvider` -

#### getProposedFileName

    public java.lang.String getProposedFileName()

Returns a proposed file name under which the heap dump should be saved, e.g. java_pid%pid%.hprof for HPROF files or a file name template subject to substitution using `MessageUtil.format(java.lang.String, java.lang.Object...)` with three parameters, `Date` date, int pid, int index For example: mydumpname.{0,date,yyyyMMdd.HHmmss}.{1,number,0}.{2,number,0000}.dmp

Returns:
  a suggested file name template

#### setProposedFileName

    public void setProposedFileName​(java.lang.String proposedFileName)

Set the proposed file name for this process

Parameters:
  `proposedFileName` -

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`