package org.webcat.grader; import org.webcat.core.INavigatorObject; import com.webobjects.foundation.NSArray; import com.webobjects.foundation.NSMutableArray; //-------------------------------------------------------------------------- /** * This class contains wrapper objects that represent the selectable items in * the Web-CAT grader navigator component. * * @author Tony Allevato * @author Last changed by $Author: aallowat $ * @version $Revision: 1.4 $, $Date: 2011/05/02 19:37:34 $ */ public class GraderNavigatorObjects { // ---------------------------------------------------------- public static class SingleAssignment implements INavigatorObject { // ---------------------------------------------------------- public SingleAssignment(Assignment assignment) { this.assignment = assignment; } // ---------------------------------------------------------- public SingleAssignment( Assignment assignment, boolean unpublished, boolean closed) { this.assignment = assignment; this.unpublished = unpublished; this.closed = closed; } // ---------------------------------------------------------- public NSArray<?> representedObjects() { return new NSMutableArray<Assignment>(assignment); } // ---------------------------------------------------------- public boolean isUnpublished() { return unpublished; } // ---------------------------------------------------------- public boolean isClosed() { return closed; } // ---------------------------------------------------------- public String toString() { String result = (assignment == null) ? "null" : assignment.titleString(); /*if (unpublished) { result += " (unpub.)"; } if (closed) { result += " (closed)"; }*/ return result; } // ---------------------------------------------------------- public boolean equals(Object obj) { if (obj instanceof SingleAssignment) { SingleAssignment o = (SingleAssignment) obj; return assignment.equals(o.assignment); } else { return false; } } private Assignment assignment; private boolean unpublished; private boolean closed; } //~ Static/instance variables ............................................. public static final INavigatorObject FILTER_PLACEHOLDER = new INavigatorObject() { // -------------------------------------------------- public NSArray<?> representedObjects() { return null; } }; public static final INavigatorObject NO_COURSE_PLACEHOLDER = new INavigatorObject() { // -------------------------------------------------- public NSArray<?> representedObjects() { return null; } }; }