home *** CD-ROM | disk | FTP | other *** search
- package netscape.util;
-
- class PrimitiveCoder implements ExternalCoder {
- byte type;
-
- PrimitiveCoder(byte var1) {
- this.type = var1;
- }
-
- public Object newInstance(String var1) throws CodingException {
- return null;
- }
-
- static String classNameForType(byte var0) {
- switch (var0) {
- case 0:
- return "java.lang.Boolean";
- case 1:
- return "[Z";
- case 2:
- return "java.lang.Character";
- case 3:
- return "[C";
- case 4:
- return "java.lang.Byte";
- case 5:
- return "[B";
- case 6:
- return "java.lang.Short";
- case 7:
- return "[S";
- case 8:
- return "java.lang.Integer";
- case 9:
- return "[I";
- case 10:
- return "java.lang.Long";
- case 11:
- return "[J";
- case 12:
- return "java.lang.Float";
- case 13:
- return "[F";
- case 14:
- return "java.lang.Double";
- case 15:
- return "[D";
- case 16:
- return "java.lang.String";
- case 17:
- return "[Ljava.lang.String;";
- case 18:
- case 19:
- default:
- throw new InconsistencyException("Non-primitive type!");
- }
- }
-
- String className() {
- return classNameForType(this.type);
- }
-
- public void describeClassInfo(Object var1, ClassInfo var2) {
- var2.addClass(classNameForType(this.type), 1);
- var2.addField("value", this.type);
- }
-
- public void encode(Object var1, Encoder var2) throws CodingException {
- switch (this.type) {
- case 0:
- var2.encodeBoolean("value", (Boolean)var1);
- return;
- case 1:
- var2.encodeBooleanArray("value", (boolean[])var1, 0, ((boolean[])var1).length);
- return;
- case 2:
- var2.encodeChar("value", (Character)var1);
- return;
- case 3:
- var2.encodeCharArray("value", (char[])var1, 0, ((char[])var1).length);
- return;
- case 4:
- throw new CodingException("java.lang.Byte not supported");
- case 5:
- var2.encodeByteArray("value", (byte[])var1, 0, ((byte[])var1).length);
- return;
- case 6:
- throw new CodingException("java.lang.Short not supported");
- case 7:
- var2.encodeShortArray("value", (short[])var1, 0, ((short[])var1).length);
- return;
- case 8:
- var2.encodeInt("value", (Integer)var1);
- return;
- case 9:
- var2.encodeIntArray("value", (int[])var1, 0, ((int[])var1).length);
- return;
- case 10:
- var2.encodeLong("value", (Long)var1);
- return;
- case 11:
- var2.encodeLongArray("value", (long[])var1, 0, ((long[])var1).length);
- return;
- case 12:
- var2.encodeFloat("value", (Float)var1);
- return;
- case 13:
- var2.encodeFloatArray("value", (float[])var1, 0, ((float[])var1).length);
- return;
- case 14:
- var2.encodeDouble("value", (Double)var1);
- return;
- case 15:
- var2.encodeDoubleArray("value", (double[])var1, 0, ((double[])var1).length);
- return;
- case 16:
- var2.encodeString("value", (String)var1);
- return;
- case 17:
- var2.encodeStringArray("value", (String[])var1, 0, ((String[])var1).length);
- return;
- case 18:
- case 19:
- default:
- throw new CodingException("Non-primitive type!");
- }
- }
-
- public void decode(Object var1, Decoder var2) throws CodingException {
- Object var3;
- switch (this.type) {
- case 0:
- if (var2.decodeBoolean("value")) {
- var3 = Boolean.TRUE;
- } else {
- var3 = Boolean.FALSE;
- }
- break;
- case 1:
- var3 = var2.decodeBooleanArray("value");
- break;
- case 2:
- var3 = new Character(var2.decodeChar("value"));
- break;
- case 3:
- var3 = var2.decodeCharArray("value");
- break;
- case 4:
- throw new CodingException("java.lang.Byte not supported");
- case 5:
- var3 = var2.decodeByteArray("value");
- break;
- case 6:
- throw new CodingException("java.lang.Short not supported");
- case 7:
- var3 = var2.decodeShortArray("value");
- break;
- case 8:
- var3 = new Integer(var2.decodeInt("value"));
- break;
- case 9:
- var3 = var2.decodeIntArray("value");
- break;
- case 10:
- var3 = new Long(var2.decodeLong("value"));
- break;
- case 11:
- var3 = var2.decodeLongArray("value");
- break;
- case 12:
- var3 = new Float(var2.decodeFloat("value"));
- break;
- case 13:
- var3 = var2.decodeFloatArray("value");
- break;
- case 14:
- var3 = new Double(var2.decodeDouble("value"));
- break;
- case 15:
- var3 = var2.decodeDoubleArray("value");
- break;
- case 16:
- var3 = var2.decodeString("value");
- break;
- case 17:
- var3 = var2.decodeStringArray("value");
- break;
- case 18:
- case 19:
- default:
- throw new CodingException("Non-primitive type!");
- }
-
- var2.replaceObject(var3);
- }
-
- public void finishDecoding(Object var1) throws CodingException {
- }
- }
-