Wie ihr bestimmt wisst, besitzt Java leider nicht die möglichkeit Headerfiles wie beispielsweiße in C, C++ pder C# zu inkludieren.
Für gewöhnlich werden in Headerfiles Konfigurationsdaten angelegt.
Um sowas dennoch in Java zu realisieren, können sie intern auf Ressourcen im eigenen .JAR Paket zugreifen.
Ebenso ist es jedoch auch möglich eine Klasse hierfür zu schreiben, welches sinnvoll mit einem SingleTon Pattern einmal instanziert wird. In dieser Klasse können sie entweder “final static” Variablen deklarieren, oder sie arbeiten mit Settern und Gettern wie folgendes Beispiel zeigt.
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package ircbot;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author li
*/
public class Config {
private String cfgOutChannel = "#op";
private String cfgScanChannel = "#op2";
private String cfgNickSyntax = "Bot";
private String cfgServerIP = "my.host.name";
private String cfgUsername = "testuser";
private String cfgLoginPassword = "test";
public int cfgServerPort = 6667;
public int getCfgRepeatWait = 30000; //Timeout in Sekunden
private String getCfgJoinMessage = "Hello. I'm there.";
private List cfgStartup = new ArrayList();
private List cfgRepeat = new ArrayList();
private List cfgAllowedHosts = new ArrayList();
private static Config cfgObj;
public Config() {
cfgStartup.add("JOIN #op");
cfgStartup.add("JOIN #scan");
cfgRepeat.add("PRIVMSG #op :Nachricht 1");
cfgRepeat.add("PRIVMSG #op :Nachricht 2");
cfgRepeat.add("PRIVMSG #op :Nachricht 3");
}
public List getCfgAllowedHosts() {
return cfgAllowedHosts;
}
public void setCfgAllowedHosts(List cfgAllowedHosts) {
this.cfgAllowedHosts = cfgAllowedHosts;
}
public String getGetCfgJoinMessage() {
return getCfgJoinMessage;
}
public void setGetCfgJoinMessage(String getCfgJoinMessage) {
this.getCfgJoinMessage = getCfgJoinMessage;
}
public String getCfgLoginPassword() {
return cfgLoginPassword;
}
public void setCfgLoginPassword(String cfgLoginPassword) {
this.cfgLoginPassword = cfgLoginPassword;
}
public int getGetCfgRepeatWait() {
return getCfgRepeatWait;
}
public void setGetCfgRepeatWait(int getCfgRepeatWait) {
this.getCfgRepeatWait = getCfgRepeatWait;
}
public List getCfgAllowedHost() {
return cfgAllowedHosts;
}
public boolean isCfgAllowedHost(String host) {
if (cfgAllowedHosts.contains(host)) {
return true;
} else {
return false;
}
}
public void addCfgAllowedHost(String host) {
if (!cfgAllowedHosts.contains(host)) {
cfgAllowedHosts.add(host);
}
}
public List getCfgRepeat() {
return cfgRepeat;
}
public List getCfgStartup() {
return cfgStartup;
}
public boolean debug = true;
public boolean isDebug() {
return debug;
}
public void setDebug(boolean debug) {
this.debug = debug;
}
public String getCfgUsername() {
return cfgUsername;
}
public void setCfgUsername(String cfgUsername) {
this.cfgUsername = cfgUsername;
}
public static synchronized Config getSingletonObject() {
if (cfgObj == null) {
cfgObj = new Config();
}
return cfgObj;
}
public String getCfgNickSyntax() {
return cfgNickSyntax;
}
public void setCfgNickSyntax(String cfgNickSyntax) {
this.cfgNickSyntax = cfgNickSyntax;
}
public String getCfgOutChannel() {
return cfgOutChannel;
}
public void setCfgOutChannel(String cfgOutChannel) {
this.cfgOutChannel = cfgOutChannel;
}
public String getCfgScanChannel() {
return cfgScanChannel;
}
public void setCfgScanChannel(String cfgScanChannel) {
this.cfgScanChannel = cfgScanChannel;
}
public String getCfgServerIP() {
return cfgServerIP;
}
public void setCfgServerIP(String cfgServerIP) {
this.cfgServerIP = cfgServerIP;
}
public int getCfgServerPort() {
return cfgServerPort;
}
public void setCfgServerPort(int cfgServerPort) {
this.cfgServerPort = cfgServerPort;
}
}
Kommentar verfassen