001    package net.sf.cpsolver.studentsct.filter;
002    
003    import net.sf.cpsolver.studentsct.StudentSectioningXMLLoader;
004    import net.sf.cpsolver.studentsct.Test;
005    import net.sf.cpsolver.studentsct.model.Student;
006    
007    /**
008     * Interface for filter students based on academic area classifications, majors, or minors.
009     * This interface can be used by {@link StudentSectioningXMLLoader} to load only subset
010     * of all students, and it is used by {@link Test} to combine last-like and real students from two
011     * XML files.  
012     * 
013     * @version
014     * StudentSct 1.1 (Student Sectioning)<br>
015     * Copyright (C) 2007 Tomáš Müller<br>
016     * <a href="mailto:muller@unitime.org">muller@unitime.org</a><br>
017     * Lazenska 391, 76314 Zlin, Czech Republic<br>
018     * <br>
019     * This library is free software; you can redistribute it and/or
020     * modify it under the terms of the GNU Lesser General Public
021     * License as published by the Free Software Foundation; either
022     * version 2.1 of the License, or (at your option) any later version.
023     * <br><br>
024     * This library is distributed in the hope that it will be useful,
025     * but WITHOUT ANY WARRANTY; without even the implied warranty of
026     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
027     * Lesser General Public License for more details.
028     * <br><br>
029     * You should have received a copy of the GNU Lesser General Public
030     * License along with this library; if not, write to the Free Software
031     * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
032     */
033    
034    public interface StudentFilter {
035        /** Accept student */
036        public boolean accept(Student student);
037    }