View Javadoc
1   package ca.uhn.fhir.rest.gclient;
2   
3   /*-
4    * #%L
5    * HAPI FHIR - Core Library
6    * %%
7    * Copyright (C) 2014 - 2018 University Health Network
8    * %%
9    * Licensed under the Apache License, Version 2.0 (the "License");
10   * you may not use this file except in compliance with the License.
11   * You may obtain a copy of the License at
12   * 
13   *      http://www.apache.org/licenses/LICENSE-2.0
14   * 
15   * Unless required by applicable law or agreed to in writing, software
16   * distributed under the License is distributed on an "AS IS" BASIS,
17   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18   * See the License for the specific language governing permissions and
19   * limitations under the License.
20   * #L%
21   */
22  
23  import ca.uhn.fhir.context.FhirContext;
24  import ca.uhn.fhir.rest.api.Constants;
25  
26  abstract class BaseClientParam implements IParam {
27  
28  	@Override
29  	public ICriterion<?> isMissing(boolean theMissing) {
30  		return new MissingCriterion(theMissing ? Constants.PARAMQUALIFIER_MISSING_TRUE : Constants.PARAMQUALIFIER_MISSING_FALSE);
31  	}
32  
33  	private class MissingCriterion implements ICriterion<IParam>, ICriterionInternal
34  	{
35  		private String myParameterValue;
36  
37  
38  		public MissingCriterion(String theParameterValue) {
39  			myParameterValue = theParameterValue;
40  		}
41  
42  		@Override
43  		public String getParameterValue(FhirContext theContext) {
44  			return myParameterValue;
45  		}
46  
47  		@Override
48  		public String getParameterName() {
49  			return BaseClientParam.this.getParamName() + Constants.PARAMQUALIFIER_MISSING;
50  		}
51  		
52  	}
53  	
54  }