/* * Created on Mar 14, 2007 * * @author Timothy Danford */ package org.seqcode.data.core; import java.sql.*; import org.seqcode.data.connections.DatabaseSequence; /* create sequence timepoint_id; create table timepoint ( id number(10), time_series number(10), series_order number(10), name varchar2(100) ); */ public class TimePoint { private int dbid; private TimeSeries series; private int order; private String name; public TimePoint(ResultSet rs, TimeSeriesLoader loader) throws SQLException { dbid = rs.getInt(1); series = loader.loadTimeSeries(rs.getInt(2)); order = rs.getInt(3); name = rs.getString(4); } public int getDBID() { return dbid; } public TimeSeries getSeries() { return series; } public int getOrder() { return order; } public String getName() { return name; } public int hashCode() { int code = 17; code += dbid; code *= 37; return code; } public boolean equals(Object o) { if(!(o instanceof TimePoint)) { return false; } TimePoint tp = (TimePoint)o; if(dbid != tp.dbid) { return false; } return true; } public String toString() { return "TimePoint #" + order + " in \"" + series.getName() + "\" (" + name + ")"; } public static PreparedStatement prepareLoadByID(java.sql.Connection cxn) throws SQLException { String query = "select id, time_series, series_order, name from timepoint where id=?"; return cxn.prepareStatement(query); } public static PreparedStatement prepareLoadBySeriesID(java.sql.Connection cxn) throws SQLException { String query = "select id, time_series, series_order, name from timepoint where series=? order by series_order"; return cxn.prepareStatement(query); } public static PreparedStatement prepareInsert(java.sql.Connection cxn) throws SQLException { String nextID = DatabaseSequence.getInsertSQL(cxn, "timepoint_id"); String query = "insert into timepoint (id, time_series, series_order, name) values (" + nextID + ", ?, ?, ?)"; return cxn.prepareStatement(query); } }