simtools.data.buffer
Class ResizeableBuffer

java.lang.Object
  extended by simtools.data.ValueProvider
      extended by simtools.data.buffer.Buffer
          extended by simtools.data.buffer.SimpleBuffer
              extended by simtools.data.buffer.ResizeableBuffer
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable
Direct Known Subclasses:
DelayedBuffer

public class ResizeableBuffer
extends SimpleBuffer

The ResizeableBuffer is a simple buffer that can resize itself when necessary (getting bigger or smaller), within a maximum memory usage limit.

Version:
1.0 2001
Author:
Nicolas Brodu
See Also:
Serialized Form

Nested Class Summary
 class ResizeableBuffer.ResizeableByteManipulator
          This class handles optimization for byte objects.
 class ResizeableBuffer.ResizeableDoubleManipulator
          This class handles optimization for double objects.
 class ResizeableBuffer.ResizeableFloatManipulator
          This class handles optimization for float objects.
 class ResizeableBuffer.ResizeableIntegerManipulator
          This class handles optimization for int objects.
 class ResizeableBuffer.ResizeableLongManipulator
          This class handles optimization for long objects.
 class ResizeableBuffer.ResizeableObjectManipulator
          This class handles optimization for Object objects.
 class ResizeableBuffer.ResizeableShortManipulator
          This class handles optimization for short objects.
 
Nested classes/interfaces inherited from class simtools.data.buffer.SimpleBuffer
SimpleBuffer.SimpleByteManipulator, SimpleBuffer.SimpleDoubleManipulator, SimpleBuffer.SimpleFloatManipulator, SimpleBuffer.SimpleIntegerManipulator, SimpleBuffer.SimpleLongManipulator, SimpleBuffer.SimpleObjectManipulator, SimpleBuffer.SimpleShortManipulator
 
Nested classes/interfaces inherited from class simtools.data.buffer.Buffer
Buffer.ByteManipulator, Buffer.DoubleManipulator, Buffer.FloatManipulator, Buffer.IntegerManipulator, Buffer.LongManipulator, Buffer.Manipulator, Buffer.ObjectManipulator, Buffer.ShortManipulator
 
Field Summary
protected  int maxSize
           
protected  int minSize
           
 
Fields inherited from class simtools.data.buffer.SimpleBuffer
valid
 
Fields inherited from class simtools.data.buffer.Buffer
byteManipulator, doubleManipulator, endIndex, floatManipulator, intManipulator, longManipulator, objectManipulator, provider, shortManipulator, startIndex
 
Fields inherited from class simtools.data.ValueProvider
ByteProvider, DoubleProvider, FloatProvider, IntegerProvider, kind, LongProvider, ObjectProvider, ShortProvider
 
Constructor Summary
ResizeableBuffer()
           
ResizeableBuffer(int sizeMax)
           
ResizeableBuffer(int type, int sizeMax)
           
ResizeableBuffer(int type, ValueProvider vp)
           
ResizeableBuffer(int type, ValueProvider prov, int sizeMax)
           
ResizeableBuffer(int type, ValueProvider prov, int sizeMin, int sizeMax)
           
ResizeableBuffer(ValueProvider prov)
           
ResizeableBuffer(ValueProvider prov, int sizeMax)
           
 
Method Summary
protected  Buffer.Manipulator createManipulator(int kind)
          Manipulator factory Subclasses shall implement it to return their specialized versions of Manipulators.
 
Methods inherited from class simtools.data.buffer.SimpleBuffer
clone, initialize
 
Methods inherited from class simtools.data.buffer.Buffer
clear, getByteValue, getDoubleValue, getEndIndex, getFloatValue, getIntegerValue, getKind, getLongValue, getProvider, getShortValue, getStartIndex, getValue, setByteValue, setDoubleValue, setFloatValue, setIntegerValue, setLongValue, setProvider, setShortValue, setSlice, setValue
 
Methods inherited from class simtools.data.ValueProvider
getObjectValue, valueClass
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

minSize

protected int minSize

maxSize

protected int maxSize
Constructor Detail

ResizeableBuffer

public ResizeableBuffer()

ResizeableBuffer

public ResizeableBuffer(int sizeMax)

ResizeableBuffer

public ResizeableBuffer(int type,
                        int sizeMax)

ResizeableBuffer

public ResizeableBuffer(ValueProvider prov)

ResizeableBuffer

public ResizeableBuffer(ValueProvider prov,
                        int sizeMax)

ResizeableBuffer

public ResizeableBuffer(int type,
                        ValueProvider vp)

ResizeableBuffer

public ResizeableBuffer(int type,
                        ValueProvider prov,
                        int sizeMax)

ResizeableBuffer

public ResizeableBuffer(int type,
                        ValueProvider prov,
                        int sizeMin,
                        int sizeMax)
Method Detail

createManipulator

protected Buffer.Manipulator createManipulator(int kind)
Description copied from class: Buffer
Manipulator factory Subclasses shall implement it to return their specialized versions of Manipulators.

Overrides:
createManipulator in class SimpleBuffer
Returns:
Manipulator a Manipulator which must be a subclass of the corresponding TypeManipulator.