package com.idega.block.finance.data;
import java.sql.SQLException;
import java.util.Collection;
import javax.ejb.FinderException;
import com.idega.block.category.data.CategoryEntity;
import com.idega.block.category.data.CategoryEntityBMPBean;
import com.idega.data.query.InCriteria;
import com.idega.data.query.MatchCriteria;
import com.idega.data.query.SelectQuery;
/**
* Title: Description: Copyright: Copyright (c) 2001 Company: idega multimedia
*
* @author <a href="mailto:aron@idega.is">Aron Birkir</a>
* @version 1.0
*/
public class AccountKeyBMPBean extends CategoryEntityBMPBean implements
AccountKey, CategoryEntity {
private static final String COLUMN_XML_PARENT_KEY = "xml_parent_key";
public AccountKeyBMPBean() {
super();
}
public AccountKeyBMPBean(int id) throws SQLException {
super(id);
}
public void initializeAttributes() {
addAttribute(getIDColumnName());
addAttribute(getNameColumnName(), "Name", String.class);
addAttribute(getInfoColumnName(), "Info", String.class, 4000);
addAttribute(getOrdinalColumnName(), "Ordinal", Integer.class);
addAttribute(getDivisionColumnName(), "Division", String.class);
addManyToOneRelationship(COLUMN_XML_PARENT_KEY, AccountKey.class);
addManyToOneRelationship(getTariffKeyIdColumnName(), TariffKey.class);
}
public static String getAccountKeyEntityName() {
return "FIN_ACC_KEY";
}
public static String getTariffKeyIdColumnName() {
return "FIN_TARIFF_KEY_ID";
}
public static String getNameColumnName() {
return "NAME";
}
public static String getInfoColumnName() {
return "INFO";
}
public static String getOrdinalColumnName() {
return "ORDINAL";
}
public static String getDivisionColumnName() {
return "DIVISION";
}
public String getEntityName() {
return getAccountKeyEntityName();
}
public int getTariffKeyId() {
return getIntColumnValue(getTariffKeyIdColumnName());
}
public TariffKey getTariffKey() {
return (TariffKey) getColumnValue(getTariffKeyIdColumnName());
}
public void setTariffKeyId(int id) {
setColumn(getTariffKeyIdColumnName(), id);
}
public String getName() {
return getStringColumnValue(getNameColumnName());
}
public void setName(String name) {
setColumn(getNameColumnName(), name);
}
public String getInfo() {
return getStringColumnValue(getInfoColumnName());
}
public void setInfo(String extra_info) {
setColumn(getInfoColumnName(), extra_info);
}
public Integer getOrdinal() {
return getIntegerColumnValue(getOrdinalColumnName());
}
public void setOrdinal(Integer ordinal) {
setColumn(getOrdinalColumnName(), ordinal);
}
public void setOrdinal(int ordinal) {
setColumn(getOrdinalColumnName(), ordinal);
}
public String getDivision() {
return getStringColumnValue(getDivisionColumnName());
}
public void setDivision(String division) {
setColumn(getDivisionColumnName(), division);
}
public AccountKey getXMLParentKey() {
return (AccountKey) getColumnValue(COLUMN_XML_PARENT_KEY);
}
public void setXMLParentKey(AccountKey key) {
setColumn(COLUMN_XML_PARENT_KEY, key);
}
public Collection ejbFindAll() throws FinderException {
SelectQuery query = idoSelectQuery();
query.addOrder(idoQueryTable(), getOrdinalColumnName(), true);
return super.idoFindPKsByQuery(idoQueryGetSelect());
}
public Collection ejbFindBySQL(String sql) throws FinderException {
return super.idoFindPKsBySQL(sql);
}
public Collection ejbFindByCategory(Integer categoryID)
throws FinderException {
SelectQuery query = idoSelectQuery();
query.addCriteria(new MatchCriteria(idoQueryTable(),
getColumnCategoryId(), MatchCriteria.EQUALS, categoryID));
query.addOrder(idoQueryTable(), getOrdinalColumnName(), true);
return super.idoFindPKsByQuery(query);
}
public Collection ejbFindByPrimaryKeys(String[] keys)
throws FinderException {
SelectQuery query = idoSelectQuery();
query.addCriteria(new InCriteria(idoQueryTable(), getIDColumnName(),
keys));
query.addOrder(idoQueryTable(), getOrdinalColumnName(), true);
return super.idoFindPKsByQuery(query);
}
public Object ejbFindByName(String name) throws FinderException {
SelectQuery query = idoSelectQuery();
query.addCriteria(new MatchCriteria(idoQueryTable(),
getNameColumnName(), MatchCriteria.EQUALS, name));
return super.idoFindOnePKByQuery(query);
}
}