/* ** j###t ########## #### #### ** j###t ########## #### #### ** j###T "###L J###" ** ######P' ########## ######### ** ######k, ########## T######T ** ####~###L #### ** #### q###L ########## .##### ** #### \###L ########## #####" ** ** $Id$ ** ** Class History ** ** Date Name Description ** ---------|------------|----------------------------------------------- ** 19Aug98 subtle start of recorded history ** */ package key.primitive; import java.io.IOException; import java.io.DataInput; import java.io.DataOutput; import java.io.Serializable; /** * This class is immutable, hence it is secure to allow public final * access to it, or to allow it to be returned from a method. */ public final class Gender implements Serializable, key.io.Replaceable { public static final int MALE=1; public static final int FEMALE=2; public static final int NEUTER=0; public static final Gender MALE_GENDER = new Gender( MALE ); public static final Gender FEMALE_GENDER = new Gender( FEMALE ); public static final Gender NEUTER_GENDER = new Gender( NEUTER ); int gender; public Gender() { } public Gender( int g ) { gender = g; } public Object getReplacement() { switch( gender ) { case MALE: return( MALE_GENDER ); case FEMALE: return( FEMALE_GENDER ); default: return( NEUTER_GENDER ); } } public final String toString() { return( maleFemale() ); } public final String MaleFemale() { switch( gender ) { case MALE: return( "Male" ); case FEMALE: return( "Female" ); default: return( "Neuter" ); } } public final String maleFemale() { switch( gender ) { case MALE: return( "male" ); case FEMALE: return( "female" ); default: return( "neuter" ); } } public final String HimHer() { switch( gender ) { case MALE: return( "Him" ); case FEMALE: return( "Her" ); default: return( "It" ); } } public final String himHer() { switch( gender ) { case MALE: return( "him" ); case FEMALE: return( "her" ); default: return( "it" ); } } public final String HisHer() { switch( gender ) { case MALE: return( "His" ); case FEMALE: return( "Her" ); default: return( "It's" ); } } public final String hisHer() { switch( gender ) { case MALE: return( "his" ); case FEMALE: return( "her" ); default: return( "it's" ); } } public final String HeShe() { switch( gender ) { case MALE: return( "He" ); case FEMALE: return( "She" ); default: return( "It" ); } } public final String heShe() { switch( gender ) { case MALE: return( "he" ); case FEMALE: return( "she" ); default: return( "it" ); } } }