public void register() { try { Class type = Class.forName(className); Serializer serializer; if( serializerClassName == null ) { serializer = fieldSerializer; } else { Class serializerType = Class.forName(serializerClassName); serializer = (Serializer)serializerType.newInstance(); } SerializerRegistration result = Serializer.registerClassForId(id, type, serializer); log.log(Level.FINE, " result:{0}", result); } catch( ClassNotFoundException e ) { throw new RuntimeException( "Class not found attempting to register:" + this, e ); } catch( InstantiationException e ) { throw new RuntimeException( "Error instantiating serializer registering:" + this, e ); } catch( IllegalAccessException e ) { throw new RuntimeException( "Error instantiating serializer registering:" + this, e ); } }
public static SerializerRegistration registerClass(Class cls, Serializer serializer) { SerializerRegistration existingReg = getExactSerializerRegistration(cls); short id; if (existingReg != null) { id = existingReg.getId(); } else { id = nextId(); } return registerClassForId( id, cls, serializer ); }
/** * Registers the specified class. The failOnMiss flag controls whether or * not this method returns null for failed registration or throws an exception. */ @SuppressWarnings("unchecked") public static SerializerRegistration registerClass(Class cls, boolean failOnMiss) { if (cls.isAnnotationPresent(Serializable.class)) { Serializable serializable = (Serializable)cls.getAnnotation(Serializable.class); Class serializerClass = serializable.serializer(); short classId = serializable.id(); if (classId == 0) classId = nextId(); Serializer serializer = getSerializer(serializerClass, false); if (serializer == null) serializer = fieldSerializer; SerializerRegistration existingReg = getExactSerializerRegistration(cls); if (existingReg != null) classId = existingReg.getId(); SerializerRegistration reg = new SerializerRegistration(serializer, cls, classId); return registerClassForId( classId, cls, serializer ); } if (failOnMiss) { throw new IllegalArgumentException( "Class is not marked @Serializable:" + cls ); } return null; }
registerClassForId( DisconnectMessage.SERIALIZER_ID, DisconnectMessage.class, new DisconnectMessage.DisconnectSerializer() ); registerClassForId( ClientRegistrationMessage.SERIALIZER_ID, ClientRegistrationMessage.class, new ClientRegistrationMessage.ClientRegistrationSerializer() );
public void register() { try { Class type = Class.forName(className); Serializer serializer; if( serializerClassName == null ) { serializer = fieldSerializer; } else { Class serializerType = Class.forName(serializerClassName); serializer = (Serializer)serializerType.newInstance(); } SerializerRegistration result = Serializer.registerClassForId(id, type, serializer); log.log(Level.FINE, " result:{0}", result); } catch( ClassNotFoundException e ) { throw new RuntimeException( "Class not found attempting to register:" + this, e ); } catch( InstantiationException e ) { throw new RuntimeException( "Error instantiating serializer registering:" + this, e ); } catch( IllegalAccessException e ) { throw new RuntimeException( "Error instantiating serializer registering:" + this, e ); } }
public static SerializerRegistration registerClass(Class cls, Serializer serializer) { SerializerRegistration existingReg = getExactSerializerRegistration(cls); short id; if (existingReg != null) { id = existingReg.getId(); } else { id = nextId(); } return registerClassForId( id, cls, serializer ); }
/** * Registers the specified class. The failOnMiss flag controls whether or * not this method returns null for failed registration or throws an exception. */ @SuppressWarnings("unchecked") public static SerializerRegistration registerClass(Class cls, boolean failOnMiss) { if (cls.isAnnotationPresent(Serializable.class)) { Serializable serializable = (Serializable)cls.getAnnotation(Serializable.class); Class serializerClass = serializable.serializer(); short classId = serializable.id(); if (classId == 0) classId = nextId(); Serializer serializer = getSerializer(serializerClass, false); if (serializer == null) serializer = fieldSerializer; SerializerRegistration existingReg = getExactSerializerRegistration(cls); if (existingReg != null) classId = existingReg.getId(); SerializerRegistration reg = new SerializerRegistration(serializer, cls, classId); return registerClassForId( classId, cls, serializer ); } if (failOnMiss) { throw new IllegalArgumentException( "Class is not marked @Serializable:" + cls ); } return null; }
registerClassForId( DisconnectMessage.SERIALIZER_ID, DisconnectMessage.class, new DisconnectMessage.DisconnectSerializer() ); registerClassForId( ClientRegistrationMessage.SERIALIZER_ID, ClientRegistrationMessage.class, new ClientRegistrationMessage.ClientRegistrationSerializer() );