Package org.jrobin.core
Class RrdFileBackend
- java.lang.Object
-
- org.jrobin.core.RrdBackend
-
- org.jrobin.core.RrdFileBackend
-
- Direct Known Subclasses:
RrdNioBackend
,RrdNioByteBufferBackend
,RrdSafeFileBackend
public class RrdFileBackend extends RrdBackend
JRobin backend which is used to store RRD data to ordinary files on the disk. This was the default factory before 1.4.0 version.This backend is based on the RandomAccessFile class (java.io.* package).
-
-
Field Summary
Fields Modifier and Type Field Description protected RandomAccessFile
file
radnom access file handle
-
Constructor Summary
Constructors Modifier Constructor Description protected
RrdFileBackend(String path, boolean readOnly)
Creates RrdFileBackend object for the given file path, backed by RandomAccessFile object.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Closes the underlying RRD file.String
getCanonicalPath()
Returns canonical path to the file on the disk.static String
getCanonicalPath(String path)
Returns canonical path to the file on the disk.long
getLength()
Returns RRD file length.protected void
read(long offset, byte[] b)
Reads a number of bytes from the RRD file on the diskprotected void
setLength(long length)
Sets length of the underlying RRD file.protected void
write(long offset, byte[] b)
Writes bytes to the underlying RRD file on the disk-
Methods inherited from class org.jrobin.core.RrdBackend
getPath, isCachingAllowed, isInstanceCreated, isReadOnly, readAll, readDouble, readDouble, readInt, readLong, readString, writeDouble, writeDouble, writeDouble, writeInt, writeLong, writeString
-
-
-
-
Field Detail
-
file
protected RandomAccessFile file
radnom access file handle
-
-
Constructor Detail
-
RrdFileBackend
protected RrdFileBackend(String path, boolean readOnly) throws IOException
Creates RrdFileBackend object for the given file path, backed by RandomAccessFile object.- Parameters:
path
- Path to a filereadOnly
- True, if file should be open in a read-only mode. False otherwise- Throws:
IOException
- Thrown in case of I/O error
-
-
Method Detail
-
close
public void close() throws IOException
Closes the underlying RRD file.- Overrides:
close
in classRrdBackend
- Throws:
IOException
- Thrown in case of I/O error
-
getCanonicalPath
public static String getCanonicalPath(String path) throws IOException
Returns canonical path to the file on the disk.- Parameters:
path
- File path- Returns:
- Canonical file path
- Throws:
IOException
- Thrown in case of I/O error
-
getCanonicalPath
public String getCanonicalPath() throws IOException
Returns canonical path to the file on the disk.- Returns:
- Canonical file path
- Throws:
IOException
- Thrown in case of I/O error
-
write
protected void write(long offset, byte[] b) throws IOException
Writes bytes to the underlying RRD file on the disk- Specified by:
write
in classRrdBackend
- Parameters:
offset
- Starting file offsetb
- Bytes to be written.- Throws:
IOException
- Thrown in case of I/O error
-
read
protected void read(long offset, byte[] b) throws IOException
Reads a number of bytes from the RRD file on the disk- Specified by:
read
in classRrdBackend
- Parameters:
offset
- Starting file offsetb
- Buffer which receives bytes read from the file.- Throws:
IOException
- Thrown in case of I/O error.
-
getLength
public long getLength() throws IOException
Returns RRD file length.- Specified by:
getLength
in classRrdBackend
- Returns:
- File length.
- Throws:
IOException
- Thrown in case of I/O error.
-
setLength
protected void setLength(long length) throws IOException
Sets length of the underlying RRD file. This method is called only once, immediately after a new RRD file gets created.- Specified by:
setLength
in classRrdBackend
- Parameters:
length
- Length of the RRD file- Throws:
IOException
- Thrown in case of I/O error.
-
-