View Javadoc
1   package ca.uhn.fhir.model.primitive;
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  import static org.apache.commons.lang3.StringUtils.defaultString;
23  import static org.apache.commons.lang3.StringUtils.isBlank;
24  
25  import ca.uhn.fhir.model.api.BasePrimitive;
26  import ca.uhn.fhir.model.api.annotation.DatatypeDef;
27  import ca.uhn.fhir.model.api.annotation.SimpleSetter;
28  
29  @DatatypeDef(name = "code", profileOf=StringDt.class)
30  public class CodeDt extends BasePrimitive<String> implements Comparable<CodeDt> {
31  
32  	/**
33  	 * Constructor
34  	 */
35  	public CodeDt() {
36  		super();
37  	}
38  
39  	/**
40  	 * Constructor which accepts a string code
41  	 */
42  	@SimpleSetter()
43  	public CodeDt(@SimpleSetter.Parameter(name = "theCode") String theCode) {
44  		setValue(theCode);
45  	}
46  
47  	@Override
48  	public boolean isEmpty() {
49  		return super.isBaseEmpty() && isBlank(getValueAsString());
50  	}
51  
52  	@Override
53  	public int compareTo(CodeDt theCode) {
54  		if (theCode == null) {
55  			return 1;
56  		}
57  		return defaultString(getValue()).compareTo(defaultString(theCode.getValue()));
58  	}
59  
60  	@Override
61  	protected String parse(String theValue) {
62  		return theValue.trim();
63  	}
64  
65  	@Override
66  	protected String encode(String theValue) {
67  		return theValue;
68  	}
69  
70  }