001package ca.uhn.fhir.jpa.subscription.model;
002
003/*-
004 * #%L
005 * HAPI FHIR Storage api
006 * %%
007 * Copyright (C) 2014 - 2022 Smile CDR, Inc.
008 * %%
009 * Licensed under the Apache License, Version 2.0 (the "License");
010 * you may not use this file except in compliance with the License.
011 * You may obtain a copy of the License at
012 *
013 *      http://www.apache.org/licenses/LICENSE-2.0
014 *
015 * Unless required by applicable law or agreed to in writing, software
016 * distributed under the License is distributed on an "AS IS" BASIS,
017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
018 * See the License for the specific language governing permissions and
019 * limitations under the License.
020 * #L%
021 */
022
023import ca.uhn.fhir.rest.server.messaging.json.BaseJsonMessage;
024import com.fasterxml.jackson.annotation.JsonProperty;
025import com.fasterxml.jackson.core.JsonProcessingException;
026import com.fasterxml.jackson.databind.ObjectMapper;
027import org.apache.commons.lang3.builder.ToStringBuilder;
028
029public class ResourceDeliveryJsonMessage extends BaseJsonMessage<ResourceDeliveryMessage> {
030        private static final ObjectMapper ourObjectMapper = new ObjectMapper().registerModule(new com.fasterxml.jackson.datatype.jsr310.JavaTimeModule());
031
032        @JsonProperty("payload")
033        private ResourceDeliveryMessage myPayload;
034
035        /**
036         * Constructor
037         */
038        public ResourceDeliveryJsonMessage() {
039                super();
040        }
041
042        /**
043         * Constructor
044         */
045        public ResourceDeliveryJsonMessage(ResourceDeliveryMessage thePayload) {
046                myPayload = thePayload;
047        }
048
049        @Override
050        public ResourceDeliveryMessage getPayload() {
051                return myPayload;
052        }
053
054        public void setPayload(ResourceDeliveryMessage thePayload) {
055                myPayload = thePayload;
056        }
057
058        @Override
059        public String toString() {
060                return new ToStringBuilder(this)
061                        .append("myPayload", myPayload)
062                        .toString();
063        }
064
065        public static ResourceDeliveryJsonMessage fromJson(String theJson) throws JsonProcessingException {
066                return ourObjectMapper.readValue(theJson, ResourceDeliveryJsonMessage.class);
067        }
068
069        public String asJson() throws JsonProcessingException {
070                return ourObjectMapper.writeValueAsString(this);
071        }
072}