package is.idega.idegaweb.campus.block.mailinglist.data;
/**
* Title:
* Description:
* Copyright: Copyright (c) 2001
* Company: idega.is
* @author 2000 - idega team - <br><a href="mailto:aron@idega.is">Aron Birkir</a><br>
* @version 1.0
*/
import java.rmi.RemoteException;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.util.Collection;
import java.util.Date;
import javax.ejb.FinderException;
import com.idega.data.IDOAddRelationshipException;
import com.idega.data.IDORelationshipException;
import com.idega.data.IDORemoveRelationshipException;
public class EmailLetterBMPBean extends com.idega.data.GenericEntity implements is.idega.idegaweb.campus.block.mailinglist.data.EmailLetter {
public final static String TableName = "cam_email_letter";
public final static String EMAIL_KEY = "email_key";
public final static String SUBJECT = "subject";
public final static String BODY = "body";
public final static String FROM = "from_email";
public final static String PARSE = "parse";
public final static String ONLYUSER = "only_user";
public final static String HOST = "host";
public final static String TYPE = "mail_type";
public EmailLetterBMPBean() {
super();
}
public EmailLetterBMPBean(int id)throws SQLException{
super(id);
}
public void initializeAttributes(){
addAttribute(getIDColumnName());
addAttribute(FROM, "from", true, true, String.class);
addAttribute(EMAIL_KEY, "body", true, true, java.lang.String.class);
addAttribute(SUBJECT, "subject", true, true, java.lang.String.class);
addAttribute(BODY, "body", true, true, java.lang.String.class,4000);
addAttribute(PARSE,"parse",true,true,java.lang.Boolean.class);
addAttribute(ONLYUSER,"Only user",true,true,java.lang.Boolean.class);
addAttribute(HOST,"host",true,true,java.lang.String.class);
addAttribute(TYPE,"type",true,true,java.lang.String.class);
addManyToManyRelationShip(MailingList.class);
}
public String getEntityName(){
return TableName;
}
public String getEmailKey(){
return getStringColumnValue(EMAIL_KEY);
}
public void setEmailKey(String key){
setColumn(EMAIL_KEY,key);
}
public String getBody(){
return getStringColumnValue(BODY);
}
public void setBody(String body){
setColumn(BODY,body);
}
public String getSubject(){
return getStringColumnValue(SUBJECT);
}
public void setSubject(String subject){
setColumn(SUBJECT,subject);
}
public String getFrom(){
return getStringColumnValue(FROM);
}
public void setFrom(String from){
setColumn(FROM,from);
}
public String getHost(){
return getStringColumnValue(HOST);
}
public void setHost(String host){
setColumn(HOST,host);
}
public String getMailType(){
return getStringColumnValue(TYPE);
}
public void setType(String type){
setColumn(TYPE,type);
}
public boolean getParse(){
return getBooleanColumnValue(PARSE);
}
public void setParse(boolean parse){
setColumn(PARSE,parse);
}
public boolean getOnlyUser(){
return getBooleanColumnValue(ONLYUSER);
}
public void setOnlyUser(boolean onlyUser){
setColumn(ONLYUSER,onlyUser);
}
public String getSubjectKey(){
return getEmailKey()+"_subject";
}
public Collection getMailingLists() throws RemoteException {
try {
return super.idoGetRelatedEntities(MailingList.class);
}
catch (IDORelationshipException e) {
throw new RemoteException(e.getMessage());
}
}
public void removeMailingList(MailingList list) throws RemoteException{
try {
super.idoRemoveFrom(list);
}
catch (IDORemoveRelationshipException e) {
throw new RemoteException(e.getMessage());
}
}
public void removeMailingLists() throws RemoteException{
try {
super.idoRemoveFrom(MailingList.class);
}
catch (IDORemoveRelationshipException e) {
throw new RemoteException(e.getMessage());
}
}
public void addMailingList(MailingList list) throws RemoteException{
try {
super.idoAddTo(list);
}
catch (IDOAddRelationshipException e) {
throw new RemoteException(e.getMessage());
}
}
public Collection ejbFindByType(String type)throws FinderException{
return super.idoFindPKsByQuery(super.idoQueryGetSelect().appendWhereEqualsQuoted(TYPE,type));
}
public Collection ejbFindAll()throws FinderException{
return super.idoFindPKsByQuery(super.idoQueryGetSelect().appendOrderBy(TYPE));
}
/* (non-Javadoc)
* @see com.idega.block.email.business.EmailLetter#getCreated()
*/
public Timestamp getCreated() {
return (Timestamp)new Date();
}
/* (non-Javadoc)
* @see com.idega.block.email.business.EmailLetter#getFromAddress()
*/
public String getFromAddress() {
return getFrom();
}
/* (non-Javadoc)
* @see com.idega.block.email.business.EmailLetter#getFromName()
*/
public String getFromName() {
return getFrom();
}
/* (non-Javadoc)
* @see com.idega.block.email.business.EmailLetter#getType()
*/
public int getType() {
return -1;
}
/* (non-Javadoc)
* @see com.idega.block.email.business.EmailLetter#getIdentifier()
*/
public Integer getIdentifier() {
return (Integer)getPrimaryKey();
}
}