    001package net.sf.cpsolver.studentsct.reservation;
    002
    003import net.sf.cpsolver.studentsct.model.Offering;
    004import net.sf.cpsolver.studentsct.model.Student;
    005
    006/**
    007 * Dummy reservation. Use to fill remaining space for offerings that are marked as by reservation only.
    008 *
    009 * <br>
    010 * <br>
    011 *
    012 * @version StudentSct 1.2 (Student Sectioning)<br>
    013 *          Copyright (C) 2007 - 2010 Tomáš Müller<br>
    014 *          <a href="mailto:muller@unitime.org">muller@unitime.org</a><br>
    015 *          <a href="http://muller.unitime.org">http://muller.unitime.org</a><br>
    016 * <br>
    017 *          This library is free software; you can redistribute it and/or modify
    018 *          it under the terms of the GNU Lesser General Public License as
    019 *          published by the Free Software Foundation; either version 3 of the
    020 *          License, or (at your option) any later version. <br>
    021 * <br>
    022 *          This library is distributed in the hope that it will be useful, but
    023 *          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. <br>
    026 * <br>
    027 *          You should have received a copy of the GNU Lesser General Public
    028 *          License along with this library; if not see
    029 *          <a href='http://www.gnu.org/licenses/'>http://www.gnu.org/licenses/</a>.
    030 */
    031public class DummyReservation extends Reservation {
    032
    033    /**
    034     * Constructor
    035     * @param offering offering on which the reservation is set
    036     */
    037    public DummyReservation(Offering offering) {
    038        super(offering.getId(), offering);
    039    }
    040
    041    /**
    042     * Dummy reservation is unlimited
    043     */
    044    @Override
    045    public double getReservationLimit() {
    046        return -1;
    047    }
    048
    049    /**
    050     * Dummy reservation has low priority
    051     */
    052    @Override
    053    public int getPriority() {
    054        return 4;
    055    }
    056
    057    /**
    058     * Dummy reservation is not applicable to any students
    059     */
    060    @Override
    061    public boolean isApplicable(Student student) {
    062        return false;
    063    }
    064
    065    /**
    066     * Dummy reservation cannot go over the limit
    067     */
    068    @Override
    069    public boolean canAssignOverLimit() {
    070        return false;
    071    }
    072
    073
    074    /**
    075     * Dummy reservation do not need to be used
    076     */
    077    @Override
    078    public boolean mustBeUsed() {
    079        return false;
    080    }
    081
    082}