예제 #1
0
 public void writeClass(Class<?> clazz) {
   ObjectSerializationHandler handler = ObjectSerializerRegistry.getHandlerByObjectType(clazz);
   ObjectTypeMapper mapper = ObjectSerializerRegistry.getMapperByObjectType(clazz);
   if (handler == null && clazz.isArray()) {
     // we may have special handlers for certain types of arrays
     // if handler is null, treat like any other array
     writeByte(OBJECT_TYPE_ARRAY);
     writeClass(clazz.getComponentType());
   } else if (mapper == null) {
     throw new ConnectorException("No serializer for class: " + clazz);
   } else {
     String typeName = mapper.getHandledSerialType();
     writeByte(OBJECT_TYPE_CLASS);
     writeString(typeName, true);
   }
 }