package bingo.player;
import java.util.Properties;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.net.InetAddress;
import bingo.shared.*;
class PlayerParameters extends Parameters {
private boolean shouldBeep = true;
private String name = "";
private String hostname = "";
private int numCards = 1;
private long seed; //NOT a saved property
private String shouldBeepName = "player.shouldbeep";
private String nameName = "player.name";
private String hostnameName = "server.name";
private String numCardsName = "num.cards";
PlayerParameters() {
super("bingoPlayer.props", "BINGO Player Properties");
try {
hostname = InetAddress.getLocalHost().getHostName();
} catch (java.net.UnknownHostException e) {
//do nothing
}
getParameters();
}
protected void setDefaults(Properties defaults) {
defaults.put(shouldBeepName, new Boolean(shouldBeep).toString());
defaults.put(nameName, name);
defaults.put(hostnameName, hostname);
defaults.put(numCardsName, new Integer(numCards).toString());
}
protected void updateSettingsFromProperties() {
try {
String tmp;
tmp = properties.getProperty(shouldBeepName);
shouldBeep = new Boolean(tmp).booleanValue();
name = properties.getProperty(nameName);
hostname = properties.getProperty(hostnameName);
tmp = properties.getProperty(numCardsName);
numCards = Integer.parseInt(tmp);
} catch (NumberFormatException e) {
// we don't care if the property was of the wrong format,
// they've all got default values. So catch the exception
// and keep going.
}
}
protected void updatePropertiesFromSettings() {
properties.put(shouldBeepName,
new Boolean(shouldBeep).toString());
properties.put(nameName,
name);
properties.put(hostnameName,
hostname);
properties.put(numCardsName,
new Integer(numCards).toString());
}
public String toString() {
return "["
+ shouldBeep + ","
+ name + ","
+ hostname + ","
+ numCards + "]";
}
void setShouldBeep(boolean shouldBeep) {
this.shouldBeep = shouldBeep;
saveParameters();
}
boolean getShouldBeep() {
return shouldBeep;
}
void setName(String name) {
this.name = name;
saveParameters();
}
String getName() {
return name;
}
void setHostname(String hostname) {
this.hostname = hostname;
saveParameters();
}
String getHostname() {
return hostname;
}
void setNames(String name, String hostname) {
this.name = name;
this.hostname = hostname;
saveParameters();
}
void setNumCards(int numCards) {
this.numCards = numCards;
saveParameters();
}
int getNumCards() {
return numCards;
}
void setSeed(long seed) {
this.seed = seed;
}
long getSeed() {
return seed;
}
}
|