//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;
/**
* groups table
*
* @version 0.1
* @author Ted Wen
* @date Jan.2007
*/
public class Groups implements java.io.Serializable
{
protected static final long serialVersionUID = 109L;
private Logger log_ = Logger.getLogger(Groups.class.getName());
private boolean[] setreg_ = new boolean[8];
private Connection con_;
private int groupid_; ///Group ID
private String groupname_; ///name of the group
private int leader_; ///user id for the group leader
private java.sql.Date createdate_; ///create date
private short publicity_; ///0=hidden,1=no_apply,2=apply,3=join
private int points_; ///group points
private int members_; ///number of members
private String desc_; ///description of the group
/**
* Construct an empty Groups object.
*
*/
public Groups()
{
}
/**
* Construct a Groups object with a Connection instance.
*
* @param con - Connection object
*/
public Groups(Connection con)
{
con_ = con;
}
/**
* Construct with a query on primary key(s)
*
*/
public Groups(Connection con, int _groupid) throws SQLException
{
con_ = con;
queryByPrimaryKey(_groupid);
}
/**
* Setter for Connection object
*
*/
public void setConnection(Connection con)
{
this.con_ = con;
}
/**
* Getter for F_GroupID
*
*/
public int getGroupID()
{
return groupid_;
}
/**
* Setter for F_GroupID
*
*/
public void setGroupID(int _groupid)
{
groupid_ = _groupid;
setreg_[0] = true;
}
/**
* Getter for F_GroupName
*
*/
public String getGroupName()
{
return groupname_;
}
/**
* Setter for F_GroupName
*
*/
public void setGroupName(String _groupname)
{
groupname_ = _groupname;
setreg_[1] = true;
}
/**
* Getter for F_Leader
*
*/
public int getLeader()
{
return leader_;
}
/**
* Setter for F_Leader
*
*/
public void setLeader(int _leader)
{
leader_ = _leader;
setreg_[2] = true;
}
/**
* Getter for F_CreateDate
*
*/
public java.sql.Date getCreateDate()
{
return createdate_;
}
/**
* Setter for F_CreateDate
*
*/
public void setCreateDate(java.sql.Date _createdate)
{
createdate_ = _createdate;
setreg_[3] = true;
}
/**
* Getter for F_Publicity
*
*/
public short getPublicity()
{
return publicity_;
}
/**
* Setter for F_Publicity
*
*/
public void setPublicity(short _publicity)
{
publicity_ = _publicity;
setreg_[4] = true;
}
/**
* Getter for F_Points
*
*/
public int getPoints()
{
return points_;
}
/**
* Setter for F_Points
*
*/
public void setPoints(int _points)
{
points_ = _points;
setreg_[5] = true;
}
/**
* Getter for F_Members
*
*/
public int getMembers()
{
return members_;
}
/**
* Setter for F_Members
*
*/
public void setMembers(int _members)
{
members_ = _members;
setreg_[6] = true;
}
/**
* Getter for F_Desc
*
*/
public String getDesc()
{
return desc_;
}
/**
* Setter for F_Desc
*
*/
public void setDesc(String _desc)
{
desc_ = _desc;
setreg_[7] = 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 _groupid - int
*/
public void queryByPrimaryKey(int _groupid) throws SQLException
{
if (this.con_ == null)
{
log_.severe("Connetion object null");
throw new SQLException("Connection object not set.");
}
String sql = "select * from T_Groups where F_GroupID=?";
PreparedStatement stmt = null;
ResultSet rs = null;
try
{
stmt = con_.prepareStatement(sql);
stmt.setInt(1,_groupid);
rs = stmt.executeQuery();
if (rs.next())
{
setGroupID(rs.getInt(1));
setGroupName(rs.getString(2));
setLeader(rs.getInt(3));
setCreateDate(rs.getDate(4));
setPublicity(rs.getShort(5));
setPoints(rs.getInt(6));
setMembers(rs.getInt(7));
setDesc(rs.getString(8));
}
}
catch (SQLException e)
{
log_.severe(e.toString());
throw e;
}
finally
{
try {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
}
catch (SQLException x)
{
}
}
}
/**
*
*
* @param offset - int
* @param limit - int
*/
public ArrayList<GroupRec> queryPublicGroups(int offset, int limit) throws SQLException
{
if (this.con_ == null)
{
log_.severe("Connetion object null");
throw new SQLException("Connection object not set.");
}
String sql = "select F_GroupID,F_GroupName,F_Publicity,F_CreateDate,F_Members,F_Realname from T_Groups G,T_Users U where G.F_Publicity>0 and G.F_Leader=U.F_UserID order by G.F_GroupName limit ? offset ?";
ArrayList<GroupRec> result = new ArrayList<GroupRec>();
PreparedStatement stmt = null;
ResultSet rs = null;
try
{
stmt = con_.prepareStatement(sql);
stmt.setInt(1,limit);
stmt.setInt(2,offset);
rs = stmt.executeQuery();
while (rs.next())
{
GroupRec s = new GroupRec();
s.setId(rs.getInt(1));
s.setName(rs.getString(2));
s.setPublicity(rs.getShort(3));
s.setDate(rs.getDate(4));
s.setMembers(rs.getInt(5));
s.setLeader(rs.getString(6));
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;
}
/**
*
*
* @param offset - int
* @param limit - int
*/
public ArrayList<GroupRec> queryLatestPublicGroups(int offset, int limit) throws SQLException
{
if (this.con_ == null)
{
log_.severe("Connetion object null");
throw new SQLException("Connection object not set.");
}
String sql = "select F_GroupID,F_GroupName,F_Publicity,F_CreateDate,F_Members,U.F_Realname from T_Groups G,T_Users U where G.F_Publicity>0 and G.F_Leader=U.F_UserID order by G.F_CreateDate desc limit ? offset ?";
ArrayList<GroupRec> result = new ArrayList<GroupRec>();
PreparedStatement stmt = null;
ResultSet rs = null;
try
{
stmt = con_.prepareStatement(sql);
stmt.setInt(1,limit);
stmt.setInt(2,offset);
rs = stmt.executeQuery();
while (rs.next())
{
GroupRec s = new GroupRec();
s.setId(rs.getInt(1));
s.setName(rs.getString(2));
s.setPublicity(rs.getShort(3));
s.setDate(rs.getDate(4));
s.setMembers(rs.getInt(5));
s.setLeader(rs.getString(6));
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;
}
/**
*
*
* @param offset - int
* @param limit - int
*/
public ArrayList<GroupRec> queryLargestPublicGroups(int offset, int limit) throws SQLException
{
if (this.con_ == null)
{
log_.severe("Connetion object null");
throw new SQLException("Connection object not set.");
}
String sql = "select F_GroupID,F_GroupName,F_Publicity,F_CreateDate,F_Members,U.F_Realname from T_Groups G,T_Users U where G.F_Publicity>0 and G.F_Leader=U.F_UserID order by G.F_Members desc limit ? offset ?";
ArrayList<GroupRec> result = new ArrayList<GroupRec>();
PreparedStatement stmt = null;
ResultSet rs = null;
try
{
stmt = con_.prepareStatement(sql);
stmt.setInt(1,limit);
stmt.setInt(2,offset);
rs = stmt.executeQuery();
while (rs.next())
{
GroupRec s = new GroupRec();
s.setId(rs.getInt(1));
s.setName(rs.getString(2));
s.setPublicity(rs.getShort(3));
s.setDate(rs.getDate(4));
s.setMembers(rs.getInt(5));
s.setLeader(rs.getString(6));
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_Groups where F_GroupID=?";
PreparedStatement stmt = null;
ResultSet rs = null;
try
{
stmt = con.prepareStatement(sql,ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_UPDATABLE);
stmt.setInt(1, groupid_);
stmt.setFetchSize(1);
rs = stmt.executeQuery();
rs.moveToInsertRow();
if (setreg_[0]) rs.updateInt(1,groupid_);
if (setreg_[1]) rs.updateString(2,groupname_);
if (setreg_[2]) rs.updateInt(3,leader_);
if (setreg_[3]) rs.updateDate(4,createdate_);
if (setreg_[4]) rs.updateShort(5,publicity_);
if (setreg_[5]) rs.updateInt(6,points_);
if (setreg_[6]) rs.updateInt(7,members_);
if (setreg_[7]) rs.updateString(8,desc_);
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_Groups where F_GroupID=?";
PreparedStatement stmt = null;
ResultSet rs = null;
try
{
stmt = con.prepareStatement(sql,ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_UPDATABLE);
stmt.setInt(1, groupid_);
rs = stmt.executeQuery();
if (rs.next())
{
if (setreg_[1]) rs.updateString(2,groupname_);
if (setreg_[2]) rs.updateInt(3,leader_);
if (setreg_[3]) rs.updateDate(4,createdate_);
if (setreg_[4]) rs.updateShort(5,publicity_);
if (setreg_[5]) rs.updateInt(6,points_);
if (setreg_[6]) rs.updateInt(7,members_);
if (setreg_[7]) rs.updateString(8,desc_);
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 _groupid - int
*/
public void delete(int _groupid) throws SQLException
{
if (this.con_ == null)
{
log_.severe("Connetion object null");
throw new SQLException("Connection object not set.");
}
String sql = "delete from T_Groups where F_GroupID=?";
PreparedStatement stmt = null;
try
{
stmt = con_.prepareStatement(sql);
stmt.setInt(1,_groupid);
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_Groups where F_GroupID=?";
PreparedStatement stmt = null;
try
{
stmt = con_.prepareStatement(sql);
stmt.setInt(1,groupid_);
stmt.executeUpdate();
}
catch (SQLException e)
{
log_.severe(e.toString());
throw e;
}
finally
{
try {
if (stmt != null) stmt.close();
}
catch (SQLException x)
{
}
}
}
}