Example usage for org.springframework.messaging.simp.stomp StompHeaders RECEIPT

List of usage examples for org.springframework.messaging.simp.stomp StompHeaders RECEIPT

Introduction

In this page you can find the example usage for org.springframework.messaging.simp.stomp StompHeaders RECEIPT.

Prototype

String RECEIPT

To view the source code for org.springframework.messaging.simp.stomp StompHeaders RECEIPT.

Click Source Link

Usage

From source file:org.springframework.integration.stomp.support.StompHeaderMapper.java

private void setStompHeader(StompHeaders target, String name, Object value) {
    if (StompHeaders.CONTENT_LENGTH.equals(name)) {
        if (value instanceof Number) {
            target.setContentLength(((Number) value).longValue());
        } else if (value instanceof String) {
            target.setContentLength(Long.parseLong((String) value));
        } else {//w  w  w.ja v a  2  s  .  co  m
            Class<?> clazz = (value != null) ? value.getClass() : null;
            throw new IllegalArgumentException(
                    "Expected Number or String value for 'content-length' header value, but received: "
                            + clazz);
        }
    } else if (StompHeaders.CONTENT_TYPE.equals(name) || MessageHeaders.CONTENT_TYPE.equals(name)) {
        MimeType contentType = target.getContentType();
        if (contentType == null || StompHeaders.CONTENT_TYPE.equals(name)) {
            if (value instanceof MediaType) {
                target.setContentType((MediaType) value);
            } else if (value instanceof String) {
                target.setContentType(MediaType.parseMediaType((String) value));
            } else {
                Class<?> clazz = (value != null) ? value.getClass() : null;
                throw new IllegalArgumentException(
                        "Expected MediaType or String value for 'content-type' header value, but received: "
                                + clazz);
            }
        }
    } else if (StompHeaders.DESTINATION.equals(name) || IntegrationStompHeaders.DESTINATION.equals(name)) {
        if (value instanceof String) {
            target.setDestination((String) value);
        } else {
            Class<?> clazz = (value != null) ? value.getClass() : null;
            throw new IllegalArgumentException(
                    "Expected String value for 'destination' header value, but received: " + clazz);
        }
    } else if (StompHeaders.RECEIPT.equals(name) || IntegrationStompHeaders.RECEIPT.equals(name)) {
        if (value instanceof String) {
            target.setReceipt((String) value);
        } else {
            Class<?> clazz = (value != null) ? value.getClass() : null;
            throw new IllegalArgumentException(
                    "Expected String value for 'receipt' header value, but received: " + clazz);
        }
    } else {
        if (value instanceof String) {
            target.set(name, (String) value);
        } else {
            Class<?> clazz = (value != null) ? value.getClass() : null;
            throw new IllegalArgumentException(
                    "Expected String value for any generic STOMP header value, but received: " + clazz);
        }
    }
}