/*
* $Id: MealVacationDayBMPBean.java,v 1.2 2005/10/02 13:44:24 laddi Exp $
* Created on Aug 10, 2005
*
* Copyright (C) 2005 Idega Software hf. All Rights Reserved.
*
* This software is the proprietary information of Idega hf.
* Use is subject to license terms.
*/
package se.idega.idegaweb.commune.school.meal.data;
import java.sql.Date;
import java.util.Collection;
import javax.ejb.FinderException;
import com.idega.block.school.data.School;
import com.idega.data.GenericEntity;
import com.idega.data.query.MatchCriteria;
import com.idega.data.query.SelectQuery;
import com.idega.data.query.Table;
/**
* Last modified: $Date: 2005/10/02 13:44:24 $ by $Author: laddi $
*
* @author <a href="mailto:laddi@idega.com">laddi</a>
* @version $Revision: 1.2 $
*/
public class MealVacationDayBMPBean extends GenericEntity implements MealVacationDay{
private static final String ENTITY_NAME = "comm_meal_vacation_days";
private static final String COLUMN_SCHOOL = "school_id";
private static final String COLUMN_VALID_FROM = "valid_from";
private static final String COLUMN_VALID_TO = "valid_to";
private static final String COLUMN_TYPE = "type";
private static final String COLUMN_NAME = "name";
/* (non-Javadoc)
* @see com.idega.data.GenericEntity#getEntityName()
*/
public String getEntityName() {
return ENTITY_NAME;
}
/* (non-Javadoc)
* @see com.idega.data.GenericEntity#initializeAttributes()
*/
public void initializeAttributes() {
addAttribute(getIDColumnName());
addManyToOneRelationship(COLUMN_SCHOOL, School.class);
addAttribute(COLUMN_VALID_FROM, "From", Date.class);
addAttribute(COLUMN_VALID_TO, "To", Date.class);
addAttribute(COLUMN_TYPE, "Vacation type", String.class);
addAttribute(COLUMN_NAME, "Name", String.class);
}
//Getters
public School getSchool() {
return (School) getColumnValue(COLUMN_SCHOOL);
}
public Object getSchoolPK() {
return getIntegerColumnValue(COLUMN_SCHOOL);
}
public Date getValidFrom() {
return getDateColumnValue(COLUMN_VALID_FROM);
}
public Date getValidTo() {
return getDateColumnValue(COLUMN_VALID_TO);
}
public String getType() {
return getStringColumnValue(COLUMN_TYPE);
}
public String getName() {
return getStringColumnValue(COLUMN_NAME);
}
//Setters
public void setSchool(School school) {
setColumn(COLUMN_SCHOOL, school);
}
public void setSchool(Object schoolPK) {
setColumn(COLUMN_SCHOOL, schoolPK);
}
public void setValidFrom(Date date) {
setColumn(COLUMN_VALID_FROM, date);
}
public void setValidTo(Date date) {
setColumn(COLUMN_VALID_TO, date);
}
public void setType(String type) {
setColumn(COLUMN_TYPE, type);
}
public void setName(String name) {
setColumn(COLUMN_NAME, name);
}
//Finders
public Collection ejbFindAllBySchool(School school) throws FinderException {
Table table = new Table(this);
SelectQuery query = new SelectQuery(table);
query.addColumn(table, getIDColumnName());
query.addCriteria(new MatchCriteria(table, COLUMN_SCHOOL, MatchCriteria.EQUALS, school));
query.addOrder(table, COLUMN_VALID_FROM, true);
return idoFindPKsByQuery(query);
}
public Collection ejbFindAllBySchoolAndPeriod(School school, Date from, Date to) throws FinderException {
Table table = new Table(this);
SelectQuery query = new SelectQuery(table);
query.addColumn(table, getIDColumnName());
query.addCriteria(new MatchCriteria(table, COLUMN_SCHOOL, MatchCriteria.EQUALS, school));
query.addCriteria(new MatchCriteria(table, COLUMN_VALID_TO, MatchCriteria.LESSEQUAL, to));
query.addCriteria(new MatchCriteria(table, COLUMN_VALID_FROM, MatchCriteria.GREATEREQUAL, from));
query.addOrder(table, COLUMN_VALID_FROM, true);
return idoFindPKsByQuery(query);
}
public Object ejbFindBySchoolAndDate(School school, Date date) throws FinderException {
Table table = new Table(this);
SelectQuery query = new SelectQuery(table);
query.addColumn(table, getIDColumnName());
query.addCriteria(new MatchCriteria(table, COLUMN_SCHOOL, MatchCriteria.EQUALS, school));
query.addCriteria(new MatchCriteria(table, COLUMN_VALID_FROM, MatchCriteria.EQUALS, date));
return idoFindOnePKByQuery(query);
}
}