Example usage for org.springframework.messaging.converter MessageConverter getClass

List of usage examples for org.springframework.messaging.converter MessageConverter getClass

Introduction

In this page you can find the example usage for org.springframework.messaging.converter MessageConverter getClass.

Prototype

@HotSpotIntrinsicCandidate
public final native Class<?> getClass();

Source Link

Document

Returns the runtime class of this Object .

Usage

From source file:org.springframework.cloud.stream.converter.CompositeMessageConverterFactory.java

/**
 * Creation method.//from  www . j  a  v  a  2 s  .  c om
 * @param mimeType the target MIME type
 * @return a converter for the target MIME type
 */
public MessageConverter getMessageConverterForType(MimeType mimeType) {
    List<MessageConverter> converters = new ArrayList<>();
    for (MessageConverter converter : this.converters) {
        if (converter instanceof AbstractMessageConverter) {
            for (MimeType type : ((AbstractMessageConverter) converter).getSupportedMimeTypes()) {
                if (type.includes(mimeType)) {
                    converters.add(converter);
                }
            }
        } else {
            if (this.log.isDebugEnabled()) {
                this.log.debug("Ommitted " + converter + " of type " + converter.getClass().toString()
                        + " for '" + mimeType.toString() + "' as it is not an AbstractMessageConverter");
            }
        }
    }
    if (CollectionUtils.isEmpty(converters)) {
        throw new ConversionException("No message converter is registered for " + mimeType.toString());
    }
    if (converters.size() > 1) {
        return new CompositeMessageConverter(converters);
    } else {
        return converters.get(0);
    }
}