/** * FILE: Person.java * AUTHOR: Ivan J Leichtling * INERNET: ivan@columbia.edu * * This file defines a Person, the super class of Man and Woman. */ import java.util.* ; import java.awt.*; public class Person { protected Vector vPreferences; protected String sName; protected Person fiancee; protected boolean fEngaged; protected int i_Sex; protected PersonButton pButton; protected TextArea taSpew; public final static int MALE = -1; public final static int FEMALE = 1; public Person( String sName, TextArea ta ) { this.sName = sName; taSpew = ta; vPreferences = new Vector(); setFiancee( null ); setEngaged( false ); setButton( null ); } public void reset() { vPreferences = new Vector(); setFiancee( null ); setEngaged( false ); } public void randomPrefs( Vector v, Random rand ) { while( !v.isEmpty() ) { int i = Math.abs( rand.nextInt() ) % v.size(); Object o = v.elementAt( i ); v.removeElementAt( i ); vPreferences.addElement( o ); } } public void printPrefs() { print( sName + "\'s Preferences are:" ); Enumeration e = vPreferences.elements(); while( e.hasMoreElements() ) { Person p = (Person) e.nextElement(); print( p.getName() ); } print( "" ); } public void dump() { print( getFiancee().getName() + " breaks off the enagagement with " + getName() ); setFiancee( null ); setEngaged( false ); } public void setFiancee( Person p ) { fiancee = p; } public Person getFiancee() { return( fiancee ); } public void setEngaged( boolean b ) { fEngaged = b; } public boolean getEngaged() { return( fEngaged ); } public void setName( String s ) { sName = s; } public String getName() { return( sName ); } public void setSex( int i ) { i_Sex = i; } public int getSex() { return( i_Sex ); } public PersonButton getButton() { return( pButton ); } public void setButton( PersonButton pb ) { pButton = pb; } public Enumeration getPreferences() { return( vPreferences.elements() ); } void print( String s ) { taSpew.appendText( "\n" + s ); int len = taSpew.getText().length(); taSpew.select( len, len ); } }