saaps.dbt
Class MetaData

java.lang.Object
  |
  +--saaps.dbt.MetaData
All Implemented Interfaces:
java.io.Serializable

public class MetaData
extends java.lang.Object
implements java.io.Serializable

MetaData is a class that provides methods to read and write the meta data from or to the meta data file. Each Database class has a meta data file.

Note: The set methods doesn't update the stored metadata, modifications are only made on the current object. When all parameters are set you may create a new MetaData object whith the modified MetaData object as input and the new meta data will be saved to file.

Author:
Leif Kalla, Peter Wintoft
See Also:
Serialized Form

Field Summary
private  java.lang.String baseDir
          Default path to the database.
private  java.lang.String cname
          The class name.
private  boolean cTimeSteps
          True if data is equidistant.
private  java.lang.String descr
          Short description of the data.
private  java.lang.String descrLong
          Long description of the data.
private  java.util.Calendar endTime
          Time of the last data point.
private  java.lang.String[] fieldNames
          Name of each data field.
private  java.lang.String[] fieldTypes
          Type of each data field.
private  java.lang.String[] fieldUnits
          Unit of each data field.
private  java.io.ObjectInputStream in
           
private  java.io.ObjectOutputStream out
           
private  java.util.Hashtable selHash
          Hashtable over the fieldNames.
private  java.util.Calendar startTime
          Time of the first data point.
private  long timeStep
          Time step [milliseconds]
 
Constructor Summary
MetaData()
          Set's the database location from the property selected by saaps.dbt.Database.dataDirVar.
MetaData(MetaData m)
          Run constructor with all arguments extracted from the input MetaData object.
MetaData(java.lang.String cn)
          Loads meta data from file.
MetaData(java.lang.String cn, java.lang.String des, java.lang.String des2, java.util.Calendar st, java.util.Calendar et, boolean ct, long step, java.lang.String[] fn, java.lang.String[] fu, java.lang.String[] ft)
          Stores meta data to file.
MetaData(java.lang.String cn, java.lang.String des, java.lang.String des2, java.util.Calendar st, java.util.Calendar et, boolean ct, java.lang.String[] fn, java.lang.String[] fu, java.lang.String[] ft)
          Run constructor with default time step -1.
 
Method Summary
 void flush()
          Public version of store.
 boolean getCont()
           
 java.lang.String getDescr()
          Gets the short description.
 java.lang.String getDescrLong()
          Gets the long description.
 java.util.Calendar getEndCalendar()
          Gets the end date in Calendar object.
 java.util.Date getEndDate()
          Gets the end date.
 java.lang.String[] getFieldNames()
           
 java.lang.String[] getFieldTypes()
           
 java.lang.String[] getFieldUnits()
           
 int getIndex(java.lang.String str)
          Gets the index of the input field name.
 java.lang.String getName()
          Gets the class name.
 java.util.Calendar getStartCalendar()
          Gets the start date in Calendar object.
 java.util.Date getStartDate()
          Gets the start date.
 long getTimeStep()
           
 void setDates(java.util.Calendar sd, java.util.Calendar ed)
          Sets the start and end date/times.
 void setDates(java.util.Date sd, java.util.Date ed)
          Sets the start and end date/times.
 void setEndDate(java.util.Calendar cal)
          Sets the end date.
 void setEndDate(java.util.Date d)
          Sets the end date.
 void setMetaData(java.lang.String cn, java.lang.String des, java.lang.String des2, java.util.Calendar st, java.util.Calendar et, boolean ct, long step, java.lang.String[] fn, java.lang.String[] fu, java.lang.String[] ft)
          Sets all fields in MetaData.
 void setStartDate(java.util.Calendar cal)
          Sets the start date.
 void setStartDate(java.util.Date d)
          Sets the start date.
private  void store()
          Stores the current MetaData object to file.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

baseDir

private java.lang.String baseDir
Default path to the database.

in

private transient java.io.ObjectInputStream in

out

private transient java.io.ObjectOutputStream out

cname

private java.lang.String cname
The class name.

descr

private java.lang.String descr
Short description of the data.

descrLong

private java.lang.String descrLong
Long description of the data.

startTime

private java.util.Calendar startTime
Time of the first data point.

endTime

private java.util.Calendar endTime
Time of the last data point.

cTimeSteps

private boolean cTimeSteps
True if data is equidistant.

timeStep

private long timeStep
Time step [milliseconds]

fieldNames

private java.lang.String[] fieldNames
Name of each data field.

fieldUnits

private java.lang.String[] fieldUnits
Unit of each data field.

fieldTypes

