m@0: /*============================================================================= m@0: * File: SubjectResults.java m@0: * Author: Marcus Pearce m@0: * Created: <2007-12-12 10:44:12 marcusp> m@0: * Time-stamp: <2007-12-17 11:49:35 marcusp> m@0: *============================================================================= m@0: */ m@0: m@0: import java.util.ArrayList; m@0: import java.util.Iterator; m@0: import java.io.*; m@0: m@0: public class SubjectResults { m@0: m@0: /* variables */ m@0: private int subjectID; m@0: private File outputFile, subjectDataFile; m@0: private ArrayList results, subjectData; m@0: private Experiment exp; m@0: m@0: /* accessors */ m@0: public int getSubjectID() { return subjectID; } m@0: public void setSubjectID(int id) { subjectID = id; } m@0: public void setSubjectData (ArrayList sd) { subjectData = sd; } m@0: public void setOutputFile (int id) { m@0: outputFile = new File(exp.RESULTS_DIRECTORY + Integer.toString(id) + m@0: exp.RESULTS_EXTENSION); m@0: } m@0: m@0: /* constructor */ m@0: public SubjectResults(Experiment e) { m@0: exp = e; m@0: subjectDataFile = new File(exp.SUBJECT_RESULTS_FILE); m@0: results = new ArrayList(); m@0: subjectData = new ArrayList(); m@0: } m@0: m@0: /* methods */ m@0: public void addResult(MelodyResults mr) { m@0: results.add(mr); m@0: } m@0: m@0: public void writeResults() { m@0: Iterator ri = results.iterator(); m@0: boolean header = true; m@0: while (ri.hasNext()) { m@0: MelodyResults mResult = (MelodyResults)ri.next(); m@0: mResult.writeResults(outputFile, header); m@0: if (header) m@0: header = false; m@0: } m@0: } m@0: m@0: public void writeSubjectData () { m@0: Writer writer = null; m@0: try { m@0: writer = new FileWriter (subjectDataFile, true); m@0: } catch (IOException e) { m@0: System.out.println("Could not write file: " + outputFile.getPath()); m@0: return; m@0: } m@0: m@0: try { m@0: Iterator sji = subjectData.iterator(); m@0: while(sji.hasNext()) { m@0: String[] data = (String[])sji.next(); m@0: writer.write(data[1] + " "); m@0: } m@0: writer.write("\n"); m@0: writer.close(); m@0: m@0: } catch (IOException e) { m@0: System.out.println (e.getMessage()); m@0: return; m@0: } m@0: } m@0: }