Module com.io7m.jspiel.vanilla
Package com.io7m.jspiel.vanilla
Class RiffRestrictedSeekableByteChannel
- java.lang.Object
-
- com.io7m.jspiel.vanilla.RiffRestrictedSeekableByteChannel
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,java.nio.channels.ByteChannel,java.nio.channels.Channel,java.nio.channels.ReadableByteChannel,java.nio.channels.SeekableByteChannel,java.nio.channels.WritableByteChannel
public final class RiffRestrictedSeekableByteChannel extends java.lang.Object implements java.nio.channels.SeekableByteChannelA byte channel that can only access a specified range of a given underlying channel.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()static java.nio.channels.SeekableByteChannelcreate(java.nio.channels.SeekableByteChannel in_channel, long in_lower, long in_upper, boolean in_allow_close)Create a new restricted seekable byte channel.booleanisOpen()longposition()java.nio.channels.SeekableByteChannelposition(long new_position)intread(java.nio.ByteBuffer dst)longsize()java.nio.channels.SeekableByteChanneltruncate(long size)intwrite(java.nio.ByteBuffer src)
-
-
-
Method Detail
-
create
public static java.nio.channels.SeekableByteChannel create(java.nio.channels.SeekableByteChannel in_channel, long in_lower, long in_upper, boolean in_allow_close)Create a new restricted seekable byte channel.- Parameters:
in_channel- The underlying byte channelin_lower- The lower bound of the accessible rangein_upper- The upper bound of the accessible rangein_allow_close-trueif closing this channel closes the underlying channel- Returns:
- A new channel
-
read
public int read(java.nio.ByteBuffer dst) throws java.io.IOException- Specified by:
readin interfacejava.nio.channels.ReadableByteChannel- Specified by:
readin interfacejava.nio.channels.SeekableByteChannel- Throws:
java.io.IOException
-
write
public int write(java.nio.ByteBuffer src) throws java.io.IOException- Specified by:
writein interfacejava.nio.channels.SeekableByteChannel- Specified by:
writein interfacejava.nio.channels.WritableByteChannel- Throws:
java.io.IOException
-
position
public long position() throws java.io.IOException- Specified by:
positionin interfacejava.nio.channels.SeekableByteChannel- Throws:
java.io.IOException
-
position
public java.nio.channels.SeekableByteChannel position(long new_position) throws java.io.IOException- Specified by:
positionin interfacejava.nio.channels.SeekableByteChannel- Throws:
java.io.IOException
-
size
public long size() throws java.io.IOException- Specified by:
sizein interfacejava.nio.channels.SeekableByteChannel- Throws:
java.io.IOException
-
truncate
public java.nio.channels.SeekableByteChannel truncate(long size) throws java.io.IOException- Specified by:
truncatein interfacejava.nio.channels.SeekableByteChannel- Throws:
java.io.IOException
-
isOpen
public boolean isOpen()
- Specified by:
isOpenin interfacejava.nio.channels.Channel
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.nio.channels.Channel- Specified by:
closein interfacejava.io.Closeable- Throws:
java.io.IOException
-
-