org.apache.solr.common.util
Class FastOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by org.apache.solr.common.util.FastOutputStream
All Implemented Interfaces:
Closeable, DataOutput, Flushable

public class FastOutputStream
extends OutputStream
implements DataOutput

Single threaded buffered OutputStream Internal Solr use only, subject to change.


Field Summary
protected  byte[] buf
           
protected  OutputStream out
           
protected  int pos
           
protected  long written
           
 
Constructor Summary
FastOutputStream(OutputStream w)
           
FastOutputStream(OutputStream sink, byte[] tempBuffer, int start)
           
 
Method Summary
 void close()
           
 void flush()
           
 void flush(byte[] buf, int offset, int len)
          All writes to the sink will go through this method
 void flushBuffer()
          Only flushes the buffer of the FastOutputStream, not that of the underlying stream.
 void reserve(int len)
          reserve at least len bytes at the end of the buffer.
 void setWritten(long written)
          Resets the count returned by written()
 long size()
           
static FastOutputStream wrap(OutputStream sink)
           
 void write(byte b)
           
 void write(byte[] b)
           
 void write(byte[] arr, int off, int len)
           
 void write(int b)
           
 void writeBoolean(boolean v)
           
 void writeByte(int v)
           
 void writeBytes(String s)
           
 void writeChar(int v)
           
 void writeChars(String s)
           
 void writeDouble(double v)
           
 void writeFloat(float v)
           
 void writeInt(int v)
           
 void writeLong(long v)
           
 void writeShort(int v)
           
 void writeUTF(String s)
           
 long written()
          Returns the number of bytes actually written to the underlying OutputStream, not including anything currently buffered by this class itself.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

out

protected final OutputStream out

buf

protected byte[] buf

written

protected long written

pos

protected int pos
Constructor Detail

FastOutputStream

public FastOutputStream(OutputStream w)

FastOutputStream

public FastOutputStream(OutputStream sink,
                        byte[] tempBuffer,
                        int start)
Method Detail

wrap

public static FastOutputStream wrap(OutputStream sink)

write

public void write(int b)
           throws IOException
Specified by:
write in interface DataOutput
Specified by:
write in class OutputStream
Throws:
IOException

write

public void write(byte[] b)
           throws IOException
Specified by:
write in interface DataOutput
Overrides:
write in class OutputStream
Throws:
IOException

write

public void write(byte b)
           throws IOException
Throws:
IOException

write

public void write(byte[] arr,
                  int off,
                  int len)
           throws IOException
Specified by:
write in interface DataOutput
Overrides:
write in class OutputStream
Throws:
IOException

reserve

public void reserve(int len)
             throws IOException
reserve at least len bytes at the end of the buffer. Invalid if len > buffer.length

Throws:
IOException

writeBoolean

public void writeBoolean(boolean v)
                  throws IOException
Specified by:
writeBoolean in interface DataOutput
Throws:
IOException

writeByte

public void writeByte(int v)
               throws IOException
Specified by:
writeByte in interface DataOutput
Throws:
IOException

writeShort

public void writeShort(int v)
                throws IOException
Specified by:
writeShort in interface DataOutput
Throws:
IOException

writeChar

public void writeChar(int v)
               throws IOException
Specified by:
writeChar in interface DataOutput
Throws:
IOException

writeInt

public void writeInt(int v)
              throws IOException
Specified by:
writeInt in interface DataOutput
Throws:
IOException

writeLong

public void writeLong(long v)
               throws IOException
Specified by:
writeLong in interface DataOutput
Throws:
IOException

writeFloat

public void writeFloat(float v)
                throws IOException
Specified by:
writeFloat in interface DataOutput
Throws:
IOException

writeDouble

public void writeDouble(double v)
                 throws IOException
Specified by:
writeDouble in interface DataOutput
Throws:
IOException

writeBytes

public void writeBytes(String s)
                throws IOException
Specified by:
writeBytes in interface DataOutput
Throws:
IOException

writeChars

public void writeChars(String s)
                throws IOException
Specified by:
writeChars in interface DataOutput
Throws:
IOException

writeUTF

public void writeUTF(String s)
              throws IOException
Specified by:
writeUTF in interface DataOutput
Throws:
IOException

flush

public void flush()
           throws IOException
Specified by:
flush in interface Flushable
Overrides:
flush in class OutputStream
Throws:
IOException

close

public void close()
           throws IOException
Specified by:
close in interface Closeable
Overrides:
close in class OutputStream
Throws:
IOException

flushBuffer

public void flushBuffer()
                 throws IOException
Only flushes the buffer of the FastOutputStream, not that of the underlying stream.

Throws:
IOException

flush

public void flush(byte[] buf,
                  int offset,
                  int len)
           throws IOException
All writes to the sink will go through this method

Throws:
IOException

size

public long size()

written

public long written()
Returns the number of bytes actually written to the underlying OutputStream, not including anything currently buffered by this class itself.


setWritten

public void setWritten(long written)
Resets the count returned by written()



Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.