in hessian-lite/src/main/java/com/alibaba/com/caucho/hessian/io/UnsafeSerializer.java [138:166]
private static FieldSerializer getFieldSerializer(Field field) {
Class<?> type = field.getType();
if (boolean.class.equals(type)) {
return new BooleanFieldSerializer(field);
} else if (byte.class.equals(type)) {
return new ByteFieldSerializer(field);
} else if (char.class.equals(type)) {
return new CharFieldSerializer(field);
} else if (short.class.equals(type)) {
return new ShortFieldSerializer(field);
} else if (int.class.equals(type)) {
return new IntFieldSerializer(field);
} else if (long.class.equals(type)) {
return new LongFieldSerializer(field);
} else if (double.class.equals(type)) {
return new DoubleFieldSerializer(field);
} else if (float.class.equals(type)) {
return new FloatFieldSerializer(field);
} else if (String.class.equals(type)) {
return new StringFieldSerializer(field);
} else if (java.util.Date.class.equals(type)
|| java.sql.Date.class.equals(type)
|| java.sql.Timestamp.class.equals(type)
|| java.sql.Time.class.equals(type)) {
return new DateFieldSerializer(field);
} else
return new ObjectFieldSerializer(field);
}