org.h2.store.fs

## Class FakeFileChannel

- java.lang.Object
- - java.nio.channels.spi.AbstractInterruptibleChannel
  - - java.nio.channels.FileChannel
    - - org.h2.store.fs.FakeFileChannel

All Implemented Interfaces:
  java.io.Closeable, java.lang.AutoCloseable, java.nio.channels.ByteChannel, java.nio.channels.Channel, java.nio.channels.GatheringByteChannel, java.nio.channels.InterruptibleChannel, java.nio.channels.ReadableByteChannel, java.nio.channels.ScatteringByteChannel, java.nio.channels.SeekableByteChannel, java.nio.channels.WritableByteChannel

    public class FakeFileChannel
    extends java.nio.channels.FileChannel

Fake file channel to use by in-memory and ZIP file systems.

### Nested Class Summary

### Nested classes/interfaces inherited from class java.nio.channels.FileChannel

`java.nio.channels.FileChannel.MapMode`

### Field Summary

Fields
`static FakeFileChannel` `INSTANCE` No need to allocate these, they have no state

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `force(boolean metaData)`
`protected void` `implCloseChannel()`
`java.nio.channels.FileLock` `lock(long position, long size, boolean shared)`
`java.nio.MappedByteBuffer` `map(java.nio.channels.FileChannel.MapMode mode, long position, long size)`
`long` `position()`
`java.nio.channels.FileChannel` `position(long newPosition)`
`int` `read(java.nio.ByteBuffer dst)`
`long` `read(java.nio.ByteBuffer[] dsts, int offset, int length)`
`int` `read(java.nio.ByteBuffer dst, long position)`
`long` `size()`
`long` `transferFrom(java.nio.channels.ReadableByteChannel src, long position, long count)`
`long` `transferTo(long position, long count, java.nio.channels.WritableByteChannel target)`
`java.nio.channels.FileChannel` `truncate(long size)`
`java.nio.channels.FileLock` `tryLock(long position, long size, boolean shared)`
`int` `write(java.nio.ByteBuffer src)`
`long` `write(java.nio.ByteBuffer[] srcs, int offset, int len)`
`int` `write(java.nio.ByteBuffer src, long position)`

### Methods inherited from class java.nio.channels.FileChannel

`lock, open, open, read, tryLock, write`

### Methods inherited from class java.nio.channels.spi.AbstractInterruptibleChannel

`begin, close, end, isOpen`

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

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

### Methods inherited from interface java.nio.channels.Channel

`close, isOpen`

### Field Detail

#### INSTANCE

    public static final FakeFileChannel INSTANCE

No need to allocate these, they have no state

### Method Detail

#### implCloseChannel

    protected void implCloseChannel()
                             throws java.io.IOException

Specified by:
  `implCloseChannel` in class `java.nio.channels.spi.AbstractInterruptibleChannel`
Throws:
  `java.io.IOException`

#### lock

    public java.nio.channels.FileLock lock(long position,
                                           long size,
                                           boolean shared)
                                    throws java.io.IOException

Specified by:
  `lock` in class `java.nio.channels.FileChannel`
Throws:
  `java.io.IOException`

#### map

    public java.nio.MappedByteBuffer map(java.nio.channels.FileChannel.MapMode mode,
                                         long position,
                                         long size)
                                  throws java.io.IOException

Specified by:
  `map` in class `java.nio.channels.FileChannel`
Throws:
  `java.io.IOException`

#### position

    public long position()
                  throws java.io.IOException

Specified by:
  `position` in interface `java.nio.channels.SeekableByteChannel`
Specified by:
  `position` in class `java.nio.channels.FileChannel`
Throws:
  `java.io.IOException`

#### position

    public java.nio.channels.FileChannel position(long newPosition)
                                           throws java.io.IOException

Specified by:
  `position` in interface `java.nio.channels.SeekableByteChannel`
Overrides:
  `position` in class `java.nio.channels.FileChannel`
Throws:
  `java.io.IOException`

#### read

    public int read(java.nio.ByteBuffer dst)
             throws java.io.IOException

Specified by:
  `read` in interface `java.nio.channels.ReadableByteChannel`
Specified by:
  `read` in interface `java.nio.channels.SeekableByteChannel`
Specified by:
  `read` in class `java.nio.channels.FileChannel`
Throws:
  `java.io.IOException`

#### read

    public int read(java.nio.ByteBuffer dst,
                    long position)
             throws java.io.IOException

Specified by:
  `read` in class `java.nio.channels.FileChannel`
Throws:
  `java.io.IOException`

#### read

    public long read(java.nio.ByteBuffer[] dsts,
                     int offset,
                     int length)
              throws java.io.IOException

Specified by:
  `read` in interface `java.nio.channels.ScatteringByteChannel`
Specified by:
  `read` in class `java.nio.channels.FileChannel`
Throws:
  `java.io.IOException`

#### size

    public long size()
              throws java.io.IOException

Specified by:
  `size` in interface `java.nio.channels.SeekableByteChannel`
Specified by:
  `size` in class `java.nio.channels.FileChannel`
Throws:
  `java.io.IOException`

#### transferFrom

    public long transferFrom(java.nio.channels.ReadableByteChannel src,
                             long position,
                             long count)
                      throws java.io.IOException

Specified by:
  `transferFrom` in class `java.nio.channels.FileChannel`
Throws:
  `java.io.IOException`

#### transferTo

    public long transferTo(long position,
                           long count,
                           java.nio.channels.WritableByteChannel target)
                    throws java.io.IOException

Specified by:
  `transferTo` in class `java.nio.channels.FileChannel`
Throws:
  `java.io.IOException`

#### truncate

    public java.nio.channels.FileChannel truncate(long size)
                                           throws java.io.IOException

Specified by:
  `truncate` in interface `java.nio.channels.SeekableByteChannel`
Overrides:
  `truncate` in class `java.nio.channels.FileChannel`
Throws:
  `java.io.IOException`

#### tryLock

    public java.nio.channels.FileLock tryLock(long position,
                                              long size,
                                              boolean shared)
                                       throws java.io.IOException

Specified by:
  `tryLock` in class `java.nio.channels.FileChannel`
Throws:
  `java.io.IOException`

#### write

    public int write(java.nio.ByteBuffer src)
              throws java.io.IOException

Specified by:
  `write` in interface `java.nio.channels.SeekableByteChannel`
Specified by:
  `write` in interface `java.nio.channels.WritableByteChannel`
Specified by:
  `write` in class `java.nio.channels.FileChannel`
Throws:
  `java.io.IOException`

#### write

    public int write(java.nio.ByteBuffer src,
                     long position)
              throws java.io.IOException

Specified by:
  `write` in class `java.nio.channels.FileChannel`
Throws:
  `java.io.IOException`

#### write

    public long write(java.nio.ByteBuffer[] srcs,
                      int offset,
                      int len)
               throws java.io.IOException

Specified by:
  `write` in interface `java.nio.channels.GatheringByteChannel`
Specified by:
  `write` in class `java.nio.channels.FileChannel`
Throws:
  `java.io.IOException`

#### force

    public void force(boolean metaData)
               throws java.io.IOException

Specified by:
  `force` in class `java.nio.channels.FileChannel`
Throws:
  `java.io.IOException`