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}