Package org.postgresql.util
Class StreamWrapper
- java.lang.Object
-
- org.postgresql.util.StreamWrapper
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
public final class StreamWrapper extends java.lang.Object implements java.io.Closeable
Wrapper around a length-limited InputStream.
-
-
Field Summary
Fields Modifier and Type Field Description private LazyCleaner.Cleanable<java.io.IOException>
cleaner
private java.lang.Object
leakHandle
private int
length
private static int
MAX_MEMORY_BUFFER_BYTES
private int
offset
private byte[]
rawData
private java.io.InputStream
stream
private static java.lang.String
TEMP_FILE_PREFIX
private TempFileHolder
tempFileHolder
-
Constructor Summary
Constructors Constructor Description StreamWrapper(byte[] data, int offset, int length)
StreamWrapper(java.io.InputStream stream)
StreamWrapper(java.io.InputStream stream, int length)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
private static int
copyStream(java.io.InputStream inputStream, java.io.OutputStream outputStream, int limit)
byte[]
getBytes()
int
getLength()
int
getOffset()
java.io.InputStream
getStream()
java.lang.String
toString()
-
-
-
Field Detail
-
MAX_MEMORY_BUFFER_BYTES
private static final int MAX_MEMORY_BUFFER_BYTES
- See Also:
- Constant Field Values
-
TEMP_FILE_PREFIX
private static final java.lang.String TEMP_FILE_PREFIX
- See Also:
- Constant Field Values
-
stream
private final java.io.InputStream stream
-
tempFileHolder
private TempFileHolder tempFileHolder
-
leakHandle
private final java.lang.Object leakHandle
-
cleaner
private LazyCleaner.Cleanable<java.io.IOException> cleaner
-
rawData
private final byte[] rawData
-
offset
private final int offset
-
length
private final int length
-
-
Constructor Detail
-
StreamWrapper
public StreamWrapper(byte[] data, int offset, int length)
-
StreamWrapper
public StreamWrapper(java.io.InputStream stream, int length)
-
StreamWrapper
public StreamWrapper(java.io.InputStream stream) throws PSQLException
- Throws:
PSQLException
-
-
Method Detail
-
getStream
public java.io.InputStream getStream() throws java.io.IOException
- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Throws:
java.io.IOException
-
getLength
public int getLength()
-
getOffset
public int getOffset()
-
getBytes
public byte[] getBytes()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
copyStream
private static int copyStream(java.io.InputStream inputStream, java.io.OutputStream outputStream, int limit) throws java.io.IOException
- Throws:
java.io.IOException
-
-