in src/main/java/org/apache/commons/beanutils2/DynaProperty.java [223:248]
private Class<?> readAnyClass(final ObjectInputStream in) throws IOException, ClassNotFoundException {
// read back type class safely
if (in.readBoolean()) {
// it's a type constant
switch (in.readInt()) {
case BOOLEAN_TYPE: return Boolean.TYPE;
case BYTE_TYPE: return Byte.TYPE;
case CHAR_TYPE: return Character.TYPE;
case DOUBLE_TYPE: return Double.TYPE;
case FLOAT_TYPE: return Float.TYPE;
case INT_TYPE: return Integer.TYPE;
case LONG_TYPE: return Long.TYPE;
case SHORT_TYPE: return Short.TYPE;
default:
// something's gone wrong
throw new StreamCorruptedException(
"Invalid primitive type. "
+ "Check version of beanutils used to serialize is compatible.");
}
}
// it's another class
return (Class<?>) in.readObject();
}