/** * Gets the serializer factory. */ public final SerializerFactory findSerializerFactory() { SerializerFactory factory = _serializerFactory; if (factory == null) _serializerFactory = factory = new SerializerFactory(); return factory; }
} else if (isZoneId(cl)) //must before "else if (JavaSerializer.getWriteReplace(cl) != null)" serializer = ZoneIdSerializer.getInstance(); else if (isEnumSet(cl)) serializer = EnumSetSerializer.getInstance(); else if (JavaSerializer.getWriteReplace(cl) != null) serializer = new ArraySerializer(); } else if (Throwable.class.isAssignableFrom(cl)) { serializer = new ThrowableSerializer(cl, getClassLoader()); } else if (InputStream.class.isAssignableFrom(cl)) { serializer = new InputStreamSerializer(); serializer = getDefaultSerializer(cl);
deserializer = getDefaultDeserializer(cl);
/** * Reads the object as a map. */ public Deserializer getListDeserializer(String type, Class cl) throws HessianProtocolException { Deserializer reader = getListDeserializer(type); if (cl == null || cl.equals(reader.getType()) || cl.isAssignableFrom(reader.getType())) { return reader; } if (log.isLoggable(Level.FINE)) { log.fine("hessian: expected '" + cl.getName() + "' at '" + type + "' (" + reader.getType().getName() + ")"); } return getDeserializer(cl); }
/** * Reads the object as a map. */ public Deserializer getObjectDeserializer(String type, Class cl) throws HessianProtocolException { Deserializer reader = getObjectDeserializer(type); if (cl == null || cl.equals(reader.getType()) || cl.isAssignableFrom(reader.getType()) || HessianHandle.class.isAssignableFrom(reader.getType())) { return reader; } if (log.isLoggable(Level.FINE)) { log.fine("hessian: expected '" + cl.getName() + "' at '" + type + "' (" + reader.getType().getName() + ")"); } return getDeserializer(cl); }
private Object readObjectInstance(Class cl, ObjectDefinition def) throws IOException { String type = def.getType(); String[] fieldNames = def.getFieldNames(); if (cl != null) { Deserializer reader; reader = findSerializerFactory().getObjectDeserializer(type, cl); return reader.readObject(this, fieldNames); } else { return findSerializerFactory().readObject(this, type, fieldNames); } }
Deserializer reader = findSerializerFactory().getDeserializer(expectedClass); reader = findSerializerFactory().getDeserializer(expectedClass); reader = findSerializerFactory().getObjectDeserializer(type, expectedClass); reader = findSerializerFactory().getListDeserializer(type, expectedClass); reader = findSerializerFactory().getListDeserializer(type, expectedClass); reader = findSerializerFactory().getListDeserializer(null, expectedClass); reader = findSerializerFactory().getListDeserializer(null, expectedClass); reader = findSerializerFactory().getListDeserializer(null, expectedClass); reader = findSerializerFactory().getListDeserializer(null, expectedClass); Object value = findSerializerFactory().getDeserializer(expectedClass).readObject(this); return value;
return findSerializerFactory().readList(this, -1, type); return findSerializerFactory().readList(this, -1, null); reader = findSerializerFactory().getListDeserializer(type, null); reader = findSerializerFactory().getListDeserializer(null, null); reader = findSerializerFactory().getListDeserializer(type, null); reader = findSerializerFactory().getListDeserializer(null, null); reader = findSerializerFactory().getDeserializer(Map.class); String type = readType(); return findSerializerFactory().readMap(this, type);
return findSerializerFactory().readList(this, -1, type); return findSerializerFactory().readList(this, -1, null); reader = findSerializerFactory().getListDeserializer(type, null); reader = findSerializerFactory().getListDeserializer(null, null); reader = findSerializerFactory().getListDeserializer(type, null); reader = findSerializerFactory().getListDeserializer(null, null); return findSerializerFactory().readMap(this, null); return findSerializerFactory().readMap(this, type);
reader = _serializerFactory.getObjectDeserializer(type); return reader.readList(this, length, valueType ? expectedTypes.get(0) : null); Class clazz = type.equals(HashSet.class.getName()) ? Set.class : List.class; reader = _serializerFactory.getDeserializer(clazz); return _serializerFactory.readMap(this, type , keyValuePair ? expectedTypes.get(0) : null , keyValuePair ? expectedTypes.get(1) : null);
/** * Reads the object as a map. */ public Deserializer getListDeserializer(String type) throws HessianProtocolException { Deserializer deserializer = getDeserializer(type); if (deserializer != null) return deserializer; else if (_arrayListDeserializer != null) return _arrayListDeserializer; else { _arrayListDeserializer = new CollectionDeserializer(ArrayList.class); return _arrayListDeserializer; } }
/** * Writes any object to the output stream. */ @Override public void writeObject(Object object) throws IOException { if (object == null) { writeNull(); return; } Serializer serializer; serializer = _serializerFactory.getSerializer(object.getClass()); serializer.writeObject(object, this); }
serializer = new ThrowableSerializer(cl, getClassLoader()); serializer = getDefaultSerializer(cl);
/** * Reads the object as a map. */ public Object readMap(AbstractHessianInput in, String type) throws HessianProtocolException, IOException { return readMap(in, type, null, null); }
Deserializer reader = findSerializerFactory().getDeserializer(cl); reader = findSerializerFactory().getDeserializer(cl); reader = findSerializerFactory().getObjectDeserializer(type, cl); reader = findSerializerFactory().getListDeserializer(type, cl); reader = findSerializerFactory().getListDeserializer(type, cl); reader = findSerializerFactory().getListDeserializer(null, cl); reader = findSerializerFactory().getListDeserializer(null, cl); reader = findSerializerFactory().getListDeserializer(null, cl); reader = findSerializerFactory().getListDeserializer(null, cl); Object value = findSerializerFactory().getDeserializer(cl).readObject(this); return value;
return findSerializerFactory().readList(this, -1, type); return findSerializerFactory().readList(this, -1, null); reader = findSerializerFactory().getListDeserializer(type, null); reader = findSerializerFactory().getListDeserializer(null, null); reader = findSerializerFactory().getListDeserializer(type, null); reader = findSerializerFactory().getListDeserializer(null, null); reader = findSerializerFactory().getDeserializer(Map.class); String type = readType(); return findSerializerFactory().readMap(this, type);
reader = _serializerFactory.getDeserializer(cl); reader = _serializerFactory.getObjectDeserializer(type, cl); reader = _serializerFactory.getObjectDeserializer(type); reader = _serializerFactory.getDeserializer(cl); Object value = _serializerFactory.getDeserializer(cl).readObject(this);
return findSerializerFactory().readList(this, -1, type); return findSerializerFactory().readList(this, -1, null); reader = findSerializerFactory().getListDeserializer(type, null); reader = findSerializerFactory().getListDeserializer(null, null); reader = findSerializerFactory().getListDeserializer(type, null); reader = findSerializerFactory().getListDeserializer(null, null); return findSerializerFactory().readMap(this, null); return findSerializerFactory().readMap(this, type);
private Object readObjectInstance(Class cl, ObjectDefinition def) throws IOException { String type = def.getType(); String[] fieldNames = def.getFieldNames(); if (cl != null) { Deserializer reader; reader = findSerializerFactory().getObjectDeserializer(type, cl); return reader.readObject(this, fieldNames); } else { return findSerializerFactory().readObject(this, type, fieldNames); } }