summaryrefslogtreecommitdiff
path: root/NET/worlds/network/VarErrorException.java
diff options
context:
space:
mode:
Diffstat (limited to 'NET/worlds/network/VarErrorException.java')
-rw-r--r--NET/worlds/network/VarErrorException.java171
1 files changed, 171 insertions, 0 deletions
diff --git a/NET/worlds/network/VarErrorException.java b/NET/worlds/network/VarErrorException.java
new file mode 100644
index 0000000..e2dd3b2
--- /dev/null
+++ b/NET/worlds/network/VarErrorException.java
@@ -0,0 +1,171 @@
+package NET.worlds.network;
+
+import NET.worlds.console.Console;
+import NET.worlds.core.Std;
+import java.text.MessageFormat;
+
+public class VarErrorException extends Exception {
+ private static final long serialVersionUID = 4544550603845669010L;
+ String _msg;
+ String _altMsg;
+ int _varError;
+ int _RetryTimeout;
+ int _RetryCount;
+ boolean _retry;
+ boolean _isStatus;
+ Object[] arguments = new Object[]{new String(Std.getProductName())};
+
+ public boolean getRetryFlag() {
+ return this._retry;
+ }
+
+ public boolean getStatusFlag() {
+ return this._isStatus;
+ }
+
+ public int getRetryCount() {
+ return this._RetryCount;
+ }
+
+ public int getTimeout() {
+ return this._RetryTimeout;
+ }
+
+ public int getErrorNum() {
+ return this._varError;
+ }
+
+ public String getMsg() {
+ return this._msg;
+ }
+
+ public String getAltMsg() {
+ return this._altMsg != null ? this._altMsg : this._msg;
+ }
+
+ VarErrorException(int varError) {
+ this._varError = varError;
+ this._msg = "";
+ this._altMsg = null;
+ this._retry = false;
+ this._RetryCount = 1;
+ this._RetryTimeout = 60;
+ this._isStatus = false;
+
+ assert this._varError > 0;
+
+ switch (this._varError) {
+ case 1:
+ this._msg = Console.message("NAK_BAD_USER");
+ break;
+ case 2:
+ this._msg = Console.message("NAK_MAX_ORDINARY");
+ break;
+ case 3:
+ this._msg = Console.message("NAK_MAX_PRIORITY");
+ break;
+ case 4:
+ assert false;
+ break;
+ case 5:
+ this._msg = Console.message("NAK_FATAL");
+ this._retry = true;
+ this._RetryTimeout = 8 + (int)(Math.random() * 10.0);
+ break;
+ case 6:
+ this._msg = Console.message("NAK_BAD_PROTOCOL1") + Console.message("NAK_BAD_PROTOCOL2");
+ break;
+ case 7:
+ this._msg = Console.message("NAK_BAD_CLIENTSW");
+ break;
+ case 8:
+ assert false;
+ break;
+ case 9:
+ this._msg = Console.message("NAK_BAD_SERIAL");
+ break;
+ case 10:
+ this._msg = Console.message("NAK_TAKEN_SERIAL1") + Console.message("NAK_TAKEN_SERIAL2");
+ break;
+ case 11:
+ this._msg = Console.message("NAK_TAKEN_USER");
+ break;
+ case 12:
+ this._msg = Console.message("NAK_NO_SUCH_USER");
+ break;
+ case 13:
+ this._msg = Console.message("NAK_BAD_PASSWORD");
+ break;
+ case 14:
+ this._msg = Console.message("NAK_BAD_ACCOUNT");
+ break;
+ case 15:
+ this._msg = Console.message("NAK_NOT_LOGGEDON");
+ break;
+ case 16:
+ this._msg = Console.message("NAK_BAD_IPADDRESS");
+ break;
+ case 17:
+ this._msg = Console.message("NAK_LOGGEDON");
+ break;
+ case 21:
+ this._altMsg = "A room server is full. People might \nnot be visible nearby.";
+ this._msg = "The set of rooms you are in are quite full.\nPlease wait several minutes and try again.";
+ this._retry = true;
+ this._RetryTimeout = 15 + (int)(Math.random() * 15.0);
+ break;
+ case 100:
+ case 101:
+ case 102:
+ case 103:
+ this._msg = MessageFormat.format(Console.message("NAK_UNEXPECTED1"), this.arguments) + Console.message("NAK_UNEXPECTED2");
+ this._altMsg = MessageFormat.format(Console.message("NAK_UNEXPECTED3"), this.arguments);
+ this._retry = true;
+ this._RetryTimeout = 5 + (int)(Math.random() * 15.0);
+ break;
+ case 104:
+ case 105:
+ case 106:
+ case 107:
+ this._msg = MessageFormat.format(Console.message("NAK_UNREACHABLE1"), this.arguments)
+ + Console.message("NAK_UNREACHABLE2")
+ + Console.message("NAK_UNREACHABLE3")
+ + Console.message("NAK_UNREACHABLE4");
+ this._altMsg = MessageFormat.format(Console.message("NAK_UNREACHABLE5"), this.arguments);
+ this._retry = true;
+ this._RetryTimeout = 30 + (int)(Math.random() * 15.0);
+ break;
+ case 200:
+ this._msg = "Connected.";
+ this._isStatus = true;
+ break;
+ case 201:
+ this._msg = "Shutting down server.";
+ this._isStatus = true;
+ break;
+ case 202:
+ this._msg = "Automatically attempting to reconnect.";
+ this._isStatus = true;
+ break;
+ case 203:
+ this._msg = "Server has disconnected normally.";
+ this._isStatus = true;
+ break;
+ case 204:
+ this._msg = "Server has disconnected abnormally.";
+ this._isStatus = true;
+ break;
+ case 205:
+ this._msg = "Going into single user mode.";
+ this._isStatus = true;
+ break;
+ default:
+ this._msg = "Login error #" + this._varError;
+ }
+ }
+
+ @Override
+ public String toString() {
+ return "VarErrorException[#" + this._varError + " retry=" + this._retry + " retryCount=" + this._RetryCount + " isStatus=" + this._isStatus + "]";
+ }
+}