|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jrobin.core.Robin
public class Robin
Class to represent archive values for a single datasource. Robin class is the heart of the so-called "round robin database" concept. Basically, each Robin object is a fixed length array of double values. Each double value reperesents consolidated, archived value for the specific timestamp. When the underlying array of double values gets completely filled, new values will replace the oldest ones.
Robin object does not hold values in memory - such object could be quite large. Instead of it, Robin reads them from the backend I/O only when necessary.
Method Summary | |
---|---|
void |
copyStateTo(org.jrobin.core.RrdUpdater other)
Copies object's internal state to another Robin object. |
void |
filterValues(double minValue,
double maxValue)
Filters values stored in this archive based on the given boundary. |
Archive |
getParent()
Returns the Archive object to which this Robin object belongs. |
org.jrobin.core.RrdAllocator |
getRrdAllocator()
Required to implement RrdUpdater interface. |
RrdBackend |
getRrdBackend()
Returns the underlying storage (backend) object which actually performs all I/O operations. |
int |
getSize()
Returns the size of the underlying array of archived values. |
double |
getValue(int index)
Returns the i-th value from the Robin archive. |
double[] |
getValues()
Fetches all archived values. |
void |
setValue(int index,
double value)
Sets the i-th value in the Robin archive. |
void |
setValues(double newValue)
(Re)sets all values in this archive to the same value. |
void |
setValues(double[] newValues)
Updates archived values in bulk. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public double[] getValues() throws java.io.IOException
java.io.IOException
- Thrown in case of I/O specific error.public void setValues(double[] newValues) throws java.io.IOException, RrdException
newValues
- Array of double values to be stored in the archive
java.io.IOException
- Thrown in case of I/O error
RrdException
- Thrown if the length of the input array is different from the length of
this archivepublic void setValues(double newValue) throws java.io.IOException
newValue
- New value
java.io.IOException
- Thrown in case of I/O errorpublic double getValue(int index) throws java.io.IOException
index
- Value index
java.io.IOException
- Thrown in case of I/O specific error.public void setValue(int index, double value) throws java.io.IOException
index
- index in the archive (the oldest value has zero index)value
- value to be stored
java.io.IOException
- Thrown in case of I/O specific error.public Archive getParent()
public int getSize()
public void copyStateTo(org.jrobin.core.RrdUpdater other) throws java.io.IOException, RrdException
other
- New Robin object to copy state to
java.io.IOException
- Thrown in case of I/O error
RrdException
- Thrown if supplied argument is not a Robin objectpublic void filterValues(double minValue, double maxValue) throws java.io.IOException
[minValue, maxValue]
interval (inclusive)
will be silently replaced with NaN
.
minValue
- lower boundarymaxValue
- upper boundary
java.io.IOException
- Thrown in case of I/O errorpublic RrdBackend getRrdBackend()
public org.jrobin.core.RrdAllocator getRrdAllocator()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |