cern.colt.buffer
Class DoubleBuffer

java.lang.Object
  extended by cern.colt.PersistentObject
      extended by cern.colt.buffer.DoubleBuffer
All Implemented Interfaces:
DoubleBufferConsumer, java.io.Serializable, java.lang.Cloneable

public class DoubleBuffer
extends PersistentObject
implements DoubleBufferConsumer

Fixed sized (non resizable) streaming buffer connected to a target DoubleBufferConsumer to which data is automatically flushed upon buffer overflow.

Author:
wolfgang.hoschek@cern.ch
See Also:
Serialized Form

Field Summary
protected  int capacity
           
protected  double[] elements
           
protected  DoubleArrayList list
           
protected  int size
           
protected  DoubleBufferConsumer target
           
 
Fields inherited from class cern.colt.PersistentObject
serialVersionUID
 
Constructor Summary
DoubleBuffer(DoubleBufferConsumer target, int capacity)
          Constructs and returns a new buffer with the given target.
 
Method Summary
 void add(double element)
          Adds the specified element to the receiver.
 void addAllOf(DoubleArrayList list)
          Adds all elements of the specified list to the receiver.
 void clear()
          Sets the receiver's size to zero.
 void flush()
          Adds all internally buffered elements to the receiver's target, then resets the current buffer size to zero.
 
Methods inherited from class cern.colt.PersistentObject
clone
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

target

protected DoubleBufferConsumer target

elements

protected double[] elements

list

protected DoubleArrayList list

capacity

protected int capacity

size

protected int size
Constructor Detail

DoubleBuffer

public DoubleBuffer(DoubleBufferConsumer target,
                    int capacity)
Constructs and returns a new buffer with the given target.

Parameters:
target - the target to flush to.
capacity - the number of points the buffer shall be capable of holding before overflowing and flushing to the target.
Method Detail

add

public void add(double element)
Adds the specified element to the receiver.

Parameters:
element - the element to add.

addAllOf

public void addAllOf(DoubleArrayList list)
Adds all elements of the specified list to the receiver.

Specified by:
addAllOf in interface DoubleBufferConsumer
Parameters:
list - the list of which all elements shall be added.

clear

public void clear()
Sets the receiver's size to zero. In other words, forgets about any internally buffered elements.


flush

public void flush()
Adds all internally buffered elements to the receiver's target, then resets the current buffer size to zero.