Package org.jrobin.core.jrrd
Class RRDatabase
- java.lang.Object
-
- org.jrobin.core.jrrd.RRDatabase
-
public class RRDatabase extends Object
Instances of this class model Round Robin Database (RRD) files.- Version:
- $Revision$
- Author:
- Ciaran Treanor
-
-
Field Summary
Fields Modifier and Type Field Description (package private) ArrayList<Archive>
archives
(package private) ArrayList<DataSource>
dataSources
(package private) Header
header
(package private) Date
lastUpdate
(package private) RRDFile
rrdFile
-
Constructor Summary
Constructors Constructor Description RRDatabase(File file)
Creates a database to read from.RRDatabase(String name)
Creates a database to read from.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Closes this database stream and releases any associated system resources.Archive
getArchive(int index)
Returns theArchive
at the specified position in this database.(package private) ArrayList<Archive>
getArchiveList(ConsolidationFunctionType type)
Iterator<Archive>
getArchives()
Returns an iterator over the archives in this database in proper sequence.Iterator<Archive>
getArchives(ConsolidationFunctionType type)
Returns an iterator over the archives in this database of the given type in proper sequence.DataChunk
getData(ConsolidationFunctionType type)
Returns data from the database corresponding to the given consolidation function and a step size of 1.DataChunk
getData(ConsolidationFunctionType type, long step)
Returns data from the database corresponding to the given consolidation function.DataSource
getDataSource(int index)
Returns theDataSource
at the specified position in this database.Iterator<DataSource>
getDataSources()
Returns an iterator over the data sources in this database in proper sequence.Header
getHeader()
Returns theHeader
for this database.Date
getLastUpdate()
Returns the date this database was last updated.int
getNumArchives()
Returns the number of archives in this database.void
printInfo(PrintStream s)
Outputs the header information of the database to the given print stream using the default number format.void
printInfo(PrintStream s, NumberFormat numberFormat)
Outputs the header information of the database to the given print stream using the given number format.String
toString()
Returns a summary the contents of this database.void
toXml(PrintStream s)
Outputs the content of the database to the given print stream as a stream of XML.
-
-
-
Constructor Detail
-
RRDatabase
public RRDatabase(String name) throws IOException, RrdException
Creates a database to read from.- Parameters:
name
- the filename of the file to read from.- Throws:
IOException
- if an I/O error occurs.RrdException
-
RRDatabase
public RRDatabase(File file) throws IOException, RrdException
Creates a database to read from.- Parameters:
file
- the file to read from.- Throws:
IOException
- if an I/O error occurs.RrdException
-
-
Method Detail
-
getHeader
public Header getHeader()
Returns theHeader
for this database.- Returns:
- the
Header
for this database.
-
getLastUpdate
public Date getLastUpdate()
Returns the date this database was last updated. To convert this date to the form returned byrrdtool last
call Date.getTime() and divide the result by 1000.- Returns:
- the date this database was last updated.
-
getDataSource
public DataSource getDataSource(int index)
Returns theDataSource
at the specified position in this database.- Parameters:
index
- index ofDataSource
to return.- Returns:
- the
DataSource
at the specified position in this database
-
getDataSources
public Iterator<DataSource> getDataSources()
Returns an iterator over the data sources in this database in proper sequence.- Returns:
- an iterator over the data sources in this database in proper sequence.
-
getArchive
public Archive getArchive(int index)
Returns theArchive
at the specified position in this database.- Parameters:
index
- index ofArchive
to return.- Returns:
- the
Archive
at the specified position in this database.
-
getArchives
public Iterator<Archive> getArchives()
Returns an iterator over the archives in this database in proper sequence.- Returns:
- an iterator over the archives in this database in proper sequence.
-
getNumArchives
public int getNumArchives()
Returns the number of archives in this database.- Returns:
- the number of archives in this database.
-
getArchives
public Iterator<Archive> getArchives(ConsolidationFunctionType type)
Returns an iterator over the archives in this database of the given type in proper sequence.- Parameters:
type
- the consolidation function that should have been applied to the data.- Returns:
- an iterator over the archives in this database of the given type in proper sequence.
-
getArchiveList
ArrayList<Archive> getArchiveList(ConsolidationFunctionType type)
-
close
public void close() throws IOException
Closes this database stream and releases any associated system resources.- Throws:
IOException
- if an I/O error occurs.
-
printInfo
public void printInfo(PrintStream s)
Outputs the header information of the database to the given print stream using the default number format. The default format fordouble
is 0.0000000000E0.- Parameters:
s
- the PrintStream to print the header information to.
-
getData
public DataChunk getData(ConsolidationFunctionType type) throws RrdException, IOException
Returns data from the database corresponding to the given consolidation function and a step size of 1.- Parameters:
type
- the consolidation function that should have been applied to the data.- Returns:
- the raw data.
- Throws:
RrdException
- if there was a problem locating a data archive with the requested consolidation function.IOException
- if there was a problem reading data from the database.
-
getData
public DataChunk getData(ConsolidationFunctionType type, long step) throws RrdException, IOException
Returns data from the database corresponding to the given consolidation function.- Parameters:
type
- the consolidation function that should have been applied to the data.step
- the step size to use.- Returns:
- the raw data.
- Throws:
RrdException
- if there was a problem locating a data archive with the requested consolidation function.IOException
- if there was a problem reading data from the database.
-
printInfo
public void printInfo(PrintStream s, NumberFormat numberFormat)
Outputs the header information of the database to the given print stream using the given number format. The format is almost identical to that produced by rrdtool info- Parameters:
s
- the PrintStream to print the header information to.numberFormat
- the format to printdouble
s as.
-
toXml
public void toXml(PrintStream s) throws RrdException
Outputs the content of the database to the given print stream as a stream of XML. The XML format is almost identical to that produced by rrdtool dump- Parameters:
s
- the PrintStream to send the XML to.- Throws:
RrdException
-
-