package com.idega.block.book.data;
import javax.ejb.RemoveException;
import com.idega.data.IDORemoveRelationshipException;
import javax.ejb.FinderException;
import java.util.Collection;
import java.sql.Timestamp;
import com.idega.data.GenericEntity;
/**
* Title: Author bean
* Description:
* Copyright: Copyright (c) 2001
* Company: idega.is
* @author <a href="mailto:laddi@idega.is">��rhallur Helgason</a>
* @version 1.0
*/
public class AuthorBMPBean extends GenericEntity implements Author {
public void initializeAttributes(){
addAttribute(getIDColumnName());
addAttribute(getColumnName(), "Name", true, true, String.class);
addAttribute(getColumnDescription(), "Description", true, true, String.class,10000);
addAttribute(getColumnImageID(), "Image", true, true, Integer.class);
addAttribute(getColumnDate(),"Date added",true,true,Timestamp.class);
setNullable(getColumnImageID(),true);
}
public String getIDColumnName(){ return "BO_AUTHOR_ID";}
protected static String getEntityTableName(){ return "BO_AUTHOR";}
protected static String getColumnName(){ return "AUTHOR_NAME";}
protected static String getColumnImageID(){ return "IC_FILE_ID";}
protected static String getColumnDescription(){ return "AUTHOR_DESCRIPTION";}
protected static String getColumnDate(){ return "DATE_ADDED";}
public String getEntityName(){
return getEntityTableName();
}
public String getName(){
return getStringColumnValue(getColumnName());
}
public void setName(String name){
setColumn(getColumnName(), name);
}
public int getImage(){
return getIntColumnValue(getColumnImageID());
}
public void setImageID(int imageID){
setColumn(getColumnImageID(), imageID);
}
public String getDescription(){
return getStringColumnValue(getColumnDescription());
}
public void setDescription(String description){
setColumn(getColumnDescription(), description);
}
public Timestamp getDateAdded(){
return (Timestamp) getColumnValue(getColumnDate());
}
public void setDateAdded(Timestamp date){
setColumn(getColumnDate(),date);
}
public Collection ejbFindAllAuthors() throws FinderException {
return super.idoFindIDsBySQL("select * from "+AuthorBMPBean.getEntityTableName());
}
public Collection ejbFindAllAuthorsByBook(int bookID) throws FinderException {
return super.idoFindIDsBySQL("select a.* from "+getEntityTableName()+" a,"+BookBMPBean.getTableNameBookAuthor()+" ba where a."+getIDColumnName()+" = ba."+getIDColumnName()+" and ba.BO_BOOK_ID = "+String.valueOf(bookID));
}
public void remove() throws RemoveException{
try{
idoRemoveFrom(Book.class);
}
catch(IDORemoveRelationshipException e){
throw new RemoveException(e.getMessage());
}
super.remove();
}
}