📄 parameterizedmessage.java
字号:
package edu.odu.cs.zeil.AlgAE;import edu.odu.cs.zeil.AlgAE.Message;import java.util.Vector;/** * ParameterizedMessage.java * * * Created: Thu May 07 12:49:36 1998 * * @author Steven Zeil * @version */public class ParameterizedMessage { Message message; Vector params; public ParameterizedMessage(Message msg, Vector parameters) { message = msg; params = parameters; } public ParameterizedMessage(Message msg) { message = msg; params = new Vector(); } public ParameterizedMessage(Message msg, int i) { message = msg; params = new Vector(); params.addElement(new Integer(i)); } public ParameterizedMessage(Message msg, String s) { message = msg; params = new Vector(); params.addElement(s); } static private final Class stringClass = ("").getClass(); public static String decode (String str) { StringBuffer decoded = new StringBuffer(); int i = 0; int last = str.length(); if ((last > 0) && (str.charAt(i) == '"')) ++i; if ((last > i) && (str.charAt(last-1) == '"')) --last; while ( i < last) { char ch = str.charAt(i); if (ch == '\\') { char c = str.charAt(i+1); int k; if (c >= 'A') k = c - 'A' + 10; else k = c - '0'; c = str.charAt(i+2); if (c >= 'A') k = 16*k + c - 'A' + 10; else k = 16*k + c - '0'; decoded.append ((char)k); i += 3; } else { decoded.append(ch); ++i; } } return decoded.toString(); } public static String encode (String str) { StringBuffer encoded = new StringBuffer(); int len = str.length(); if (len == 0) return "" + '"' + '"'; else { if ((len > 0) && (str.charAt(0) != '"')) encoded.append ('"'); for (int i = 0; i < len; ++i) { char ch = str.charAt(i); if ((ch < ' ') || (ch > 'z') || (ch == '\\') || (ch == '"')) { encoded.append ('\\'); int k = ch / 16; encoded.append ((k > 9) ? (char)('A' - 10 + k) : (char)('0' + k)); k = ch % 16; encoded.append ((k > 9) ? (char)('A' - 10 + k) : (char)('0' + k)); } else encoded.append (ch); } if ((len > 0) && (str.charAt(len-1) != '"')) encoded.append ('"'); return encoded.toString(); } } public String toString() { StringBuffer str = new StringBuffer(20); str.append(message.getMessageKind()); for (int i = 0; i < params.size(); ++i) { str.append (' '); Object param = params.elementAt(i); if (param.getClass() == stringClass) { str.append (encode((String)param)); } else str.append (param.toString()); } return str.toString(); } /** * Get the value of message. * @return Value of message. */ public Message getMessage() {return message;} /** * Set the value of message. * @param v Value to assign to message. */ public void setMessage(Message v) {message = v;} /** * Get the value of params. * @return Value of params. */ public Vector getParams() {return params;} /** * Set the value of params. * @param v Value to assign to params. */ public void setParams(Vector v) {params = v;} } // ParameterizedMessage
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -