org.apache.lucene.mockfile

## Class HandleLimitFS

- java.lang.Object
- - java.nio.file.spi.FileSystemProvider
  - - org.apache.lucene.mockfile.FilterFileSystemProvider
    - - org.apache.lucene.mockfile.HandleTrackingFS
      - - org.apache.lucene.mockfile.HandleLimitFS

    public class HandleLimitFS
    extends HandleTrackingFS

FileSystem that throws exception if file handles in use exceeds a specified limit

### Field Summary

### Fields inherited from class org.apache.lucene.mockfile.FilterFileSystemProvider

`delegate, fileSystem, scheme`

### Constructor Summary

Constructors
Constructor and Description
`HandleLimitFS(FileSystem delegate, int limit)` Create a new instance, limiting the maximum number of open files to `limit`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected void` `onClose(Path path, Object stream)` Called when `path` is closed via `stream`.
`protected void` `onOpen(Path path, Object stream)` Called when `path` is opened via `stream`.

### Methods inherited from class org.apache.lucene.mockfile.HandleTrackingFS

`newAsynchronousFileChannel, newByteChannel, newDirectoryStream, newFileChannel, newInputStream, newOutputStream`

### Methods inherited from class org.apache.lucene.mockfile.FilterFileSystemProvider

`checkAccess, copy, createDirectory, createLink, createSymbolicLink, delete, deleteIfExists, getFileAttributeView, getFileStore, getFileSystem, getPath, getScheme, isHidden, isSameFile, move, newFileSystem, newFileSystem, onClose, readAttributes, readAttributes, readSymbolicLink, setAttribute, toDelegate, toString`

### Methods inherited from class java.nio.file.spi.FileSystemProvider

`installedProviders`

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

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

### Constructor Detail

#### HandleLimitFS

    public HandleLimitFS(FileSystem delegate,
                         int limit)

Create a new instance, limiting the maximum number of open files to `limit`

Parameters:
  `delegate` - delegate filesystem to wrap.
  `limit` - maximum number of open files.

### Method Detail

#### onOpen

    protected void onOpen(Path path,
                          Object stream)
                   throws IOException

Description copied from class: `HandleTrackingFS`
Called when `path` is opened via `stream`.

Specified by:
  `onOpen` in class `HandleTrackingFS`
Parameters:
  `path` - Path that was opened
  `stream` - Stream or Channel opened against the path.
Throws:
  `IOException` - if an I/O error occurs.

#### onClose

    protected void onClose(Path path,
                           Object stream)
                    throws IOException

Description copied from class: `HandleTrackingFS`
Called when `path` is closed via `stream`.

Specified by:
  `onClose` in class `HandleTrackingFS`
Parameters:
  `path` - Path that was closed
  `stream` - Stream or Channel closed against the path.
Throws:
  `IOException` - if an I/O error occurs.