@Override public String getType() { return getMimeType(); }
@Override public String getType() { return getMimeType(); }
@Override public String getType() { return getMimeType(); }
ObjectToMimeContentConverter converter = MimeContentConverterRegistry.getBestFitObjectToMimeContentConverter(messageBody); final byte[] messageContent = converter == null ? new byte[] {} : converter.toMimeContent(messageBody); String mimeType = converter == null ? null : converter.getMimeType();
private static Object convertMessageBody(String mimeType, byte[] data) MimeContentToObjectConverter converter = MimeContentConverterRegistry.getMimeContentToObjectConverter(mimeType); if (data != null && data.length != 0) return converter.toObject(data);
private static Multimap<Class, ObjectToMimeContentConverter> buildClassToMimeConverters() { Multimap<Class, ObjectToMimeContentConverter> classToMineConverters = HashMultimap.create(); Iterable<ObjectToMimeContentConverter> objectToMimeContentConverters = new QpidServiceLoader().instancesOf(ObjectToMimeContentConverter.class); for(ObjectToMimeContentConverter converter : objectToMimeContentConverters) { Class objectClass = converter.getObjectClass(); for(ObjectToMimeContentConverter existing : classToMineConverters.get(objectClass)) { if (existing.getRank() == converter.getRank()) { LOGGER.warn("MIME converter for object class {} has two or more implementations" + " with the same rank {}. It is undefined which one will be used." + " Implementations are: {} {} ", existing.getObjectClass().getName(), existing.getRank(), existing.getClass().getName(), converter.getClass().getName()); } } classToMineConverters.put(objectClass, converter); } classToMineConverters.put(Void.class, new IdentityConverter()); return ImmutableMultimap.copyOf(classToMineConverters); }
public static ObjectToMimeContentConverter getBestFitObjectToMimeContentConverter(Object object, Class<?> typeHint) { ObjectToMimeContentConverter converter = null; for (ObjectToMimeContentConverter candidate : _classToMimeContentConverters.get(typeHint)) { if (candidate.isAcceptable(object)) { if (converter == null || candidate.getRank() > converter.getRank()) { converter = candidate; } } } return converter; } }
@Override public String getType() { return getMimeType(); }
@Override public String getType() { return getMimeType(); }
@Override public String getType() { return getMimeType(); }
private static Map<String, MimeContentToObjectConverter> buildMimeContentToObjectMap() { final Map<String, MimeContentToObjectConverter> mimeContentToObjectConverters = new HashMap<>(); for(MimeContentToObjectConverter converter : (new QpidServiceLoader()).instancesOf(MimeContentToObjectConverter.class)) { final String mimeType = converter.getMimeType(); final MimeContentToObjectConverter existing = mimeContentToObjectConverters.put(mimeType, converter); if (existing != null) { LOGGER.warn("MIME converter {} for mime type '{}' replaced by {}.", existing.getClass().getName(), existing.getMimeType(), converter.getClass().getName()); } } return Collections.unmodifiableMap(mimeContentToObjectConverters); }
ObjectToMimeContentConverter converter = MimeContentConverterRegistry.getBestFitObjectToMimeContentConverter(messageBody); final byte[] messageContent; try messageContent = converter == null ? new byte[] {} : converter.toMimeContent(messageBody); + " conversion of message content failed.", e); String mimeType = converter == null ? null : converter.getMimeType();
private static Object convertMessageBody(String mimeType, byte[] data) MimeContentToObjectConverter converter = MimeContentConverterRegistry.getMimeContentToObjectConverter(mimeType); if (data != null && data.length != 0) return converter.toObject(data);
public static ObjectToMimeContentConverter getBestFitObjectToMimeContentConverter(Object object) { ObjectToMimeContentConverter converter = null; if (object != null) { final List<Class<?>> classes = new ArrayList<>(Arrays.asList(object.getClass().getInterfaces())); classes.add(object.getClass()); for (Class<?> i : classes) { for (ObjectToMimeContentConverter candidate : _classToMimeContentConverters.get(i)) { if (candidate.isAcceptable(object)) { if (converter == null || candidate.getRank() > converter.getRank()) { converter = candidate; } } } } } return converter; }
public static ConvertedContentAndMimeType getAmqp0xConvertedContentAndMimeType(final Message_1_0 serverMsg) ObjectToMimeContentConverter converter = getBestFitObjectToMimeContentConverter(bodyObject); converter = getBestFitObjectToMimeContentConverter(bodyObject, typeHint); final byte[] messageContent = converter.toMimeContent(bodyObject); String mimeType = converter.getMimeType(); if (bodyObject instanceof byte[])
MimeContentConverterRegistry.getMimeContentToObjectConverter(mimeType); if (converter != null) Object bodyObject = converter.toObject(data);