private java.lang.String[] fieldTypes
Type of each data field.

selHash

private java.util.Hashtable selHash
Hashtable over the fieldNames.
Constructor Detail

MetaData

public MetaData()
Set's the database location from the property selected by saaps.dbt.Database.dataDirVar.

MetaData

public MetaData(java.lang.String cn)
         throws java.io.IOException,
                java.lang.ClassNotFoundException
Loads meta data from file.
Parameters:
cn - Database class name
Throws:
java.io.IOException - when problem reading data from file
java.lang.ClassNotFoundException - when Database class not found

MetaData

public MetaData(java.lang.String cn,
                java.lang.String des,
                java.lang.String des2,
                java.util.Calendar st,
                java.util.Calendar et,
                boolean ct,
                long step,
                java.lang.String[] fn,
                java.lang.String[] fu,
                java.lang.String[] ft)
Stores meta data to file.
Parameters:
cn - Database class name
des - short description
des2 - long description
st - date/time of first item in database
et - date/time of last item in database
ct - true if equidistant data
step - time step in milliseconds
fn - array of field names
ft - array of field types

MetaData

public MetaData(java.lang.String cn,
                java.lang.String des,
                java.lang.String des2,
                java.util.Calendar st,
                java.util.Calendar et,
                boolean ct,
                java.lang.String[] fn,
                java.lang.String[] fu,
                java.lang.String[] ft)
Run constructor with default time step -1.
Parameters:
cn - Database class name
des - short description
des2 - long description
st - date/time of first item in database
et - date/time of last item in database
ct - true if equidistant data
fn - array of field names
ft - array of field types

MetaData

public MetaData(MetaData m)
Run constructor with all arguments extracted from the input MetaData object. Stores meta data to file.
Parameters:
m - meta data
Method Detail

getName

public java.lang.String getName()
Gets the class name.
Returns:
class name

getDescr

public java.lang.String getDescr()
Gets the short description.
Returns:
short description

getDescrLong

public java.lang.String getDescrLong()
Gets the long description.
Returns:
long description

getStartDate

public java.util.Date getStartDate()
Gets the start date.
Returns:
start date

getStartCalendar

public java.util.Calendar getStartCalendar()
Gets the start date in Calendar object.
Returns:
start date (Calendar)

getEndDate

public java.util.Date getEndDate()
Gets the end date.
Returns:
end date

getEndCalendar

public java.util.Calendar getEndCalendar()
Gets the end date in Calendar object.
Returns:
end date (Calendar)

getCont

public boolean getCont()
Returns:
true if Database has equidistant data

getTimeStep

public long getTimeStep()
Returns:
time step of data

getFieldNames

public java.lang.String[] getFieldNames()
Returns:
field names

getFieldUnits

public java.lang.String[] getFieldUnits()
Returns:
field units

getFieldTypes

public java.lang.String[] getFieldTypes()
Returns:
field types

getIndex

public int getIndex(java.lang.String str)
Gets the index of the input field name.
Parameters:
str - data field name
Returns:
the index of this field

setStartDate

public void setStartDate(java.util.Calendar cal)
Sets the start date.
Parameters:
cal - date/time of first item in the Database

setStartDate

public void setStartDate(java.util.Date d)
Sets the start date.
Parameters:
d - start date/time of first item in Database

setEndDate

public void setEndDate(java.util.Calendar cal)
Sets the end date.
Parameters:
cal - end date/time of last item in Database

setEndDate

public void setEndDate(java.util.Date d)
Sets the end date.
Parameters:
d - end date/time of last item in Database

setDates

public void setDates(java.util.Calendar sd,
                     java.util.Calendar ed)
Sets the start and end date/times.
Parameters:
sd - date/time of first item in Database
ed - date/time of last item in Database

setDates

public void setDates(java.util.Date sd,
                     java.util.Date ed)
Sets the start and end date/times.
Parameters:
sd - date/time of first item in Database
ed - date/time of last item in Database

setMetaData

public void setMetaData(java.lang.String cn,
                        java.lang.String des,
                        java.lang.String des2,
                        java.util.Calendar st,
                        java.util.Calendar et,
                        boolean ct,
                        long step,
                        java.lang.String[] fn,
                        java.lang.String[] fu,
                        java.lang.String[] ft)
Sets all fields in MetaData.
Parameters:
cn - Database class name
des - short description
des2 - long description
st - date/time of first item in database
et - date/time of last item in database
ct - true if equidistant data
step - time step in milliseconds
fn - array of field names
ft - array of field types

flush

public void flush()
Public version of store. See store()

store

private void store()
Stores the current MetaData object to file.