org.jrobin.core.jrrd
Class RRDatabase

java.lang.Object
  extended by org.jrobin.core.jrrd.RRDatabase

public class RRDatabase
extends Object

Instances of this class model Round Robin Database (RRD) files.

Version:
$Revision: 1.3 $
Author:
Ciaran Treanor

Constructor Summary
RRDatabase(File file)
          Creates a database to read from.
RRDatabase(String name)
          Creates a database to read from.
 
Method Summary
 void close()
          Closes this database stream and releases any associated system resources.
 Archive getArchive(int index)
          Returns the Archive at the specified position in this database.
 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 the DataSource 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 the Header 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RRDatabase

public RRDatabase(String name)
           throws IOException
Creates a database to read from.

Parameters:
name - the filename of the file to read from.
Throws:
IOException - if an I/O error occurs.

RRDatabase

public RRDatabase(File file)
           throws IOException
Creates a database to read from.

Parameters:
file - the file to read from.
Throws:
IOException - if an I/O error occurs.
Method Detail

getHeader

public Header getHeader()
Returns the Header 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 by rrdtool 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 the DataSource at the specified position in this database.

Parameters:
index - index of DataSource 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 the Archive at the specified position in this database.

Parameters:
index - index of Archive 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.

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 for double 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 print doubles as.

toXml

public void toXml(PrintStream s)
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.

toString

public String toString()
Returns a summary the contents of this database.

Overrides:
toString in class Object
Returns:
a summary of the information contained in this database.


Copyright 2003-2008. All Rights Reserved.