001package org.hl7.fhir.r4.model.codesystems;
002
003/*
004  Copyright (c) 2011+, HL7, Inc.
005  All rights reserved.
006  
007  Redistribution and use in source and binary forms, with or without modification, 
008  are permitted provided that the following conditions are met:
009  
010   * Redistributions of source code must retain the above copyright notice, this 
011     list of conditions and the following disclaimer.
012   * Redistributions in binary form must reproduce the above copyright notice, 
013     this list of conditions and the following disclaimer in the documentation 
014     and/or other materials provided with the distribution.
015   * Neither the name of HL7 nor the names of its contributors may be used to 
016     endorse or promote products derived from this software without specific 
017     prior written permission.
018  
019  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
020  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
021  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
022  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
023  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
024  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
025  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
026  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
027  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
028  POSSIBILITY OF SUCH DAMAGE.
029  
030*/
031
032// Generated on Sun, May 6, 2018 17:51-0400 for FHIR v3.4.0
033
034
035import org.hl7.fhir.r4.model.EnumFactory;
036
037public class DataTypesEnumFactory implements EnumFactory<DataTypes> {
038
039  public DataTypes fromCode(String codeString) throws IllegalArgumentException {
040    if (codeString == null || "".equals(codeString))
041      return null;
042    if ("Address".equals(codeString))
043      return DataTypes.ADDRESS;
044    if ("Age".equals(codeString))
045      return DataTypes.AGE;
046    if ("Annotation".equals(codeString))
047      return DataTypes.ANNOTATION;
048    if ("Attachment".equals(codeString))
049      return DataTypes.ATTACHMENT;
050    if ("BackboneElement".equals(codeString))
051      return DataTypes.BACKBONEELEMENT;
052    if ("CodeableConcept".equals(codeString))
053      return DataTypes.CODEABLECONCEPT;
054    if ("Coding".equals(codeString))
055      return DataTypes.CODING;
056    if ("ContactDetail".equals(codeString))
057      return DataTypes.CONTACTDETAIL;
058    if ("ContactPoint".equals(codeString))
059      return DataTypes.CONTACTPOINT;
060    if ("Contributor".equals(codeString))
061      return DataTypes.CONTRIBUTOR;
062    if ("Count".equals(codeString))
063      return DataTypes.COUNT;
064    if ("DataRequirement".equals(codeString))
065      return DataTypes.DATAREQUIREMENT;
066    if ("Distance".equals(codeString))
067      return DataTypes.DISTANCE;
068    if ("Dosage".equals(codeString))
069      return DataTypes.DOSAGE;
070    if ("Duration".equals(codeString))
071      return DataTypes.DURATION;
072    if ("Element".equals(codeString))
073      return DataTypes.ELEMENT;
074    if ("ElementDefinition".equals(codeString))
075      return DataTypes.ELEMENTDEFINITION;
076    if ("Extension".equals(codeString))
077      return DataTypes.EXTENSION;
078    if ("HumanName".equals(codeString))
079      return DataTypes.HUMANNAME;
080    if ("Identifier".equals(codeString))
081      return DataTypes.IDENTIFIER;
082    if ("MarketingStatus".equals(codeString))
083      return DataTypes.MARKETINGSTATUS;
084    if ("Meta".equals(codeString))
085      return DataTypes.META;
086    if ("Money".equals(codeString))
087      return DataTypes.MONEY;
088    if ("Narrative".equals(codeString))
089      return DataTypes.NARRATIVE;
090    if ("ParameterDefinition".equals(codeString))
091      return DataTypes.PARAMETERDEFINITION;
092    if ("Period".equals(codeString))
093      return DataTypes.PERIOD;
094    if ("ProdCharacteristic".equals(codeString))
095      return DataTypes.PRODCHARACTERISTIC;
096    if ("ProductShelfLife".equals(codeString))
097      return DataTypes.PRODUCTSHELFLIFE;
098    if ("Quantity".equals(codeString))
099      return DataTypes.QUANTITY;
100    if ("Range".equals(codeString))
101      return DataTypes.RANGE;
102    if ("Ratio".equals(codeString))
103      return DataTypes.RATIO;
104    if ("Reference".equals(codeString))
105      return DataTypes.REFERENCE;
106    if ("RelatedArtifact".equals(codeString))
107      return DataTypes.RELATEDARTIFACT;
108    if ("SampledData".equals(codeString))
109      return DataTypes.SAMPLEDDATA;
110    if ("Signature".equals(codeString))
111      return DataTypes.SIGNATURE;
112    if ("SimpleQuantity".equals(codeString))
113      return DataTypes.SIMPLEQUANTITY;
114    if ("SubstanceAmount".equals(codeString))
115      return DataTypes.SUBSTANCEAMOUNT;
116    if ("SubstanceMoiety".equals(codeString))
117      return DataTypes.SUBSTANCEMOIETY;
118    if ("Timing".equals(codeString))
119      return DataTypes.TIMING;
120    if ("TriggerDefinition".equals(codeString))
121      return DataTypes.TRIGGERDEFINITION;
122    if ("UsageContext".equals(codeString))
123      return DataTypes.USAGECONTEXT;
124    if ("base64Binary".equals(codeString))
125      return DataTypes.BASE64BINARY;
126    if ("boolean".equals(codeString))
127      return DataTypes.BOOLEAN;
128    if ("canonical".equals(codeString))
129      return DataTypes.CANONICAL;
130    if ("code".equals(codeString))
131      return DataTypes.CODE;
132    if ("date".equals(codeString))
133      return DataTypes.DATE;
134    if ("dateTime".equals(codeString))
135      return DataTypes.DATETIME;
136    if ("decimal".equals(codeString))
137      return DataTypes.DECIMAL;
138    if ("id".equals(codeString))
139      return DataTypes.ID;
140    if ("instant".equals(codeString))
141      return DataTypes.INSTANT;
142    if ("integer".equals(codeString))
143      return DataTypes.INTEGER;
144    if ("markdown".equals(codeString))
145      return DataTypes.MARKDOWN;
146    if ("oid".equals(codeString))
147      return DataTypes.OID;
148    if ("positiveInt".equals(codeString))
149      return DataTypes.POSITIVEINT;
150    if ("string".equals(codeString))
151      return DataTypes.STRING;
152    if ("time".equals(codeString))
153      return DataTypes.TIME;
154    if ("unsignedInt".equals(codeString))
155      return DataTypes.UNSIGNEDINT;
156    if ("uri".equals(codeString))
157      return DataTypes.URI;
158    if ("url".equals(codeString))
159      return DataTypes.URL;
160    if ("uuid".equals(codeString))
161      return DataTypes.UUID;
162    if ("xhtml".equals(codeString))
163      return DataTypes.XHTML;
164    throw new IllegalArgumentException("Unknown DataTypes code '"+codeString+"'");
165  }
166
167  public String toCode(DataTypes code) {
168    if (code == DataTypes.ADDRESS)
169      return "Address";
170    if (code == DataTypes.AGE)
171      return "Age";
172    if (code == DataTypes.ANNOTATION)
173      return "Annotation";
174    if (code == DataTypes.ATTACHMENT)
175      return "Attachment";
176    if (code == DataTypes.BACKBONEELEMENT)
177      return "BackboneElement";
178    if (code == DataTypes.CODEABLECONCEPT)
179      return "CodeableConcept";
180    if (code == DataTypes.CODING)
181      return "Coding";
182    if (code == DataTypes.CONTACTDETAIL)
183      return "ContactDetail";
184    if (code == DataTypes.CONTACTPOINT)
185      return "ContactPoint";
186    if (code == DataTypes.CONTRIBUTOR)
187      return "Contributor";
188    if (code == DataTypes.COUNT)
189      return "Count";
190    if (code == DataTypes.DATAREQUIREMENT)
191      return "DataRequirement";
192    if (code == DataTypes.DISTANCE)
193      return "Distance";
194    if (code == DataTypes.DOSAGE)
195      return "Dosage";
196    if (code == DataTypes.DURATION)
197      return "Duration";
198    if (code == DataTypes.ELEMENT)
199      return "Element";
200    if (code == DataTypes.ELEMENTDEFINITION)
201      return "ElementDefinition";
202    if (code == DataTypes.EXTENSION)
203      return "Extension";
204    if (code == DataTypes.HUMANNAME)
205      return "HumanName";
206    if (code == DataTypes.IDENTIFIER)
207      return "Identifier";
208    if (code == DataTypes.MARKETINGSTATUS)
209      return "MarketingStatus";
210    if (code == DataTypes.META)
211      return "Meta";
212    if (code == DataTypes.MONEY)
213      return "Money";
214    if (code == DataTypes.NARRATIVE)
215      return "Narrative";
216    if (code == DataTypes.PARAMETERDEFINITION)
217      return "ParameterDefinition";
218    if (code == DataTypes.PERIOD)
219      return "Period";
220    if (code == DataTypes.PRODCHARACTERISTIC)
221      return "ProdCharacteristic";
222    if (code == DataTypes.PRODUCTSHELFLIFE)
223      return "ProductShelfLife";
224    if (code == DataTypes.QUANTITY)
225      return "Quantity";
226    if (code == DataTypes.RANGE)
227      return "Range";
228    if (code == DataTypes.RATIO)
229      return "Ratio";
230    if (code == DataTypes.REFERENCE)
231      return "Reference";
232    if (code == DataTypes.RELATEDARTIFACT)
233      return "RelatedArtifact";
234    if (code == DataTypes.SAMPLEDDATA)
235      return "SampledData";
236    if (code == DataTypes.SIGNATURE)
237      return "Signature";
238    if (code == DataTypes.SIMPLEQUANTITY)
239      return "SimpleQuantity";
240    if (code == DataTypes.SUBSTANCEAMOUNT)
241      return "SubstanceAmount";
242    if (code == DataTypes.SUBSTANCEMOIETY)
243      return "SubstanceMoiety";
244    if (code == DataTypes.TIMING)
245      return "Timing";
246    if (code == DataTypes.TRIGGERDEFINITION)
247      return "TriggerDefinition";
248    if (code == DataTypes.USAGECONTEXT)
249      return "UsageContext";
250    if (code == DataTypes.BASE64BINARY)
251      return "base64Binary";
252    if (code == DataTypes.BOOLEAN)
253      return "boolean";
254    if (code == DataTypes.CANONICAL)
255      return "canonical";
256    if (code == DataTypes.CODE)
257      return "code";
258    if (code == DataTypes.DATE)
259      return "date";
260    if (code == DataTypes.DATETIME)
261      return "dateTime";
262    if (code == DataTypes.DECIMAL)
263      return "decimal";
264    if (code == DataTypes.ID)
265      return "id";
266    if (code == DataTypes.INSTANT)
267      return "instant";
268    if (code == DataTypes.INTEGER)
269      return "integer";
270    if (code == DataTypes.MARKDOWN)
271      return "markdown";
272    if (code == DataTypes.OID)
273      return "oid";
274    if (code == DataTypes.POSITIVEINT)
275      return "positiveInt";
276    if (code == DataTypes.STRING)
277      return "string";
278    if (code == DataTypes.TIME)
279      return "time";
280    if (code == DataTypes.UNSIGNEDINT)
281      return "unsignedInt";
282    if (code == DataTypes.URI)
283      return "uri";
284    if (code == DataTypes.URL)
285      return "url";
286    if (code == DataTypes.UUID)
287      return "uuid";
288    if (code == DataTypes.XHTML)
289      return "xhtml";
290    return "?";
291  }
292
293    public String toSystem(DataTypes code) {
294      return code.getSystem();
295      }
296
297}
298