/** * Copyright 2013 Tommi S.E. Laukkanen * * 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 ru.iris.common.messaging; import java.util.UUID; /** * Value object to contain JSON messaging envelope information. * * @author Tommi S.E. Laukkanen */ public class JsonEnvelope { /** * The subject. */ private final String subject; /** * The object. */ private final Object object; /** * The sender instance ID. */ private UUID senderInstanceId; /** * The receiver instance ID. */ private String receiverInstanceId; /** * The correlation ID. */ private String correlationId; public JsonEnvelope(String subject, Object object) { this.subject = subject; this.object = object; } public JsonEnvelope( UUID senderInstanceId, String receiverInstanceId, String correlationId, String subject, Object object) { this.senderInstanceId = senderInstanceId; this.receiverInstanceId = receiverInstanceId; this.correlationId = correlationId; this.subject = subject; this.object = object; } public String getCorrelationId() { return correlationId; } public String getSubject() { return subject; } @SuppressWarnings("unchecked") public <T> T getObject() { return (T) object; } public UUID getSenderInstance() { return senderInstanceId; } public String getReceiverInstance() { return receiverInstanceId; } @Override public String toString() { return "Envelope{" + "senderInstanceId=" + senderInstanceId + ", receiverInstanceId=" + receiverInstanceId + ", correlationId='" + correlationId + '\'' + ", subject='" + subject + '\'' + ", object=" + object + '}'; } }