Class MemoryAsset
- java.lang.Object
-
- org.jboss.shrinkwrap.api.nio.file.MemoryAsset
-
- 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
,Asset
- Direct Known Subclasses:
MemoryNamedAsset
public class MemoryAsset extends java.lang.Object implements Asset, java.nio.channels.SeekableByteChannel
-
-
Field Summary
Fields Modifier and Type Field Description private SeekableInMemoryByteChannel
delegate
-
Constructor Summary
Constructors Constructor Description MemoryAsset()
Creates a new instance with internal memory buffer initially sized at 0 and at position 0, capable of holding a maximum ofInteger.MAX_VALUE
bytes.MemoryAsset(SeekableInMemoryByteChannel delegate)
Creates a new instance with internal memory buffer delegate using the specified (required)SeekableInMemoryByteChannel
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
boolean
isOpen()
java.io.InputStream
openStream()
Get a input stream for the resource content.long
position()
java.nio.channels.SeekableByteChannel
position(long newPosition)
int
read(java.nio.ByteBuffer dst)
long
size()
java.nio.channels.SeekableByteChannel
truncate(long size)
int
write(java.nio.ByteBuffer src)
-
-
-
Field Detail
-
delegate
private final SeekableInMemoryByteChannel delegate
-
-
Constructor Detail
-
MemoryAsset
public MemoryAsset()
Creates a new instance with internal memory buffer initially sized at 0 and at position 0, capable of holding a maximum ofInteger.MAX_VALUE
bytes.
-
MemoryAsset
MemoryAsset(SeekableInMemoryByteChannel delegate) throws java.lang.IllegalArgumentException
Creates a new instance with internal memory buffer delegate using the specified (required)SeekableInMemoryByteChannel
- Parameters:
delegate
-- Throws:
java.lang.IllegalArgumentException
-
-
Method Detail
-
isOpen
public boolean isOpen()
- Specified by:
isOpen
in interfacejava.nio.channels.Channel
- Returns:
- See Also:
Channel.isOpen()
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.nio.channels.Channel
- Specified by:
close
in interfacejava.io.Closeable
- Throws:
java.io.IOException
- See Also:
Channel.close()
-
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
- Parameters:
dst
-- Returns:
- Throws:
java.io.IOException
- See Also:
SeekableByteChannel.read(java.nio.ByteBuffer)
-
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
- Parameters:
src
-- Returns:
- Throws:
java.io.IOException
- See Also:
SeekableByteChannel.write(java.nio.ByteBuffer)
-
position
public long position() throws java.io.IOException
- Specified by:
position
in interfacejava.nio.channels.SeekableByteChannel
- Returns:
- Throws:
java.io.IOException
- See Also:
SeekableByteChannel.position()
-
position
public java.nio.channels.SeekableByteChannel position(long newPosition) throws java.io.IOException
- Specified by:
position
in interfacejava.nio.channels.SeekableByteChannel
- Parameters:
newPosition
-- Returns:
- Throws:
java.io.IOException
- See Also:
SeekableByteChannel.position(long)
-
size
public long size() throws java.io.IOException
- Specified by:
size
in interfacejava.nio.channels.SeekableByteChannel
- Returns:
- Throws:
java.io.IOException
- See Also:
SeekableByteChannel.size()
-
truncate
public java.nio.channels.SeekableByteChannel truncate(long size) throws java.io.IOException
- Specified by:
truncate
in interfacejava.nio.channels.SeekableByteChannel
- Parameters:
size
-- Returns:
- Throws:
java.io.IOException
- See Also:
SeekableByteChannel.truncate(long)
-
openStream
public java.io.InputStream openStream()
Get a input stream for the resource content. The caller is responsible for closing the stream.- Specified by:
openStream
in interfaceAsset
- Returns:
- A new open
InputStream
for each call - See Also:
Asset.openStream()
-
-