001/*-
002 * #%L
003 * Smile CDR - CDR
004 * %%
005 * Copyright (C) 2016 - 2024 Smile CDR, Inc.
006 * %%
007 * All rights reserved.
008 * #L%
009 */
010package ca.cdr.api.fhirgw.model;
011
012import jakarta.annotation.Nonnull;
013import org.hl7.fhir.instance.model.api.IBaseBundle;
014
015/**
016 * This class represents the response to a FHIR Gateway Search request executed
017 * against a single target
018 */
019public class SearchSingleTargetResponse extends BaseResponse<SearchSingleTargetResponse> {
020
021        @Nonnull
022        private IBaseBundle mySearchResults;
023
024        /**
025         * Constructor - Create an empty object
026         */
027        public SearchSingleTargetResponse() {
028                super();
029        }
030
031        /**
032         * Copy constructor - Creates a shallow copy only
033         */
034        public SearchSingleTargetResponse(SearchSingleTargetResponse theSearchResponse) {
035                super(theSearchResponse);
036                mySearchResults = theSearchResponse.getSearchResults();
037        }
038
039        public SearchSingleTargetResponse(IBaseBundle theResult) {
040                mySearchResults = theResult;
041        }
042
043        @Nonnull
044        public IBaseBundle getSearchResults() {
045                return mySearchResults;
046        }
047
048        public void setSearchResults(@Nonnull IBaseBundle theSearchResults) {
049                mySearchResults = theSearchResults;
050        }
051
052        /**
053         * Create a clone of this object using a <b>shallow copy only</b>. Values
054         * are copied by reference only, so things like Resources should only be
055         * modified if you are sure that the changes won't affect the value
056         * stored in cache.
057         */
058        @Override
059        public SearchSingleTargetResponse clone() {
060                return new SearchSingleTargetResponse(this);
061        }
062}