package com.idega.block.building.data;
import java.util.Collection;
import javax.ejb.FinderException;
import com.idega.block.text.data.TextEntityBMPBean;
import com.idega.data.query.Column;
import com.idega.data.query.InCriteria;
import com.idega.data.query.MatchCriteria;
import com.idega.data.query.SelectQuery;
import com.idega.data.query.Table;
import com.idega.data.query.WildCardColumn;
public class ApartmentSubcategoryBMPBean extends TextEntityBMPBean implements
ApartmentSubcategory {
protected static final String ENTITY_NAME = "bu_aprt_sub_cat";
protected static final String COLUMN_NAME = "name";
protected static final String COLUMN_IMAGE = "image";
protected static final String COLUMN_INFO = "info";
protected static final String COLUMN_APARTMENT_CATEGORY = "aprt_cat";
protected static final String COLUMN_LOCKED = "locked";
public String getEntityName() {
return ENTITY_NAME;
}
public void initializeAttributes() {
addAttribute(getIDColumnName());
addAttribute(COLUMN_NAME, "Name", String.class);
addAttribute(COLUMN_INFO, "Info", String.class, 4000);
addAttribute(COLUMN_IMAGE, "Icon", Integer.class);
addManyToOneRelationship(COLUMN_APARTMENT_CATEGORY,
ApartmentCategory.class);
addAttribute(COLUMN_LOCKED, "locked", Boolean.class);
}
// getters
public String getInfo() {
return getStringColumnValue(COLUMN_INFO);
}
public String getName() {
return getStringColumnValue(COLUMN_NAME);
}
public int getImage() {
return getIntColumnValue(COLUMN_IMAGE);
}
public ApartmentCategory getApartmentCategory() {
return (ApartmentCategory) getColumnValue(COLUMN_APARTMENT_CATEGORY);
}
// setters
public void setInfo(String info) {
setColumn(COLUMN_INFO, info);
}
public void setName(String name) {
setColumn(COLUMN_NAME, name);
}
public void setImage(int imageID) {
setColumn(COLUMN_IMAGE, imageID);
}
public void setImage(Integer imageID) {
setColumn(COLUMN_IMAGE, imageID);
}
public void setApartmentCategory(ApartmentCategory aprtSubcat) {
setColumn(COLUMN_APARTMENT_CATEGORY, aprtSubcat);
}
public void setApartmentCategoryID(Integer aprtSubcat) {
setColumn(COLUMN_APARTMENT_CATEGORY, aprtSubcat);
}
// sql
public Collection ejbFindAll() throws FinderException {
return super.idoFindAllIDsBySQL();
}
public Collection ejbFindByCategory(Integer categoryID)
throws FinderException {
Table subcategory = new Table(this);
SelectQuery query = new SelectQuery(subcategory);
query.addColumn(new WildCardColumn(subcategory));
query.addCriteria(new MatchCriteria(new Column(subcategory,
COLUMN_APARTMENT_CATEGORY), MatchCriteria.EQUALS, categoryID
.intValue()));
return idoFindPKsByQuery(query);
}
public Object ejbFindByCategoryAndName(String name, ApartmentCategory category)
throws FinderException {
Table subcategory = new Table(this);
SelectQuery query = new SelectQuery(subcategory);
query.addColumn(new WildCardColumn(subcategory));
query.addCriteria(new MatchCriteria(new Column(subcategory,
COLUMN_APARTMENT_CATEGORY), MatchCriteria.EQUALS, category));
query.addCriteria(new MatchCriteria(new Column(subcategory,
COLUMN_NAME), MatchCriteria.EQUALS, name));
return idoFindOnePKByQuery(query);
}
public Collection ejbFindByCategory(Integer categoryID[])
throws FinderException {
Table subcategory = new Table(this);
SelectQuery query = new SelectQuery(subcategory);
query.addColumn(new WildCardColumn(subcategory));
query.addCriteria(new InCriteria(new Column(subcategory,
COLUMN_APARTMENT_CATEGORY), categoryID));
System.out.println("sql = " + query.toString());
return idoFindPKsByQuery(query);
}
}