//Generated code by table2java.py, do not modify.
package com.transmem.data.db;
import java.util.logging.Logger;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
/**
* Summary of all corpus statistics, number of sentences
*
* @version 0.1
* @author Ted Wen
* @date Jan.2007
*/
public class Corpora implements java.io.Serializable
{
protected static final long serialVersionUID = 103L;
private Logger log_ = Logger.getLogger(Corpora.class.getName());
private boolean[] setreg_ = new boolean[7];
private Connection con_;
private int corpusid_; ///PK
private String langpair_; ///
private String domain_; ///domain
private int public_; ///number of public sentences
private int group_; ///number of group sentences
private int private_; ///number of private sentences
private int total_; ///total of public,group and private sentences
/**
* Construct an empty Corpora object.
*
*/
public Corpora()
{
}
/**
* Construct a Corpora object with a Connection instance.
*
* @param con - Connection object
*/
public Corpora(Connection con)
{
con_ = con;
}
/**
* Construct with a query on primary key(s)
*
*/
public Corpora(Connection con, int _corpusid) throws SQLException
{
con_ = con;
queryByPrimaryKey(_corpusid);
}
/**
* Setter for Connection object
*
*/
public void setConnection(Connection con)
{
this.con_ = con;
}
/**
* Getter for F_CorpusID
*
*/
public int getCorpusID()
{
return corpusid_;
}
/**
* Setter for F_CorpusID
*
*/
public void setCorpusID(int _corpusid)
{
corpusid_ = _corpusid;
setreg_[0] = true;
}
/**
* Getter for F_LangPair
*
*/
public String getLangPair()
{
return langpair_;
}
/**
* Setter for F_LangPair
*
*/
public void setLangPair(String _langpair)
{
langpair_ = _langpair;
setreg_[1] = true;
}
/**
* Getter for F_Domain
*
*/
public String getDomain()
{
return domain_;
}
/**
* Setter for F_Domain
*
*/
public void setDomain(String _domain)
{
domain_ = _domain;
setreg_[2] = true;
}
/**
* Getter for F_Public
*
*/
public int getPublic()
{
return public_;
}
/**
* Setter for F_Public
*
*/
public void setPublic(int _public)
{
public_ = _public;
setreg_[3] = true;
}
/**
* Getter for F_Group
*
*/
public int getGroup()
{
return group_;
}
/**
* Setter for F_Group
*
*/
public void setGroup(int _group)
{
group_ = _group;
setreg_[4] = true;
}
/**
* Getter for F_Private
*
*/
public int getPrivate()
{
return private_;
}
/**
* Setter for F_Private
*
*/
public void setPrivate(int _private)
{
private_ = _private;
setreg_[5] = true;
}
/**
* Getter for F_Total
*
*/
public int getTotal()
{
return total_;
}
/**
* Setter for F_Total
*
*/
public void setTotal(int _total)
{
total_ = _total;
setreg_[6] = true;
}
/**
* Clear all update tags
*
*/
public void clearUpdates()
{
for (int i=0; i<setreg_.length; i++)
{
setreg_[i] = false;
}
}
/**
* Query by primary key(s), and populate current instance.
*
* @param _corpusid - int
*/
public void queryByPrimaryKey(int _corpusid) throws SQLException
{
if (this.con_ == null)
{
log_.severe("Connetion object null");
throw new SQLException("Connection object not set.");
}
String sql = "select * from T_Corpora where F_CorpusID=?";
PreparedStatement stmt = null;
ResultSet rs = null;
try
{
stmt = con_.prepareStatement(sql);
stmt.setInt(1,_corpusid);
rs = stmt.executeQuery();
if (rs.next())
{
setCorpusID(rs.getInt(1));
setLangPair(rs.getString(2));
setDomain(rs.getString(3));
setPublic(rs.getInt(4));
setGroup(rs.getInt(5));
setPrivate(rs.getInt(6));
setTotal(rs.getInt(7));
}
}
catch (SQLException e)
{
log_.severe(e.toString());
throw e;
}
finally
{
try {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
}
catch (SQLException x)
{
}
}
}
/**
* Query the statistics from the T_Corpora table
*
* @param lang - String
*/
public ArrayList<CorpusTally> queryCorpusStats(String lang) throws SQLException
{
if (this.con_ == null)
{
log_.severe("Connetion object null");
throw new SQLException("Connection object not set.");
}
String sql = "select f_Domain,f_Public,f_Group,f_Private,f_Total from T_Corpora where F_LangPair=? union select 'zz' as f_Domain,sum(f_Public),sum(f_Group),sum(f_Private),sum(f_Total) from T_Corpora where F_LangPair=? order by f_Domain";
ArrayList<CorpusTally> result = new ArrayList<CorpusTally>();
PreparedStatement stmt = null;
ResultSet rs = null;
try
{
stmt = con_.prepareStatement(sql);
stmt.setString(1,lang);
stmt.setString(2,lang);
rs = stmt.executeQuery();
while (rs.next())
{
CorpusTally s = new CorpusTally();
s.setDomain(rs.getString(1));
s.setPublic(rs.getInt(2));
s.setGroup(rs.getInt(3));
s.setPrivate(rs.getInt(4));
s.setTotal(rs.getInt(5));
result.add(s);
}
}
catch (SQLException e)
{
log_.severe(e.toString());
}
finally
{
try {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
}
catch (SQLException x)
{
}
}
return result;
}
/**
* Insert record in table with current data object.
*
*/
public void insert(Connection con) throws SQLException
{
String sql = "select * from T_Corpora where F_CorpusID=?";
PreparedStatement stmt = null;
ResultSet rs = null;
try
{
stmt = con.prepareStatement(sql,ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_UPDATABLE);
stmt.setInt(1, corpusid_);
stmt.setFetchSize(1);
rs = stmt.executeQuery();
rs.moveToInsertRow();
if (setreg_[0]) rs.updateInt(1,corpusid_);
if (setreg_[1]) rs.updateString(2,langpair_);
if (setreg_[2]) rs.updateString(3,domain_);
if (setreg_[3]) rs.updateInt(4,public_);
if (setreg_[4]) rs.updateInt(5,group_);
if (setreg_[5]) rs.updateInt(6,private_);
if (setreg_[6]) rs.updateInt(7,total_);
rs.insertRow();
}
catch (SQLException e)
{
log_.severe(e.toString());
throw e;
}
finally
{
try {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
}
catch (SQLException x)
{
}
}
}
public void insert() throws SQLException
{
if (this.con_ == null)
{
log_.severe("Connetion object null");
throw new SQLException("Connection object not set.");
}
insert(this.con_);
}
/**
* Update record in table with current data object.
* All fields must be set, better query in first.
*
*/
public void update(Connection con) throws SQLException
{
String sql = "select * from T_Corpora where F_CorpusID=?";
PreparedStatement stmt = null;
ResultSet rs = null;
try
{
stmt = con.prepareStatement(sql,ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_UPDATABLE);
stmt.setInt(1, corpusid_);
rs = stmt.executeQuery();
if (rs.next())
{
if (setreg_[1]) rs.updateString(2,langpair_);
if (setreg_[2]) rs.updateString(3,domain_);
if (setreg_[3]) rs.updateInt(4,public_);
if (setreg_[4]) rs.updateInt(5,group_);
if (setreg_[5]) rs.updateInt(6,private_);
if (setreg_[6]) rs.updateInt(7,total_);
rs.updateRow();
}
}
catch (SQLException e)
{
log_.severe(e.toString());
throw e;
}
finally
{
try {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
}
catch (SQLException x)
{
}
}
}
public void update() throws SQLException
{
if (this.con_ == null)
{
log_.severe("Connetion object null");
throw new SQLException("Connection object not set.");
}
update(this.con_);
}
/**
* Delete record by primary key(s).
*
* @param _corpusid - int
*/
public void delete(int _corpusid) throws SQLException
{
if (this.con_ == null)
{
log_.severe("Connetion object null");
throw new SQLException("Connection object not set.");
}
String sql = "delete from T_Corpora where F_CorpusID=?";
PreparedStatement stmt = null;
try
{
stmt = con_.prepareStatement(sql);
stmt.setInt(1,_corpusid);
stmt.executeUpdate();
}
catch (SQLException e)
{
log_.severe(e.toString());
throw e;
}
finally
{
try {
if (stmt != null) stmt.close();
}
catch (SQLException x)
{
}
}
}
/**
* Delete current record by PK with a connection.
*
*/
public void delete(Connection _con) throws SQLException
{
String sql = "delete from T_Corpora where F_CorpusID=?";
PreparedStatement stmt = null;
try
{
stmt = con_.prepareStatement(sql);
stmt.setInt(1,corpusid_);
stmt.executeUpdate();
}
catch (SQLException e)
{
log_.severe(e.toString());
throw e;
}
finally
{
try {
if (stmt != null) stmt.close();
}
catch (SQLException x)
{
}
}
}
}