Coverage Report - org.kuali.student.r2.core.appointment.infc.AppointmentWindow
 
Classes in this File Line Coverage Branch Coverage Complexity
AppointmentWindow
N/A
N/A
1
 
 1  
 /*
 2  
  * Copyright 2012 The Kuali Foundation Licensed under the
 3  
  *  Educational Community License, Version 2.0 (the "License"); you may
 4  
  *  not use this file except in compliance with the License. You may
 5  
  *  obtain a copy of the License at
 6  
  *
 7  
  *   http://www.osedu.org/licenses/ECL-2.0
 8  
  *
 9  
  *  Unless required by applicable law or agreed to in writing,
 10  
  *  software distributed under the License is distributed on an "AS IS"
 11  
  *  BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 12  
  *  or implied. See the License for the specific language governing
 13  
  *  permissions and limitations under the License.
 14  
  */
 15  
 
 16  
 package org.kuali.student.r2.core.appointment.infc;
 17  
 
 18  
 import org.kuali.student.r2.common.infc.IdEntity;
 19  
 
 20  
 import java.util.Date;
 21  
 
 22  
 /**
 23  
  * Information about an appointment window
 24  
  *
 25  
  * @Version 1.0
 26  
  * @Author Sri komandur@uw.edu
 27  
  */
 28  
 public interface AppointmentWindow extends IdEntity {
 29  
 
 30  
     /**
 31  
      * Window start date ("Aug 05, 2012")
 32  
      *
 33  
      * @name Start Date
 34  
      */
 35  
     public Date getStartDate();
 36  
 
 37  
     /**
 38  
      * Window end date ("Aug 07, 2012"). Window end date does not constrain a slot duration. It is to ensure that the slot start time is not after the window end date.
 39  
      *
 40  
      * @name End Date
 41  
      * @impl Choosing this field expands number_of_persons_per_slot so all the persons in a population are assigned to the available slots.
 42  
      * @impl If there is no End Date, then use either end of Reg Period or end of Drop/Add milestone as End Date milestone (TBD during PDT impl)
 43  
      */
 44  
     public Date getEndDate();
 45  
 
 46  
     /**
 47  
      * Slot rules for appointment slot generation
 48  
      *
 49  
      * @name Slot Rules
 50  
      */
 51  
     public AppointmentSlotRule getSlotRule();
 52  
 
 53  
     /**
 54  
      * Appointment period milestone
 55  
      *
 56  
      * @impl This milestone may be mapped to an ATP ("FALL2013")
 57  
      * @name Period Milestone Id
 58  
      * @impl Based on AppointmentWindow type the dictionary may choose to constrain the periodMilestoneId requirement
 59  
      */
 60  
     public String getPeriodMilestoneId();
 61  
 
 62  
     /**
 63  
      * The Population Id to which the appointment window is assigned.
 64  
      *
 65  
      * @name Assigned Population Id
 66  
 
 67  
      */
 68  
     public String getAssignedPopulationId();
 69  
 
 70  
     /**
 71  
      * Ordering for appointment slots assignment ("random"/"last name"/"GPA")
 72  
      *
 73  
      * @name Assigned Order Type Key
 74  
 
 75  
      */
 76  
     public String getAssignedOrderTypeKey();
 77  
 
 78  
     /**
 79  
      * Maximum number of persons that can be assigned to an appointment slot
 80  
      *
 81  
      * @name Max Appointments Per Slot
 82  
      * @impl Choosing this field expands the number_of_appointment_slots so all the persons in a population are assigned.
 83  
      */
 84  
     public Integer getMaxAppointmentsPerSlot();
 85  
 
 86  
 }