/** * Add a new message encoder class for a given message type * * @param messageType The message type * @param encoderClass The encoder class */ @SuppressWarnings({ "rawtypes", "unchecked" }) public void addMessageEncoder(Class<?> messageType, Class<? extends MessageEncoder> encoderClass) { if (encoderClass == null) { throw new IllegalArgumentException("encoderClass"); } try { encoderClass.getConstructor(EMPTY_PARAMS); } catch (NoSuchMethodException e) { throw new IllegalArgumentException("The specified class doesn't have a public default constructor."); } boolean registered = false; if (MessageEncoder.class.isAssignableFrom(encoderClass)) { addMessageEncoder(messageType, new DefaultConstructorMessageEncoderFactory(encoderClass)); registered = true; } if (!registered) { throw new IllegalArgumentException("Unregisterable type: " + encoderClass); } }
/** * Add a new message encoder class for a given message type * * @param messageType The message type * @param encoderClass The encoder class */ @SuppressWarnings({ "rawtypes", "unchecked" }) public void addMessageEncoder(Class<?> messageType, Class<? extends MessageEncoder> encoderClass) { if (encoderClass == null) { throw new IllegalArgumentException("encoderClass"); } try { encoderClass.getConstructor(EMPTY_PARAMS); } catch (NoSuchMethodException e) { throw new IllegalArgumentException("The specified class doesn't have a public default constructor."); } boolean registered = false; if (MessageEncoder.class.isAssignableFrom(encoderClass)) { addMessageEncoder(messageType, new DefaultConstructorMessageEncoderFactory(encoderClass)); registered = true; } if (!registered) { throw new IllegalArgumentException("Unregisterable type: " + encoderClass); } }
@SuppressWarnings("unchecked") public void addMessageEncoder(Class<?> messageType, Class<? extends MessageEncoder> encoderClass) { if (encoderClass == null) { throw new NullPointerException("encoderClass"); } try { encoderClass.getConstructor(EMPTY_PARAMS); } catch (NoSuchMethodException e) { throw new IllegalArgumentException( "The specified class doesn't have a public default constructor."); } boolean registered = false; if (MessageEncoder.class.isAssignableFrom(encoderClass)) { addMessageEncoder(messageType, new DefaultConstructorMessageEncoderFactory(encoderClass)); registered = true; } if (!registered) { throw new IllegalArgumentException( "Unregisterable type: " + encoderClass); } }