package com.diodesoftware.scb.tables;
import com.diodesoftware.dbmapper.DatabaseEntry;
import com.diodesoftware.dbmapper.DatabaseColumn;
import com.diodesoftware.dbmapper.DatabaseColumnType;
import com.diodesoftware.scb.ClipUtil;
import java.util.Calendar;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import org.apache.log4j.Logger;
public class CancelEmail implements DatabaseEntry {
private static Logger log = Logger.getLogger(CancelEmail.class);
private int number;
private int userId;
private String value;
private Calendar created = Calendar.getInstance();
private DatabaseColumn[] columns = new DatabaseColumn[]{
new DatabaseColumn("UserId", DatabaseColumnType.DECIMAL),
new DatabaseColumn("Value", DatabaseColumnType.CHAR_200),
new DatabaseColumn("Created", DatabaseColumnType.DATE12)
};
public DatabaseColumn[] columns() {
return columns;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public Calendar getCreated() {
return created;
}
public void setCreated(Calendar created) {
this.created = created;
}
public static String genValue(Connection con) {
String s = ClipUtil.genString(150);
boolean found = false;
String sql = "Select * from CancelEmail where Value = ?";
try{
PreparedStatement prepStmt = con.prepareStatement(sql);
prepStmt.setString(1,s);
ResultSet rs = prepStmt.executeQuery();
if(rs.next()){
found = true;
}
rs.close();
prepStmt.close();
}catch(SQLException e){
log.error("Error running SQL [" + sql + "]", e);
}
if(found)return genValue(con);
return s;
}
}