package items; import gradebook.Percentage; /** * Represents an assignment of a specific category. */ public abstract class Assignment { /** the category to which this item belongs */ Category category; /** the date and time at which this item is due */ DateTime dueDate; /** the name of this particular item */ String name; /** the number of points this item is worth */ int rawPoints; /** the curved number of points this item is worth */ int curvedPoints; /** * Adjusts an item's point value. * @param newValue the new value to adjust to post: // the raw point value of this Item is adjusted this.rawPoints == newValue */ public abstract void adjustPointValue(int newValue); /** * Curves this item's point value based on some given value. * @param value some value with which to curve this item */ public abstract void curve(Object value); /** * Assigns this item to the courses it is associated with. */ public abstract void assign(); /** * Finds the maximum score of an item. * @return the maximum score of an item pre: // this Item must have at least one score associated with it exists(RawScore score ; score.getAssignment().equals(this)) */ public abstract int findMax(); /** * Finds the minimum score of an item. * @return the minimum score of an item pre: // this Item must have at least one score associated with it exists(RawScore score ; score.getAssignment().equals(this)) */ public abstract int findMin(); /** * Finds the median score of an item. * @return the median score of an item pre: // this Item must have at least one score associated with it exists(RawScore score ; score.getAssignment().equals(this)) */ public abstract int findMedian(); /** * Calculates the mean score of an item. * @return the mean score of an item pre: // this Item must have at least one score associated with it exists(RawScore score ; score.getAssignment().equals(this)) */ public abstract double calculateMean(); }