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.CloseableWrapper around a length-limited InputStream.
-
-
Field Summary
Fields Modifier and Type Field Description private LazyCleaner.Cleanable<java.io.IOException>cleanerprivate java.lang.ObjectleakHandleprivate intlengthprivate static intMAX_MEMORY_BUFFER_BYTESprivate intoffsetprivate byte[]rawDataprivate java.io.InputStreamstreamprivate static java.lang.StringTEMP_FILE_PREFIXprivate TempFileHoldertempFileHolder
-
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 voidclose()private static intcopyStream(java.io.InputStream inputStream, java.io.OutputStream outputStream, int limit)byte[]getBytes()intgetLength()intgetOffset()java.io.InputStreamgetStream()java.lang.StringtoString()
-
-
-
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:
closein interfacejava.lang.AutoCloseable- Specified by:
closein 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:
toStringin 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
-
-