java.lang.Object
org.rrd4j.core.RrdPrimitive<U>
org.rrd4j.core.RrdDoubleArray<U>
- Type Parameters:
U- The type of RrdUpdater this primitive belongs to
RRD primitive type for handling arrays of double values.
This class provides methods to store and retrieve arrays of double values in RRD files. It extends RrdPrimitive to handle the low-level storage operations while providing array-specific access methods.
Field Summary
FieldsFields inherited from class RrdPrimitive
RRD_DOUBLE, RRD_INT, RRD_LONG, RRD_PRIM_SIZES, RRD_STRING, STRING_LENGTHModifier and TypeFieldDescription(package private) static final intType identifier for double RRD primitives.(package private) static final intType identifier for integer RRD primitives.(package private) static final intType identifier for long RRD primitives.(package private) static final int[]Array containing the size in bytes for each RRD primitive type.(package private) static final intType identifier for string RRD primitives.(package private) static final intMaximum length of string values stored in RRD primitives.Constructor Summary
ConstructorsConstructorDescriptionRrdDoubleArray(RrdUpdater<U> updater, int length) Create a varying array-valued primitive.Method Summary
All MethodsModifier and TypeMethodDescription(package private) doubleget(int index) Gets a double value at the specified index.(package private) double[]get(int index, int count) Array of count double values starting at index.(package private) voidset(int index, double value) Sets a double value at the specified index.(package private) voidset(int index, double value, int count) Store one or more values starting at the given index.Methods inherited from class RrdPrimitive
isCachingAllowed, readBytes, readDouble, readDouble, readDouble, readEnum, readInt, readLong, readString, writeBytes, writeDouble, writeDouble, writeDouble, writeDouble, writeEnum, writeInt, writeLong, writeStringModifier and TypeMethodDescription(package private) final booleanChecks if caching is allowed for this primitive.(package private) final byte[]Raw byte array from backend storage.(package private) final doubleReads the double value from backend storage.(package private) final doublereadDouble(int index) Position in the primitive array.(package private) final double[]readDouble(int index, int count) Starting position in the primitive array.protected final <E extends Enum<E>>
EDeserialize an enum value from backend storage.(package private) final intreadInt()Reads the int value from backend storage.(package private) final longreadLong()Reads the long value from backend storage.(package private) final StringReads the string value from backend storage.(package private) final voidwriteBytes(byte[] b) Byte array to write to backend storage.(package private) final voidwriteDouble(double value) Double value to write to backend storage.(package private) final voidwriteDouble(int index, double value) Position in the primitive array.(package private) final voidwriteDouble(int index, double[] values) Starting position in the primitive array.(package private) final voidwriteDouble(int index, double value, int count) Starting position in the primitive array.protected final <E extends Enum<E>>
voidwriteEnum(E value) Serialize an enum value to backend storage.(package private) final voidwriteInt(int value) Int value to write to backend storage.(package private) final voidwriteLong(long value) Long value to write to backend storage.(package private) final voidwriteString(String value) String value to write to backend storage.
Field Details
length
private final int lengthNumber of doubles the primitive occupies.
Constructor Details
RrdDoubleArray
RrdDoubleArray(RrdUpdater<U> updater, int length) Create a varying array-valued primitive.- Parameters:
updater- the source of valueslength- the number of slots in the array
Method Details
set
Sets a double value at the specified index.- Parameters:
index- the index in the arrayvalue- the double value to set- Throws:
IOException- if an I/O error occurs
set
Store one or more values starting at the given index.- Parameters:
index- the slot to write atvalue- the value to writecount- how many consecutive slots to fill- Throws:
IOException- if the underlying store cannot be written
get
Gets a double value at the specified index.- Parameters:
index- the index in the array- Returns:
- the double value at the index
- Throws:
IOException- if an I/O error occurs
get
Array of count double values starting at index.- Parameters:
index- the index of the first value to readcount- how many consecutive values to read, bounded by the array length- Returns:
- a new array with the values copied out
- Throws:
IOException- if the backing store cannot be read