static

in hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/ContextSerializerFactory.java [84:176]


    static {
        _staticSerializerMap = new HashMap();
        _staticDeserializerMap = new HashMap();
        _staticClassNameMap = new HashMap();

        FieldDeserializer2Factory fieldFactory = FieldDeserializer2Factory.create();

        addBasic(void.class, "void", BasicSerializer.NULL);

        addBasic(Boolean.class, "boolean", BasicSerializer.BOOLEAN);
        addBasic(Byte.class, "byte", BasicSerializer.BYTE);
        addBasic(Short.class, "short", BasicSerializer.SHORT);
        addBasic(Integer.class, "int", BasicSerializer.INTEGER);
        addBasic(Long.class, "long", BasicSerializer.LONG);
        addBasic(Float.class, "float", BasicSerializer.FLOAT);
        addBasic(Double.class, "double", BasicSerializer.DOUBLE);
        addBasic(Character.class, "char", BasicSerializer.CHARACTER_OBJECT);
        addBasic(String.class, "string", BasicSerializer.STRING);
        addBasic(Object.class, "object", BasicSerializer.OBJECT);
        addBasic(java.util.Date.class, "date", BasicSerializer.DATE);

        addBasic(boolean.class, "boolean", BasicSerializer.BOOLEAN);
        addBasic(byte.class, "byte", BasicSerializer.BYTE);
        addBasic(short.class, "short", BasicSerializer.SHORT);
        addBasic(int.class, "int", BasicSerializer.INTEGER);
        addBasic(long.class, "long", BasicSerializer.LONG);
        addBasic(float.class, "float", BasicSerializer.FLOAT);
        addBasic(double.class, "double", BasicSerializer.DOUBLE);
        addBasic(char.class, "char", BasicSerializer.CHARACTER);

        addBasic(boolean[].class, "[boolean", BasicSerializer.BOOLEAN_ARRAY);
        addBasic(byte[].class, "[byte", BasicSerializer.BYTE_ARRAY);
        _staticSerializerMap.put(byte[].class.getName(), ByteArraySerializer.SER);
        addBasic(short[].class, "[short", BasicSerializer.SHORT_ARRAY);
        addBasic(int[].class, "[int", BasicSerializer.INTEGER_ARRAY);
        addBasic(long[].class, "[long", BasicSerializer.LONG_ARRAY);
        addBasic(float[].class, "[float", BasicSerializer.FLOAT_ARRAY);
        addBasic(double[].class, "[double", BasicSerializer.DOUBLE_ARRAY);
        addBasic(char[].class, "[char", BasicSerializer.CHARACTER_ARRAY);
        addBasic(String[].class, "[string", BasicSerializer.STRING_ARRAY);
        addBasic(Object[].class, "[object", BasicSerializer.OBJECT_ARRAY);

        Deserializer objectDeserializer = new JavaDeserializer(Object.class, fieldFactory);
        _staticDeserializerMap.put("object", objectDeserializer);
        _staticClassNameMap.put("object", objectDeserializer);

        _staticSerializerMap.put(Class.class.getName(), new ClassSerializer());

        _staticDeserializerMap.put(Number.class.getName(), new BasicDeserializer(BasicSerializer.NUMBER));

    /*
    for (Class cl : new Class[] { BigDecimal.class, File.class, ObjectName.class }) {
      _staticSerializerMap.put(cl, StringValueSerializer.SER);
      _staticDeserializerMap.put(cl, new StringValueDeserializer(cl));
    }

    _staticSerializerMap.put(ObjectName.class, StringValueSerializer.SER);
    try {
      _staticDeserializerMap.put(ObjectName.class,
                           new StringValueDeserializer(ObjectName.class));
    } catch (Throwable e) {
    }
    */

        _staticSerializerMap.put(InetAddress.class.getName(),
                InetAddressSerializer.create());

        _staticSerializerMap.put(java.sql.Date.class.getName(),
                new SqlDateSerializer());
        _staticSerializerMap.put(java.sql.Time.class.getName(),
                new SqlDateSerializer());
        _staticSerializerMap.put(java.sql.Timestamp.class.getName(),
                new SqlDateSerializer());

        _staticDeserializerMap.put(java.sql.Date.class.getName(),
                new SqlDateDeserializer(java.sql.Date.class));
        _staticDeserializerMap.put(java.sql.Time.class.getName(),
                new SqlDateDeserializer(java.sql.Time.class));
        _staticDeserializerMap.put(java.sql.Timestamp.class.getName(),
                new SqlDateDeserializer(java.sql.Timestamp.class));

        // hessian/3bb5
        _staticDeserializerMap.put(StackTraceElement.class.getName(),
                new StackTraceElementDeserializer(fieldFactory));

        ClassLoader systemClassLoader = null;
        try {
            systemClassLoader = ClassLoader.getSystemClassLoader();
        } catch (Exception e) {
        }

        _systemClassLoader = systemClassLoader;
    }