001/*-
002 * #%L
003 * Smile CDR - CDR
004 * %%
005 * Copyright (C) 2016 - 2025 Smile CDR, Inc.
006 * %%
007 * All rights reserved.
008 * #L%
009 */
010package ca.cdr.api.broker;
011
012import ca.uhn.fhir.rest.server.messaging.IMessage;
013
014import java.util.Map;
015
016public class PublicBrokerSendRequest<P> implements IPublicBrokerSendRequest<P> {
017
018        private final String myChannelName;
019        private final P myPayload;
020        private final Class<? extends IMessage<P>> myMessageType;
021        private final Class<P> myPayloadType;
022        private final Map<String, Object> myHeaders;
023
024        public PublicBrokerSendRequest(
025                        String theChannelName,
026                        P thePayload,
027                        Class<? extends IMessage<P>> theMessageType,
028                        Class<P> thePayloadType,
029                        Map<String, Object> theHeaders) {
030                myChannelName = theChannelName;
031                myPayload = thePayload;
032                myMessageType = theMessageType;
033                myPayloadType = thePayloadType;
034                myHeaders = theHeaders;
035        }
036
037        @Override
038        public String getChannelName() {
039                return myChannelName;
040        }
041
042        @Override
043        public P getPayload() {
044                return myPayload;
045        }
046
047        @Override
048        public Class<? extends IMessage<P>> getMessageType() {
049                return myMessageType;
050        }
051
052        @Override
053        public Class<P> getPayloadType() {
054                return myPayloadType;
055        }
056
057        @Override
058        public Map<String, Object> getHeaders() {
059                return myHeaders;
060        }
061}