/* @(#)Methods.java   14 September 2006 */

/* Useful imports */

import edu.neu.ccs.*;
import edu.neu.ccs.gui.*;
import edu.neu.ccs.codec.*;
import edu.neu.ccs.console.*;
import edu.neu.ccs.filter.*;
import edu.neu.ccs.jpf.*;
import edu.neu.ccs.parser.*;
import edu.neu.ccs.pedagogy.*;
import edu.neu.ccs.quick.*;
import edu.neu.ccs.util.*;

import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.awt.font.*;
import java.awt.image.*;
import javax.swing.*;
import javax.swing.border.*;
import java.io.*;
import java.util.*;
import java.math.*;
import java.beans.*;
import java.lang.reflect.*;
import java.net.URL;
import java.util.regex.*;
import java.text.ParseException;

/** The sample starter class for Java Power Framework. */
public class Methods extends JPF 
{
    
    public static void main(String[] args) { 
        // LookAndFeelTools.showSelectLookAndFeelDialog();
        LookAndFeelTools.adjustAllDefaultFontSizes(4);
        
        new Methods();
    }
    
    
    public void KeyLabelDataTest() {
        KeyLabelData a =
            new KeyLabelData
                ("Richard Rasala",
                 "Richard Rasala",
                 "202A WVH",
                 "Northeastern University",
                 "Boston MA 02115");
        
        KeyLabelData b =
            new KeyLabelData
                ("Doe, Richard",
                 "Richard Doe",
                 "123 Main Street",
                 "Anywhere MA 01234");
        
        print(a);
        
        search(a, "Richard");
        search(a, "Rasala");
        
        print(b);
        
        search(b, "Richard");
        search(b, "Rasala");
    }
    
    
    public void ReadKeyLabelDataLoop() {
        String string;
        
        while(true) {
            try {
                string = console.in.requestString("Key");
            }
            catch (CancelledException ex) {
                console.out.println();
                console.out.println();
                break;
            }
            
            KeyLabelData a = new KeyLabelData(string);
            console.out.println();
            
            while (true) {
                try {
                    string = console.in.requestString("Label");
                    a.appendLabel(string);
                }
                catch (CancelledException ex) {
                    console.out.println();
                    print(a);
                    break;
                }
            }
        }
    }
    
    
    private void print(KeyLabelData a) {
        if (a == null)
            return;
        
        console.out.println("Key:" + a.getKey());
        console.out.println();
        
        console.out.println("Labels:");
        console.out.println(a.toString());
    }
    
    
    private void search(KeyLabelData a, String string) {
        if (a == null)
            return;
        
        if (a.keyStartsWith(string))
            console.out.println("Found " + string);
        else
            console.out.println("Did not find " + string);
        
        console.out.println();
    }
    
}
