package Assignments; import Visual.*; import Grades.*; import Info.*; import Prediction.*; import Reports.*; import java.util.Collection; enum LatePolicyType {None,GraceDays, PointsOff, PercentageOff} /** * LatePolicy represents the late policy for an assignment. */ abstract public class LatePolicy{ /** * The type of policy (None, Grace days, etc.) */ LatePolicyType latePolicyType; /** * The percentage of grade lost per day that the assignment is not turned in. * (Only required for "PercentageOff" policy type) */ double percentageLostPerDay; /** * The points of grade lost per day that the assignment is not turned in. * (Only required for "PointsOff" policy type) */ double pointsLostPerDay; /** * The number of days past the due date allowed. * (Only required for "GraceDays" policy type) */ int graceDays; }