io.udvi.amqp.mq.transport.endpoint.MessagePropertiesImpl.java Source code

Java tutorial

Introduction

Here is the source code for io.udvi.amqp.mq.transport.endpoint.MessagePropertiesImpl.java

Source

/**
 * Copyright 2013 Suresh Reddy Guntaka
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * You may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */
package io.udvi.amqp.mq.transport.endpoint;

import io.udvi.amqp.mq.api.MessageProperties;
import io.udvi.amqp.mq.transport.protocol.CAMQPEncoder;
import io.udvi.amqp.mq.transport.protocol.CAMQPSyncDecoder;
import io.udvi.amqp.mq.transport.protocol.data.CAMQPDefinitionProperties;

import java.util.Date;

import org.apache.commons.lang.StringUtils;

final class MessagePropertiesImpl implements MessageProperties {
    public MessagePropertiesImpl(CAMQPDefinitionProperties properties) {
        super();
        this.properties = properties;
    }

    public MessagePropertiesImpl() {
        super();
        this.properties = new CAMQPDefinitionProperties();
    }

    @Override
    public String getMessageId() {
        return (String) properties.getMessageId();
    }

    @Override
    public void setMessageId(String messageId) {
        properties.setMessageId(messageId);
    }

    @Override
    public String getCorrlelationId() {
        return (String) properties.getCorrelationId();
    }

    @Override
    public void setCorrlelationId(String corrlelationId) {
        properties.setCorrelationId(corrlelationId);
    }

    @Override
    public String getUserId() {
        return new String(properties.getUserId());
    }

    @Override
    public void setUserId(String userId) {
        properties.setUserId(userId.getBytes());
    }

    @Override
    public String getToAddress() {
        return (String) properties.getTo();
    }

    @Override
    public void setToAddress(String toAddress) {
        properties.setTo(toAddress);
    }

    @Override
    public String getReplyToAddress() {
        return (String) properties.getReplyTo();
    }

    @Override
    public void setReplyToAddress(String replyToAddress) {
        properties.setReplyTo(replyToAddress);
    }

    @Override
    public String getSubject() {
        return properties.getSubject();
    }

    @Override
    public void setSubject(String subject) {
        properties.setSubject(subject);
    }

    @Override
    public String getContentType() {
        return properties.getContentType();
    }

    @Override
    public void setContentType(String contentType) {
        properties.setContentType(contentType);
    }

    @Override
    public Date getCreationTime() {
        return properties.getCreationTime();
    }

    @Override
    public void setCreationTime(Date creationTime) {
        properties.setCreationTime(creationTime);
    }

    @Override
    public Date getExpiryTime() {
        return properties.getAbsoluteExpiryTime();
    }

    @Override
    public void setExpiryTime(Date expiryTime) {
        properties.setAbsoluteExpiryTime(expiryTime);
    }

    public void encode(CAMQPEncoder encoder) {
        CAMQPDefinitionProperties.encode(encoder, properties);
    }

    static MessagePropertiesImpl decode(CAMQPSyncDecoder decoder) {
        String symbolRead = decoder.readSymbol();
        assert (StringUtils.equals(symbolRead, CAMQPDefinitionProperties.descriptor));
        CAMQPDefinitionProperties properties = CAMQPDefinitionProperties.decode(decoder);
        return new MessagePropertiesImpl(properties);
    }

    private final CAMQPDefinitionProperties properties;
}