Package org.eclipse.mat.snapshot

# Class SnapshotFactory

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

public final class SnapshotFactory extends Object
`ISnapshot` factory

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static interface`
`SnapshotFactory.Implementation`
Describes the snapshot factory implementation.

## Method Summary

Modifier and Type
Method
Description
`static IOQLQuery`
`createQuery(String queryString)`
Factory to create an OQL Query.
`static void`
`dispose(ISnapshot snapshot)`
Dispose the whole snapshot.
`static List<SnapshotFormat>`
`getSupportedFormats()`
Get the types of the parsers.
`static ISnapshot`
`openSnapshot(File file, Map<String,String> arguments, IProgressListener listener)`
Create a snapshot Object from a file representation of a snapshot.
`static ISnapshot`
`openSnapshot(File file, IProgressListener listener)`
Create a snapshot Object from a file representation of a snapshot.

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

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

## Method Details

### openSnapshot

public static ISnapshot openSnapshot(File file, IProgressListener listener) throws SnapshotException
Create a snapshot Object from a file representation of a snapshot.

Parameters:
  `file` - file from which the snapshot will be constructed (type will be derived from the file name extension)
  `listener` - progress listener informing about the current state of execution
Returns:
  snapshot
Throws:
  `SnapshotException`

### openSnapshot

public static ISnapshot openSnapshot(File file, Map<String,String> arguments, IProgressListener listener) throws SnapshotException
Create a snapshot Object from a file representation of a snapshot.

Parameters:
  `file` - file from which the snapshot will be constructed (type will be derived from the file name extension)
  `arguments` - parsing arguments
  `listener` - progress listener informing about the current state of execution
Returns:
  snapshot
Throws:
  `SnapshotException`

### dispose

public static void dispose(ISnapshot snapshot)
Dispose the whole snapshot.

Please call this method prior to dropping the last reference to the snapshot as this method ensures the proper return of all resources (e.g. main memory, file and socket handles...) when the last user has disposed it through the snapshot factory. After calling this method the snapshot can't be used anymore. Use instead of `ISnapshot.dispose()` if the snapshot is obtained from `openSnapshot(File, Map, IProgressListener)` as openSnapshot() may obtain a copy from a cache.

Parameters:
  `snapshot` - snapshot which should be disposed

### createQuery

public static IOQLQuery createQuery(String queryString) throws OQLParseException, SnapshotException
Factory to create an OQL Query.

Throws:
  `OQLParseException` - if the OQL contains parsing errors
  `SnapshotException`

### getSupportedFormats

public static List<SnapshotFormat> getSupportedFormats()
Get the types of the parsers.

Returns:
  list of formats that the parsers can understand