View Javadoc
1   package ca.uhn.fhir.rest.param.binder;
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 org.hl7.fhir.instance.model.api.IPrimitiveType;
24  
25  import ca.uhn.fhir.util.ReflectionUtil;
26  
27  public final class FhirPrimitiveBinder extends BaseJavaPrimitiveBinder<IPrimitiveType<?>> {
28  	
29  	private Class<IPrimitiveType<?>> myType;
30  
31  	public FhirPrimitiveBinder(Class<IPrimitiveType<?>> theType) {
32  		myType = theType;
33  	}
34  
35  	@Override
36  	protected String doEncode(IPrimitiveType<?> theString) {
37  		return theString.getValueAsString();
38  	}
39  
40  	@Override
41  	protected IPrimitiveType<?> doParse(String theString) {
42  		IPrimitiveType<?> instance = ReflectionUtil.newInstance(myType);
43  		instance.setValueAsString(theString);
44  		return instance;
45  	}
46  
47  
48  }