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}