package uk.ac.leeds.ccg.cluster; /** Knn_ST test parameters class */ import java.io.*; import java.awt.*; import java.awt.event.*; public class Knn_STTimeParameters extends SpaceTimeParameters { // Version id private static final String version = "$id$"; // Members /**@param k Number of nearest neighbours */ private int k; // Number of nearest neighbours // Constructors public Knn_STTimeParameters(){ setDefaultSpaceTimeParameters(); } public Knn_STTimeParameters(File file) throws IOException,FileNotFoundException{ // Read into a stream tokenised buffered input stream StreamTokenizer st = new StreamTokenizer ( new BufferedReader ( new InputStreamReader ( new FileInputStream (file)))); System.out.println ("Setting Knn_ST parameters from "+file); st.nextToken(); if (st.sval.equalsIgnoreCase("true")) {setAnimate(true);} else {setAnimate(false);} st.nextToken(); setK((int)st.nval); st.nextToken(); setNumRuns((int)st.nval); st.nextToken(); setSignificanceThreshold(st.nval); } public Knn_STTimeParameters(boolean animate, int k, int numRuns, double thresh){ setAnimate(animate); setK(k); setNumRuns(numRuns); setSignificanceThreshold(thresh); } // Methods public String toString(){ return "[animate "+getAnimate()+"]\n"+ "[Number nearest neighbours "+getK()+"]\n"+ "[Number of runs "+getNumRuns()+"]\n"; } public void setTimeParameters(boolean animate, int k, int numRuns, double thresh){ setAnimate(animate); setK(k); setNumRuns(numRuns); setSignificanceThreshold(thresh); } public void setDefaultSpaceTimeParameters(){ setK(2); super.setDefaultSpaceTimeParameters(); } public int getK() {return k;} public void setK(int i) {k=i;} public void writeSpaceTimeParameters(File file) throws IOException,FileNotFoundException{ PrintWriter pw = new PrintWriter ( new BufferedWriter ( new OutputStreamWriter ( new FileOutputStream (file)))); pw.println(getAnimate()); pw.println(getK()); pw.println(getNumRuns()); pw.println(getSignificanceThreshold()); System.out.println ("SpaceTimeParameters saved to "+file); pw.flush(); pw.close(); } }