001 package net.sf.cpsolver.studentsct.filter; 002 003 import java.util.Iterator; 004 005 import net.sf.cpsolver.studentsct.model.AcademicAreaCode; 006 import net.sf.cpsolver.studentsct.model.Student; 007 008 /** 009 * This student filter accepts only freshman students. 010 * 011 * @version 012 * StudentSct 1.1 (Student Sectioning)<br> 013 * Copyright (C) 2007 Tomáš Müller<br> 014 * <a href="mailto:muller@unitime.org">muller@unitime.org</a><br> 015 * Lazenska 391, 76314 Zlin, Czech Republic<br> 016 * <br> 017 * This library is free software; you can redistribute it and/or 018 * modify it under the terms of the GNU Lesser General Public 019 * License as published by the Free Software Foundation; either 020 * version 2.1 of the License, or (at your option) any later version. 021 * <br><br> 022 * This library is distributed in the hope that it will be useful, 023 * but WITHOUT ANY WARRANTY; without even the implied warranty of 024 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 025 * Lesser General Public License for more details. 026 * <br><br> 027 * You should have received a copy of the GNU Lesser General Public 028 * License along with this library; if not, write to the Free Software 029 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 030 */ 031 032 public class FreshmanStudentFilter implements StudentFilter { 033 034 public FreshmanStudentFilter() { 035 } 036 037 /** 038 * Accept student. Student is accepted if it is freshmen, i.e., academic area classification 039 * code is A, 01, or 02. 040 **/ 041 public boolean accept(Student student) { 042 for (Iterator i=student.getAcademicAreaClasiffications().iterator();i.hasNext();) { 043 AcademicAreaCode aac = (AcademicAreaCode)i.next(); 044 if ("A".equals(aac.getCode())) return true; //First Year 045 if ("01".equals(aac.getCode())) return true; //First Semester Freshman 046 if ("02".equals(aac.getCode())) return true; //Second Semester Freshman 047 } 048 return false; 049 } 050 051 }