@Override @Nullable public Object convert(@Nullable Object source, TypeDescriptor sourceType, TypeDescriptor targetType) { boolean byteBufferTarget = targetType.isAssignableTo(BYTE_BUFFER_TYPE); if (source instanceof ByteBuffer) { ByteBuffer buffer = (ByteBuffer) source; return (byteBufferTarget ? buffer.duplicate() : convertFromByteBuffer(buffer, targetType)); } if (byteBufferTarget) { return convertToByteBuffer(source, sourceType); } // Should not happen throw new IllegalStateException("Unexpected source/target types"); }
@Override @Nullable public Object convert(@Nullable Object source, TypeDescriptor sourceType, TypeDescriptor targetType) { boolean byteBufferTarget = targetType.isAssignableTo(BYTE_BUFFER_TYPE); if (source instanceof ByteBuffer) { ByteBuffer buffer = (ByteBuffer) source; return (byteBufferTarget ? buffer.duplicate() : convertFromByteBuffer(buffer, targetType)); } if (byteBufferTarget) { return convertToByteBuffer(source, sourceType); } // Should not happen throw new IllegalStateException("Unexpected source/target types"); }
@Override @Nullable public Object convert(@Nullable Object source, TypeDescriptor sourceType, TypeDescriptor targetType) { boolean byteBufferTarget = targetType.isAssignableTo(BYTE_BUFFER_TYPE); if (source instanceof ByteBuffer) { ByteBuffer buffer = (ByteBuffer) source; return (byteBufferTarget ? buffer.duplicate() : convertFromByteBuffer(buffer, targetType)); } if (byteBufferTarget) { return convertToByteBuffer(source, sourceType); } // Should not happen throw new IllegalStateException("Unexpected source/target types"); }
@Override @Nullable public Object convert(@Nullable Object source, TypeDescriptor sourceType, TypeDescriptor targetType) { boolean byteBufferTarget = targetType.isAssignableTo(BYTE_BUFFER_TYPE); if (source instanceof ByteBuffer) { ByteBuffer buffer = (ByteBuffer) source; return (byteBufferTarget ? buffer.duplicate() : convertFromByteBuffer(buffer, targetType)); } if (byteBufferTarget) { return convertToByteBuffer(source, sourceType); } // Should not happen throw new IllegalStateException("Unexpected source/target types"); }