001package ca.uhn.fhir.rest.gclient; 002 003/* 004 * #%L 005 * HAPI FHIR - Core Library 006 * %% 007 * Copyright (C) 2014 - 2016 University Health Network 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.model.primitive.IdDt; 024import ca.uhn.fhir.rest.api.MethodOutcome; 025import ca.uhn.fhir.rest.api.PreferReturnEnum; 026import ca.uhn.fhir.rest.client.IGenericClient; 027 028public interface ICreateTyped extends IClientExecutable<ICreateTyped, MethodOutcome> { 029 030 /** 031 * @since HAPI 0.9 / FHIR DSTU 2 032 */ 033 ICreateWithQuery conditional(); 034 035 /** 036 * Specifies that the create should be performed as a conditional create 037 * against a given search URL. 038 * 039 * @param theSearchUrl The search URL to use. The format of this URL should be of the form <code>[ResourceType]?[Parameters]</code>, 040 * for example: <code>Patient?name=Smith&identifier=13.2.4.11.4%7C847366</code> 041 * @since HAPI 0.9 / FHIR DSTU 2 042 */ 043 ICreateTyped conditionalByUrl(String theSearchUrl); 044 045 /** 046 * Add a <code>Prefer</code> header to the request, which requests that the server include 047 * or suppress the resource body as a part of the result. If a resource is returned by the server 048 * it will be parsed an accessible to the client via {@link MethodOutcome#getResource()} 049 * 050 * @since HAPI 1.1 051 */ 052 ICreateTyped prefer(PreferReturnEnum theReturn); 053 054 /** 055 * If you want the explicitly state an ID for your created resource, put that ID here. You generally do not 056 * need to invoke this method, so that the server will assign the ID itself. 057 * 058 * <p> 059 * Note that creating a resource by ID is no longer supported as of FHIR DSTU2. You should use the {@link IGenericClient#update()} operation 060 * to create-by-ID in DSTU2. 061 * </p> 062 */ 063 ICreateTyped withId(IdDt theId); 064 065 /** 066 * If you want the explicitly state an ID for your created resource, put that ID here. You generally do not 067 * need to invoke this method, so that the server will assign the ID itself. 068 * 069 * <p> 070 * Note that creating a resource by ID is no longer supported as of FHIR DSTU2. You should use the {@link IGenericClient#update()} operation 071 * to create-by-ID in DSTU2. 072 * </p> 073 */ 074 ICreateTyped withId(String theId); 075 076}