Package 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.
-
-
Field Summary
Fields Modifier and Type Field Description static FakeFileChannel
INSTANCE
No need to allocate these, they have no state
-
Constructor Summary
Constructors Modifier Constructor Description private
FakeFileChannel()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.spi.AbstractInterruptibleChannel
begin, close, end, 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 classjava.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 classjava.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 classjava.nio.channels.FileChannel
- Throws:
java.io.IOException
-
position
public long position() throws java.io.IOException
- Specified by:
position
in interfacejava.nio.channels.SeekableByteChannel
- Specified by:
position
in classjava.nio.channels.FileChannel
- Throws:
java.io.IOException
-
position
public java.nio.channels.FileChannel position(long newPosition) throws java.io.IOException
- Specified by:
position
in interfacejava.nio.channels.SeekableByteChannel
- Specified by:
position
in classjava.nio.channels.FileChannel
- Throws:
java.io.IOException
-
read
public int read(java.nio.ByteBuffer dst) throws java.io.IOException
- Specified by:
read
in interfacejava.nio.channels.ReadableByteChannel
- Specified by:
read
in interfacejava.nio.channels.SeekableByteChannel
- Specified by:
read
in classjava.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 classjava.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 interfacejava.nio.channels.ScatteringByteChannel
- Specified by:
read
in classjava.nio.channels.FileChannel
- Throws:
java.io.IOException
-
size
public long size() throws java.io.IOException
- Specified by:
size
in interfacejava.nio.channels.SeekableByteChannel
- Specified by:
size
in classjava.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 classjava.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 classjava.nio.channels.FileChannel
- Throws:
java.io.IOException
-
truncate
public java.nio.channels.FileChannel truncate(long size) throws java.io.IOException
- Specified by:
truncate
in interfacejava.nio.channels.SeekableByteChannel
- Specified by:
truncate
in classjava.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 classjava.nio.channels.FileChannel
- Throws:
java.io.IOException
-
write
public int write(java.nio.ByteBuffer src) throws java.io.IOException
- Specified by:
write
in interfacejava.nio.channels.SeekableByteChannel
- Specified by:
write
in interfacejava.nio.channels.WritableByteChannel
- Specified by:
write
in classjava.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 classjava.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 interfacejava.nio.channels.GatheringByteChannel
- Specified by:
write
in classjava.nio.channels.FileChannel
- Throws:
java.io.IOException
-
force
public void force(boolean metaData) throws java.io.IOException
- Specified by:
force
in classjava.nio.channels.FileChannel
- Throws:
java.io.IOException
-
-