package edu.pdx.cs399J.grader;

import java.util.ArrayList;
import java.util.List;

/**
 * The abstract superclass of several <code>notable</code> classes.  It 
 * is the result of refactoring some code.
 * 
 * @author David Whitlock
 * @since Summer 2007
 */
public abstract class NotableImpl implements Notable {

	private List<String> notes = new ArrayList<String>();
	private boolean dirty;

	/**
	   * Returns notes about this <code>Assignment</code>
	   */
	public List<String> getNotes() {
	    return this.notes;
	  }

	/**
	   * Adds a note about this <code>Assignment</code>
	   */
	public void addNote(String note) {
	    this.dirty = true;
	    this.notes.add(note);
	  }

	public void removeNote(String note) {
	    this.setDirty(true);
	    this.notes.remove(note);
	  }

	/**
	   * Sets the dirtiness of this <code>Assignment</code>
	   */
	public void setDirty(boolean dirty) {
	    this.dirty = dirty;
	  }

	/**
	   * Returns <code>true</code> if this <code>Assignment</code> has been
	   * modified.
	   */
	public boolean isDirty() {
	    return this.dirty;
	  }

	/**
	   * Marks this <code>Assignment</code> as being clean
	   */
	public void makeClean() {
	    this.setDirty(false);
	  }


}

package edu.pdx.cs399J.grader;

import java.util.ArrayList;
import java.util.List;

/**
 * The abstract superclass of several <code>notable</code> classes.  It 
 * is the result of refactoring some code.
 * 
 * @author David Whitlock
 * @since Summer 2007
 */
public abstract class NotableImpl implements Notable {

	private List<String> notes = new ArrayList<String>();
	private boolean dirty;

	/**
	   * Returns notes about this <code>Assignment</code>
	   */
	public List<String> getNotes() {
	    return this.notes;
	  }

	/**
	   * Adds a note about this <code>Assignment</code>
	   */
	public void addNote(String note) {
	    this.setDirty(true);
	    this.notes.add(note);
	  }

	public void removeNote(String note) {
	    this.setDirty(true);
	    this.notes.remove(note);
	  }

	/**
	   * Sets the dirtiness of this <code>Assignment</code>
	   */
	public void setDirty(boolean dirty) {
	    this.dirty = dirty;
	  }

	/**
	   * Returns <code>true</code> if this <code>Assignment</code> has been
	   * modified.
	   */
	public boolean isDirty() {
	    return this.dirty;
	  }

	/**
	   * Marks this <code>Assignment</code> as being clean
	   */
	public void makeClean() {
	    this.setDirty(false);
	  }


}

Use setDirty() method.