Package org.eclipse.mat.snapshot

# Interface SnapshotFactory.Implementation

All Known Implementing Classes:
  `SnapshotFactoryImpl`

Enclosing class:
  SnapshotFactory

public static interface SnapshotFactory.Implementation
Describes the snapshot factory implementation. Implemented in the parser plugin. Implementations of this interface need to be registered using the `org.eclipse.mat.api.factory` extension point.

No Implement:

## Method Summary

Modifier and Type
Method
Description
`IOQLQuery`
`createQuery(String queryString)`
Run an OQL query
`void`
`dispose(ISnapshot snapshot)`
Free resources when the snapshot is no longer needed.
`List<SnapshotFormat>`
`getSupportedFormats()`
Show which parsers the factory handles
`ISnapshot`
`openSnapshot(File file, Map<String,String> arguments, IProgressListener listener)`
Opens a snapshot

## Method Details

### openSnapshot

ISnapshot openSnapshot(File file, Map<String,String> arguments, IProgressListener listener) throws SnapshotException
Opens a snapshot

Parameters:
  `file` - the dump file
  `arguments` - extra arguments to change the indexing of the dump
  `listener` - to show progress and errors
Returns:
  the snapshot
Throws:
  `SnapshotException`

### dispose

void dispose(ISnapshot snapshot)
Free resources when the snapshot is no longer needed. 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` -

### createQuery

IOQLQuery createQuery(String queryString) throws OQLParseException, SnapshotException
Run an OQL query

Parameters:
  `queryString` - the OQL query
Returns:
  the result
Throws:
  `OQLParseException`
  `SnapshotException`

### getSupportedFormats

List<SnapshotFormat> getSupportedFormats()
Show which parsers the factory handles

Returns:
  a list of snapshot types