com.imagero.uio.buffer
Class OutputStreamBufferManager

java.lang.Object
  extended bycom.imagero.uio.buffer.AbstractBufferManager
      extended bycom.imagero.uio.buffer.OutputStreamBufferManager
All Implemented Interfaces:
BufferManager, MutableBufferManager

public class OutputStreamBufferManager
extends AbstractBufferManager
implements MutableBufferManager


Field Summary
 
Fields inherited from class com.imagero.uio.buffer.AbstractBufferManager
defaultBufferSize
 
Fields inherited from interface com.imagero.uio.buffer.BufferManager
empty
 
Constructor Summary
OutputStreamBufferManager(java.io.OutputStream out)
           
OutputStreamBufferManager(java.io.OutputStream out, int bufferSize)
           
 
Method Summary
 void clear()
          clear all buffered data without closing
 void clear(long start, long end)
          all buffered data in stream between start and end will be cleared
 void close()
          Allows to free all possibly used resources
 void flush()
          write changed data back (if cached)
 byte[] getData(int i)
          Get data (as byte array) from i'th Buffer
 int getDataLength(int i)
          Get length of i'th Buffer
 long getDataStart(int i)
          get start of i'th Buffer in byte
 int getIndex(long pos)
          Get index of Buffer which contains pos
 long getLength()
          Get length of data of all Buffer together
 void setDirty(int index)
          mark region as dirty (changed)
 void setMaxCache(int max)
          set max buffer count
 
Methods inherited from class com.imagero.uio.buffer.AbstractBufferManager
clearImpl, createAccessManager, getCount, getDefaultBufferSize, getEnd, getMaxCache, getStart, setDefaultBufferSize, setDirty
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.imagero.uio.buffer.MutableBufferManager
setDirty
 
Methods inherited from interface com.imagero.uio.buffer.BufferManager
getCount, getMaxCache
 

Constructor Detail

OutputStreamBufferManager

public OutputStreamBufferManager(java.io.OutputStream out)

OutputStreamBufferManager

public OutputStreamBufferManager(java.io.OutputStream out,
                                 int bufferSize)
Method Detail

getData

public byte[] getData(int i)
               throws java.io.IOException
Description copied from interface: BufferManager
Get data (as byte array) from i'th Buffer

Specified by:
getData in interface BufferManager
Parameters:
i - Buffer index
Returns:
byte array
Throws:
java.io.IOException

getDataLength

public int getDataLength(int i)
Description copied from interface: BufferManager
Get length of i'th Buffer

Specified by:
getDataLength in interface BufferManager
Parameters:
i - Buffer index
Returns:
int

getIndex

public int getIndex(long pos)
Description copied from interface: BufferManager
Get index of Buffer which contains pos

Specified by:
getIndex in interface BufferManager
Parameters:
pos -

getLength

public long getLength()
Description copied from interface: BufferManager
Get length of data of all Buffer together

Specified by:
getLength in interface BufferManager

close

public void close()
Description copied from interface: BufferManager
Allows to free all possibly used resources

Specified by:
close in interface BufferManager

getDataStart

public long getDataStart(int i)
Description copied from interface: BufferManager
get start of i'th Buffer in byte

Specified by:
getDataStart in interface BufferManager
Parameters:
i - Buffer index
Returns:
int
                          n-1
dataStart(n) = Σ getDataLength(i)
                          i=0

clear

public void clear()
Description copied from interface: BufferManager
clear all buffered data without closing

Specified by:
clear in interface BufferManager
Overrides:
clear in class AbstractBufferManager

setMaxCache

public void setMaxCache(int max)
Description copied from interface: BufferManager
set max buffer count

Specified by:
setMaxCache in interface BufferManager
Overrides:
setMaxCache in class AbstractBufferManager

clear

public void clear(long start,
                  long end)
           throws java.io.IOException
Description copied from interface: BufferManager
all buffered data in stream between start and end will be cleared

Specified by:
clear in interface BufferManager
Overrides:
clear in class AbstractBufferManager
Throws:
java.io.IOException

flush

public void flush()
           throws java.io.IOException
Description copied from interface: MutableBufferManager
write changed data back (if cached)

Specified by:
flush in interface MutableBufferManager
Overrides:
flush in class AbstractBufferManager
Throws:
java.io.IOException

setDirty

public void setDirty(int index)
Description copied from interface: MutableBufferManager
mark region as dirty (changed)

Specified by:
setDirty in interface MutableBufferManager
Overrides:
setDirty in class AbstractBufferManager