001package org.hl7.fhir.r5.model;
002
003
004/*
005  Copyright (c) 2011+, HL7, Inc.
006  All rights reserved.
007
008  Redistribution and use in source and binary forms, with or without modification, \
009  are permitted provided that the following conditions are met:
010
011 * Redistributions of source code must retain the above copyright notice, this \
012     list of conditions and the following disclaimer.
013 * Redistributions in binary form must reproduce the above copyright notice, \
014     this list of conditions and the following disclaimer in the documentation \
015     and/or other materials provided with the distribution.
016 * Neither the name of HL7 nor the names of its contributors may be used to 
017     endorse or promote products derived from this software without specific 
018     prior written permission.
019
020  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \
021  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \
022  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \
023  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \
024  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \
025  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \
026  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \
027  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \
028  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \
029  POSSIBILITY OF SUCH DAMAGE.
030 */
031
032// Generated on Thu, Mar 23, 2023 19:59+1100 for FHIR v5.0.0
033
034import java.util.ArrayList;
035import java.util.Date;
036import java.util.List;
037import org.hl7.fhir.utilities.Utilities;
038import org.hl7.fhir.r5.model.Enumerations.*;
039import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
040import org.hl7.fhir.exceptions.FHIRException;
041import org.hl7.fhir.instance.model.api.ICompositeType;
042import ca.uhn.fhir.model.api.annotation.ResourceDef;
043import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
044import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
045import ca.uhn.fhir.model.api.annotation.Child;
046import ca.uhn.fhir.model.api.annotation.ChildOrder;
047import ca.uhn.fhir.model.api.annotation.Description;
048import ca.uhn.fhir.model.api.annotation.Block;
049
050/**
051 * A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.
052 */
053@ResourceDef(name="ImplementationGuide", profile="http://hl7.org/fhir/StructureDefinition/ImplementationGuide")
054public class ImplementationGuide extends CanonicalResource {
055
056  public enum GuidePageGeneration {
057    /**
058     * Page is proper xhtml with no templating.  Will be brought across unchanged for standard post-processing.
059     */
060    HTML, 
061    /**
062     * Page is markdown with templating.  Will use the template to create a file that imports the markdown file prior to post-processing.
063     */
064    MARKDOWN, 
065    /**
066     * Page is xml with templating.  Will use the template to create a file that imports the source file and run the nominated XSLT transform (see parameters) if present prior to post-processing.
067     */
068    XML, 
069    /**
070     * Page will be generated by the publication process - no source to bring across.
071     */
072    GENERATED, 
073    /**
074     * added to help the parsers with the generic types
075     */
076    NULL;
077    public static GuidePageGeneration fromCode(String codeString) throws FHIRException {
078      if (codeString == null || "".equals(codeString))
079        return null;
080      if ("html".equals(codeString))
081        return HTML;
082      if ("markdown".equals(codeString))
083        return MARKDOWN;
084      if ("xml".equals(codeString))
085        return XML;
086      if ("generated".equals(codeString))
087        return GENERATED;
088      if (Configuration.isAcceptInvalidEnums())
089        return null;
090      else
091        throw new FHIRException("Unknown GuidePageGeneration code '"+codeString+"'");
092    }
093    public String toCode() {
094      switch (this) {
095      case HTML: return "html";
096      case MARKDOWN: return "markdown";
097      case XML: return "xml";
098      case GENERATED: return "generated";
099      case NULL: return null;
100      default: return "?";
101      }
102    }
103    public String getSystem() {
104      switch (this) {
105      case HTML: return "http://hl7.org/fhir/guide-page-generation";
106      case MARKDOWN: return "http://hl7.org/fhir/guide-page-generation";
107      case XML: return "http://hl7.org/fhir/guide-page-generation";
108      case GENERATED: return "http://hl7.org/fhir/guide-page-generation";
109      case NULL: return null;
110      default: return "?";
111      }
112    }
113    public String getDefinition() {
114      switch (this) {
115      case HTML: return "Page is proper xhtml with no templating.  Will be brought across unchanged for standard post-processing.";
116      case MARKDOWN: return "Page is markdown with templating.  Will use the template to create a file that imports the markdown file prior to post-processing.";
117      case XML: return "Page is xml with templating.  Will use the template to create a file that imports the source file and run the nominated XSLT transform (see parameters) if present prior to post-processing.";
118      case GENERATED: return "Page will be generated by the publication process - no source to bring across.";
119      case NULL: return null;
120      default: return "?";
121      }
122    }
123    public String getDisplay() {
124      switch (this) {
125      case HTML: return "HTML";
126      case MARKDOWN: return "Markdown";
127      case XML: return "XML";
128      case GENERATED: return "Generated";
129      case NULL: return null;
130      default: return "?";
131      }
132    }
133  }
134
135  public static class GuidePageGenerationEnumFactory implements EnumFactory<GuidePageGeneration> {
136    public GuidePageGeneration fromCode(String codeString) throws IllegalArgumentException {
137      if (codeString == null || "".equals(codeString))
138        if (codeString == null || "".equals(codeString))
139          return null;
140      if ("html".equals(codeString))
141        return GuidePageGeneration.HTML;
142      if ("markdown".equals(codeString))
143        return GuidePageGeneration.MARKDOWN;
144      if ("xml".equals(codeString))
145        return GuidePageGeneration.XML;
146      if ("generated".equals(codeString))
147        return GuidePageGeneration.GENERATED;
148      throw new IllegalArgumentException("Unknown GuidePageGeneration code '"+codeString+"'");
149    }
150    public Enumeration<GuidePageGeneration> fromType(PrimitiveType<?> code) throws FHIRException {
151      if (code == null)
152        return null;
153      if (code.isEmpty())
154        return new Enumeration<GuidePageGeneration>(this, GuidePageGeneration.NULL, code);
155      String codeString = ((PrimitiveType) code).asStringValue();
156      if (codeString == null || "".equals(codeString))
157        return new Enumeration<GuidePageGeneration>(this, GuidePageGeneration.NULL, code);
158      if ("html".equals(codeString))
159        return new Enumeration<GuidePageGeneration>(this, GuidePageGeneration.HTML, code);
160      if ("markdown".equals(codeString))
161        return new Enumeration<GuidePageGeneration>(this, GuidePageGeneration.MARKDOWN, code);
162      if ("xml".equals(codeString))
163        return new Enumeration<GuidePageGeneration>(this, GuidePageGeneration.XML, code);
164      if ("generated".equals(codeString))
165        return new Enumeration<GuidePageGeneration>(this, GuidePageGeneration.GENERATED, code);
166      throw new FHIRException("Unknown GuidePageGeneration code '"+codeString+"'");
167    }
168    public String toCode(GuidePageGeneration code) {
169      if (code == GuidePageGeneration.HTML)
170        return "html";
171      if (code == GuidePageGeneration.MARKDOWN)
172        return "markdown";
173      if (code == GuidePageGeneration.XML)
174        return "xml";
175      if (code == GuidePageGeneration.GENERATED)
176        return "generated";
177      return "?";
178    }
179    public String toSystem(GuidePageGeneration code) {
180      return code.getSystem();
181    }
182  }
183
184    public enum SPDXLicense {
185        /**
186         * BSD Zero Clause License
187         */
188        _0BSD, 
189        /**
190         * Attribution Assurance License
191         */
192        AAL, 
193        /**
194         * Abstyles License
195         */
196        ABSTYLES, 
197        /**
198         * AdaCore Doc License
199         */
200        ADACORE_DOC, 
201        /**
202         * Adobe Systems Incorporated Source Code License Agreement
203         */
204        ADOBE_2006, 
205        /**
206         * Adobe Glyph List License
207         */
208        ADOBE_GLYPH, 
209        /**
210         * Amazon Digital Services License
211         */
212        ADSL, 
213        /**
214         * Academic Free License v1.1
215         */
216        AFL_1_1, 
217        /**
218         * Academic Free License v1.2
219         */
220        AFL_1_2, 
221        /**
222         * Academic Free License v2.0
223         */
224        AFL_2_0, 
225        /**
226         * Academic Free License v2.1
227         */
228        AFL_2_1, 
229        /**
230         * Academic Free License v3.0
231         */
232        AFL_3_0, 
233        /**
234         * Afmparse License
235         */
236        AFMPARSE, 
237        /**
238         * Affero General Public License v1.0
239         */
240        AGPL_1_0, 
241        /**
242         * Affero General Public License v1.0 only
243         */
244        AGPL_1_0_ONLY, 
245        /**
246         * Affero General Public License v1.0 or later
247         */
248        AGPL_1_0_OR_LATER, 
249        /**
250         * GNU Affero General Public License v3.0
251         */
252        AGPL_3_0, 
253        /**
254         * GNU Affero General Public License v3.0 only
255         */
256        AGPL_3_0_ONLY, 
257        /**
258         * GNU Affero General Public License v3.0 or later
259         */
260        AGPL_3_0_OR_LATER, 
261        /**
262         * Aladdin Free Public License
263         */
264        ALADDIN, 
265        /**
266         * AMD's plpa_map.c License
267         */
268        AMDPLPA, 
269        /**
270         * Apple MIT License
271         */
272        AML, 
273        /**
274         * Academy of Motion Picture Arts and Sciences BSD
275         */
276        AMPAS, 
277        /**
278         * ANTLR Software Rights Notice
279         */
280        ANTLR_PD, 
281        /**
282         * ANTLR Software Rights Notice with license fallback
283         */
284        ANTLR_PD_FALLBACK, 
285        /**
286         * Apache License 1.0
287         */
288        APACHE_1_0, 
289        /**
290         * Apache License 1.1
291         */
292        APACHE_1_1, 
293        /**
294         * Apache License 2.0
295         */
296        APACHE_2_0, 
297        /**
298         * Adobe Postscript AFM License
299         */
300        APAFML, 
301        /**
302         * Adaptive Public License 1.0
303         */
304        APL_1_0, 
305        /**
306         * App::s2p License
307         */
308        APP_S2P, 
309        /**
310         * Apple Public Source License 1.0
311         */
312        APSL_1_0, 
313        /**
314         * Apple Public Source License 1.1
315         */
316        APSL_1_1, 
317        /**
318         * Apple Public Source License 1.2
319         */
320        APSL_1_2, 
321        /**
322         * Apple Public Source License 2.0
323         */
324        APSL_2_0, 
325        /**
326         * Arphic Public License
327         */
328        ARPHIC_1999, 
329        /**
330         * Artistic License 1.0
331         */
332        ARTISTIC_1_0, 
333        /**
334         * Artistic License 1.0 w/clause 8
335         */
336        ARTISTIC_1_0_CL8, 
337        /**
338         * Artistic License 1.0 (Perl)
339         */
340        ARTISTIC_1_0_PERL, 
341        /**
342         * Artistic License 2.0
343         */
344        ARTISTIC_2_0, 
345        /**
346         * ASWF Digital Assets License version 1.0
347         */
348        ASWF_DIGITAL_ASSETS_1_0, 
349        /**
350         * ASWF Digital Assets License 1.1
351         */
352        ASWF_DIGITAL_ASSETS_1_1, 
353        /**
354         * Baekmuk License
355         */
356        BAEKMUK, 
357        /**
358         * Bahyph License
359         */
360        BAHYPH, 
361        /**
362         * Barr License
363         */
364        BARR, 
365        /**
366         * Beerware License
367         */
368        BEERWARE, 
369        /**
370         * Bitstream Charter Font License
371         */
372        BITSTREAM_CHARTER, 
373        /**
374         * Bitstream Vera Font License
375         */
376        BITSTREAM_VERA, 
377        /**
378         * BitTorrent Open Source License v1.0
379         */
380        BITTORRENT_1_0, 
381        /**
382         * BitTorrent Open Source License v1.1
383         */
384        BITTORRENT_1_1, 
385        /**
386         * SQLite Blessing
387         */
388        BLESSING, 
389        /**
390         * Blue Oak Model License 1.0.0
391         */
392        BLUEOAK_1_0_0, 
393        /**
394         * Boehm-Demers-Weiser GC License
395         */
396        BOEHM_GC, 
397        /**
398         * Borceux license
399         */
400        BORCEUX, 
401        /**
402         * Brian Gladman 3-Clause License
403         */
404        BRIAN_GLADMAN_3_CLAUSE, 
405        /**
406         * BSD 1-Clause License
407         */
408        BSD_1_CLAUSE, 
409        /**
410         * BSD 2-Clause "Simplified" License
411         */
412        BSD_2_CLAUSE, 
413        /**
414         * BSD 2-Clause FreeBSD License
415         */
416        BSD_2_CLAUSE_FREEBSD, 
417        /**
418         * BSD 2-Clause NetBSD License
419         */
420        BSD_2_CLAUSE_NETBSD, 
421        /**
422         * BSD-2-Clause Plus Patent License
423         */
424        BSD_2_CLAUSE_PATENT, 
425        /**
426         * BSD 2-Clause with views sentence
427         */
428        BSD_2_CLAUSE_VIEWS, 
429        /**
430         * BSD 3-Clause "New" or "Revised" License
431         */
432        BSD_3_CLAUSE, 
433        /**
434         * BSD with attribution
435         */
436        BSD_3_CLAUSE_ATTRIBUTION, 
437        /**
438         * BSD 3-Clause Clear License
439         */
440        BSD_3_CLAUSE_CLEAR, 
441        /**
442         * Lawrence Berkeley National Labs BSD variant license
443         */
444        BSD_3_CLAUSE_LBNL, 
445        /**
446         * BSD 3-Clause Modification
447         */
448        BSD_3_CLAUSE_MODIFICATION, 
449        /**
450         * BSD 3-Clause No Military License
451         */
452        BSD_3_CLAUSE_NO_MILITARY_LICENSE, 
453        /**
454         * BSD 3-Clause No Nuclear License
455         */
456        BSD_3_CLAUSE_NO_NUCLEAR_LICENSE, 
457        /**
458         * BSD 3-Clause No Nuclear License 2014
459         */
460        BSD_3_CLAUSE_NO_NUCLEAR_LICENSE_2014, 
461        /**
462         * BSD 3-Clause No Nuclear Warranty
463         */
464        BSD_3_CLAUSE_NO_NUCLEAR_WARRANTY, 
465        /**
466         * BSD 3-Clause Open MPI variant
467         */
468        BSD_3_CLAUSE_OPEN_MPI, 
469        /**
470         * BSD 4-Clause "Original" or "Old" License
471         */
472        BSD_4_CLAUSE, 
473        /**
474         * BSD 4 Clause Shortened
475         */
476        BSD_4_CLAUSE_SHORTENED, 
477        /**
478         * BSD-4-Clause (University of California-Specific)
479         */
480        BSD_4_CLAUSE_UC, 
481        /**
482         * BSD 4.3 RENO License
483         */
484        BSD_4_3RENO, 
485        /**
486         * BSD 4.3 TAHOE License
487         */
488        BSD_4_3TAHOE, 
489        /**
490         * BSD Advertising Acknowledgement License
491         */
492        BSD_ADVERTISING_ACKNOWLEDGEMENT, 
493        /**
494         * BSD with Attribution and HPND disclaimer
495         */
496        BSD_ATTRIBUTION_HPND_DISCLAIMER, 
497        /**
498         * BSD Protection License
499         */
500        BSD_PROTECTION, 
501        /**
502         * BSD Source Code Attribution
503         */
504        BSD_SOURCE_CODE, 
505        /**
506         * Boost Software License 1.0
507         */
508        BSL_1_0, 
509        /**
510         * Business Source License 1.1
511         */
512        BUSL_1_1, 
513        /**
514         * bzip2 and libbzip2 License v1.0.5
515         */
516        BZIP2_1_0_5, 
517        /**
518         * bzip2 and libbzip2 License v1.0.6
519         */
520        BZIP2_1_0_6, 
521        /**
522         * Computational Use of Data Agreement v1.0
523         */
524        C_UDA_1_0, 
525        /**
526         * Cryptographic Autonomy License 1.0
527         */
528        CAL_1_0, 
529        /**
530         * Cryptographic Autonomy License 1.0 (Combined Work Exception)
531         */
532        CAL_1_0_COMBINED_WORK_EXCEPTION, 
533        /**
534         * Caldera License
535         */
536        CALDERA, 
537        /**
538         * Computer Associates Trusted Open Source License 1.1
539         */
540        CATOSL_1_1, 
541        /**
542         * Creative Commons Attribution 1.0 Generic
543         */
544        CC_BY_1_0, 
545        /**
546         * Creative Commons Attribution 2.0 Generic
547         */
548        CC_BY_2_0, 
549        /**
550         * Creative Commons Attribution 2.5 Generic
551         */
552        CC_BY_2_5, 
553        /**
554         * Creative Commons Attribution 2.5 Australia
555         */
556        CC_BY_2_5_AU, 
557        /**
558         * Creative Commons Attribution 3.0 Unported
559         */
560        CC_BY_3_0, 
561        /**
562         * Creative Commons Attribution 3.0 Austria
563         */
564        CC_BY_3_0_AT, 
565        /**
566         * Creative Commons Attribution 3.0 Germany
567         */
568        CC_BY_3_0_DE, 
569        /**
570         * Creative Commons Attribution 3.0 IGO
571         */
572        CC_BY_3_0_IGO, 
573        /**
574         * Creative Commons Attribution 3.0 Netherlands
575         */
576        CC_BY_3_0_NL, 
577        /**
578         * Creative Commons Attribution 3.0 United States
579         */
580        CC_BY_3_0_US, 
581        /**
582         * Creative Commons Attribution 4.0 International
583         */
584        CC_BY_4_0, 
585        /**
586         * Creative Commons Attribution Non Commercial 1.0 Generic
587         */
588        CC_BY_NC_1_0, 
589        /**
590         * Creative Commons Attribution Non Commercial 2.0 Generic
591         */
592        CC_BY_NC_2_0, 
593        /**
594         * Creative Commons Attribution Non Commercial 2.5 Generic
595         */
596        CC_BY_NC_2_5, 
597        /**
598         * Creative Commons Attribution Non Commercial 3.0 Unported
599         */
600        CC_BY_NC_3_0, 
601        /**
602         * Creative Commons Attribution Non Commercial 3.0 Germany
603         */
604        CC_BY_NC_3_0_DE, 
605        /**
606         * Creative Commons Attribution Non Commercial 4.0 International
607         */
608        CC_BY_NC_4_0, 
609        /**
610         * Creative Commons Attribution Non Commercial No Derivatives 1.0 Generic
611         */
612        CC_BY_NC_ND_1_0, 
613        /**
614         * Creative Commons Attribution Non Commercial No Derivatives 2.0 Generic
615         */
616        CC_BY_NC_ND_2_0, 
617        /**
618         * Creative Commons Attribution Non Commercial No Derivatives 2.5 Generic
619         */
620        CC_BY_NC_ND_2_5, 
621        /**
622         * Creative Commons Attribution Non Commercial No Derivatives 3.0 Unported
623         */
624        CC_BY_NC_ND_3_0, 
625        /**
626         * Creative Commons Attribution Non Commercial No Derivatives 3.0 Germany
627         */
628        CC_BY_NC_ND_3_0_DE, 
629        /**
630         * Creative Commons Attribution Non Commercial No Derivatives 3.0 IGO
631         */
632        CC_BY_NC_ND_3_0_IGO, 
633        /**
634         * Creative Commons Attribution Non Commercial No Derivatives 4.0 International
635         */
636        CC_BY_NC_ND_4_0, 
637        /**
638         * Creative Commons Attribution Non Commercial Share Alike 1.0 Generic
639         */
640        CC_BY_NC_SA_1_0, 
641        /**
642         * Creative Commons Attribution Non Commercial Share Alike 2.0 Generic
643         */
644        CC_BY_NC_SA_2_0, 
645        /**
646         * Creative Commons Attribution Non Commercial Share Alike 2.0 Germany
647         */
648        CC_BY_NC_SA_2_0_DE, 
649        /**
650         * Creative Commons Attribution-NonCommercial-ShareAlike 2.0 France
651         */
652        CC_BY_NC_SA_2_0_FR, 
653        /**
654         * Creative Commons Attribution Non Commercial Share Alike 2.0 England and Wales
655         */
656        CC_BY_NC_SA_2_0_UK, 
657        /**
658         * Creative Commons Attribution Non Commercial Share Alike 2.5 Generic
659         */
660        CC_BY_NC_SA_2_5, 
661        /**
662         * Creative Commons Attribution Non Commercial Share Alike 3.0 Unported
663         */
664        CC_BY_NC_SA_3_0, 
665        /**
666         * Creative Commons Attribution Non Commercial Share Alike 3.0 Germany
667         */
668        CC_BY_NC_SA_3_0_DE, 
669        /**
670         * Creative Commons Attribution Non Commercial Share Alike 3.0 IGO
671         */
672        CC_BY_NC_SA_3_0_IGO, 
673        /**
674         * Creative Commons Attribution Non Commercial Share Alike 4.0 International
675         */
676        CC_BY_NC_SA_4_0, 
677        /**
678         * Creative Commons Attribution No Derivatives 1.0 Generic
679         */
680        CC_BY_ND_1_0, 
681        /**
682         * Creative Commons Attribution No Derivatives 2.0 Generic
683         */
684        CC_BY_ND_2_0, 
685        /**
686         * Creative Commons Attribution No Derivatives 2.5 Generic
687         */
688        CC_BY_ND_2_5, 
689        /**
690         * Creative Commons Attribution No Derivatives 3.0 Unported
691         */
692        CC_BY_ND_3_0, 
693        /**
694         * Creative Commons Attribution No Derivatives 3.0 Germany
695         */
696        CC_BY_ND_3_0_DE, 
697        /**
698         * Creative Commons Attribution No Derivatives 4.0 International
699         */
700        CC_BY_ND_4_0, 
701        /**
702         * Creative Commons Attribution Share Alike 1.0 Generic
703         */
704        CC_BY_SA_1_0, 
705        /**
706         * Creative Commons Attribution Share Alike 2.0 Generic
707         */
708        CC_BY_SA_2_0, 
709        /**
710         * Creative Commons Attribution Share Alike 2.0 England and Wales
711         */
712        CC_BY_SA_2_0_UK, 
713        /**
714         * Creative Commons Attribution Share Alike 2.1 Japan
715         */
716        CC_BY_SA_2_1_JP, 
717        /**
718         * Creative Commons Attribution Share Alike 2.5 Generic
719         */
720        CC_BY_SA_2_5, 
721        /**
722         * Creative Commons Attribution Share Alike 3.0 Unported
723         */
724        CC_BY_SA_3_0, 
725        /**
726         * Creative Commons Attribution Share Alike 3.0 Austria
727         */
728        CC_BY_SA_3_0_AT, 
729        /**
730         * Creative Commons Attribution Share Alike 3.0 Germany
731         */
732        CC_BY_SA_3_0_DE, 
733        /**
734         * Creative Commons Attribution-ShareAlike 3.0 IGO
735         */
736        CC_BY_SA_3_0_IGO, 
737        /**
738         * Creative Commons Attribution Share Alike 4.0 International
739         */
740        CC_BY_SA_4_0, 
741        /**
742         * Creative Commons Public Domain Dedication and Certification
743         */
744        CC_PDDC, 
745        /**
746         * Creative Commons Zero v1.0 Universal
747         */
748        CC0_1_0, 
749        /**
750         * Common Development and Distribution License 1.0
751         */
752        CDDL_1_0, 
753        /**
754         * Common Development and Distribution License 1.1
755         */
756        CDDL_1_1, 
757        /**
758         * Common Documentation License 1.0
759         */
760        CDL_1_0, 
761        /**
762         * Community Data License Agreement Permissive 1.0
763         */
764        CDLA_PERMISSIVE_1_0, 
765        /**
766         * Community Data License Agreement Permissive 2.0
767         */
768        CDLA_PERMISSIVE_2_0, 
769        /**
770         * Community Data License Agreement Sharing 1.0
771         */
772        CDLA_SHARING_1_0, 
773        /**
774         * CeCILL Free Software License Agreement v1.0
775         */
776        CECILL_1_0, 
777        /**
778         * CeCILL Free Software License Agreement v1.1
779         */
780        CECILL_1_1, 
781        /**
782         * CeCILL Free Software License Agreement v2.0
783         */
784        CECILL_2_0, 
785        /**
786         * CeCILL Free Software License Agreement v2.1
787         */
788        CECILL_2_1, 
789        /**
790         * CeCILL-B Free Software License Agreement
791         */
792        CECILL_B, 
793        /**
794         * CeCILL-C Free Software License Agreement
795         */
796        CECILL_C, 
797        /**
798         * CERN Open Hardware Licence v1.1
799         */
800        CERN_OHL_1_1, 
801        /**
802         * CERN Open Hardware Licence v1.2
803         */
804        CERN_OHL_1_2, 
805        /**
806         * CERN Open Hardware Licence Version 2 - Permissive
807         */
808        CERN_OHL_P_2_0, 
809        /**
810         * CERN Open Hardware Licence Version 2 - Strongly Reciprocal
811         */
812        CERN_OHL_S_2_0, 
813        /**
814         * CERN Open Hardware Licence Version 2 - Weakly Reciprocal
815         */
816        CERN_OHL_W_2_0, 
817        /**
818         * CFITSIO License
819         */
820        CFITSIO, 
821        /**
822         * Checkmk License
823         */
824        CHECKMK, 
825        /**
826         * Clarified Artistic License
827         */
828        CLARTISTIC, 
829        /**
830         * Clips License
831         */
832        CLIPS, 
833        /**
834         * CMU Mach License
835         */
836        CMU_MACH, 
837        /**
838         * CNRI Jython License
839         */
840        CNRI_JYTHON, 
841        /**
842         * CNRI Python License
843         */
844        CNRI_PYTHON, 
845        /**
846         * CNRI Python Open Source GPL Compatible License Agreement
847         */
848        CNRI_PYTHON_GPL_COMPATIBLE, 
849        /**
850         * Copyfree Open Innovation License
851         */
852        COIL_1_0, 
853        /**
854         * Community Specification License 1.0
855         */
856        COMMUNITY_SPEC_1_0, 
857        /**
858         * Condor Public License v1.1
859         */
860        CONDOR_1_1, 
861        /**
862         * copyleft-next 0.3.0
863         */
864        COPYLEFT_NEXT_0_3_0, 
865        /**
866         * copyleft-next 0.3.1
867         */
868        COPYLEFT_NEXT_0_3_1, 
869        /**
870         * Cornell Lossless JPEG License
871         */
872        CORNELL_LOSSLESS_JPEG, 
873        /**
874         * Common Public Attribution License 1.0
875         */
876        CPAL_1_0, 
877        /**
878         * Common Public License 1.0
879         */
880        CPL_1_0, 
881        /**
882         * Code Project Open License 1.02
883         */
884        CPOL_1_02, 
885        /**
886         * Crossword License
887         */
888        CROSSWORD, 
889        /**
890         * CrystalStacker License
891         */
892        CRYSTALSTACKER, 
893        /**
894         * CUA Office Public License v1.0
895         */
896        CUA_OPL_1_0, 
897        /**
898         * Cube License
899         */
900        CUBE, 
901        /**
902         * curl License
903         */
904        CURL, 
905        /**
906         * Deutsche Freie Software Lizenz
907         */
908        D_FSL_1_0, 
909        /**
910         * diffmark license
911         */
912        DIFFMARK, 
913        /**
914         * Data licence Germany ? attribution ? version 2.0
915         */
916        DL_DE_BY_2_0, 
917        /**
918         * DOC License
919         */
920        DOC, 
921        /**
922         * Dotseqn License
923         */
924        DOTSEQN, 
925        /**
926         * Detection Rule License 1.0
927         */
928        DRL_1_0, 
929        /**
930         * DSDP License
931         */
932        DSDP, 
933        /**
934         * David M. Gay dtoa License
935         */
936        DTOA, 
937        /**
938         * dvipdfm License
939         */
940        DVIPDFM, 
941        /**
942         * Educational Community License v1.0
943         */
944        ECL_1_0, 
945        /**
946         * Educational Community License v2.0
947         */
948        ECL_2_0, 
949        /**
950         * eCos license version 2.0
951         */
952        ECOS_2_0, 
953        /**
954         * Eiffel Forum License v1.0
955         */
956        EFL_1_0, 
957        /**
958         * Eiffel Forum License v2.0
959         */
960        EFL_2_0, 
961        /**
962         * eGenix.com Public License 1.1.0
963         */
964        EGENIX, 
965        /**
966         * Elastic License 2.0
967         */
968        ELASTIC_2_0, 
969        /**
970         * Entessa Public License v1.0
971         */
972        ENTESSA, 
973        /**
974         * EPICS Open License
975         */
976        EPICS, 
977        /**
978         * Eclipse Public License 1.0
979         */
980        EPL_1_0, 
981        /**
982         * Eclipse Public License 2.0
983         */
984        EPL_2_0, 
985        /**
986         * Erlang Public License v1.1
987         */
988        ERLPL_1_1, 
989        /**
990         * Etalab Open License 2.0
991         */
992        ETALAB_2_0, 
993        /**
994         * EU DataGrid Software License
995         */
996        EUDATAGRID, 
997        /**
998         * European Union Public License 1.0
999         */
1000        EUPL_1_0, 
1001        /**
1002         * European Union Public License 1.1
1003         */
1004        EUPL_1_1, 
1005        /**
1006         * European Union Public License 1.2
1007         */
1008        EUPL_1_2, 
1009        /**
1010         * Eurosym License
1011         */
1012        EUROSYM, 
1013        /**
1014         * Fair License
1015         */
1016        FAIR, 
1017        /**
1018         * Fraunhofer FDK AAC Codec Library
1019         */
1020        FDK_AAC, 
1021        /**
1022         * Frameworx Open License 1.0
1023         */
1024        FRAMEWORX_1_0, 
1025        /**
1026         * FreeBSD Documentation License
1027         */
1028        FREEBSD_DOC, 
1029        /**
1030         * FreeImage Public License v1.0
1031         */
1032        FREEIMAGE, 
1033        /**
1034         * FSF All Permissive License
1035         */
1036        FSFAP, 
1037        /**
1038         * FSF Unlimited License
1039         */
1040        FSFUL, 
1041        /**
1042         * FSF Unlimited License (with License Retention)
1043         */
1044        FSFULLR, 
1045        /**
1046         * FSF Unlimited License (With License Retention and Warranty Disclaimer)
1047         */
1048        FSFULLRWD, 
1049        /**
1050         * Freetype Project License
1051         */
1052        FTL, 
1053        /**
1054         * GD License
1055         */
1056        GD, 
1057        /**
1058         * GNU Free Documentation License v1.1
1059         */
1060        GFDL_1_1, 
1061        /**
1062         * GNU Free Documentation License v1.1 only - invariants
1063         */
1064        GFDL_1_1_INVARIANTS_ONLY, 
1065        /**
1066         * GNU Free Documentation License v1.1 or later - invariants
1067         */
1068        GFDL_1_1_INVARIANTS_OR_LATER, 
1069        /**
1070         * GNU Free Documentation License v1.1 only - no invariants
1071         */
1072        GFDL_1_1_NO_INVARIANTS_ONLY, 
1073        /**
1074         * GNU Free Documentation License v1.1 or later - no invariants
1075         */
1076        GFDL_1_1_NO_INVARIANTS_OR_LATER, 
1077        /**
1078         * GNU Free Documentation License v1.1 only
1079         */
1080        GFDL_1_1_ONLY, 
1081        /**
1082         * GNU Free Documentation License v1.1 or later
1083         */
1084        GFDL_1_1_OR_LATER, 
1085        /**
1086         * GNU Free Documentation License v1.2
1087         */
1088        GFDL_1_2, 
1089        /**
1090         * GNU Free Documentation License v1.2 only - invariants
1091         */
1092        GFDL_1_2_INVARIANTS_ONLY, 
1093        /**
1094         * GNU Free Documentation License v1.2 or later - invariants
1095         */
1096        GFDL_1_2_INVARIANTS_OR_LATER, 
1097        /**
1098         * GNU Free Documentation License v1.2 only - no invariants
1099         */
1100        GFDL_1_2_NO_INVARIANTS_ONLY, 
1101        /**
1102         * GNU Free Documentation License v1.2 or later - no invariants
1103         */
1104        GFDL_1_2_NO_INVARIANTS_OR_LATER, 
1105        /**
1106         * GNU Free Documentation License v1.2 only
1107         */
1108        GFDL_1_2_ONLY, 
1109        /**
1110         * GNU Free Documentation License v1.2 or later
1111         */
1112        GFDL_1_2_OR_LATER, 
1113        /**
1114         * GNU Free Documentation License v1.3
1115         */
1116        GFDL_1_3, 
1117        /**
1118         * GNU Free Documentation License v1.3 only - invariants
1119         */
1120        GFDL_1_3_INVARIANTS_ONLY, 
1121        /**
1122         * GNU Free Documentation License v1.3 or later - invariants
1123         */
1124        GFDL_1_3_INVARIANTS_OR_LATER, 
1125        /**
1126         * GNU Free Documentation License v1.3 only - no invariants
1127         */
1128        GFDL_1_3_NO_INVARIANTS_ONLY, 
1129        /**
1130         * GNU Free Documentation License v1.3 or later - no invariants
1131         */
1132        GFDL_1_3_NO_INVARIANTS_OR_LATER, 
1133        /**
1134         * GNU Free Documentation License v1.3 only
1135         */
1136        GFDL_1_3_ONLY, 
1137        /**
1138         * GNU Free Documentation License v1.3 or later
1139         */
1140        GFDL_1_3_OR_LATER, 
1141        /**
1142         * Giftware License
1143         */
1144        GIFTWARE, 
1145        /**
1146         * GL2PS License
1147         */
1148        GL2PS, 
1149        /**
1150         * 3dfx Glide License
1151         */
1152        GLIDE, 
1153        /**
1154         * Glulxe License
1155         */
1156        GLULXE, 
1157        /**
1158         * Good Luck With That Public License
1159         */
1160        GLWTPL, 
1161        /**
1162         * gnuplot License
1163         */
1164        GNUPLOT, 
1165        /**
1166         * GNU General Public License v1.0 only
1167         */
1168        GPL_1_0, 
1169        /**
1170         * GNU General Public License v1.0 or later
1171         */
1172        GPL_1_0PLUS, 
1173        /**
1174         * GNU General Public License v1.0 only
1175         */
1176        GPL_1_0_ONLY, 
1177        /**
1178         * GNU General Public License v1.0 or later
1179         */
1180        GPL_1_0_OR_LATER, 
1181        /**
1182         * GNU General Public License v2.0 only
1183         */
1184        GPL_2_0, 
1185        /**
1186         * GNU General Public License v2.0 or later
1187         */
1188        GPL_2_0PLUS, 
1189        /**
1190         * GNU General Public License v2.0 only
1191         */
1192        GPL_2_0_ONLY, 
1193        /**
1194         * GNU General Public License v2.0 or later
1195         */
1196        GPL_2_0_OR_LATER, 
1197        /**
1198         * GNU General Public License v2.0 w/Autoconf exception
1199         */
1200        GPL_2_0_WITH_AUTOCONF_EXCEPTION, 
1201        /**
1202         * GNU General Public License v2.0 w/Bison exception
1203         */
1204        GPL_2_0_WITH_BISON_EXCEPTION, 
1205        /**
1206         * GNU General Public License v2.0 w/Classpath exception
1207         */
1208        GPL_2_0_WITH_CLASSPATH_EXCEPTION, 
1209        /**
1210         * GNU General Public License v2.0 w/Font exception
1211         */
1212        GPL_2_0_WITH_FONT_EXCEPTION, 
1213        /**
1214         * GNU General Public License v2.0 w/GCC Runtime Library exception
1215         */
1216        GPL_2_0_WITH_GCC_EXCEPTION, 
1217        /**
1218         * GNU General Public License v3.0 only
1219         */
1220        GPL_3_0, 
1221        /**
1222         * GNU General Public License v3.0 or later
1223         */
1224        GPL_3_0PLUS, 
1225        /**
1226         * GNU General Public License v3.0 only
1227         */
1228        GPL_3_0_ONLY, 
1229        /**
1230         * GNU General Public License v3.0 or later
1231         */
1232        GPL_3_0_OR_LATER, 
1233        /**
1234         * GNU General Public License v3.0 w/Autoconf exception
1235         */
1236        GPL_3_0_WITH_AUTOCONF_EXCEPTION, 
1237        /**
1238         * GNU General Public License v3.0 w/GCC Runtime Library exception
1239         */
1240        GPL_3_0_WITH_GCC_EXCEPTION, 
1241        /**
1242         * Graphics Gems License
1243         */
1244        GRAPHICS_GEMS, 
1245        /**
1246         * gSOAP Public License v1.3b
1247         */
1248        GSOAP_1_3B, 
1249        /**
1250         * Haskell Language Report License
1251         */
1252        HASKELLREPORT, 
1253        /**
1254         * Hippocratic License 2.1
1255         */
1256        HIPPOCRATIC_2_1, 
1257        /**
1258         * Hewlett-Packard 1986 License
1259         */
1260        HP_1986, 
1261        /**
1262         * Historical Permission Notice and Disclaimer
1263         */
1264        HPND, 
1265        /**
1266         * HPND with US Government export control warning
1267         */
1268        HPND_EXPORT_US, 
1269        /**
1270         * Historical Permission Notice and Disclaimer - Markus Kuhn variant
1271         */
1272        HPND_MARKUS_KUHN, 
1273        /**
1274         * Historical Permission Notice and Disclaimer - sell variant
1275         */
1276        HPND_SELL_VARIANT, 
1277        /**
1278         * HPND sell variant with MIT disclaimer
1279         */
1280        HPND_SELL_VARIANT_MIT_DISCLAIMER, 
1281        /**
1282         * HTML Tidy License
1283         */
1284        HTMLTIDY, 
1285        /**
1286         * IBM PowerPC Initialization and Boot Software
1287         */
1288        IBM_PIBS, 
1289        /**
1290         * ICU License
1291         */
1292        ICU, 
1293        /**
1294         * IEC    Code Components End-user licence agreement
1295         */
1296        IEC_CODE_COMPONENTS_EULA, 
1297        /**
1298         * Independent JPEG Group License
1299         */
1300        IJG, 
1301        /**
1302         * Independent JPEG Group License - short
1303         */
1304        IJG_SHORT, 
1305        /**
1306         * ImageMagick License
1307         */
1308        IMAGEMAGICK, 
1309        /**
1310         * iMatix Standard Function Library Agreement
1311         */
1312        IMATIX, 
1313        /**
1314         * Imlib2 License
1315         */
1316        IMLIB2, 
1317        /**
1318         * Info-ZIP License
1319         */
1320        INFO_ZIP, 
1321        /**
1322         * Inner Net License v2.0
1323         */
1324        INNER_NET_2_0, 
1325        /**
1326         * Intel Open Source License
1327         */
1328        INTEL, 
1329        /**
1330         * Intel ACPI Software License Agreement
1331         */
1332        INTEL_ACPI, 
1333        /**
1334         * Interbase Public License v1.0
1335         */
1336        INTERBASE_1_0, 
1337        /**
1338         * IPA Font License
1339         */
1340        IPA, 
1341        /**
1342         * IBM Public License v1.0
1343         */
1344        IPL_1_0, 
1345        /**
1346         * ISC License
1347         */
1348        ISC, 
1349        /**
1350         * Jam License
1351         */
1352        JAM, 
1353        /**
1354         * JasPer License
1355         */
1356        JASPER_2_0, 
1357        /**
1358         * JPL Image Use Policy
1359         */
1360        JPL_IMAGE, 
1361        /**
1362         * Japan Network Information Center License
1363         */
1364        JPNIC, 
1365        /**
1366         * JSON License
1367         */
1368        JSON, 
1369        /**
1370         * Kazlib License
1371         */
1372        KAZLIB, 
1373        /**
1374         * Knuth CTAN License
1375         */
1376        KNUTH_CTAN, 
1377        /**
1378         * Licence Art Libre 1.2
1379         */
1380        LAL_1_2, 
1381        /**
1382         * Licence Art Libre 1.3
1383         */
1384        LAL_1_3, 
1385        /**
1386         * Latex2e License
1387         */
1388        LATEX2E, 
1389        /**
1390         * Latex2e with translated notice permission
1391         */
1392        LATEX2E_TRANSLATED_NOTICE, 
1393        /**
1394         * Leptonica License
1395         */
1396        LEPTONICA, 
1397        /**
1398         * GNU Library General Public License v2 only
1399         */
1400        LGPL_2_0, 
1401        /**
1402         * GNU Library General Public License v2 or later
1403         */
1404        LGPL_2_0PLUS, 
1405        /**
1406         * GNU Library General Public License v2 only
1407         */
1408        LGPL_2_0_ONLY, 
1409        /**
1410         * GNU Library General Public License v2 or later
1411         */
1412        LGPL_2_0_OR_LATER, 
1413        /**
1414         * GNU Lesser General Public License v2.1 only
1415         */
1416        LGPL_2_1, 
1417        /**
1418         * GNU Lesser General Public License v2.1 or later
1419         */
1420        LGPL_2_1PLUS, 
1421        /**
1422         * GNU Lesser General Public License v2.1 only
1423         */
1424        LGPL_2_1_ONLY, 
1425        /**
1426         * GNU Lesser General Public License v2.1 or later
1427         */
1428        LGPL_2_1_OR_LATER, 
1429        /**
1430         * GNU Lesser General Public License v3.0 only
1431         */
1432        LGPL_3_0, 
1433        /**
1434         * GNU Lesser General Public License v3.0 or later
1435         */
1436        LGPL_3_0PLUS, 
1437        /**
1438         * GNU Lesser General Public License v3.0 only
1439         */
1440        LGPL_3_0_ONLY, 
1441        /**
1442         * GNU Lesser General Public License v3.0 or later
1443         */
1444        LGPL_3_0_OR_LATER, 
1445        /**
1446         * Lesser General Public License For Linguistic Resources
1447         */
1448        LGPLLR, 
1449        /**
1450         * libpng License
1451         */
1452        LIBPNG, 
1453        /**
1454         * PNG Reference Library version 2
1455         */
1456        LIBPNG_2_0, 
1457        /**
1458         * libselinux public domain notice
1459         */
1460        LIBSELINUX_1_0, 
1461        /**
1462         * libtiff License
1463         */
1464        LIBTIFF, 
1465        /**
1466         * libutil David Nugent License
1467         */
1468        LIBUTIL_DAVID_NUGENT, 
1469        /**
1470         * Licence Libre du Québec ? Permissive version 1.1
1471         */
1472        LILIQ_P_1_1, 
1473        /**
1474         * Licence Libre du Québec ? Réciprocité version 1.1
1475         */
1476        LILIQ_R_1_1, 
1477        /**
1478         * Licence Libre du Québec ? Réciprocité forte version 1.1
1479         */
1480        LILIQ_RPLUS_1_1, 
1481        /**
1482         * Linux man-pages - 1 paragraph
1483         */
1484        LINUX_MAN_PAGES_1_PARA, 
1485        /**
1486         * Linux man-pages Copyleft
1487         */
1488        LINUX_MAN_PAGES_COPYLEFT, 
1489        /**
1490         * Linux man-pages Copyleft - 2 paragraphs
1491         */
1492        LINUX_MAN_PAGES_COPYLEFT_2_PARA, 
1493        /**
1494         * Linux man-pages Copyleft Variant
1495         */
1496        LINUX_MAN_PAGES_COPYLEFT_VAR, 
1497        /**
1498         * Linux Kernel Variant of OpenIB.org license
1499         */
1500        LINUX_OPENIB, 
1501        /**
1502         * Common Lisp LOOP License
1503         */
1504        LOOP, 
1505        /**
1506         * Lucent Public License Version 1.0
1507         */
1508        LPL_1_0, 
1509        /**
1510         * Lucent Public License v1.02
1511         */
1512        LPL_1_02, 
1513        /**
1514         * LaTeX Project Public License v1.0
1515         */
1516        LPPL_1_0, 
1517        /**
1518         * LaTeX Project Public License v1.1
1519         */
1520        LPPL_1_1, 
1521        /**
1522         * LaTeX Project Public License v1.2
1523         */
1524        LPPL_1_2, 
1525        /**
1526         * LaTeX Project Public License v1.3a
1527         */
1528        LPPL_1_3A, 
1529        /**
1530         * LaTeX Project Public License v1.3c
1531         */
1532        LPPL_1_3C, 
1533        /**
1534         * LZMA SDK License (versions 9.11 to 9.20)
1535         */
1536        LZMA_SDK_9_11_TO_9_20, 
1537        /**
1538         * LZMA SDK License (versions 9.22 and beyond)
1539         */
1540        LZMA_SDK_9_22, 
1541        /**
1542         * MakeIndex License
1543         */
1544        MAKEINDEX, 
1545        /**
1546         * Martin Birgmeier License
1547         */
1548        MARTIN_BIRGMEIER, 
1549        /**
1550         * metamail License
1551         */
1552        METAMAIL, 
1553        /**
1554         * Minpack License
1555         */
1556        MINPACK, 
1557        /**
1558         * The MirOS Licence
1559         */
1560        MIROS, 
1561        /**
1562         * MIT License
1563         */
1564        MIT, 
1565        /**
1566         * MIT No Attribution
1567         */
1568        MIT_0, 
1569        /**
1570         * Enlightenment License (e16)
1571         */
1572        MIT_ADVERTISING, 
1573        /**
1574         * CMU License
1575         */
1576        MIT_CMU, 
1577        /**
1578         * enna License
1579         */
1580        MIT_ENNA, 
1581        /**
1582         * feh License
1583         */
1584        MIT_FEH, 
1585        /**
1586         * MIT Festival Variant
1587         */
1588        MIT_FESTIVAL, 
1589        /**
1590         * MIT License Modern Variant
1591         */
1592        MIT_MODERN_VARIANT, 
1593        /**
1594         * MIT Open Group variant
1595         */
1596        MIT_OPEN_GROUP, 
1597        /**
1598         * MIT Tom Wu Variant
1599         */
1600        MIT_WU, 
1601        /**
1602         * MIT +no-false-attribs license
1603         */
1604        MITNFA, 
1605        /**
1606         * Motosoto License
1607         */
1608        MOTOSOTO, 
1609        /**
1610         * mpi Permissive License
1611         */
1612        MPI_PERMISSIVE, 
1613        /**
1614         * mpich2 License
1615         */
1616        MPICH2, 
1617        /**
1618         * Mozilla Public License 1.0
1619         */
1620        MPL_1_0, 
1621        /**
1622         * Mozilla Public License 1.1
1623         */
1624        MPL_1_1, 
1625        /**
1626         * Mozilla Public License 2.0
1627         */
1628        MPL_2_0, 
1629        /**
1630         * Mozilla Public License 2.0 (no copyleft exception)
1631         */
1632        MPL_2_0_NO_COPYLEFT_EXCEPTION, 
1633        /**
1634         * mplus Font License
1635         */
1636        MPLUS, 
1637        /**
1638         * Microsoft Limited Public License
1639         */
1640        MS_LPL, 
1641        /**
1642         * Microsoft Public License
1643         */
1644        MS_PL, 
1645        /**
1646         * Microsoft Reciprocal License
1647         */
1648        MS_RL, 
1649        /**
1650         * Matrix Template Library License
1651         */
1652        MTLL, 
1653        /**
1654         * Mulan Permissive Software License, Version 1
1655         */
1656        MULANPSL_1_0, 
1657        /**
1658         * Mulan Permissive Software License, Version 2
1659         */
1660        MULANPSL_2_0, 
1661        /**
1662         * Multics License
1663         */
1664        MULTICS, 
1665        /**
1666         * Mup License
1667         */
1668        MUP, 
1669        /**
1670         * Nara Institute of Science and Technology License (2003)
1671         */
1672        NAIST_2003, 
1673        /**
1674         * NASA Open Source Agreement 1.3
1675         */
1676        NASA_1_3, 
1677        /**
1678         * Naumen Public License
1679         */
1680        NAUMEN, 
1681        /**
1682         * Net Boolean Public License v1
1683         */
1684        NBPL_1_0, 
1685        /**
1686         * Non-Commercial Government Licence
1687         */
1688        NCGL_UK_2_0, 
1689        /**
1690         * University of Illinois/NCSA Open Source License
1691         */
1692        NCSA, 
1693        /**
1694         * Net-SNMP License
1695         */
1696        NET_SNMP, 
1697        /**
1698         * NetCDF license
1699         */
1700        NETCDF, 
1701        /**
1702         * Newsletr License
1703         */
1704        NEWSLETR, 
1705        /**
1706         * Nethack General Public License
1707         */
1708        NGPL, 
1709        /**
1710         * NICTA Public Software License, Version 1.0
1711         */
1712        NICTA_1_0, 
1713        /**
1714         * NIST Public Domain Notice
1715         */
1716        NIST_PD, 
1717        /**
1718         * NIST Public Domain Notice with license fallback
1719         */
1720        NIST_PD_FALLBACK, 
1721        /**
1722         * NIST Software License
1723         */
1724        NIST_SOFTWARE, 
1725        /**
1726         * Norwegian Licence for Open Government Data (NLOD) 1.0
1727         */
1728        NLOD_1_0, 
1729        /**
1730         * Norwegian Licence for Open Government Data (NLOD) 2.0
1731         */
1732        NLOD_2_0, 
1733        /**
1734         * No Limit Public License
1735         */
1736        NLPL, 
1737        /**
1738         * Nokia Open Source License
1739         */
1740        NOKIA, 
1741        /**
1742         * Netizen Open Source License
1743         */
1744        NOSL, 
1745        /**
1746         * Not an open source license.
1747         */
1748        NOT_OPEN_SOURCE, 
1749        /**
1750         * Noweb License
1751         */
1752        NOWEB, 
1753        /**
1754         * Netscape Public License v1.0
1755         */
1756        NPL_1_0, 
1757        /**
1758         * Netscape Public License v1.1
1759         */
1760        NPL_1_1, 
1761        /**
1762         * Non-Profit Open Software License 3.0
1763         */
1764        NPOSL_3_0, 
1765        /**
1766         * NRL License
1767         */
1768        NRL, 
1769        /**
1770         * NTP License
1771         */
1772        NTP, 
1773        /**
1774         * NTP No Attribution
1775         */
1776        NTP_0, 
1777        /**
1778         * Nunit License
1779         */
1780        NUNIT, 
1781        /**
1782         * Open Use of Data Agreement v1.0
1783         */
1784        O_UDA_1_0, 
1785        /**
1786         * Open CASCADE Technology Public License
1787         */
1788        OCCT_PL, 
1789        /**
1790         * OCLC Research Public License 2.0
1791         */
1792        OCLC_2_0, 
1793        /**
1794         * Open Data Commons Open Database License v1.0
1795         */
1796        ODBL_1_0, 
1797        /**
1798         * Open Data Commons Attribution License v1.0
1799         */
1800        ODC_BY_1_0, 
1801        /**
1802         * OFFIS License
1803         */
1804        OFFIS, 
1805        /**
1806         * SIL Open Font License 1.0
1807         */
1808        OFL_1_0, 
1809        /**
1810         * SIL Open Font License 1.0 with no Reserved Font Name
1811         */
1812        OFL_1_0_NO_RFN, 
1813        /**
1814         * SIL Open Font License 1.0 with Reserved Font Name
1815         */
1816        OFL_1_0_RFN, 
1817        /**
1818         * SIL Open Font License 1.1
1819         */
1820        OFL_1_1, 
1821        /**
1822         * SIL Open Font License 1.1 with no Reserved Font Name
1823         */
1824        OFL_1_1_NO_RFN, 
1825        /**
1826         * SIL Open Font License 1.1 with Reserved Font Name
1827         */
1828        OFL_1_1_RFN, 
1829        /**
1830         * OGC Software License, Version 1.0
1831         */
1832        OGC_1_0, 
1833        /**
1834         * Taiwan Open Government Data License, version 1.0
1835         */
1836        OGDL_TAIWAN_1_0, 
1837        /**
1838         * Open Government Licence - Canada
1839         */
1840        OGL_CANADA_2_0, 
1841        /**
1842         * Open Government Licence v1.0
1843         */
1844        OGL_UK_1_0, 
1845        /**
1846         * Open Government Licence v2.0
1847         */
1848        OGL_UK_2_0, 
1849        /**
1850         * Open Government Licence v3.0
1851         */
1852        OGL_UK_3_0, 
1853        /**
1854         * Open Group Test Suite License
1855         */
1856        OGTSL, 
1857        /**
1858         * Open LDAP Public License v1.1
1859         */
1860        OLDAP_1_1, 
1861        /**
1862         * Open LDAP Public License v1.2
1863         */
1864        OLDAP_1_2, 
1865        /**
1866         * Open LDAP Public License v1.3
1867         */
1868        OLDAP_1_3, 
1869        /**
1870         * Open LDAP Public License v1.4
1871         */
1872        OLDAP_1_4, 
1873        /**
1874         * Open LDAP Public License v2.0 (or possibly 2.0A and 2.0B)
1875         */
1876        OLDAP_2_0, 
1877        /**
1878         * Open LDAP Public License v2.0.1
1879         */
1880        OLDAP_2_0_1, 
1881        /**
1882         * Open LDAP Public License v2.1
1883         */
1884        OLDAP_2_1, 
1885        /**
1886         * Open LDAP Public License v2.2
1887         */
1888        OLDAP_2_2, 
1889        /**
1890         * Open LDAP Public License v2.2.1
1891         */
1892        OLDAP_2_2_1, 
1893        /**
1894         * Open LDAP Public License 2.2.2
1895         */
1896        OLDAP_2_2_2, 
1897        /**
1898         * Open LDAP Public License v2.3
1899         */
1900        OLDAP_2_3, 
1901        /**
1902         * Open LDAP Public License v2.4
1903         */
1904        OLDAP_2_4, 
1905        /**
1906         * Open LDAP Public License v2.5
1907         */
1908        OLDAP_2_5, 
1909        /**
1910         * Open LDAP Public License v2.6
1911         */
1912        OLDAP_2_6, 
1913        /**
1914         * Open LDAP Public License v2.7
1915         */
1916        OLDAP_2_7, 
1917        /**
1918         * Open LDAP Public License v2.8
1919         */
1920        OLDAP_2_8, 
1921        /**
1922         * Open Logistics Foundation License Version 1.3
1923         */
1924        OLFL_1_3, 
1925        /**
1926         * Open Market License
1927         */
1928        OML, 
1929        /**
1930         * OpenPBS v2.3 Software License
1931         */
1932        OPENPBS_2_3, 
1933        /**
1934         * OpenSSL License
1935         */
1936        OPENSSL, 
1937        /**
1938         * Open Public License v1.0
1939         */
1940        OPL_1_0, 
1941        /**
1942         * United    Kingdom Open Parliament Licence v3.0
1943         */
1944        OPL_UK_3_0, 
1945        /**
1946         * Open Publication License v1.0
1947         */
1948        OPUBL_1_0, 
1949        /**
1950         * OSET Public License version 2.1
1951         */
1952        OSET_PL_2_1, 
1953        /**
1954         * Open Software License 1.0
1955         */
1956        OSL_1_0, 
1957        /**
1958         * Open Software License 1.1
1959         */
1960        OSL_1_1, 
1961        /**
1962         * Open Software License 2.0
1963         */
1964        OSL_2_0, 
1965        /**
1966         * Open Software License 2.1
1967         */
1968        OSL_2_1, 
1969        /**
1970         * Open Software License 3.0
1971         */
1972        OSL_3_0, 
1973        /**
1974         * The Parity Public License 6.0.0
1975         */
1976        PARITY_6_0_0, 
1977        /**
1978         * The Parity Public License 7.0.0
1979         */
1980        PARITY_7_0_0, 
1981        /**
1982         * Open Data Commons Public Domain Dedication & License 1.0
1983         */
1984        PDDL_1_0, 
1985        /**
1986         * PHP License v3.0
1987         */
1988        PHP_3_0, 
1989        /**
1990         * PHP License v3.01
1991         */
1992        PHP_3_01, 
1993        /**
1994         * Plexus Classworlds License
1995         */
1996        PLEXUS, 
1997        /**
1998         * PolyForm Noncommercial License 1.0.0
1999         */
2000        POLYFORM_NONCOMMERCIAL_1_0_0, 
2001        /**
2002         * PolyForm Small Business License 1.0.0
2003         */
2004        POLYFORM_SMALL_BUSINESS_1_0_0, 
2005        /**
2006         * PostgreSQL License
2007         */
2008        POSTGRESQL, 
2009        /**
2010         * Python Software Foundation License 2.0
2011         */
2012        PSF_2_0, 
2013        /**
2014         * psfrag License
2015         */
2016        PSFRAG, 
2017        /**
2018         * psutils License
2019         */
2020        PSUTILS, 
2021        /**
2022         * Python License 2.0
2023         */
2024        PYTHON_2_0, 
2025        /**
2026         * Python License 2.0.1
2027         */
2028        PYTHON_2_0_1, 
2029        /**
2030         * Qhull License
2031         */
2032        QHULL, 
2033        /**
2034         * Q Public License 1.0
2035         */
2036        QPL_1_0, 
2037        /**
2038         * Q Public License 1.0 - INRIA 2004 variant
2039         */
2040        QPL_1_0_INRIA_2004, 
2041        /**
2042         * Rdisc License
2043         */
2044        RDISC, 
2045        /**
2046         * Red Hat eCos Public License v1.1
2047         */
2048        RHECOS_1_1, 
2049        /**
2050         * Reciprocal Public License 1.1
2051         */
2052        RPL_1_1, 
2053        /**
2054         * Reciprocal Public License 1.5
2055         */
2056        RPL_1_5, 
2057        /**
2058         * RealNetworks Public Source License v1.0
2059         */
2060        RPSL_1_0, 
2061        /**
2062         * RSA Message-Digest License
2063         */
2064        RSA_MD, 
2065        /**
2066         * Ricoh Source Code Public License
2067         */
2068        RSCPL, 
2069        /**
2070         * Ruby License
2071         */
2072        RUBY, 
2073        /**
2074         * Sax Public Domain Notice
2075         */
2076        SAX_PD, 
2077        /**
2078         * Saxpath License
2079         */
2080        SAXPATH, 
2081        /**
2082         * SCEA Shared Source License
2083         */
2084        SCEA, 
2085        /**
2086         * Scheme Language Report License
2087         */
2088        SCHEMEREPORT, 
2089        /**
2090         * Sendmail License
2091         */
2092        SENDMAIL, 
2093        /**
2094         * Sendmail License 8.23
2095         */
2096        SENDMAIL_8_23, 
2097        /**
2098         * SGI Free Software License B v1.0
2099         */
2100        SGI_B_1_0, 
2101        /**
2102         * SGI Free Software License B v1.1
2103         */
2104        SGI_B_1_1, 
2105        /**
2106         * SGI Free Software License B v2.0
2107         */
2108        SGI_B_2_0, 
2109        /**
2110         * SGP4 Permission Notice
2111         */
2112        SGP4, 
2113        /**
2114         * Solderpad Hardware License v0.5
2115         */
2116        SHL_0_5, 
2117        /**
2118         * Solderpad Hardware License, Version 0.51
2119         */
2120        SHL_0_51, 
2121        /**
2122         * Simple Public License 2.0
2123         */
2124        SIMPL_2_0, 
2125        /**
2126         * Sun Industry Standards Source License v1.1
2127         */
2128        SISSL, 
2129        /**
2130         * Sun Industry Standards Source License v1.2
2131         */
2132        SISSL_1_2, 
2133        /**
2134         * Sleepycat License
2135         */
2136        SLEEPYCAT, 
2137        /**
2138         * Standard ML of New Jersey License
2139         */
2140        SMLNJ, 
2141        /**
2142         * Secure Messaging Protocol Public License
2143         */
2144        SMPPL, 
2145        /**
2146         * SNIA Public License 1.1
2147         */
2148        SNIA, 
2149        /**
2150         * snprintf License
2151         */
2152        SNPRINTF, 
2153        /**
2154         * Spencer License 86
2155         */
2156        SPENCER_86, 
2157        /**
2158         * Spencer License 94
2159         */
2160        SPENCER_94, 
2161        /**
2162         * Spencer License 99
2163         */
2164        SPENCER_99, 
2165        /**
2166         * Sun Public License v1.0
2167         */
2168        SPL_1_0, 
2169        /**
2170         * SSH OpenSSH license
2171         */
2172        SSH_OPENSSH, 
2173        /**
2174         * SSH short notice
2175         */
2176        SSH_SHORT, 
2177        /**
2178         * Server Side Public License, v 1
2179         */
2180        SSPL_1_0, 
2181        /**
2182         * Standard ML of New Jersey License
2183         */
2184        STANDARDML_NJ, 
2185        /**
2186         * SugarCRM Public License v1.1.3
2187         */
2188        SUGARCRM_1_1_3, 
2189        /**
2190         * SunPro License
2191         */
2192        SUNPRO, 
2193        /**
2194         * Scheme Widget Library (SWL) Software License Agreement
2195         */
2196        SWL, 
2197        /**
2198         * Symlinks License
2199         */
2200        SYMLINKS, 
2201        /**
2202         * TAPR Open Hardware License v1.0
2203         */
2204        TAPR_OHL_1_0, 
2205        /**
2206         * TCL/TK License
2207         */
2208        TCL, 
2209        /**
2210         * TCP Wrappers License
2211         */
2212        TCP_WRAPPERS, 
2213        /**
2214         * TermReadKey License
2215         */
2216        TERMREADKEY, 
2217        /**
2218         * TMate Open Source License
2219         */
2220        TMATE, 
2221        /**
2222         * TORQUE v2.5+ Software License v1.1
2223         */
2224        TORQUE_1_1, 
2225        /**
2226         * Trusster Open Source License
2227         */
2228        TOSL, 
2229        /**
2230         * Time::ParseDate License
2231         */
2232        TPDL, 
2233        /**
2234         * THOR Public License 1.0
2235         */
2236        TPL_1_0, 
2237        /**
2238         * Text-Tabs+Wrap License
2239         */
2240        TTWL, 
2241        /**
2242         * Technische Universitaet Berlin License 1.0
2243         */
2244        TU_BERLIN_1_0, 
2245        /**
2246         * Technische Universitaet Berlin License 2.0
2247         */
2248        TU_BERLIN_2_0, 
2249        /**
2250         * UCAR License
2251         */
2252        UCAR, 
2253        /**
2254         * Upstream Compatibility License v1.0
2255         */
2256        UCL_1_0, 
2257        /**
2258         * Unicode License Agreement - Data Files and Software (2015)
2259         */
2260        UNICODE_DFS_2015, 
2261        /**
2262         * Unicode License Agreement - Data Files and Software (2016)
2263         */
2264        UNICODE_DFS_2016, 
2265        /**
2266         * Unicode Terms of Use
2267         */
2268        UNICODE_TOU, 
2269        /**
2270         * UnixCrypt License
2271         */
2272        UNIXCRYPT, 
2273        /**
2274         * The Unlicense
2275         */
2276        UNLICENSE, 
2277        /**
2278         * Universal Permissive License v1.0
2279         */
2280        UPL_1_0, 
2281        /**
2282         * Vim License
2283         */
2284        VIM, 
2285        /**
2286         * VOSTROM Public License for Open Source
2287         */
2288        VOSTROM, 
2289        /**
2290         * Vovida Software License v1.0
2291         */
2292        VSL_1_0, 
2293        /**
2294         * W3C Software Notice and License (2002-12-31)
2295         */
2296        W3C, 
2297        /**
2298         * W3C Software Notice and License (1998-07-20)
2299         */
2300        W3C_19980720, 
2301        /**
2302         * W3C Software Notice and Document License (2015-05-13)
2303         */
2304        W3C_20150513, 
2305        /**
2306         * w3m License
2307         */
2308        W3M, 
2309        /**
2310         * Sybase Open Watcom Public License 1.0
2311         */
2312        WATCOM_1_0, 
2313        /**
2314         * Widget Workshop License
2315         */
2316        WIDGET_WORKSHOP, 
2317        /**
2318         * Wsuipa License
2319         */
2320        WSUIPA, 
2321        /**
2322         * Do What The F*ck You Want To Public License
2323         */
2324        WTFPL, 
2325        /**
2326         * wxWindows Library License
2327         */
2328        WXWINDOWS, 
2329        /**
2330         * X11 License
2331         */
2332        X11, 
2333        /**
2334         * X11 License Distribution Modification Variant
2335         */
2336        X11_DISTRIBUTE_MODIFICATIONS_VARIANT, 
2337        /**
2338         * Xdebug License v 1.03
2339         */
2340        XDEBUG_1_03, 
2341        /**
2342         * Xerox License
2343         */
2344        XEROX, 
2345        /**
2346         * Xfig License
2347         */
2348        XFIG, 
2349        /**
2350         * XFree86 License 1.1
2351         */
2352        XFREE86_1_1, 
2353        /**
2354         * xinetd License
2355         */
2356        XINETD, 
2357        /**
2358         * xlock License
2359         */
2360        XLOCK, 
2361        /**
2362         * X.Net License
2363         */
2364        XNET, 
2365        /**
2366         * XPP License
2367         */
2368        XPP, 
2369        /**
2370         * XSkat License
2371         */
2372        XSKAT, 
2373        /**
2374         * Yahoo! Public License v1.0
2375         */
2376        YPL_1_0, 
2377        /**
2378         * Yahoo! Public License v1.1
2379         */
2380        YPL_1_1, 
2381        /**
2382         * Zed License
2383         */
2384        ZED, 
2385        /**
2386         * Zend License v2.0
2387         */
2388        ZEND_2_0, 
2389        /**
2390         * Zimbra Public License v1.3
2391         */
2392        ZIMBRA_1_3, 
2393        /**
2394         * Zimbra Public License v1.4
2395         */
2396        ZIMBRA_1_4, 
2397        /**
2398         * zlib License
2399         */
2400        ZLIB, 
2401        /**
2402         * zlib/libpng License with Acknowledgement
2403         */
2404        ZLIB_ACKNOWLEDGEMENT, 
2405        /**
2406         * Zope Public License 1.1
2407         */
2408        ZPL_1_1, 
2409        /**
2410         * Zope Public License 2.0
2411         */
2412        ZPL_2_0, 
2413        /**
2414         * Zope Public License 2.1
2415         */
2416        ZPL_2_1, 
2417        /**
2418         * added to help the parsers
2419         */
2420        NULL;
2421        public static SPDXLicense fromCode(String codeString) throws FHIRException {
2422            if (codeString == null || "".equals(codeString))
2423                return null;
2424        if ("0BSD".equals(codeString))
2425          return _0BSD;
2426        if ("AAL".equals(codeString))
2427          return AAL;
2428        if ("Abstyles".equals(codeString))
2429          return ABSTYLES;
2430        if ("AdaCore-doc".equals(codeString))
2431          return ADACORE_DOC;
2432        if ("Adobe-2006".equals(codeString))
2433          return ADOBE_2006;
2434        if ("Adobe-Glyph".equals(codeString))
2435          return ADOBE_GLYPH;
2436        if ("ADSL".equals(codeString))
2437          return ADSL;
2438        if ("AFL-1.1".equals(codeString))
2439          return AFL_1_1;
2440        if ("AFL-1.2".equals(codeString))
2441          return AFL_1_2;
2442        if ("AFL-2.0".equals(codeString))
2443          return AFL_2_0;
2444        if ("AFL-2.1".equals(codeString))
2445          return AFL_2_1;
2446        if ("AFL-3.0".equals(codeString))
2447          return AFL_3_0;
2448        if ("Afmparse".equals(codeString))
2449          return AFMPARSE;
2450        if ("AGPL-1.0".equals(codeString))
2451          return AGPL_1_0;
2452        if ("AGPL-1.0-only".equals(codeString))
2453          return AGPL_1_0_ONLY;
2454        if ("AGPL-1.0-or-later".equals(codeString))
2455          return AGPL_1_0_OR_LATER;
2456        if ("AGPL-3.0".equals(codeString))
2457          return AGPL_3_0;
2458        if ("AGPL-3.0-only".equals(codeString))
2459          return AGPL_3_0_ONLY;
2460        if ("AGPL-3.0-or-later".equals(codeString))
2461          return AGPL_3_0_OR_LATER;
2462        if ("Aladdin".equals(codeString))
2463          return ALADDIN;
2464        if ("AMDPLPA".equals(codeString))
2465          return AMDPLPA;
2466        if ("AML".equals(codeString))
2467          return AML;
2468        if ("AMPAS".equals(codeString))
2469          return AMPAS;
2470        if ("ANTLR-PD".equals(codeString))
2471          return ANTLR_PD;
2472        if ("ANTLR-PD-fallback".equals(codeString))
2473          return ANTLR_PD_FALLBACK;
2474        if ("Apache-1.0".equals(codeString))
2475          return APACHE_1_0;
2476        if ("Apache-1.1".equals(codeString))
2477          return APACHE_1_1;
2478        if ("Apache-2.0".equals(codeString))
2479          return APACHE_2_0;
2480        if ("APAFML".equals(codeString))
2481          return APAFML;
2482        if ("APL-1.0".equals(codeString))
2483          return APL_1_0;
2484        if ("App-s2p".equals(codeString))
2485          return APP_S2P;
2486        if ("APSL-1.0".equals(codeString))
2487          return APSL_1_0;
2488        if ("APSL-1.1".equals(codeString))
2489          return APSL_1_1;
2490        if ("APSL-1.2".equals(codeString))
2491          return APSL_1_2;
2492        if ("APSL-2.0".equals(codeString))
2493          return APSL_2_0;
2494        if ("Arphic-1999".equals(codeString))
2495          return ARPHIC_1999;
2496        if ("Artistic-1.0".equals(codeString))
2497          return ARTISTIC_1_0;
2498        if ("Artistic-1.0-cl8".equals(codeString))
2499          return ARTISTIC_1_0_CL8;
2500        if ("Artistic-1.0-Perl".equals(codeString))
2501          return ARTISTIC_1_0_PERL;
2502        if ("Artistic-2.0".equals(codeString))
2503          return ARTISTIC_2_0;
2504        if ("ASWF-Digital-Assets-1.0".equals(codeString))
2505          return ASWF_DIGITAL_ASSETS_1_0;
2506        if ("ASWF-Digital-Assets-1.1".equals(codeString))
2507          return ASWF_DIGITAL_ASSETS_1_1;
2508        if ("Baekmuk".equals(codeString))
2509          return BAEKMUK;
2510        if ("Bahyph".equals(codeString))
2511          return BAHYPH;
2512        if ("Barr".equals(codeString))
2513          return BARR;
2514        if ("Beerware".equals(codeString))
2515          return BEERWARE;
2516        if ("Bitstream-Charter".equals(codeString))
2517          return BITSTREAM_CHARTER;
2518        if ("Bitstream-Vera".equals(codeString))
2519          return BITSTREAM_VERA;
2520        if ("BitTorrent-1.0".equals(codeString))
2521          return BITTORRENT_1_0;
2522        if ("BitTorrent-1.1".equals(codeString))
2523          return BITTORRENT_1_1;
2524        if ("blessing".equals(codeString))
2525          return BLESSING;
2526        if ("BlueOak-1.0.0".equals(codeString))
2527          return BLUEOAK_1_0_0;
2528        if ("Boehm-GC".equals(codeString))
2529          return BOEHM_GC;
2530        if ("Borceux".equals(codeString))
2531          return BORCEUX;
2532        if ("Brian-Gladman-3-Clause".equals(codeString))
2533          return BRIAN_GLADMAN_3_CLAUSE;
2534        if ("BSD-1-Clause".equals(codeString))
2535          return BSD_1_CLAUSE;
2536        if ("BSD-2-Clause".equals(codeString))
2537          return BSD_2_CLAUSE;
2538        if ("BSD-2-Clause-FreeBSD".equals(codeString))
2539          return BSD_2_CLAUSE_FREEBSD;
2540        if ("BSD-2-Clause-NetBSD".equals(codeString))
2541          return BSD_2_CLAUSE_NETBSD;
2542        if ("BSD-2-Clause-Patent".equals(codeString))
2543          return BSD_2_CLAUSE_PATENT;
2544        if ("BSD-2-Clause-Views".equals(codeString))
2545          return BSD_2_CLAUSE_VIEWS;
2546        if ("BSD-3-Clause".equals(codeString))
2547          return BSD_3_CLAUSE;
2548        if ("BSD-3-Clause-Attribution".equals(codeString))
2549          return BSD_3_CLAUSE_ATTRIBUTION;
2550        if ("BSD-3-Clause-Clear".equals(codeString))
2551          return BSD_3_CLAUSE_CLEAR;
2552        if ("BSD-3-Clause-LBNL".equals(codeString))
2553          return BSD_3_CLAUSE_LBNL;
2554        if ("BSD-3-Clause-Modification".equals(codeString))
2555          return BSD_3_CLAUSE_MODIFICATION;
2556        if ("BSD-3-Clause-No-Military-License".equals(codeString))
2557          return BSD_3_CLAUSE_NO_MILITARY_LICENSE;
2558        if ("BSD-3-Clause-No-Nuclear-License".equals(codeString))
2559          return BSD_3_CLAUSE_NO_NUCLEAR_LICENSE;
2560        if ("BSD-3-Clause-No-Nuclear-License-2014".equals(codeString))
2561          return BSD_3_CLAUSE_NO_NUCLEAR_LICENSE_2014;
2562        if ("BSD-3-Clause-No-Nuclear-Warranty".equals(codeString))
2563          return BSD_3_CLAUSE_NO_NUCLEAR_WARRANTY;
2564        if ("BSD-3-Clause-Open-MPI".equals(codeString))
2565          return BSD_3_CLAUSE_OPEN_MPI;
2566        if ("BSD-4-Clause".equals(codeString))
2567          return BSD_4_CLAUSE;
2568        if ("BSD-4-Clause-Shortened".equals(codeString))
2569          return BSD_4_CLAUSE_SHORTENED;
2570        if ("BSD-4-Clause-UC".equals(codeString))
2571          return BSD_4_CLAUSE_UC;
2572        if ("BSD-4.3RENO".equals(codeString))
2573          return BSD_4_3RENO;
2574        if ("BSD-4.3TAHOE".equals(codeString))
2575          return BSD_4_3TAHOE;
2576        if ("BSD-Advertising-Acknowledgement".equals(codeString))
2577          return BSD_ADVERTISING_ACKNOWLEDGEMENT;
2578        if ("BSD-Attribution-HPND-disclaimer".equals(codeString))
2579          return BSD_ATTRIBUTION_HPND_DISCLAIMER;
2580        if ("BSD-Protection".equals(codeString))
2581          return BSD_PROTECTION;
2582        if ("BSD-Source-Code".equals(codeString))
2583          return BSD_SOURCE_CODE;
2584        if ("BSL-1.0".equals(codeString))
2585          return BSL_1_0;
2586        if ("BUSL-1.1".equals(codeString))
2587          return BUSL_1_1;
2588        if ("bzip2-1.0.5".equals(codeString))
2589          return BZIP2_1_0_5;
2590        if ("bzip2-1.0.6".equals(codeString))
2591          return BZIP2_1_0_6;
2592        if ("C-UDA-1.0".equals(codeString))
2593          return C_UDA_1_0;
2594        if ("CAL-1.0".equals(codeString))
2595          return CAL_1_0;
2596        if ("CAL-1.0-Combined-Work-Exception".equals(codeString))
2597          return CAL_1_0_COMBINED_WORK_EXCEPTION;
2598        if ("Caldera".equals(codeString))
2599          return CALDERA;
2600        if ("CATOSL-1.1".equals(codeString))
2601          return CATOSL_1_1;
2602        if ("CC-BY-1.0".equals(codeString))
2603          return CC_BY_1_0;
2604        if ("CC-BY-2.0".equals(codeString))
2605          return CC_BY_2_0;
2606        if ("CC-BY-2.5".equals(codeString))
2607          return CC_BY_2_5;
2608        if ("CC-BY-2.5-AU".equals(codeString))
2609          return CC_BY_2_5_AU;
2610        if ("CC-BY-3.0".equals(codeString))
2611          return CC_BY_3_0;
2612        if ("CC-BY-3.0-AT".equals(codeString))
2613          return CC_BY_3_0_AT;
2614        if ("CC-BY-3.0-DE".equals(codeString))
2615          return CC_BY_3_0_DE;
2616        if ("CC-BY-3.0-IGO".equals(codeString))
2617          return CC_BY_3_0_IGO;
2618        if ("CC-BY-3.0-NL".equals(codeString))
2619          return CC_BY_3_0_NL;
2620        if ("CC-BY-3.0-US".equals(codeString))
2621          return CC_BY_3_0_US;
2622        if ("CC-BY-4.0".equals(codeString))
2623          return CC_BY_4_0;
2624        if ("CC-BY-NC-1.0".equals(codeString))
2625          return CC_BY_NC_1_0;
2626        if ("CC-BY-NC-2.0".equals(codeString))
2627          return CC_BY_NC_2_0;
2628        if ("CC-BY-NC-2.5".equals(codeString))
2629          return CC_BY_NC_2_5;
2630        if ("CC-BY-NC-3.0".equals(codeString))
2631          return CC_BY_NC_3_0;
2632        if ("CC-BY-NC-3.0-DE".equals(codeString))
2633          return CC_BY_NC_3_0_DE;
2634        if ("CC-BY-NC-4.0".equals(codeString))
2635          return CC_BY_NC_4_0;
2636        if ("CC-BY-NC-ND-1.0".equals(codeString))
2637          return CC_BY_NC_ND_1_0;
2638        if ("CC-BY-NC-ND-2.0".equals(codeString))
2639          return CC_BY_NC_ND_2_0;
2640        if ("CC-BY-NC-ND-2.5".equals(codeString))
2641          return CC_BY_NC_ND_2_5;
2642        if ("CC-BY-NC-ND-3.0".equals(codeString))
2643          return CC_BY_NC_ND_3_0;
2644        if ("CC-BY-NC-ND-3.0-DE".equals(codeString))
2645          return CC_BY_NC_ND_3_0_DE;
2646        if ("CC-BY-NC-ND-3.0-IGO".equals(codeString))
2647          return CC_BY_NC_ND_3_0_IGO;
2648        if ("CC-BY-NC-ND-4.0".equals(codeString))
2649          return CC_BY_NC_ND_4_0;
2650        if ("CC-BY-NC-SA-1.0".equals(codeString))
2651          return CC_BY_NC_SA_1_0;
2652        if ("CC-BY-NC-SA-2.0".equals(codeString))
2653          return CC_BY_NC_SA_2_0;
2654        if ("CC-BY-NC-SA-2.0-DE".equals(codeString))
2655          return CC_BY_NC_SA_2_0_DE;
2656        if ("CC-BY-NC-SA-2.0-FR".equals(codeString))
2657          return CC_BY_NC_SA_2_0_FR;
2658        if ("CC-BY-NC-SA-2.0-UK".equals(codeString))
2659          return CC_BY_NC_SA_2_0_UK;
2660        if ("CC-BY-NC-SA-2.5".equals(codeString))
2661          return CC_BY_NC_SA_2_5;
2662        if ("CC-BY-NC-SA-3.0".equals(codeString))
2663          return CC_BY_NC_SA_3_0;
2664        if ("CC-BY-NC-SA-3.0-DE".equals(codeString))
2665          return CC_BY_NC_SA_3_0_DE;
2666        if ("CC-BY-NC-SA-3.0-IGO".equals(codeString))
2667          return CC_BY_NC_SA_3_0_IGO;
2668        if ("CC-BY-NC-SA-4.0".equals(codeString))
2669          return CC_BY_NC_SA_4_0;
2670        if ("CC-BY-ND-1.0".equals(codeString))
2671          return CC_BY_ND_1_0;
2672        if ("CC-BY-ND-2.0".equals(codeString))
2673          return CC_BY_ND_2_0;
2674        if ("CC-BY-ND-2.5".equals(codeString))
2675          return CC_BY_ND_2_5;
2676        if ("CC-BY-ND-3.0".equals(codeString))
2677          return CC_BY_ND_3_0;
2678        if ("CC-BY-ND-3.0-DE".equals(codeString))
2679          return CC_BY_ND_3_0_DE;
2680        if ("CC-BY-ND-4.0".equals(codeString))
2681          return CC_BY_ND_4_0;
2682        if ("CC-BY-SA-1.0".equals(codeString))
2683          return CC_BY_SA_1_0;
2684        if ("CC-BY-SA-2.0".equals(codeString))
2685          return CC_BY_SA_2_0;
2686        if ("CC-BY-SA-2.0-UK".equals(codeString))
2687          return CC_BY_SA_2_0_UK;
2688        if ("CC-BY-SA-2.1-JP".equals(codeString))
2689          return CC_BY_SA_2_1_JP;
2690        if ("CC-BY-SA-2.5".equals(codeString))
2691          return CC_BY_SA_2_5;
2692        if ("CC-BY-SA-3.0".equals(codeString))
2693          return CC_BY_SA_3_0;
2694        if ("CC-BY-SA-3.0-AT".equals(codeString))
2695          return CC_BY_SA_3_0_AT;
2696        if ("CC-BY-SA-3.0-DE".equals(codeString))
2697          return CC_BY_SA_3_0_DE;
2698        if ("CC-BY-SA-3.0-IGO".equals(codeString))
2699          return CC_BY_SA_3_0_IGO;
2700        if ("CC-BY-SA-4.0".equals(codeString))
2701          return CC_BY_SA_4_0;
2702        if ("CC-PDDC".equals(codeString))
2703          return CC_PDDC;
2704        if ("CC0-1.0".equals(codeString))
2705          return CC0_1_0;
2706        if ("CDDL-1.0".equals(codeString))
2707          return CDDL_1_0;
2708        if ("CDDL-1.1".equals(codeString))
2709          return CDDL_1_1;
2710        if ("CDL-1.0".equals(codeString))
2711          return CDL_1_0;
2712        if ("CDLA-Permissive-1.0".equals(codeString))
2713          return CDLA_PERMISSIVE_1_0;
2714        if ("CDLA-Permissive-2.0".equals(codeString))
2715          return CDLA_PERMISSIVE_2_0;
2716        if ("CDLA-Sharing-1.0".equals(codeString))
2717          return CDLA_SHARING_1_0;
2718        if ("CECILL-1.0".equals(codeString))
2719          return CECILL_1_0;
2720        if ("CECILL-1.1".equals(codeString))
2721          return CECILL_1_1;
2722        if ("CECILL-2.0".equals(codeString))
2723          return CECILL_2_0;
2724        if ("CECILL-2.1".equals(codeString))
2725          return CECILL_2_1;
2726        if ("CECILL-B".equals(codeString))
2727          return CECILL_B;
2728        if ("CECILL-C".equals(codeString))
2729          return CECILL_C;
2730        if ("CERN-OHL-1.1".equals(codeString))
2731          return CERN_OHL_1_1;
2732        if ("CERN-OHL-1.2".equals(codeString))
2733          return CERN_OHL_1_2;
2734        if ("CERN-OHL-P-2.0".equals(codeString))
2735          return CERN_OHL_P_2_0;
2736        if ("CERN-OHL-S-2.0".equals(codeString))
2737          return CERN_OHL_S_2_0;
2738        if ("CERN-OHL-W-2.0".equals(codeString))
2739          return CERN_OHL_W_2_0;
2740        if ("CFITSIO".equals(codeString))
2741          return CFITSIO;
2742        if ("checkmk".equals(codeString))
2743          return CHECKMK;
2744        if ("ClArtistic".equals(codeString))
2745          return CLARTISTIC;
2746        if ("Clips".equals(codeString))
2747          return CLIPS;
2748        if ("CMU-Mach".equals(codeString))
2749          return CMU_MACH;
2750        if ("CNRI-Jython".equals(codeString))
2751          return CNRI_JYTHON;
2752        if ("CNRI-Python".equals(codeString))
2753          return CNRI_PYTHON;
2754        if ("CNRI-Python-GPL-Compatible".equals(codeString))
2755          return CNRI_PYTHON_GPL_COMPATIBLE;
2756        if ("COIL-1.0".equals(codeString))
2757          return COIL_1_0;
2758        if ("Community-Spec-1.0".equals(codeString))
2759          return COMMUNITY_SPEC_1_0;
2760        if ("Condor-1.1".equals(codeString))
2761          return CONDOR_1_1;
2762        if ("copyleft-next-0.3.0".equals(codeString))
2763          return COPYLEFT_NEXT_0_3_0;
2764        if ("copyleft-next-0.3.1".equals(codeString))
2765          return COPYLEFT_NEXT_0_3_1;
2766        if ("Cornell-Lossless-JPEG".equals(codeString))
2767          return CORNELL_LOSSLESS_JPEG;
2768        if ("CPAL-1.0".equals(codeString))
2769          return CPAL_1_0;
2770        if ("CPL-1.0".equals(codeString))
2771          return CPL_1_0;
2772        if ("CPOL-1.02".equals(codeString))
2773          return CPOL_1_02;
2774        if ("Crossword".equals(codeString))
2775          return CROSSWORD;
2776        if ("CrystalStacker".equals(codeString))
2777          return CRYSTALSTACKER;
2778        if ("CUA-OPL-1.0".equals(codeString))
2779          return CUA_OPL_1_0;
2780        if ("Cube".equals(codeString))
2781          return CUBE;
2782        if ("curl".equals(codeString))
2783          return CURL;
2784        if ("D-FSL-1.0".equals(codeString))
2785          return D_FSL_1_0;
2786        if ("diffmark".equals(codeString))
2787          return DIFFMARK;
2788        if ("DL-DE-BY-2.0".equals(codeString))
2789          return DL_DE_BY_2_0;
2790        if ("DOC".equals(codeString))
2791          return DOC;
2792        if ("Dotseqn".equals(codeString))
2793          return DOTSEQN;
2794        if ("DRL-1.0".equals(codeString))
2795          return DRL_1_0;
2796        if ("DSDP".equals(codeString))
2797          return DSDP;
2798        if ("dtoa".equals(codeString))
2799          return DTOA;
2800        if ("dvipdfm".equals(codeString))
2801          return DVIPDFM;
2802        if ("ECL-1.0".equals(codeString))
2803          return ECL_1_0;
2804        if ("ECL-2.0".equals(codeString))
2805          return ECL_2_0;
2806        if ("eCos-2.0".equals(codeString))
2807          return ECOS_2_0;
2808        if ("EFL-1.0".equals(codeString))
2809          return EFL_1_0;
2810        if ("EFL-2.0".equals(codeString))
2811          return EFL_2_0;
2812        if ("eGenix".equals(codeString))
2813          return EGENIX;
2814        if ("Elastic-2.0".equals(codeString))
2815          return ELASTIC_2_0;
2816        if ("Entessa".equals(codeString))
2817          return ENTESSA;
2818        if ("EPICS".equals(codeString))
2819          return EPICS;
2820        if ("EPL-1.0".equals(codeString))
2821          return EPL_1_0;
2822        if ("EPL-2.0".equals(codeString))
2823          return EPL_2_0;
2824        if ("ErlPL-1.1".equals(codeString))
2825          return ERLPL_1_1;
2826        if ("etalab-2.0".equals(codeString))
2827          return ETALAB_2_0;
2828        if ("EUDatagrid".equals(codeString))
2829          return EUDATAGRID;
2830        if ("EUPL-1.0".equals(codeString))
2831          return EUPL_1_0;
2832        if ("EUPL-1.1".equals(codeString))
2833          return EUPL_1_1;
2834        if ("EUPL-1.2".equals(codeString))
2835          return EUPL_1_2;
2836        if ("Eurosym".equals(codeString))
2837          return EUROSYM;
2838        if ("Fair".equals(codeString))
2839          return FAIR;
2840        if ("FDK-AAC".equals(codeString))
2841          return FDK_AAC;
2842        if ("Frameworx-1.0".equals(codeString))
2843          return FRAMEWORX_1_0;
2844        if ("FreeBSD-DOC".equals(codeString))
2845          return FREEBSD_DOC;
2846        if ("FreeImage".equals(codeString))
2847          return FREEIMAGE;
2848        if ("FSFAP".equals(codeString))
2849          return FSFAP;
2850        if ("FSFUL".equals(codeString))
2851          return FSFUL;
2852        if ("FSFULLR".equals(codeString))
2853          return FSFULLR;
2854        if ("FSFULLRWD".equals(codeString))
2855          return FSFULLRWD;
2856        if ("FTL".equals(codeString))
2857          return FTL;
2858        if ("GD".equals(codeString))
2859          return GD;
2860        if ("GFDL-1.1".equals(codeString))
2861          return GFDL_1_1;
2862        if ("GFDL-1.1-invariants-only".equals(codeString))
2863          return GFDL_1_1_INVARIANTS_ONLY;
2864        if ("GFDL-1.1-invariants-or-later".equals(codeString))
2865          return GFDL_1_1_INVARIANTS_OR_LATER;
2866        if ("GFDL-1.1-no-invariants-only".equals(codeString))
2867          return GFDL_1_1_NO_INVARIANTS_ONLY;
2868        if ("GFDL-1.1-no-invariants-or-later".equals(codeString))
2869          return GFDL_1_1_NO_INVARIANTS_OR_LATER;
2870        if ("GFDL-1.1-only".equals(codeString))
2871          return GFDL_1_1_ONLY;
2872        if ("GFDL-1.1-or-later".equals(codeString))
2873          return GFDL_1_1_OR_LATER;
2874        if ("GFDL-1.2".equals(codeString))
2875          return GFDL_1_2;
2876        if ("GFDL-1.2-invariants-only".equals(codeString))
2877          return GFDL_1_2_INVARIANTS_ONLY;
2878        if ("GFDL-1.2-invariants-or-later".equals(codeString))
2879          return GFDL_1_2_INVARIANTS_OR_LATER;
2880        if ("GFDL-1.2-no-invariants-only".equals(codeString))
2881          return GFDL_1_2_NO_INVARIANTS_ONLY;
2882        if ("GFDL-1.2-no-invariants-or-later".equals(codeString))
2883          return GFDL_1_2_NO_INVARIANTS_OR_LATER;
2884        if ("GFDL-1.2-only".equals(codeString))
2885          return GFDL_1_2_ONLY;
2886        if ("GFDL-1.2-or-later".equals(codeString))
2887          return GFDL_1_2_OR_LATER;
2888        if ("GFDL-1.3".equals(codeString))
2889          return GFDL_1_3;
2890        if ("GFDL-1.3-invariants-only".equals(codeString))
2891          return GFDL_1_3_INVARIANTS_ONLY;
2892        if ("GFDL-1.3-invariants-or-later".equals(codeString))
2893          return GFDL_1_3_INVARIANTS_OR_LATER;
2894        if ("GFDL-1.3-no-invariants-only".equals(codeString))
2895          return GFDL_1_3_NO_INVARIANTS_ONLY;
2896        if ("GFDL-1.3-no-invariants-or-later".equals(codeString))
2897          return GFDL_1_3_NO_INVARIANTS_OR_LATER;
2898        if ("GFDL-1.3-only".equals(codeString))
2899          return GFDL_1_3_ONLY;
2900        if ("GFDL-1.3-or-later".equals(codeString))
2901          return GFDL_1_3_OR_LATER;
2902        if ("Giftware".equals(codeString))
2903          return GIFTWARE;
2904        if ("GL2PS".equals(codeString))
2905          return GL2PS;
2906        if ("Glide".equals(codeString))
2907          return GLIDE;
2908        if ("Glulxe".equals(codeString))
2909          return GLULXE;
2910        if ("GLWTPL".equals(codeString))
2911          return GLWTPL;
2912        if ("gnuplot".equals(codeString))
2913          return GNUPLOT;
2914        if ("GPL-1.0".equals(codeString))
2915          return GPL_1_0;
2916        if ("GPL-1.0+".equals(codeString))
2917          return GPL_1_0PLUS;
2918        if ("GPL-1.0-only".equals(codeString))
2919          return GPL_1_0_ONLY;
2920        if ("GPL-1.0-or-later".equals(codeString))
2921          return GPL_1_0_OR_LATER;
2922        if ("GPL-2.0".equals(codeString))
2923          return GPL_2_0;
2924        if ("GPL-2.0+".equals(codeString))
2925          return GPL_2_0PLUS;
2926        if ("GPL-2.0-only".equals(codeString))
2927          return GPL_2_0_ONLY;
2928        if ("GPL-2.0-or-later".equals(codeString))
2929          return GPL_2_0_OR_LATER;
2930        if ("GPL-2.0-with-autoconf-exception".equals(codeString))
2931          return GPL_2_0_WITH_AUTOCONF_EXCEPTION;
2932        if ("GPL-2.0-with-bison-exception".equals(codeString))
2933          return GPL_2_0_WITH_BISON_EXCEPTION;
2934        if ("GPL-2.0-with-classpath-exception".equals(codeString))
2935          return GPL_2_0_WITH_CLASSPATH_EXCEPTION;
2936        if ("GPL-2.0-with-font-exception".equals(codeString))
2937          return GPL_2_0_WITH_FONT_EXCEPTION;
2938        if ("GPL-2.0-with-GCC-exception".equals(codeString))
2939          return GPL_2_0_WITH_GCC_EXCEPTION;
2940        if ("GPL-3.0".equals(codeString))
2941          return GPL_3_0;
2942        if ("GPL-3.0+".equals(codeString))
2943          return GPL_3_0PLUS;
2944        if ("GPL-3.0-only".equals(codeString))
2945          return GPL_3_0_ONLY;
2946        if ("GPL-3.0-or-later".equals(codeString))
2947          return GPL_3_0_OR_LATER;
2948        if ("GPL-3.0-with-autoconf-exception".equals(codeString))
2949          return GPL_3_0_WITH_AUTOCONF_EXCEPTION;
2950        if ("GPL-3.0-with-GCC-exception".equals(codeString))
2951          return GPL_3_0_WITH_GCC_EXCEPTION;
2952        if ("Graphics-Gems".equals(codeString))
2953          return GRAPHICS_GEMS;
2954        if ("gSOAP-1.3b".equals(codeString))
2955          return GSOAP_1_3B;
2956        if ("HaskellReport".equals(codeString))
2957          return HASKELLREPORT;
2958        if ("Hippocratic-2.1".equals(codeString))
2959          return HIPPOCRATIC_2_1;
2960        if ("HP-1986".equals(codeString))
2961          return HP_1986;
2962        if ("HPND".equals(codeString))
2963          return HPND;
2964        if ("HPND-export-US".equals(codeString))
2965          return HPND_EXPORT_US;
2966        if ("HPND-Markus-Kuhn".equals(codeString))
2967          return HPND_MARKUS_KUHN;
2968        if ("HPND-sell-variant".equals(codeString))
2969          return HPND_SELL_VARIANT;
2970        if ("HPND-sell-variant-MIT-disclaimer".equals(codeString))
2971          return HPND_SELL_VARIANT_MIT_DISCLAIMER;
2972        if ("HTMLTIDY".equals(codeString))
2973          return HTMLTIDY;
2974        if ("IBM-pibs".equals(codeString))
2975          return IBM_PIBS;
2976        if ("ICU".equals(codeString))
2977          return ICU;
2978        if ("IEC-Code-Components-EULA".equals(codeString))
2979          return IEC_CODE_COMPONENTS_EULA;
2980        if ("IJG".equals(codeString))
2981          return IJG;
2982        if ("IJG-short".equals(codeString))
2983          return IJG_SHORT;
2984        if ("ImageMagick".equals(codeString))
2985          return IMAGEMAGICK;
2986        if ("iMatix".equals(codeString))
2987          return IMATIX;
2988        if ("Imlib2".equals(codeString))
2989          return IMLIB2;
2990        if ("Info-ZIP".equals(codeString))
2991          return INFO_ZIP;
2992        if ("Inner-Net-2.0".equals(codeString))
2993          return INNER_NET_2_0;
2994        if ("Intel".equals(codeString))
2995          return INTEL;
2996        if ("Intel-ACPI".equals(codeString))
2997          return INTEL_ACPI;
2998        if ("Interbase-1.0".equals(codeString))
2999          return INTERBASE_1_0;
3000        if ("IPA".equals(codeString))
3001          return IPA;
3002        if ("IPL-1.0".equals(codeString))
3003          return IPL_1_0;
3004        if ("ISC".equals(codeString))
3005          return ISC;
3006        if ("Jam".equals(codeString))
3007          return JAM;
3008        if ("JasPer-2.0".equals(codeString))
3009          return JASPER_2_0;
3010        if ("JPL-image".equals(codeString))
3011          return JPL_IMAGE;
3012        if ("JPNIC".equals(codeString))
3013          return JPNIC;
3014        if ("JSON".equals(codeString))
3015          return JSON;
3016        if ("Kazlib".equals(codeString))
3017          return KAZLIB;
3018        if ("Knuth-CTAN".equals(codeString))
3019          return KNUTH_CTAN;
3020        if ("LAL-1.2".equals(codeString))
3021          return LAL_1_2;
3022        if ("LAL-1.3".equals(codeString))
3023          return LAL_1_3;
3024        if ("Latex2e".equals(codeString))
3025          return LATEX2E;
3026        if ("Latex2e-translated-notice".equals(codeString))
3027          return LATEX2E_TRANSLATED_NOTICE;
3028        if ("Leptonica".equals(codeString))
3029          return LEPTONICA;
3030        if ("LGPL-2.0".equals(codeString))
3031          return LGPL_2_0;
3032        if ("LGPL-2.0+".equals(codeString))
3033          return LGPL_2_0PLUS;
3034        if ("LGPL-2.0-only".equals(codeString))
3035          return LGPL_2_0_ONLY;
3036        if ("LGPL-2.0-or-later".equals(codeString))
3037          return LGPL_2_0_OR_LATER;
3038        if ("LGPL-2.1".equals(codeString))
3039          return LGPL_2_1;
3040        if ("LGPL-2.1+".equals(codeString))
3041          return LGPL_2_1PLUS;
3042        if ("LGPL-2.1-only".equals(codeString))
3043          return LGPL_2_1_ONLY;
3044        if ("LGPL-2.1-or-later".equals(codeString))
3045          return LGPL_2_1_OR_LATER;
3046        if ("LGPL-3.0".equals(codeString))
3047          return LGPL_3_0;
3048        if ("LGPL-3.0+".equals(codeString))
3049          return LGPL_3_0PLUS;
3050        if ("LGPL-3.0-only".equals(codeString))
3051          return LGPL_3_0_ONLY;
3052        if ("LGPL-3.0-or-later".equals(codeString))
3053          return LGPL_3_0_OR_LATER;
3054        if ("LGPLLR".equals(codeString))
3055          return LGPLLR;
3056        if ("Libpng".equals(codeString))
3057          return LIBPNG;
3058        if ("libpng-2.0".equals(codeString))
3059          return LIBPNG_2_0;
3060        if ("libselinux-1.0".equals(codeString))
3061          return LIBSELINUX_1_0;
3062        if ("libtiff".equals(codeString))
3063          return LIBTIFF;
3064        if ("libutil-David-Nugent".equals(codeString))
3065          return LIBUTIL_DAVID_NUGENT;
3066        if ("LiLiQ-P-1.1".equals(codeString))
3067          return LILIQ_P_1_1;
3068        if ("LiLiQ-R-1.1".equals(codeString))
3069          return LILIQ_R_1_1;
3070        if ("LiLiQ-Rplus-1.1".equals(codeString))
3071          return LILIQ_RPLUS_1_1;
3072        if ("Linux-man-pages-1-para".equals(codeString))
3073          return LINUX_MAN_PAGES_1_PARA;
3074        if ("Linux-man-pages-copyleft".equals(codeString))
3075          return LINUX_MAN_PAGES_COPYLEFT;
3076        if ("Linux-man-pages-copyleft-2-para".equals(codeString))
3077          return LINUX_MAN_PAGES_COPYLEFT_2_PARA;
3078        if ("Linux-man-pages-copyleft-var".equals(codeString))
3079          return LINUX_MAN_PAGES_COPYLEFT_VAR;
3080        if ("Linux-OpenIB".equals(codeString))
3081          return LINUX_OPENIB;
3082        if ("LOOP".equals(codeString))
3083          return LOOP;
3084        if ("LPL-1.0".equals(codeString))
3085          return LPL_1_0;
3086        if ("LPL-1.02".equals(codeString))
3087          return LPL_1_02;
3088        if ("LPPL-1.0".equals(codeString))
3089          return LPPL_1_0;
3090        if ("LPPL-1.1".equals(codeString))
3091          return LPPL_1_1;
3092        if ("LPPL-1.2".equals(codeString))
3093          return LPPL_1_2;
3094        if ("LPPL-1.3a".equals(codeString))
3095          return LPPL_1_3A;
3096        if ("LPPL-1.3c".equals(codeString))
3097          return LPPL_1_3C;
3098        if ("LZMA-SDK-9.11-to-9.20".equals(codeString))
3099          return LZMA_SDK_9_11_TO_9_20;
3100        if ("LZMA-SDK-9.22".equals(codeString))
3101          return LZMA_SDK_9_22;
3102        if ("MakeIndex".equals(codeString))
3103          return MAKEINDEX;
3104        if ("Martin-Birgmeier".equals(codeString))
3105          return MARTIN_BIRGMEIER;
3106        if ("metamail".equals(codeString))
3107          return METAMAIL;
3108        if ("Minpack".equals(codeString))
3109          return MINPACK;
3110        if ("MirOS".equals(codeString))
3111          return MIROS;
3112        if ("MIT".equals(codeString))
3113          return MIT;
3114        if ("MIT-0".equals(codeString))
3115          return MIT_0;
3116        if ("MIT-advertising".equals(codeString))
3117          return MIT_ADVERTISING;
3118        if ("MIT-CMU".equals(codeString))
3119          return MIT_CMU;
3120        if ("MIT-enna".equals(codeString))
3121          return MIT_ENNA;
3122        if ("MIT-feh".equals(codeString))
3123          return MIT_FEH;
3124        if ("MIT-Festival".equals(codeString))
3125          return MIT_FESTIVAL;
3126        if ("MIT-Modern-Variant".equals(codeString))
3127          return MIT_MODERN_VARIANT;
3128        if ("MIT-open-group".equals(codeString))
3129          return MIT_OPEN_GROUP;
3130        if ("MIT-Wu".equals(codeString))
3131          return MIT_WU;
3132        if ("MITNFA".equals(codeString))
3133          return MITNFA;
3134        if ("Motosoto".equals(codeString))
3135          return MOTOSOTO;
3136        if ("mpi-permissive".equals(codeString))
3137          return MPI_PERMISSIVE;
3138        if ("mpich2".equals(codeString))
3139          return MPICH2;
3140        if ("MPL-1.0".equals(codeString))
3141          return MPL_1_0;
3142        if ("MPL-1.1".equals(codeString))
3143          return MPL_1_1;
3144        if ("MPL-2.0".equals(codeString))
3145          return MPL_2_0;
3146        if ("MPL-2.0-no-copyleft-exception".equals(codeString))
3147          return MPL_2_0_NO_COPYLEFT_EXCEPTION;
3148        if ("mplus".equals(codeString))
3149          return MPLUS;
3150        if ("MS-LPL".equals(codeString))
3151          return MS_LPL;
3152        if ("MS-PL".equals(codeString))
3153          return MS_PL;
3154        if ("MS-RL".equals(codeString))
3155          return MS_RL;
3156        if ("MTLL".equals(codeString))
3157          return MTLL;
3158        if ("MulanPSL-1.0".equals(codeString))
3159          return MULANPSL_1_0;
3160        if ("MulanPSL-2.0".equals(codeString))
3161          return MULANPSL_2_0;
3162        if ("Multics".equals(codeString))
3163          return MULTICS;
3164        if ("Mup".equals(codeString))
3165          return MUP;
3166        if ("NAIST-2003".equals(codeString))
3167          return NAIST_2003;
3168        if ("NASA-1.3".equals(codeString))
3169          return NASA_1_3;
3170        if ("Naumen".equals(codeString))
3171          return NAUMEN;
3172        if ("NBPL-1.0".equals(codeString))
3173          return NBPL_1_0;
3174        if ("NCGL-UK-2.0".equals(codeString))
3175          return NCGL_UK_2_0;
3176        if ("NCSA".equals(codeString))
3177          return NCSA;
3178        if ("Net-SNMP".equals(codeString))
3179          return NET_SNMP;
3180        if ("NetCDF".equals(codeString))
3181          return NETCDF;
3182        if ("Newsletr".equals(codeString))
3183          return NEWSLETR;
3184        if ("NGPL".equals(codeString))
3185          return NGPL;
3186        if ("NICTA-1.0".equals(codeString))
3187          return NICTA_1_0;
3188        if ("NIST-PD".equals(codeString))
3189          return NIST_PD;
3190        if ("NIST-PD-fallback".equals(codeString))
3191          return NIST_PD_FALLBACK;
3192        if ("NIST-Software".equals(codeString))
3193          return NIST_SOFTWARE;
3194        if ("NLOD-1.0".equals(codeString))
3195          return NLOD_1_0;
3196        if ("NLOD-2.0".equals(codeString))
3197          return NLOD_2_0;
3198        if ("NLPL".equals(codeString))
3199          return NLPL;
3200        if ("Nokia".equals(codeString))
3201          return NOKIA;
3202        if ("NOSL".equals(codeString))
3203          return NOSL;
3204        if ("not-open-source".equals(codeString))
3205          return NOT_OPEN_SOURCE;
3206        if ("Noweb".equals(codeString))
3207          return NOWEB;
3208        if ("NPL-1.0".equals(codeString))
3209          return NPL_1_0;
3210        if ("NPL-1.1".equals(codeString))
3211          return NPL_1_1;
3212        if ("NPOSL-3.0".equals(codeString))
3213          return NPOSL_3_0;
3214        if ("NRL".equals(codeString))
3215          return NRL;
3216        if ("NTP".equals(codeString))
3217          return NTP;
3218        if ("NTP-0".equals(codeString))
3219          return NTP_0;
3220        if ("Nunit".equals(codeString))
3221          return NUNIT;
3222        if ("O-UDA-1.0".equals(codeString))
3223          return O_UDA_1_0;
3224        if ("OCCT-PL".equals(codeString))
3225          return OCCT_PL;
3226        if ("OCLC-2.0".equals(codeString))
3227          return OCLC_2_0;
3228        if ("ODbL-1.0".equals(codeString))
3229          return ODBL_1_0;
3230        if ("ODC-By-1.0".equals(codeString))
3231          return ODC_BY_1_0;
3232        if ("OFFIS".equals(codeString))
3233          return OFFIS;
3234        if ("OFL-1.0".equals(codeString))
3235          return OFL_1_0;
3236        if ("OFL-1.0-no-RFN".equals(codeString))
3237          return OFL_1_0_NO_RFN;
3238        if ("OFL-1.0-RFN".equals(codeString))
3239          return OFL_1_0_RFN;
3240        if ("OFL-1.1".equals(codeString))
3241          return OFL_1_1;
3242        if ("OFL-1.1-no-RFN".equals(codeString))
3243          return OFL_1_1_NO_RFN;
3244        if ("OFL-1.1-RFN".equals(codeString))
3245          return OFL_1_1_RFN;
3246        if ("OGC-1.0".equals(codeString))
3247          return OGC_1_0;
3248        if ("OGDL-Taiwan-1.0".equals(codeString))
3249          return OGDL_TAIWAN_1_0;
3250        if ("OGL-Canada-2.0".equals(codeString))
3251          return OGL_CANADA_2_0;
3252        if ("OGL-UK-1.0".equals(codeString))
3253          return OGL_UK_1_0;
3254        if ("OGL-UK-2.0".equals(codeString))
3255          return OGL_UK_2_0;
3256        if ("OGL-UK-3.0".equals(codeString))
3257          return OGL_UK_3_0;
3258        if ("OGTSL".equals(codeString))
3259          return OGTSL;
3260        if ("OLDAP-1.1".equals(codeString))
3261          return OLDAP_1_1;
3262        if ("OLDAP-1.2".equals(codeString))
3263          return OLDAP_1_2;
3264        if ("OLDAP-1.3".equals(codeString))
3265          return OLDAP_1_3;
3266        if ("OLDAP-1.4".equals(codeString))
3267          return OLDAP_1_4;
3268        if ("OLDAP-2.0".equals(codeString))
3269          return OLDAP_2_0;
3270        if ("OLDAP-2.0.1".equals(codeString))
3271          return OLDAP_2_0_1;
3272        if ("OLDAP-2.1".equals(codeString))
3273          return OLDAP_2_1;
3274        if ("OLDAP-2.2".equals(codeString))
3275          return OLDAP_2_2;
3276        if ("OLDAP-2.2.1".equals(codeString))
3277          return OLDAP_2_2_1;
3278        if ("OLDAP-2.2.2".equals(codeString))
3279          return OLDAP_2_2_2;
3280        if ("OLDAP-2.3".equals(codeString))
3281          return OLDAP_2_3;
3282        if ("OLDAP-2.4".equals(codeString))
3283          return OLDAP_2_4;
3284        if ("OLDAP-2.5".equals(codeString))
3285          return OLDAP_2_5;
3286        if ("OLDAP-2.6".equals(codeString))
3287          return OLDAP_2_6;
3288        if ("OLDAP-2.7".equals(codeString))
3289          return OLDAP_2_7;
3290        if ("OLDAP-2.8".equals(codeString))
3291          return OLDAP_2_8;
3292        if ("OLFL-1.3".equals(codeString))
3293          return OLFL_1_3;
3294        if ("OML".equals(codeString))
3295          return OML;
3296        if ("OpenPBS-2.3".equals(codeString))
3297          return OPENPBS_2_3;
3298        if ("OpenSSL".equals(codeString))
3299          return OPENSSL;
3300        if ("OPL-1.0".equals(codeString))
3301          return OPL_1_0;
3302        if ("OPL-UK-3.0".equals(codeString))
3303          return OPL_UK_3_0;
3304        if ("OPUBL-1.0".equals(codeString))
3305          return OPUBL_1_0;
3306        if ("OSET-PL-2.1".equals(codeString))
3307          return OSET_PL_2_1;
3308        if ("OSL-1.0".equals(codeString))
3309          return OSL_1_0;
3310        if ("OSL-1.1".equals(codeString))
3311          return OSL_1_1;
3312        if ("OSL-2.0".equals(codeString))
3313          return OSL_2_0;
3314        if ("OSL-2.1".equals(codeString))
3315          return OSL_2_1;
3316        if ("OSL-3.0".equals(codeString))
3317          return OSL_3_0;
3318        if ("Parity-6.0.0".equals(codeString))
3319          return PARITY_6_0_0;
3320        if ("Parity-7.0.0".equals(codeString))
3321          return PARITY_7_0_0;
3322        if ("PDDL-1.0".equals(codeString))
3323          return PDDL_1_0;
3324        if ("PHP-3.0".equals(codeString))
3325          return PHP_3_0;
3326        if ("PHP-3.01".equals(codeString))
3327          return PHP_3_01;
3328        if ("Plexus".equals(codeString))
3329          return PLEXUS;
3330        if ("PolyForm-Noncommercial-1.0.0".equals(codeString))
3331          return POLYFORM_NONCOMMERCIAL_1_0_0;
3332        if ("PolyForm-Small-Business-1.0.0".equals(codeString))
3333          return POLYFORM_SMALL_BUSINESS_1_0_0;
3334        if ("PostgreSQL".equals(codeString))
3335          return POSTGRESQL;
3336        if ("PSF-2.0".equals(codeString))
3337          return PSF_2_0;
3338        if ("psfrag".equals(codeString))
3339          return PSFRAG;
3340        if ("psutils".equals(codeString))
3341          return PSUTILS;
3342        if ("Python-2.0".equals(codeString))
3343          return PYTHON_2_0;
3344        if ("Python-2.0.1".equals(codeString))
3345          return PYTHON_2_0_1;
3346        if ("Qhull".equals(codeString))
3347          return QHULL;
3348        if ("QPL-1.0".equals(codeString))
3349          return QPL_1_0;
3350        if ("QPL-1.0-INRIA-2004".equals(codeString))
3351          return QPL_1_0_INRIA_2004;
3352        if ("Rdisc".equals(codeString))
3353          return RDISC;
3354        if ("RHeCos-1.1".equals(codeString))
3355          return RHECOS_1_1;
3356        if ("RPL-1.1".equals(codeString))
3357          return RPL_1_1;
3358        if ("RPL-1.5".equals(codeString))
3359          return RPL_1_5;
3360        if ("RPSL-1.0".equals(codeString))
3361          return RPSL_1_0;
3362        if ("RSA-MD".equals(codeString))
3363          return RSA_MD;
3364        if ("RSCPL".equals(codeString))
3365          return RSCPL;
3366        if ("Ruby".equals(codeString))
3367          return RUBY;
3368        if ("SAX-PD".equals(codeString))
3369          return SAX_PD;
3370        if ("Saxpath".equals(codeString))
3371          return SAXPATH;
3372        if ("SCEA".equals(codeString))
3373          return SCEA;
3374        if ("SchemeReport".equals(codeString))
3375          return SCHEMEREPORT;
3376        if ("Sendmail".equals(codeString))
3377          return SENDMAIL;
3378        if ("Sendmail-8.23".equals(codeString))
3379          return SENDMAIL_8_23;
3380        if ("SGI-B-1.0".equals(codeString))
3381          return SGI_B_1_0;
3382        if ("SGI-B-1.1".equals(codeString))
3383          return SGI_B_1_1;
3384        if ("SGI-B-2.0".equals(codeString))
3385          return SGI_B_2_0;
3386        if ("SGP4".equals(codeString))
3387          return SGP4;
3388        if ("SHL-0.5".equals(codeString))
3389          return SHL_0_5;
3390        if ("SHL-0.51".equals(codeString))
3391          return SHL_0_51;
3392        if ("SimPL-2.0".equals(codeString))
3393          return SIMPL_2_0;
3394        if ("SISSL".equals(codeString))
3395          return SISSL;
3396        if ("SISSL-1.2".equals(codeString))
3397          return SISSL_1_2;
3398        if ("Sleepycat".equals(codeString))
3399          return SLEEPYCAT;
3400        if ("SMLNJ".equals(codeString))
3401          return SMLNJ;
3402        if ("SMPPL".equals(codeString))
3403          return SMPPL;
3404        if ("SNIA".equals(codeString))
3405          return SNIA;
3406        if ("snprintf".equals(codeString))
3407          return SNPRINTF;
3408        if ("Spencer-86".equals(codeString))
3409          return SPENCER_86;
3410        if ("Spencer-94".equals(codeString))
3411          return SPENCER_94;
3412        if ("Spencer-99".equals(codeString))
3413          return SPENCER_99;
3414        if ("SPL-1.0".equals(codeString))
3415          return SPL_1_0;
3416        if ("SSH-OpenSSH".equals(codeString))
3417          return SSH_OPENSSH;
3418        if ("SSH-short".equals(codeString))
3419          return SSH_SHORT;
3420        if ("SSPL-1.0".equals(codeString))
3421          return SSPL_1_0;
3422        if ("StandardML-NJ".equals(codeString))
3423          return STANDARDML_NJ;
3424        if ("SugarCRM-1.1.3".equals(codeString))
3425          return SUGARCRM_1_1_3;
3426        if ("SunPro".equals(codeString))
3427          return SUNPRO;
3428        if ("SWL".equals(codeString))
3429          return SWL;
3430        if ("Symlinks".equals(codeString))
3431          return SYMLINKS;
3432        if ("TAPR-OHL-1.0".equals(codeString))
3433          return TAPR_OHL_1_0;
3434        if ("TCL".equals(codeString))
3435          return TCL;
3436        if ("TCP-wrappers".equals(codeString))
3437          return TCP_WRAPPERS;
3438        if ("TermReadKey".equals(codeString))
3439          return TERMREADKEY;
3440        if ("TMate".equals(codeString))
3441          return TMATE;
3442        if ("TORQUE-1.1".equals(codeString))
3443          return TORQUE_1_1;
3444        if ("TOSL".equals(codeString))
3445          return TOSL;
3446        if ("TPDL".equals(codeString))
3447          return TPDL;
3448        if ("TPL-1.0".equals(codeString))
3449          return TPL_1_0;
3450        if ("TTWL".equals(codeString))
3451          return TTWL;
3452        if ("TU-Berlin-1.0".equals(codeString))
3453          return TU_BERLIN_1_0;
3454        if ("TU-Berlin-2.0".equals(codeString))
3455          return TU_BERLIN_2_0;
3456        if ("UCAR".equals(codeString))
3457          return UCAR;
3458        if ("UCL-1.0".equals(codeString))
3459          return UCL_1_0;
3460        if ("Unicode-DFS-2015".equals(codeString))
3461          return UNICODE_DFS_2015;
3462        if ("Unicode-DFS-2016".equals(codeString))
3463          return UNICODE_DFS_2016;
3464        if ("Unicode-TOU".equals(codeString))
3465          return UNICODE_TOU;
3466        if ("UnixCrypt".equals(codeString))
3467          return UNIXCRYPT;
3468        if ("Unlicense".equals(codeString))
3469          return UNLICENSE;
3470        if ("UPL-1.0".equals(codeString))
3471          return UPL_1_0;
3472        if ("Vim".equals(codeString))
3473          return VIM;
3474        if ("VOSTROM".equals(codeString))
3475          return VOSTROM;
3476        if ("VSL-1.0".equals(codeString))
3477          return VSL_1_0;
3478        if ("W3C".equals(codeString))
3479          return W3C;
3480        if ("W3C-19980720".equals(codeString))
3481          return W3C_19980720;
3482        if ("W3C-20150513".equals(codeString))
3483          return W3C_20150513;
3484        if ("w3m".equals(codeString))
3485          return W3M;
3486        if ("Watcom-1.0".equals(codeString))
3487          return WATCOM_1_0;
3488        if ("Widget-Workshop".equals(codeString))
3489          return WIDGET_WORKSHOP;
3490        if ("Wsuipa".equals(codeString))
3491          return WSUIPA;
3492        if ("WTFPL".equals(codeString))
3493          return WTFPL;
3494        if ("wxWindows".equals(codeString))
3495          return WXWINDOWS;
3496        if ("X11".equals(codeString))
3497          return X11;
3498        if ("X11-distribute-modifications-variant".equals(codeString))
3499          return X11_DISTRIBUTE_MODIFICATIONS_VARIANT;
3500        if ("Xdebug-1.03".equals(codeString))
3501          return XDEBUG_1_03;
3502        if ("Xerox".equals(codeString))
3503          return XEROX;
3504        if ("Xfig".equals(codeString))
3505          return XFIG;
3506        if ("XFree86-1.1".equals(codeString))
3507          return XFREE86_1_1;
3508        if ("xinetd".equals(codeString))
3509          return XINETD;
3510        if ("xlock".equals(codeString))
3511          return XLOCK;
3512        if ("Xnet".equals(codeString))
3513          return XNET;
3514        if ("xpp".equals(codeString))
3515          return XPP;
3516        if ("XSkat".equals(codeString))
3517          return XSKAT;
3518        if ("YPL-1.0".equals(codeString))
3519          return YPL_1_0;
3520        if ("YPL-1.1".equals(codeString))
3521          return YPL_1_1;
3522        if ("Zed".equals(codeString))
3523          return ZED;
3524        if ("Zend-2.0".equals(codeString))
3525          return ZEND_2_0;
3526        if ("Zimbra-1.3".equals(codeString))
3527          return ZIMBRA_1_3;
3528        if ("Zimbra-1.4".equals(codeString))
3529          return ZIMBRA_1_4;
3530        if ("Zlib".equals(codeString))
3531          return ZLIB;
3532        if ("zlib-acknowledgement".equals(codeString))
3533          return ZLIB_ACKNOWLEDGEMENT;
3534        if ("ZPL-1.1".equals(codeString))
3535          return ZPL_1_1;
3536        if ("ZPL-2.0".equals(codeString))
3537          return ZPL_2_0;
3538        if ("ZPL-2.1".equals(codeString))
3539          return ZPL_2_1;
3540        throw new FHIRException("Unknown SPDXLicense code '"+codeString+"'");
3541        }
3542        public static boolean isValidCode(String codeString) {
3543            if (codeString == null || "".equals(codeString))
3544                return false;
3545          return Utilities.existsInList(codeString, "0BSD", "AAL", "Abstyles", "AdaCore-doc", "Adobe-2006", "Adobe-Glyph", "ADSL", "AFL-1.1", "AFL-1.2", "AFL-2.0", "AFL-2.1", "AFL-3.0", "Afmparse", "AGPL-1.0", "AGPL-1.0-only", "AGPL-1.0-or-later", "AGPL-3.0", "AGPL-3.0-only", "AGPL-3.0-or-later", "Aladdin", "AMDPLPA", "AML", "AMPAS", "ANTLR-PD", "ANTLR-PD-fallback", "Apache-1.0", "Apache-1.1", "Apache-2.0", "APAFML", "APL-1.0", "App-s2p", "APSL-1.0", "APSL-1.1", "APSL-1.2", "APSL-2.0", "Arphic-1999", "Artistic-1.0", "Artistic-1.0-cl8", "Artistic-1.0-Perl", "Artistic-2.0", "ASWF-Digital-Assets-1.0", "ASWF-Digital-Assets-1.1", "Baekmuk", "Bahyph", "Barr", "Beerware", "Bitstream-Charter", "Bitstream-Vera", "BitTorrent-1.0", "BitTorrent-1.1", "blessing", "BlueOak-1.0.0", "Boehm-GC", "Borceux", "Brian-Gladman-3-Clause", "BSD-1-Clause", "BSD-2-Clause", "BSD-2-Clause-FreeBSD", "BSD-2-Clause-NetBSD", "BSD-2-Clause-Patent", "BSD-2-Clause-Views", "BSD-3-Clause", "BSD-3-Clause-Attribution", "BSD-3-Clause-Clear", "BSD-3-Clause-LBNL", "BSD-3-Clause-Modification", "BSD-3-Clause-No-Military-License", "BSD-3-Clause-No-Nuclear-License", "BSD-3-Clause-No-Nuclear-License-2014", "BSD-3-Clause-No-Nuclear-Warranty", "BSD-3-Clause-Open-MPI", "BSD-4-Clause", "BSD-4-Clause-Shortened", "BSD-4-Clause-UC", "BSD-4.3RENO", "BSD-4.3TAHOE", "BSD-Advertising-Acknowledgement", "BSD-Attribution-HPND-disclaimer", "BSD-Protection", "BSD-Source-Code", "BSL-1.0", "BUSL-1.1", "bzip2-1.0.5", "bzip2-1.0.6", "C-UDA-1.0", "CAL-1.0", "CAL-1.0-Combined-Work-Exception", "Caldera", "CATOSL-1.1", "CC-BY-1.0", "CC-BY-2.0", "CC-BY-2.5", "CC-BY-2.5-AU", "CC-BY-3.0", "CC-BY-3.0-AT", "CC-BY-3.0-DE", "CC-BY-3.0-IGO", "CC-BY-3.0-NL", "CC-BY-3.0-US", "CC-BY-4.0", "CC-BY-NC-1.0", "CC-BY-NC-2.0", "CC-BY-NC-2.5", "CC-BY-NC-3.0", "CC-BY-NC-3.0-DE", "CC-BY-NC-4.0", "CC-BY-NC-ND-1.0", "CC-BY-NC-ND-2.0", "CC-BY-NC-ND-2.5", "CC-BY-NC-ND-3.0", "CC-BY-NC-ND-3.0-DE", "CC-BY-NC-ND-3.0-IGO", "CC-BY-NC-ND-4.0", "CC-BY-NC-SA-1.0", "CC-BY-NC-SA-2.0", "CC-BY-NC-SA-2.0-DE", "CC-BY-NC-SA-2.0-FR", "CC-BY-NC-SA-2.0-UK", "CC-BY-NC-SA-2.5", "CC-BY-NC-SA-3.0", "CC-BY-NC-SA-3.0-DE", "CC-BY-NC-SA-3.0-IGO", "CC-BY-NC-SA-4.0", "CC-BY-ND-1.0", "CC-BY-ND-2.0", "CC-BY-ND-2.5", "CC-BY-ND-3.0", "CC-BY-ND-3.0-DE", "CC-BY-ND-4.0", "CC-BY-SA-1.0", "CC-BY-SA-2.0", "CC-BY-SA-2.0-UK", "CC-BY-SA-2.1-JP", "CC-BY-SA-2.5", "CC-BY-SA-3.0", "CC-BY-SA-3.0-AT", "CC-BY-SA-3.0-DE", "CC-BY-SA-3.0-IGO", "CC-BY-SA-4.0", "CC-PDDC", "CC0-1.0", "CDDL-1.0", "CDDL-1.1", "CDL-1.0", "CDLA-Permissive-1.0", "CDLA-Permissive-2.0", "CDLA-Sharing-1.0", "CECILL-1.0", "CECILL-1.1", "CECILL-2.0", "CECILL-2.1", "CECILL-B", "CECILL-C", "CERN-OHL-1.1", "CERN-OHL-1.2", "CERN-OHL-P-2.0", "CERN-OHL-S-2.0", "CERN-OHL-W-2.0", "CFITSIO", "checkmk", "ClArtistic", "Clips", "CMU-Mach", "CNRI-Jython", "CNRI-Python", "CNRI-Python-GPL-Compatible", "COIL-1.0", "Community-Spec-1.0", "Condor-1.1", "copyleft-next-0.3.0", "copyleft-next-0.3.1", "Cornell-Lossless-JPEG", "CPAL-1.0", "CPL-1.0", "CPOL-1.02", "Crossword", "CrystalStacker", "CUA-OPL-1.0", "Cube", "curl", "D-FSL-1.0", "diffmark", "DL-DE-BY-2.0", "DOC", "Dotseqn", "DRL-1.0", "DSDP", "dtoa", "dvipdfm", "ECL-1.0", "ECL-2.0", "eCos-2.0", "EFL-1.0", "EFL-2.0", "eGenix", "Elastic-2.0", "Entessa", "EPICS", "EPL-1.0", "EPL-2.0", "ErlPL-1.1", "etalab-2.0", "EUDatagrid", "EUPL-1.0", "EUPL-1.1", "EUPL-1.2", "Eurosym", "Fair", "FDK-AAC", "Frameworx-1.0", "FreeBSD-DOC", "FreeImage", "FSFAP", "FSFUL", "FSFULLR", "FSFULLRWD", "FTL", "GD", "GFDL-1.1", "GFDL-1.1-invariants-only", "GFDL-1.1-invariants-or-later", "GFDL-1.1-no-invariants-only", "GFDL-1.1-no-invariants-or-later", "GFDL-1.1-only", "GFDL-1.1-or-later", "GFDL-1.2", "GFDL-1.2-invariants-only", "GFDL-1.2-invariants-or-later", "GFDL-1.2-no-invariants-only", "GFDL-1.2-no-invariants-or-later", "GFDL-1.2-only", "GFDL-1.2-or-later", "GFDL-1.3", "GFDL-1.3-invariants-only", "GFDL-1.3-invariants-or-later", "GFDL-1.3-no-invariants-only", "GFDL-1.3-no-invariants-or-later", "GFDL-1.3-only", "GFDL-1.3-or-later", "Giftware", "GL2PS", "Glide", "Glulxe", "GLWTPL", "gnuplot", "GPL-1.0", "GPL-1.0+", "GPL-1.0-only", "GPL-1.0-or-later", "GPL-2.0", "GPL-2.0+", "GPL-2.0-only", "GPL-2.0-or-later", "GPL-2.0-with-autoconf-exception", "GPL-2.0-with-bison-exception", "GPL-2.0-with-classpath-exception", "GPL-2.0-with-font-exception", "GPL-2.0-with-GCC-exception", "GPL-3.0", "GPL-3.0+", "GPL-3.0-only", "GPL-3.0-or-later", "GPL-3.0-with-autoconf-exception", "GPL-3.0-with-GCC-exception", "Graphics-Gems", "gSOAP-1.3b", "HaskellReport", "Hippocratic-2.1", "HP-1986", "HPND", "HPND-export-US", "HPND-Markus-Kuhn", "HPND-sell-variant", "HPND-sell-variant-MIT-disclaimer", "HTMLTIDY", "IBM-pibs", "ICU", "IEC-Code-Components-EULA", "IJG", "IJG-short", "ImageMagick", "iMatix", "Imlib2", "Info-ZIP", "Inner-Net-2.0", "Intel", "Intel-ACPI", "Interbase-1.0", "IPA", "IPL-1.0", "ISC", "Jam", "JasPer-2.0", "JPL-image", "JPNIC", "JSON", "Kazlib", "Knuth-CTAN", "LAL-1.2", "LAL-1.3", "Latex2e", "Latex2e-translated-notice", "Leptonica", "LGPL-2.0", "LGPL-2.0+", "LGPL-2.0-only", "LGPL-2.0-or-later", "LGPL-2.1", "LGPL-2.1+", "LGPL-2.1-only", "LGPL-2.1-or-later", "LGPL-3.0", "LGPL-3.0+", "LGPL-3.0-only", "LGPL-3.0-or-later", "LGPLLR", "Libpng", "libpng-2.0", "libselinux-1.0", "libtiff", "libutil-David-Nugent", "LiLiQ-P-1.1", "LiLiQ-R-1.1", "LiLiQ-Rplus-1.1", "Linux-man-pages-1-para", "Linux-man-pages-copyleft", "Linux-man-pages-copyleft-2-para", "Linux-man-pages-copyleft-var", "Linux-OpenIB", "LOOP", "LPL-1.0", "LPL-1.02", "LPPL-1.0", "LPPL-1.1", "LPPL-1.2", "LPPL-1.3a", "LPPL-1.3c", "LZMA-SDK-9.11-to-9.20", "LZMA-SDK-9.22", "MakeIndex", "Martin-Birgmeier", "metamail", "Minpack", "MirOS", "MIT", "MIT-0", "MIT-advertising", "MIT-CMU", "MIT-enna", "MIT-feh", "MIT-Festival", "MIT-Modern-Variant", "MIT-open-group", "MIT-Wu", "MITNFA", "Motosoto", "mpi-permissive", "mpich2", "MPL-1.0", "MPL-1.1", "MPL-2.0", "MPL-2.0-no-copyleft-exception", "mplus", "MS-LPL", "MS-PL", "MS-RL", "MTLL", "MulanPSL-1.0", "MulanPSL-2.0", "Multics", "Mup", "NAIST-2003", "NASA-1.3", "Naumen", "NBPL-1.0", "NCGL-UK-2.0", "NCSA", "Net-SNMP", "NetCDF", "Newsletr", "NGPL", "NICTA-1.0", "NIST-PD", "NIST-PD-fallback", "NIST-Software", "NLOD-1.0", "NLOD-2.0", "NLPL", "Nokia", "NOSL", "not-open-source", "Noweb", "NPL-1.0", "NPL-1.1", "NPOSL-3.0", "NRL", "NTP", "NTP-0", "Nunit", "O-UDA-1.0", "OCCT-PL", "OCLC-2.0", "ODbL-1.0", "ODC-By-1.0", "OFFIS", "OFL-1.0", "OFL-1.0-no-RFN", "OFL-1.0-RFN", "OFL-1.1", "OFL-1.1-no-RFN", "OFL-1.1-RFN", "OGC-1.0", "OGDL-Taiwan-1.0", "OGL-Canada-2.0", "OGL-UK-1.0", "OGL-UK-2.0", "OGL-UK-3.0", "OGTSL", "OLDAP-1.1", "OLDAP-1.2", "OLDAP-1.3", "OLDAP-1.4", "OLDAP-2.0", "OLDAP-2.0.1", "OLDAP-2.1", "OLDAP-2.2", "OLDAP-2.2.1", "OLDAP-2.2.2", "OLDAP-2.3", "OLDAP-2.4", "OLDAP-2.5", "OLDAP-2.6", "OLDAP-2.7", "OLDAP-2.8", "OLFL-1.3", "OML", "OpenPBS-2.3", "OpenSSL", "OPL-1.0", "OPL-UK-3.0", "OPUBL-1.0", "OSET-PL-2.1", "OSL-1.0", "OSL-1.1", "OSL-2.0", "OSL-2.1", "OSL-3.0", "Parity-6.0.0", "Parity-7.0.0", "PDDL-1.0", "PHP-3.0", "PHP-3.01", "Plexus", "PolyForm-Noncommercial-1.0.0", "PolyForm-Small-Business-1.0.0", "PostgreSQL", "PSF-2.0", "psfrag", "psutils", "Python-2.0", "Python-2.0.1", "Qhull", "QPL-1.0", "QPL-1.0-INRIA-2004", "Rdisc", "RHeCos-1.1", "RPL-1.1", "RPL-1.5", "RPSL-1.0", "RSA-MD", "RSCPL", "Ruby", "SAX-PD", "Saxpath", "SCEA", "SchemeReport", "Sendmail", "Sendmail-8.23", "SGI-B-1.0", "SGI-B-1.1", "SGI-B-2.0", "SGP4", "SHL-0.5", "SHL-0.51", "SimPL-2.0", "SISSL", "SISSL-1.2", "Sleepycat", "SMLNJ", "SMPPL", "SNIA", "snprintf", "Spencer-86", "Spencer-94", "Spencer-99", "SPL-1.0", "SSH-OpenSSH", "SSH-short", "SSPL-1.0", "StandardML-NJ", "SugarCRM-1.1.3", "SunPro", "SWL", "Symlinks", "TAPR-OHL-1.0", "TCL", "TCP-wrappers", "TermReadKey", "TMate", "TORQUE-1.1", "TOSL", "TPDL", "TPL-1.0", "TTWL", "TU-Berlin-1.0", "TU-Berlin-2.0", "UCAR", "UCL-1.0", "Unicode-DFS-2015", "Unicode-DFS-2016", "Unicode-TOU", "UnixCrypt", "Unlicense", "UPL-1.0", "Vim", "VOSTROM", "VSL-1.0", "W3C", "W3C-19980720", "W3C-20150513", "w3m", "Watcom-1.0", "Widget-Workshop", "Wsuipa", "WTFPL", "wxWindows", "X11", "X11-distribute-modifications-variant", "Xdebug-1.03", "Xerox", "Xfig", "XFree86-1.1", "xinetd", "xlock", "Xnet", "xpp", "XSkat", "YPL-1.0", "YPL-1.1", "Zed", "Zend-2.0", "Zimbra-1.3", "Zimbra-1.4", "Zlib", "zlib-acknowledgement", "ZPL-1.1", "ZPL-2.0", "ZPL-2.1");
3546        }
3547        public String toCode() {
3548          switch (this) {
3549            case _0BSD: return "0BSD";
3550            case AAL: return "AAL";
3551            case ABSTYLES: return "Abstyles";
3552            case ADACORE_DOC: return "AdaCore-doc";
3553            case ADOBE_2006: return "Adobe-2006";
3554            case ADOBE_GLYPH: return "Adobe-Glyph";
3555            case ADSL: return "ADSL";
3556            case AFL_1_1: return "AFL-1.1";
3557            case AFL_1_2: return "AFL-1.2";
3558            case AFL_2_0: return "AFL-2.0";
3559            case AFL_2_1: return "AFL-2.1";
3560            case AFL_3_0: return "AFL-3.0";
3561            case AFMPARSE: return "Afmparse";
3562            case AGPL_1_0: return "AGPL-1.0";
3563            case AGPL_1_0_ONLY: return "AGPL-1.0-only";
3564            case AGPL_1_0_OR_LATER: return "AGPL-1.0-or-later";
3565            case AGPL_3_0: return "AGPL-3.0";
3566            case AGPL_3_0_ONLY: return "AGPL-3.0-only";
3567            case AGPL_3_0_OR_LATER: return "AGPL-3.0-or-later";
3568            case ALADDIN: return "Aladdin";
3569            case AMDPLPA: return "AMDPLPA";
3570            case AML: return "AML";
3571            case AMPAS: return "AMPAS";
3572            case ANTLR_PD: return "ANTLR-PD";
3573            case ANTLR_PD_FALLBACK: return "ANTLR-PD-fallback";
3574            case APACHE_1_0: return "Apache-1.0";
3575            case APACHE_1_1: return "Apache-1.1";
3576            case APACHE_2_0: return "Apache-2.0";
3577            case APAFML: return "APAFML";
3578            case APL_1_0: return "APL-1.0";
3579            case APP_S2P: return "App-s2p";
3580            case APSL_1_0: return "APSL-1.0";
3581            case APSL_1_1: return "APSL-1.1";
3582            case APSL_1_2: return "APSL-1.2";
3583            case APSL_2_0: return "APSL-2.0";
3584            case ARPHIC_1999: return "Arphic-1999";
3585            case ARTISTIC_1_0: return "Artistic-1.0";
3586            case ARTISTIC_1_0_CL8: return "Artistic-1.0-cl8";
3587            case ARTISTIC_1_0_PERL: return "Artistic-1.0-Perl";
3588            case ARTISTIC_2_0: return "Artistic-2.0";
3589            case ASWF_DIGITAL_ASSETS_1_0: return "ASWF-Digital-Assets-1.0";
3590            case ASWF_DIGITAL_ASSETS_1_1: return "ASWF-Digital-Assets-1.1";
3591            case BAEKMUK: return "Baekmuk";
3592            case BAHYPH: return "Bahyph";
3593            case BARR: return "Barr";
3594            case BEERWARE: return "Beerware";
3595            case BITSTREAM_CHARTER: return "Bitstream-Charter";
3596            case BITSTREAM_VERA: return "Bitstream-Vera";
3597            case BITTORRENT_1_0: return "BitTorrent-1.0";
3598            case BITTORRENT_1_1: return "BitTorrent-1.1";
3599            case BLESSING: return "blessing";
3600            case BLUEOAK_1_0_0: return "BlueOak-1.0.0";
3601            case BOEHM_GC: return "Boehm-GC";
3602            case BORCEUX: return "Borceux";
3603            case BRIAN_GLADMAN_3_CLAUSE: return "Brian-Gladman-3-Clause";
3604            case BSD_1_CLAUSE: return "BSD-1-Clause";
3605            case BSD_2_CLAUSE: return "BSD-2-Clause";
3606            case BSD_2_CLAUSE_FREEBSD: return "BSD-2-Clause-FreeBSD";
3607            case BSD_2_CLAUSE_NETBSD: return "BSD-2-Clause-NetBSD";
3608            case BSD_2_CLAUSE_PATENT: return "BSD-2-Clause-Patent";
3609            case BSD_2_CLAUSE_VIEWS: return "BSD-2-Clause-Views";
3610            case BSD_3_CLAUSE: return "BSD-3-Clause";
3611            case BSD_3_CLAUSE_ATTRIBUTION: return "BSD-3-Clause-Attribution";
3612            case BSD_3_CLAUSE_CLEAR: return "BSD-3-Clause-Clear";
3613            case BSD_3_CLAUSE_LBNL: return "BSD-3-Clause-LBNL";
3614            case BSD_3_CLAUSE_MODIFICATION: return "BSD-3-Clause-Modification";
3615            case BSD_3_CLAUSE_NO_MILITARY_LICENSE: return "BSD-3-Clause-No-Military-License";
3616            case BSD_3_CLAUSE_NO_NUCLEAR_LICENSE: return "BSD-3-Clause-No-Nuclear-License";
3617            case BSD_3_CLAUSE_NO_NUCLEAR_LICENSE_2014: return "BSD-3-Clause-No-Nuclear-License-2014";
3618            case BSD_3_CLAUSE_NO_NUCLEAR_WARRANTY: return "BSD-3-Clause-No-Nuclear-Warranty";
3619            case BSD_3_CLAUSE_OPEN_MPI: return "BSD-3-Clause-Open-MPI";
3620            case BSD_4_CLAUSE: return "BSD-4-Clause";
3621            case BSD_4_CLAUSE_SHORTENED: return "BSD-4-Clause-Shortened";
3622            case BSD_4_CLAUSE_UC: return "BSD-4-Clause-UC";
3623            case BSD_4_3RENO: return "BSD-4.3RENO";
3624            case BSD_4_3TAHOE: return "BSD-4.3TAHOE";
3625            case BSD_ADVERTISING_ACKNOWLEDGEMENT: return "BSD-Advertising-Acknowledgement";
3626            case BSD_ATTRIBUTION_HPND_DISCLAIMER: return "BSD-Attribution-HPND-disclaimer";
3627            case BSD_PROTECTION: return "BSD-Protection";
3628            case BSD_SOURCE_CODE: return "BSD-Source-Code";
3629            case BSL_1_0: return "BSL-1.0";
3630            case BUSL_1_1: return "BUSL-1.1";
3631            case BZIP2_1_0_5: return "bzip2-1.0.5";
3632            case BZIP2_1_0_6: return "bzip2-1.0.6";
3633            case C_UDA_1_0: return "C-UDA-1.0";
3634            case CAL_1_0: return "CAL-1.0";
3635            case CAL_1_0_COMBINED_WORK_EXCEPTION: return "CAL-1.0-Combined-Work-Exception";
3636            case CALDERA: return "Caldera";
3637            case CATOSL_1_1: return "CATOSL-1.1";
3638            case CC_BY_1_0: return "CC-BY-1.0";
3639            case CC_BY_2_0: return "CC-BY-2.0";
3640            case CC_BY_2_5: return "CC-BY-2.5";
3641            case CC_BY_2_5_AU: return "CC-BY-2.5-AU";
3642            case CC_BY_3_0: return "CC-BY-3.0";
3643            case CC_BY_3_0_AT: return "CC-BY-3.0-AT";
3644            case CC_BY_3_0_DE: return "CC-BY-3.0-DE";
3645            case CC_BY_3_0_IGO: return "CC-BY-3.0-IGO";
3646            case CC_BY_3_0_NL: return "CC-BY-3.0-NL";
3647            case CC_BY_3_0_US: return "CC-BY-3.0-US";
3648            case CC_BY_4_0: return "CC-BY-4.0";
3649            case CC_BY_NC_1_0: return "CC-BY-NC-1.0";
3650            case CC_BY_NC_2_0: return "CC-BY-NC-2.0";
3651            case CC_BY_NC_2_5: return "CC-BY-NC-2.5";
3652            case CC_BY_NC_3_0: return "CC-BY-NC-3.0";
3653            case CC_BY_NC_3_0_DE: return "CC-BY-NC-3.0-DE";
3654            case CC_BY_NC_4_0: return "CC-BY-NC-4.0";
3655            case CC_BY_NC_ND_1_0: return "CC-BY-NC-ND-1.0";
3656            case CC_BY_NC_ND_2_0: return "CC-BY-NC-ND-2.0";
3657            case CC_BY_NC_ND_2_5: return "CC-BY-NC-ND-2.5";
3658            case CC_BY_NC_ND_3_0: return "CC-BY-NC-ND-3.0";
3659            case CC_BY_NC_ND_3_0_DE: return "CC-BY-NC-ND-3.0-DE";
3660            case CC_BY_NC_ND_3_0_IGO: return "CC-BY-NC-ND-3.0-IGO";
3661            case CC_BY_NC_ND_4_0: return "CC-BY-NC-ND-4.0";
3662            case CC_BY_NC_SA_1_0: return "CC-BY-NC-SA-1.0";
3663            case CC_BY_NC_SA_2_0: return "CC-BY-NC-SA-2.0";
3664            case CC_BY_NC_SA_2_0_DE: return "CC-BY-NC-SA-2.0-DE";
3665            case CC_BY_NC_SA_2_0_FR: return "CC-BY-NC-SA-2.0-FR";
3666            case CC_BY_NC_SA_2_0_UK: return "CC-BY-NC-SA-2.0-UK";
3667            case CC_BY_NC_SA_2_5: return "CC-BY-NC-SA-2.5";
3668            case CC_BY_NC_SA_3_0: return "CC-BY-NC-SA-3.0";
3669            case CC_BY_NC_SA_3_0_DE: return "CC-BY-NC-SA-3.0-DE";
3670            case CC_BY_NC_SA_3_0_IGO: return "CC-BY-NC-SA-3.0-IGO";
3671            case CC_BY_NC_SA_4_0: return "CC-BY-NC-SA-4.0";
3672            case CC_BY_ND_1_0: return "CC-BY-ND-1.0";
3673            case CC_BY_ND_2_0: return "CC-BY-ND-2.0";
3674            case CC_BY_ND_2_5: return "CC-BY-ND-2.5";
3675            case CC_BY_ND_3_0: return "CC-BY-ND-3.0";
3676            case CC_BY_ND_3_0_DE: return "CC-BY-ND-3.0-DE";
3677            case CC_BY_ND_4_0: return "CC-BY-ND-4.0";
3678            case CC_BY_SA_1_0: return "CC-BY-SA-1.0";
3679            case CC_BY_SA_2_0: return "CC-BY-SA-2.0";
3680            case CC_BY_SA_2_0_UK: return "CC-BY-SA-2.0-UK";
3681            case CC_BY_SA_2_1_JP: return "CC-BY-SA-2.1-JP";
3682            case CC_BY_SA_2_5: return "CC-BY-SA-2.5";
3683            case CC_BY_SA_3_0: return "CC-BY-SA-3.0";
3684            case CC_BY_SA_3_0_AT: return "CC-BY-SA-3.0-AT";
3685            case CC_BY_SA_3_0_DE: return "CC-BY-SA-3.0-DE";
3686            case CC_BY_SA_3_0_IGO: return "CC-BY-SA-3.0-IGO";
3687            case CC_BY_SA_4_0: return "CC-BY-SA-4.0";
3688            case CC_PDDC: return "CC-PDDC";
3689            case CC0_1_0: return "CC0-1.0";
3690            case CDDL_1_0: return "CDDL-1.0";
3691            case CDDL_1_1: return "CDDL-1.1";
3692            case CDL_1_0: return "CDL-1.0";
3693            case CDLA_PERMISSIVE_1_0: return "CDLA-Permissive-1.0";
3694            case CDLA_PERMISSIVE_2_0: return "CDLA-Permissive-2.0";
3695            case CDLA_SHARING_1_0: return "CDLA-Sharing-1.0";
3696            case CECILL_1_0: return "CECILL-1.0";
3697            case CECILL_1_1: return "CECILL-1.1";
3698            case CECILL_2_0: return "CECILL-2.0";
3699            case CECILL_2_1: return "CECILL-2.1";
3700            case CECILL_B: return "CECILL-B";
3701            case CECILL_C: return "CECILL-C";
3702            case CERN_OHL_1_1: return "CERN-OHL-1.1";
3703            case CERN_OHL_1_2: return "CERN-OHL-1.2";
3704            case CERN_OHL_P_2_0: return "CERN-OHL-P-2.0";
3705            case CERN_OHL_S_2_0: return "CERN-OHL-S-2.0";
3706            case CERN_OHL_W_2_0: return "CERN-OHL-W-2.0";
3707            case CFITSIO: return "CFITSIO";
3708            case CHECKMK: return "checkmk";
3709            case CLARTISTIC: return "ClArtistic";
3710            case CLIPS: return "Clips";
3711            case CMU_MACH: return "CMU-Mach";
3712            case CNRI_JYTHON: return "CNRI-Jython";
3713            case CNRI_PYTHON: return "CNRI-Python";
3714            case CNRI_PYTHON_GPL_COMPATIBLE: return "CNRI-Python-GPL-Compatible";
3715            case COIL_1_0: return "COIL-1.0";
3716            case COMMUNITY_SPEC_1_0: return "Community-Spec-1.0";
3717            case CONDOR_1_1: return "Condor-1.1";
3718            case COPYLEFT_NEXT_0_3_0: return "copyleft-next-0.3.0";
3719            case COPYLEFT_NEXT_0_3_1: return "copyleft-next-0.3.1";
3720            case CORNELL_LOSSLESS_JPEG: return "Cornell-Lossless-JPEG";
3721            case CPAL_1_0: return "CPAL-1.0";
3722            case CPL_1_0: return "CPL-1.0";
3723            case CPOL_1_02: return "CPOL-1.02";
3724            case CROSSWORD: return "Crossword";
3725            case CRYSTALSTACKER: return "CrystalStacker";
3726            case CUA_OPL_1_0: return "CUA-OPL-1.0";
3727            case CUBE: return "Cube";
3728            case CURL: return "curl";
3729            case D_FSL_1_0: return "D-FSL-1.0";
3730            case DIFFMARK: return "diffmark";
3731            case DL_DE_BY_2_0: return "DL-DE-BY-2.0";
3732            case DOC: return "DOC";
3733            case DOTSEQN: return "Dotseqn";
3734            case DRL_1_0: return "DRL-1.0";
3735            case DSDP: return "DSDP";
3736            case DTOA: return "dtoa";
3737            case DVIPDFM: return "dvipdfm";
3738            case ECL_1_0: return "ECL-1.0";
3739            case ECL_2_0: return "ECL-2.0";
3740            case ECOS_2_0: return "eCos-2.0";
3741            case EFL_1_0: return "EFL-1.0";
3742            case EFL_2_0: return "EFL-2.0";
3743            case EGENIX: return "eGenix";
3744            case ELASTIC_2_0: return "Elastic-2.0";
3745            case ENTESSA: return "Entessa";
3746            case EPICS: return "EPICS";
3747            case EPL_1_0: return "EPL-1.0";
3748            case EPL_2_0: return "EPL-2.0";
3749            case ERLPL_1_1: return "ErlPL-1.1";
3750            case ETALAB_2_0: return "etalab-2.0";
3751            case EUDATAGRID: return "EUDatagrid";
3752            case EUPL_1_0: return "EUPL-1.0";
3753            case EUPL_1_1: return "EUPL-1.1";
3754            case EUPL_1_2: return "EUPL-1.2";
3755            case EUROSYM: return "Eurosym";
3756            case FAIR: return "Fair";
3757            case FDK_AAC: return "FDK-AAC";
3758            case FRAMEWORX_1_0: return "Frameworx-1.0";
3759            case FREEBSD_DOC: return "FreeBSD-DOC";
3760            case FREEIMAGE: return "FreeImage";
3761            case FSFAP: return "FSFAP";
3762            case FSFUL: return "FSFUL";
3763            case FSFULLR: return "FSFULLR";
3764            case FSFULLRWD: return "FSFULLRWD";
3765            case FTL: return "FTL";
3766            case GD: return "GD";
3767            case GFDL_1_1: return "GFDL-1.1";
3768            case GFDL_1_1_INVARIANTS_ONLY: return "GFDL-1.1-invariants-only";
3769            case GFDL_1_1_INVARIANTS_OR_LATER: return "GFDL-1.1-invariants-or-later";
3770            case GFDL_1_1_NO_INVARIANTS_ONLY: return "GFDL-1.1-no-invariants-only";
3771            case GFDL_1_1_NO_INVARIANTS_OR_LATER: return "GFDL-1.1-no-invariants-or-later";
3772            case GFDL_1_1_ONLY: return "GFDL-1.1-only";
3773            case GFDL_1_1_OR_LATER: return "GFDL-1.1-or-later";
3774            case GFDL_1_2: return "GFDL-1.2";
3775            case GFDL_1_2_INVARIANTS_ONLY: return "GFDL-1.2-invariants-only";
3776            case GFDL_1_2_INVARIANTS_OR_LATER: return "GFDL-1.2-invariants-or-later";
3777            case GFDL_1_2_NO_INVARIANTS_ONLY: return "GFDL-1.2-no-invariants-only";
3778            case GFDL_1_2_NO_INVARIANTS_OR_LATER: return "GFDL-1.2-no-invariants-or-later";
3779            case GFDL_1_2_ONLY: return "GFDL-1.2-only";
3780            case GFDL_1_2_OR_LATER: return "GFDL-1.2-or-later";
3781            case GFDL_1_3: return "GFDL-1.3";
3782            case GFDL_1_3_INVARIANTS_ONLY: return "GFDL-1.3-invariants-only";
3783            case GFDL_1_3_INVARIANTS_OR_LATER: return "GFDL-1.3-invariants-or-later";
3784            case GFDL_1_3_NO_INVARIANTS_ONLY: return "GFDL-1.3-no-invariants-only";
3785            case GFDL_1_3_NO_INVARIANTS_OR_LATER: return "GFDL-1.3-no-invariants-or-later";
3786            case GFDL_1_3_ONLY: return "GFDL-1.3-only";
3787            case GFDL_1_3_OR_LATER: return "GFDL-1.3-or-later";
3788            case GIFTWARE: return "Giftware";
3789            case GL2PS: return "GL2PS";
3790            case GLIDE: return "Glide";
3791            case GLULXE: return "Glulxe";
3792            case GLWTPL: return "GLWTPL";
3793            case GNUPLOT: return "gnuplot";
3794            case GPL_1_0: return "GPL-1.0";
3795            case GPL_1_0PLUS: return "GPL-1.0+";
3796            case GPL_1_0_ONLY: return "GPL-1.0-only";
3797            case GPL_1_0_OR_LATER: return "GPL-1.0-or-later";
3798            case GPL_2_0: return "GPL-2.0";
3799            case GPL_2_0PLUS: return "GPL-2.0+";
3800            case GPL_2_0_ONLY: return "GPL-2.0-only";
3801            case GPL_2_0_OR_LATER: return "GPL-2.0-or-later";
3802            case GPL_2_0_WITH_AUTOCONF_EXCEPTION: return "GPL-2.0-with-autoconf-exception";
3803            case GPL_2_0_WITH_BISON_EXCEPTION: return "GPL-2.0-with-bison-exception";
3804            case GPL_2_0_WITH_CLASSPATH_EXCEPTION: return "GPL-2.0-with-classpath-exception";
3805            case GPL_2_0_WITH_FONT_EXCEPTION: return "GPL-2.0-with-font-exception";
3806            case GPL_2_0_WITH_GCC_EXCEPTION: return "GPL-2.0-with-GCC-exception";
3807            case GPL_3_0: return "GPL-3.0";
3808            case GPL_3_0PLUS: return "GPL-3.0+";
3809            case GPL_3_0_ONLY: return "GPL-3.0-only";
3810            case GPL_3_0_OR_LATER: return "GPL-3.0-or-later";
3811            case GPL_3_0_WITH_AUTOCONF_EXCEPTION: return "GPL-3.0-with-autoconf-exception";
3812            case GPL_3_0_WITH_GCC_EXCEPTION: return "GPL-3.0-with-GCC-exception";
3813            case GRAPHICS_GEMS: return "Graphics-Gems";
3814            case GSOAP_1_3B: return "gSOAP-1.3b";
3815            case HASKELLREPORT: return "HaskellReport";
3816            case HIPPOCRATIC_2_1: return "Hippocratic-2.1";
3817            case HP_1986: return "HP-1986";
3818            case HPND: return "HPND";
3819            case HPND_EXPORT_US: return "HPND-export-US";
3820            case HPND_MARKUS_KUHN: return "HPND-Markus-Kuhn";
3821            case HPND_SELL_VARIANT: return "HPND-sell-variant";
3822            case HPND_SELL_VARIANT_MIT_DISCLAIMER: return "HPND-sell-variant-MIT-disclaimer";
3823            case HTMLTIDY: return "HTMLTIDY";
3824            case IBM_PIBS: return "IBM-pibs";
3825            case ICU: return "ICU";
3826            case IEC_CODE_COMPONENTS_EULA: return "IEC-Code-Components-EULA";
3827            case IJG: return "IJG";
3828            case IJG_SHORT: return "IJG-short";
3829            case IMAGEMAGICK: return "ImageMagick";
3830            case IMATIX: return "iMatix";
3831            case IMLIB2: return "Imlib2";
3832            case INFO_ZIP: return "Info-ZIP";
3833            case INNER_NET_2_0: return "Inner-Net-2.0";
3834            case INTEL: return "Intel";
3835            case INTEL_ACPI: return "Intel-ACPI";
3836            case INTERBASE_1_0: return "Interbase-1.0";
3837            case IPA: return "IPA";
3838            case IPL_1_0: return "IPL-1.0";
3839            case ISC: return "ISC";
3840            case JAM: return "Jam";
3841            case JASPER_2_0: return "JasPer-2.0";
3842            case JPL_IMAGE: return "JPL-image";
3843            case JPNIC: return "JPNIC";
3844            case JSON: return "JSON";
3845            case KAZLIB: return "Kazlib";
3846            case KNUTH_CTAN: return "Knuth-CTAN";
3847            case LAL_1_2: return "LAL-1.2";
3848            case LAL_1_3: return "LAL-1.3";
3849            case LATEX2E: return "Latex2e";
3850            case LATEX2E_TRANSLATED_NOTICE: return "Latex2e-translated-notice";
3851            case LEPTONICA: return "Leptonica";
3852            case LGPL_2_0: return "LGPL-2.0";
3853            case LGPL_2_0PLUS: return "LGPL-2.0+";
3854            case LGPL_2_0_ONLY: return "LGPL-2.0-only";
3855            case LGPL_2_0_OR_LATER: return "LGPL-2.0-or-later";
3856            case LGPL_2_1: return "LGPL-2.1";
3857            case LGPL_2_1PLUS: return "LGPL-2.1+";
3858            case LGPL_2_1_ONLY: return "LGPL-2.1-only";
3859            case LGPL_2_1_OR_LATER: return "LGPL-2.1-or-later";
3860            case LGPL_3_0: return "LGPL-3.0";
3861            case LGPL_3_0PLUS: return "LGPL-3.0+";
3862            case LGPL_3_0_ONLY: return "LGPL-3.0-only";
3863            case LGPL_3_0_OR_LATER: return "LGPL-3.0-or-later";
3864            case LGPLLR: return "LGPLLR";
3865            case LIBPNG: return "Libpng";
3866            case LIBPNG_2_0: return "libpng-2.0";
3867            case LIBSELINUX_1_0: return "libselinux-1.0";
3868            case LIBTIFF: return "libtiff";
3869            case LIBUTIL_DAVID_NUGENT: return "libutil-David-Nugent";
3870            case LILIQ_P_1_1: return "LiLiQ-P-1.1";
3871            case LILIQ_R_1_1: return "LiLiQ-R-1.1";
3872            case LILIQ_RPLUS_1_1: return "LiLiQ-Rplus-1.1";
3873            case LINUX_MAN_PAGES_1_PARA: return "Linux-man-pages-1-para";
3874            case LINUX_MAN_PAGES_COPYLEFT: return "Linux-man-pages-copyleft";
3875            case LINUX_MAN_PAGES_COPYLEFT_2_PARA: return "Linux-man-pages-copyleft-2-para";
3876            case LINUX_MAN_PAGES_COPYLEFT_VAR: return "Linux-man-pages-copyleft-var";
3877            case LINUX_OPENIB: return "Linux-OpenIB";
3878            case LOOP: return "LOOP";
3879            case LPL_1_0: return "LPL-1.0";
3880            case LPL_1_02: return "LPL-1.02";
3881            case LPPL_1_0: return "LPPL-1.0";
3882            case LPPL_1_1: return "LPPL-1.1";
3883            case LPPL_1_2: return "LPPL-1.2";
3884            case LPPL_1_3A: return "LPPL-1.3a";
3885            case LPPL_1_3C: return "LPPL-1.3c";
3886            case LZMA_SDK_9_11_TO_9_20: return "LZMA-SDK-9.11-to-9.20";
3887            case LZMA_SDK_9_22: return "LZMA-SDK-9.22";
3888            case MAKEINDEX: return "MakeIndex";
3889            case MARTIN_BIRGMEIER: return "Martin-Birgmeier";
3890            case METAMAIL: return "metamail";
3891            case MINPACK: return "Minpack";
3892            case MIROS: return "MirOS";
3893            case MIT: return "MIT";
3894            case MIT_0: return "MIT-0";
3895            case MIT_ADVERTISING: return "MIT-advertising";
3896            case MIT_CMU: return "MIT-CMU";
3897            case MIT_ENNA: return "MIT-enna";
3898            case MIT_FEH: return "MIT-feh";
3899            case MIT_FESTIVAL: return "MIT-Festival";
3900            case MIT_MODERN_VARIANT: return "MIT-Modern-Variant";
3901            case MIT_OPEN_GROUP: return "MIT-open-group";
3902            case MIT_WU: return "MIT-Wu";
3903            case MITNFA: return "MITNFA";
3904            case MOTOSOTO: return "Motosoto";
3905            case MPI_PERMISSIVE: return "mpi-permissive";
3906            case MPICH2: return "mpich2";
3907            case MPL_1_0: return "MPL-1.0";
3908            case MPL_1_1: return "MPL-1.1";
3909            case MPL_2_0: return "MPL-2.0";
3910            case MPL_2_0_NO_COPYLEFT_EXCEPTION: return "MPL-2.0-no-copyleft-exception";
3911            case MPLUS: return "mplus";
3912            case MS_LPL: return "MS-LPL";
3913            case MS_PL: return "MS-PL";
3914            case MS_RL: return "MS-RL";
3915            case MTLL: return "MTLL";
3916            case MULANPSL_1_0: return "MulanPSL-1.0";
3917            case MULANPSL_2_0: return "MulanPSL-2.0";
3918            case MULTICS: return "Multics";
3919            case MUP: return "Mup";
3920            case NAIST_2003: return "NAIST-2003";
3921            case NASA_1_3: return "NASA-1.3";
3922            case NAUMEN: return "Naumen";
3923            case NBPL_1_0: return "NBPL-1.0";
3924            case NCGL_UK_2_0: return "NCGL-UK-2.0";
3925            case NCSA: return "NCSA";
3926            case NET_SNMP: return "Net-SNMP";
3927            case NETCDF: return "NetCDF";
3928            case NEWSLETR: return "Newsletr";
3929            case NGPL: return "NGPL";
3930            case NICTA_1_0: return "NICTA-1.0";
3931            case NIST_PD: return "NIST-PD";
3932            case NIST_PD_FALLBACK: return "NIST-PD-fallback";
3933            case NIST_SOFTWARE: return "NIST-Software";
3934            case NLOD_1_0: return "NLOD-1.0";
3935            case NLOD_2_0: return "NLOD-2.0";
3936            case NLPL: return "NLPL";
3937            case NOKIA: return "Nokia";
3938            case NOSL: return "NOSL";
3939            case NOT_OPEN_SOURCE: return "not-open-source";
3940            case NOWEB: return "Noweb";
3941            case NPL_1_0: return "NPL-1.0";
3942            case NPL_1_1: return "NPL-1.1";
3943            case NPOSL_3_0: return "NPOSL-3.0";
3944            case NRL: return "NRL";
3945            case NTP: return "NTP";
3946            case NTP_0: return "NTP-0";
3947            case NUNIT: return "Nunit";
3948            case O_UDA_1_0: return "O-UDA-1.0";
3949            case OCCT_PL: return "OCCT-PL";
3950            case OCLC_2_0: return "OCLC-2.0";
3951            case ODBL_1_0: return "ODbL-1.0";
3952            case ODC_BY_1_0: return "ODC-By-1.0";
3953            case OFFIS: return "OFFIS";
3954            case OFL_1_0: return "OFL-1.0";
3955            case OFL_1_0_NO_RFN: return "OFL-1.0-no-RFN";
3956            case OFL_1_0_RFN: return "OFL-1.0-RFN";
3957            case OFL_1_1: return "OFL-1.1";
3958            case OFL_1_1_NO_RFN: return "OFL-1.1-no-RFN";
3959            case OFL_1_1_RFN: return "OFL-1.1-RFN";
3960            case OGC_1_0: return "OGC-1.0";
3961            case OGDL_TAIWAN_1_0: return "OGDL-Taiwan-1.0";
3962            case OGL_CANADA_2_0: return "OGL-Canada-2.0";
3963            case OGL_UK_1_0: return "OGL-UK-1.0";
3964            case OGL_UK_2_0: return "OGL-UK-2.0";
3965            case OGL_UK_3_0: return "OGL-UK-3.0";
3966            case OGTSL: return "OGTSL";
3967            case OLDAP_1_1: return "OLDAP-1.1";
3968            case OLDAP_1_2: return "OLDAP-1.2";
3969            case OLDAP_1_3: return "OLDAP-1.3";
3970            case OLDAP_1_4: return "OLDAP-1.4";
3971            case OLDAP_2_0: return "OLDAP-2.0";
3972            case OLDAP_2_0_1: return "OLDAP-2.0.1";
3973            case OLDAP_2_1: return "OLDAP-2.1";
3974            case OLDAP_2_2: return "OLDAP-2.2";
3975            case OLDAP_2_2_1: return "OLDAP-2.2.1";
3976            case OLDAP_2_2_2: return "OLDAP-2.2.2";
3977            case OLDAP_2_3: return "OLDAP-2.3";
3978            case OLDAP_2_4: return "OLDAP-2.4";
3979            case OLDAP_2_5: return "OLDAP-2.5";
3980            case OLDAP_2_6: return "OLDAP-2.6";
3981            case OLDAP_2_7: return "OLDAP-2.7";
3982            case OLDAP_2_8: return "OLDAP-2.8";
3983            case OLFL_1_3: return "OLFL-1.3";
3984            case OML: return "OML";
3985            case OPENPBS_2_3: return "OpenPBS-2.3";
3986            case OPENSSL: return "OpenSSL";
3987            case OPL_1_0: return "OPL-1.0";
3988            case OPL_UK_3_0: return "OPL-UK-3.0";
3989            case OPUBL_1_0: return "OPUBL-1.0";
3990            case OSET_PL_2_1: return "OSET-PL-2.1";
3991            case OSL_1_0: return "OSL-1.0";
3992            case OSL_1_1: return "OSL-1.1";
3993            case OSL_2_0: return "OSL-2.0";
3994            case OSL_2_1: return "OSL-2.1";
3995            case OSL_3_0: return "OSL-3.0";
3996            case PARITY_6_0_0: return "Parity-6.0.0";
3997            case PARITY_7_0_0: return "Parity-7.0.0";
3998            case PDDL_1_0: return "PDDL-1.0";
3999            case PHP_3_0: return "PHP-3.0";
4000            case PHP_3_01: return "PHP-3.01";
4001            case PLEXUS: return "Plexus";
4002            case POLYFORM_NONCOMMERCIAL_1_0_0: return "PolyForm-Noncommercial-1.0.0";
4003            case POLYFORM_SMALL_BUSINESS_1_0_0: return "PolyForm-Small-Business-1.0.0";
4004            case POSTGRESQL: return "PostgreSQL";
4005            case PSF_2_0: return "PSF-2.0";
4006            case PSFRAG: return "psfrag";
4007            case PSUTILS: return "psutils";
4008            case PYTHON_2_0: return "Python-2.0";
4009            case PYTHON_2_0_1: return "Python-2.0.1";
4010            case QHULL: return "Qhull";
4011            case QPL_1_0: return "QPL-1.0";
4012            case QPL_1_0_INRIA_2004: return "QPL-1.0-INRIA-2004";
4013            case RDISC: return "Rdisc";
4014            case RHECOS_1_1: return "RHeCos-1.1";
4015            case RPL_1_1: return "RPL-1.1";
4016            case RPL_1_5: return "RPL-1.5";
4017            case RPSL_1_0: return "RPSL-1.0";
4018            case RSA_MD: return "RSA-MD";
4019            case RSCPL: return "RSCPL";
4020            case RUBY: return "Ruby";
4021            case SAX_PD: return "SAX-PD";
4022            case SAXPATH: return "Saxpath";
4023            case SCEA: return "SCEA";
4024            case SCHEMEREPORT: return "SchemeReport";
4025            case SENDMAIL: return "Sendmail";
4026            case SENDMAIL_8_23: return "Sendmail-8.23";
4027            case SGI_B_1_0: return "SGI-B-1.0";
4028            case SGI_B_1_1: return "SGI-B-1.1";
4029            case SGI_B_2_0: return "SGI-B-2.0";
4030            case SGP4: return "SGP4";
4031            case SHL_0_5: return "SHL-0.5";
4032            case SHL_0_51: return "SHL-0.51";
4033            case SIMPL_2_0: return "SimPL-2.0";
4034            case SISSL: return "SISSL";
4035            case SISSL_1_2: return "SISSL-1.2";
4036            case SLEEPYCAT: return "Sleepycat";
4037            case SMLNJ: return "SMLNJ";
4038            case SMPPL: return "SMPPL";
4039            case SNIA: return "SNIA";
4040            case SNPRINTF: return "snprintf";
4041            case SPENCER_86: return "Spencer-86";
4042            case SPENCER_94: return "Spencer-94";
4043            case SPENCER_99: return "Spencer-99";
4044            case SPL_1_0: return "SPL-1.0";
4045            case SSH_OPENSSH: return "SSH-OpenSSH";
4046            case SSH_SHORT: return "SSH-short";
4047            case SSPL_1_0: return "SSPL-1.0";
4048            case STANDARDML_NJ: return "StandardML-NJ";
4049            case SUGARCRM_1_1_3: return "SugarCRM-1.1.3";
4050            case SUNPRO: return "SunPro";
4051            case SWL: return "SWL";
4052            case SYMLINKS: return "Symlinks";
4053            case TAPR_OHL_1_0: return "TAPR-OHL-1.0";
4054            case TCL: return "TCL";
4055            case TCP_WRAPPERS: return "TCP-wrappers";
4056            case TERMREADKEY: return "TermReadKey";
4057            case TMATE: return "TMate";
4058            case TORQUE_1_1: return "TORQUE-1.1";
4059            case TOSL: return "TOSL";
4060            case TPDL: return "TPDL";
4061            case TPL_1_0: return "TPL-1.0";
4062            case TTWL: return "TTWL";
4063            case TU_BERLIN_1_0: return "TU-Berlin-1.0";
4064            case TU_BERLIN_2_0: return "TU-Berlin-2.0";
4065            case UCAR: return "UCAR";
4066            case UCL_1_0: return "UCL-1.0";
4067            case UNICODE_DFS_2015: return "Unicode-DFS-2015";
4068            case UNICODE_DFS_2016: return "Unicode-DFS-2016";
4069            case UNICODE_TOU: return "Unicode-TOU";
4070            case UNIXCRYPT: return "UnixCrypt";
4071            case UNLICENSE: return "Unlicense";
4072            case UPL_1_0: return "UPL-1.0";
4073            case VIM: return "Vim";
4074            case VOSTROM: return "VOSTROM";
4075            case VSL_1_0: return "VSL-1.0";
4076            case W3C: return "W3C";
4077            case W3C_19980720: return "W3C-19980720";
4078            case W3C_20150513: return "W3C-20150513";
4079            case W3M: return "w3m";
4080            case WATCOM_1_0: return "Watcom-1.0";
4081            case WIDGET_WORKSHOP: return "Widget-Workshop";
4082            case WSUIPA: return "Wsuipa";
4083            case WTFPL: return "WTFPL";
4084            case WXWINDOWS: return "wxWindows";
4085            case X11: return "X11";
4086            case X11_DISTRIBUTE_MODIFICATIONS_VARIANT: return "X11-distribute-modifications-variant";
4087            case XDEBUG_1_03: return "Xdebug-1.03";
4088            case XEROX: return "Xerox";
4089            case XFIG: return "Xfig";
4090            case XFREE86_1_1: return "XFree86-1.1";
4091            case XINETD: return "xinetd";
4092            case XLOCK: return "xlock";
4093            case XNET: return "Xnet";
4094            case XPP: return "xpp";
4095            case XSKAT: return "XSkat";
4096            case YPL_1_0: return "YPL-1.0";
4097            case YPL_1_1: return "YPL-1.1";
4098            case ZED: return "Zed";
4099            case ZEND_2_0: return "Zend-2.0";
4100            case ZIMBRA_1_3: return "Zimbra-1.3";
4101            case ZIMBRA_1_4: return "Zimbra-1.4";
4102            case ZLIB: return "Zlib";
4103            case ZLIB_ACKNOWLEDGEMENT: return "zlib-acknowledgement";
4104            case ZPL_1_1: return "ZPL-1.1";
4105            case ZPL_2_0: return "ZPL-2.0";
4106            case ZPL_2_1: return "ZPL-2.1";
4107            case NULL: return null;
4108            default: return "?";
4109          }
4110        }
4111        public String getSystem() {
4112          switch (this) {
4113            case _0BSD: return "http://hl7.org/fhir/spdx-license";
4114            case AAL: return "http://hl7.org/fhir/spdx-license";
4115            case ABSTYLES: return "http://hl7.org/fhir/spdx-license";
4116            case ADACORE_DOC: return "http://hl7.org/fhir/spdx-license";
4117            case ADOBE_2006: return "http://hl7.org/fhir/spdx-license";
4118            case ADOBE_GLYPH: return "http://hl7.org/fhir/spdx-license";
4119            case ADSL: return "http://hl7.org/fhir/spdx-license";
4120            case AFL_1_1: return "http://hl7.org/fhir/spdx-license";
4121            case AFL_1_2: return "http://hl7.org/fhir/spdx-license";
4122            case AFL_2_0: return "http://hl7.org/fhir/spdx-license";
4123            case AFL_2_1: return "http://hl7.org/fhir/spdx-license";
4124            case AFL_3_0: return "http://hl7.org/fhir/spdx-license";
4125            case AFMPARSE: return "http://hl7.org/fhir/spdx-license";
4126            case AGPL_1_0: return "http://hl7.org/fhir/spdx-license";
4127            case AGPL_1_0_ONLY: return "http://hl7.org/fhir/spdx-license";
4128            case AGPL_1_0_OR_LATER: return "http://hl7.org/fhir/spdx-license";
4129            case AGPL_3_0: return "http://hl7.org/fhir/spdx-license";
4130            case AGPL_3_0_ONLY: return "http://hl7.org/fhir/spdx-license";
4131            case AGPL_3_0_OR_LATER: return "http://hl7.org/fhir/spdx-license";
4132            case ALADDIN: return "http://hl7.org/fhir/spdx-license";
4133            case AMDPLPA: return "http://hl7.org/fhir/spdx-license";
4134            case AML: return "http://hl7.org/fhir/spdx-license";
4135            case AMPAS: return "http://hl7.org/fhir/spdx-license";
4136            case ANTLR_PD: return "http://hl7.org/fhir/spdx-license";
4137            case ANTLR_PD_FALLBACK: return "http://hl7.org/fhir/spdx-license";
4138            case APACHE_1_0: return "http://hl7.org/fhir/spdx-license";
4139            case APACHE_1_1: return "http://hl7.org/fhir/spdx-license";
4140            case APACHE_2_0: return "http://hl7.org/fhir/spdx-license";
4141            case APAFML: return "http://hl7.org/fhir/spdx-license";
4142            case APL_1_0: return "http://hl7.org/fhir/spdx-license";
4143            case APP_S2P: return "http://hl7.org/fhir/spdx-license";
4144            case APSL_1_0: return "http://hl7.org/fhir/spdx-license";
4145            case APSL_1_1: return "http://hl7.org/fhir/spdx-license";
4146            case APSL_1_2: return "http://hl7.org/fhir/spdx-license";
4147            case APSL_2_0: return "http://hl7.org/fhir/spdx-license";
4148            case ARPHIC_1999: return "http://hl7.org/fhir/spdx-license";
4149            case ARTISTIC_1_0: return "http://hl7.org/fhir/spdx-license";
4150            case ARTISTIC_1_0_CL8: return "http://hl7.org/fhir/spdx-license";
4151            case ARTISTIC_1_0_PERL: return "http://hl7.org/fhir/spdx-license";
4152            case ARTISTIC_2_0: return "http://hl7.org/fhir/spdx-license";
4153            case ASWF_DIGITAL_ASSETS_1_0: return "http://hl7.org/fhir/spdx-license";
4154            case ASWF_DIGITAL_ASSETS_1_1: return "http://hl7.org/fhir/spdx-license";
4155            case BAEKMUK: return "http://hl7.org/fhir/spdx-license";
4156            case BAHYPH: return "http://hl7.org/fhir/spdx-license";
4157            case BARR: return "http://hl7.org/fhir/spdx-license";
4158            case BEERWARE: return "http://hl7.org/fhir/spdx-license";
4159            case BITSTREAM_CHARTER: return "http://hl7.org/fhir/spdx-license";
4160            case BITSTREAM_VERA: return "http://hl7.org/fhir/spdx-license";
4161            case BITTORRENT_1_0: return "http://hl7.org/fhir/spdx-license";
4162            case BITTORRENT_1_1: return "http://hl7.org/fhir/spdx-license";
4163            case BLESSING: return "http://hl7.org/fhir/spdx-license";
4164            case BLUEOAK_1_0_0: return "http://hl7.org/fhir/spdx-license";
4165            case BOEHM_GC: return "http://hl7.org/fhir/spdx-license";
4166            case BORCEUX: return "http://hl7.org/fhir/spdx-license";
4167            case BRIAN_GLADMAN_3_CLAUSE: return "http://hl7.org/fhir/spdx-license";
4168            case BSD_1_CLAUSE: return "http://hl7.org/fhir/spdx-license";
4169            case BSD_2_CLAUSE: return "http://hl7.org/fhir/spdx-license";
4170            case BSD_2_CLAUSE_FREEBSD: return "http://hl7.org/fhir/spdx-license";
4171            case BSD_2_CLAUSE_NETBSD: return "http://hl7.org/fhir/spdx-license";
4172            case BSD_2_CLAUSE_PATENT: return "http://hl7.org/fhir/spdx-license";
4173            case BSD_2_CLAUSE_VIEWS: return "http://hl7.org/fhir/spdx-license";
4174            case BSD_3_CLAUSE: return "http://hl7.org/fhir/spdx-license";
4175            case BSD_3_CLAUSE_ATTRIBUTION: return "http://hl7.org/fhir/spdx-license";
4176            case BSD_3_CLAUSE_CLEAR: return "http://hl7.org/fhir/spdx-license";
4177            case BSD_3_CLAUSE_LBNL: return "http://hl7.org/fhir/spdx-license";
4178            case BSD_3_CLAUSE_MODIFICATION: return "http://hl7.org/fhir/spdx-license";
4179            case BSD_3_CLAUSE_NO_MILITARY_LICENSE: return "http://hl7.org/fhir/spdx-license";
4180            case BSD_3_CLAUSE_NO_NUCLEAR_LICENSE: return "http://hl7.org/fhir/spdx-license";
4181            case BSD_3_CLAUSE_NO_NUCLEAR_LICENSE_2014: return "http://hl7.org/fhir/spdx-license";
4182            case BSD_3_CLAUSE_NO_NUCLEAR_WARRANTY: return "http://hl7.org/fhir/spdx-license";
4183            case BSD_3_CLAUSE_OPEN_MPI: return "http://hl7.org/fhir/spdx-license";
4184            case BSD_4_CLAUSE: return "http://hl7.org/fhir/spdx-license";
4185            case BSD_4_CLAUSE_SHORTENED: return "http://hl7.org/fhir/spdx-license";
4186            case BSD_4_CLAUSE_UC: return "http://hl7.org/fhir/spdx-license";
4187            case BSD_4_3RENO: return "http://hl7.org/fhir/spdx-license";
4188            case BSD_4_3TAHOE: return "http://hl7.org/fhir/spdx-license";
4189            case BSD_ADVERTISING_ACKNOWLEDGEMENT: return "http://hl7.org/fhir/spdx-license";
4190            case BSD_ATTRIBUTION_HPND_DISCLAIMER: return "http://hl7.org/fhir/spdx-license";
4191            case BSD_PROTECTION: return "http://hl7.org/fhir/spdx-license";
4192            case BSD_SOURCE_CODE: return "http://hl7.org/fhir/spdx-license";
4193            case BSL_1_0: return "http://hl7.org/fhir/spdx-license";
4194            case BUSL_1_1: return "http://hl7.org/fhir/spdx-license";
4195            case BZIP2_1_0_5: return "http://hl7.org/fhir/spdx-license";
4196            case BZIP2_1_0_6: return "http://hl7.org/fhir/spdx-license";
4197            case C_UDA_1_0: return "http://hl7.org/fhir/spdx-license";
4198            case CAL_1_0: return "http://hl7.org/fhir/spdx-license";
4199            case CAL_1_0_COMBINED_WORK_EXCEPTION: return "http://hl7.org/fhir/spdx-license";
4200            case CALDERA: return "http://hl7.org/fhir/spdx-license";
4201            case CATOSL_1_1: return "http://hl7.org/fhir/spdx-license";
4202            case CC_BY_1_0: return "http://hl7.org/fhir/spdx-license";
4203            case CC_BY_2_0: return "http://hl7.org/fhir/spdx-license";
4204            case CC_BY_2_5: return "http://hl7.org/fhir/spdx-license";
4205            case CC_BY_2_5_AU: return "http://hl7.org/fhir/spdx-license";
4206            case CC_BY_3_0: return "http://hl7.org/fhir/spdx-license";
4207            case CC_BY_3_0_AT: return "http://hl7.org/fhir/spdx-license";
4208            case CC_BY_3_0_DE: return "http://hl7.org/fhir/spdx-license";
4209            case CC_BY_3_0_IGO: return "http://hl7.org/fhir/spdx-license";
4210            case CC_BY_3_0_NL: return "http://hl7.org/fhir/spdx-license";
4211            case CC_BY_3_0_US: return "http://hl7.org/fhir/spdx-license";
4212            case CC_BY_4_0: return "http://hl7.org/fhir/spdx-license";
4213            case CC_BY_NC_1_0: return "http://hl7.org/fhir/spdx-license";
4214            case CC_BY_NC_2_0: return "http://hl7.org/fhir/spdx-license";
4215            case CC_BY_NC_2_5: return "http://hl7.org/fhir/spdx-license";
4216            case CC_BY_NC_3_0: return "http://hl7.org/fhir/spdx-license";
4217            case CC_BY_NC_3_0_DE: return "http://hl7.org/fhir/spdx-license";
4218            case CC_BY_NC_4_0: return "http://hl7.org/fhir/spdx-license";
4219            case CC_BY_NC_ND_1_0: return "http://hl7.org/fhir/spdx-license";
4220            case CC_BY_NC_ND_2_0: return "http://hl7.org/fhir/spdx-license";
4221            case CC_BY_NC_ND_2_5: return "http://hl7.org/fhir/spdx-license";
4222            case CC_BY_NC_ND_3_0: return "http://hl7.org/fhir/spdx-license";
4223            case CC_BY_NC_ND_3_0_DE: return "http://hl7.org/fhir/spdx-license";
4224            case CC_BY_NC_ND_3_0_IGO: return "http://hl7.org/fhir/spdx-license";
4225            case CC_BY_NC_ND_4_0: return "http://hl7.org/fhir/spdx-license";
4226            case CC_BY_NC_SA_1_0: return "http://hl7.org/fhir/spdx-license";
4227            case CC_BY_NC_SA_2_0: return "http://hl7.org/fhir/spdx-license";
4228            case CC_BY_NC_SA_2_0_DE: return "http://hl7.org/fhir/spdx-license";
4229            case CC_BY_NC_SA_2_0_FR: return "http://hl7.org/fhir/spdx-license";
4230            case CC_BY_NC_SA_2_0_UK: return "http://hl7.org/fhir/spdx-license";
4231            case CC_BY_NC_SA_2_5: return "http://hl7.org/fhir/spdx-license";
4232            case CC_BY_NC_SA_3_0: return "http://hl7.org/fhir/spdx-license";
4233            case CC_BY_NC_SA_3_0_DE: return "http://hl7.org/fhir/spdx-license";
4234            case CC_BY_NC_SA_3_0_IGO: return "http://hl7.org/fhir/spdx-license";
4235            case CC_BY_NC_SA_4_0: return "http://hl7.org/fhir/spdx-license";
4236            case CC_BY_ND_1_0: return "http://hl7.org/fhir/spdx-license";
4237            case CC_BY_ND_2_0: return "http://hl7.org/fhir/spdx-license";
4238            case CC_BY_ND_2_5: return "http://hl7.org/fhir/spdx-license";
4239            case CC_BY_ND_3_0: return "http://hl7.org/fhir/spdx-license";
4240            case CC_BY_ND_3_0_DE: return "http://hl7.org/fhir/spdx-license";
4241            case CC_BY_ND_4_0: return "http://hl7.org/fhir/spdx-license";
4242            case CC_BY_SA_1_0: return "http://hl7.org/fhir/spdx-license";
4243            case CC_BY_SA_2_0: return "http://hl7.org/fhir/spdx-license";
4244            case CC_BY_SA_2_0_UK: return "http://hl7.org/fhir/spdx-license";
4245            case CC_BY_SA_2_1_JP: return "http://hl7.org/fhir/spdx-license";
4246            case CC_BY_SA_2_5: return "http://hl7.org/fhir/spdx-license";
4247            case CC_BY_SA_3_0: return "http://hl7.org/fhir/spdx-license";
4248            case CC_BY_SA_3_0_AT: return "http://hl7.org/fhir/spdx-license";
4249            case CC_BY_SA_3_0_DE: return "http://hl7.org/fhir/spdx-license";
4250            case CC_BY_SA_3_0_IGO: return "http://hl7.org/fhir/spdx-license";
4251            case CC_BY_SA_4_0: return "http://hl7.org/fhir/spdx-license";
4252            case CC_PDDC: return "http://hl7.org/fhir/spdx-license";
4253            case CC0_1_0: return "http://hl7.org/fhir/spdx-license";
4254            case CDDL_1_0: return "http://hl7.org/fhir/spdx-license";
4255            case CDDL_1_1: return "http://hl7.org/fhir/spdx-license";
4256            case CDL_1_0: return "http://hl7.org/fhir/spdx-license";
4257            case CDLA_PERMISSIVE_1_0: return "http://hl7.org/fhir/spdx-license";
4258            case CDLA_PERMISSIVE_2_0: return "http://hl7.org/fhir/spdx-license";
4259            case CDLA_SHARING_1_0: return "http://hl7.org/fhir/spdx-license";
4260            case CECILL_1_0: return "http://hl7.org/fhir/spdx-license";
4261            case CECILL_1_1: return "http://hl7.org/fhir/spdx-license";
4262            case CECILL_2_0: return "http://hl7.org/fhir/spdx-license";
4263            case CECILL_2_1: return "http://hl7.org/fhir/spdx-license";
4264            case CECILL_B: return "http://hl7.org/fhir/spdx-license";
4265            case CECILL_C: return "http://hl7.org/fhir/spdx-license";
4266            case CERN_OHL_1_1: return "http://hl7.org/fhir/spdx-license";
4267            case CERN_OHL_1_2: return "http://hl7.org/fhir/spdx-license";
4268            case CERN_OHL_P_2_0: return "http://hl7.org/fhir/spdx-license";
4269            case CERN_OHL_S_2_0: return "http://hl7.org/fhir/spdx-license";
4270            case CERN_OHL_W_2_0: return "http://hl7.org/fhir/spdx-license";
4271            case CFITSIO: return "http://hl7.org/fhir/spdx-license";
4272            case CHECKMK: return "http://hl7.org/fhir/spdx-license";
4273            case CLARTISTIC: return "http://hl7.org/fhir/spdx-license";
4274            case CLIPS: return "http://hl7.org/fhir/spdx-license";
4275            case CMU_MACH: return "http://hl7.org/fhir/spdx-license";
4276            case CNRI_JYTHON: return "http://hl7.org/fhir/spdx-license";
4277            case CNRI_PYTHON: return "http://hl7.org/fhir/spdx-license";
4278            case CNRI_PYTHON_GPL_COMPATIBLE: return "http://hl7.org/fhir/spdx-license";
4279            case COIL_1_0: return "http://hl7.org/fhir/spdx-license";
4280            case COMMUNITY_SPEC_1_0: return "http://hl7.org/fhir/spdx-license";
4281            case CONDOR_1_1: return "http://hl7.org/fhir/spdx-license";
4282            case COPYLEFT_NEXT_0_3_0: return "http://hl7.org/fhir/spdx-license";
4283            case COPYLEFT_NEXT_0_3_1: return "http://hl7.org/fhir/spdx-license";
4284            case CORNELL_LOSSLESS_JPEG: return "http://hl7.org/fhir/spdx-license";
4285            case CPAL_1_0: return "http://hl7.org/fhir/spdx-license";
4286            case CPL_1_0: return "http://hl7.org/fhir/spdx-license";
4287            case CPOL_1_02: return "http://hl7.org/fhir/spdx-license";
4288            case CROSSWORD: return "http://hl7.org/fhir/spdx-license";
4289            case CRYSTALSTACKER: return "http://hl7.org/fhir/spdx-license";
4290            case CUA_OPL_1_0: return "http://hl7.org/fhir/spdx-license";
4291            case CUBE: return "http://hl7.org/fhir/spdx-license";
4292            case CURL: return "http://hl7.org/fhir/spdx-license";
4293            case D_FSL_1_0: return "http://hl7.org/fhir/spdx-license";
4294            case DIFFMARK: return "http://hl7.org/fhir/spdx-license";
4295            case DL_DE_BY_2_0: return "http://hl7.org/fhir/spdx-license";
4296            case DOC: return "http://hl7.org/fhir/spdx-license";
4297            case DOTSEQN: return "http://hl7.org/fhir/spdx-license";
4298            case DRL_1_0: return "http://hl7.org/fhir/spdx-license";
4299            case DSDP: return "http://hl7.org/fhir/spdx-license";
4300            case DTOA: return "http://hl7.org/fhir/spdx-license";
4301            case DVIPDFM: return "http://hl7.org/fhir/spdx-license";
4302            case ECL_1_0: return "http://hl7.org/fhir/spdx-license";
4303            case ECL_2_0: return "http://hl7.org/fhir/spdx-license";
4304            case ECOS_2_0: return "http://hl7.org/fhir/spdx-license";
4305            case EFL_1_0: return "http://hl7.org/fhir/spdx-license";
4306            case EFL_2_0: return "http://hl7.org/fhir/spdx-license";
4307            case EGENIX: return "http://hl7.org/fhir/spdx-license";
4308            case ELASTIC_2_0: return "http://hl7.org/fhir/spdx-license";
4309            case ENTESSA: return "http://hl7.org/fhir/spdx-license";
4310            case EPICS: return "http://hl7.org/fhir/spdx-license";
4311            case EPL_1_0: return "http://hl7.org/fhir/spdx-license";
4312            case EPL_2_0: return "http://hl7.org/fhir/spdx-license";
4313            case ERLPL_1_1: return "http://hl7.org/fhir/spdx-license";
4314            case ETALAB_2_0: return "http://hl7.org/fhir/spdx-license";
4315            case EUDATAGRID: return "http://hl7.org/fhir/spdx-license";
4316            case EUPL_1_0: return "http://hl7.org/fhir/spdx-license";
4317            case EUPL_1_1: return "http://hl7.org/fhir/spdx-license";
4318            case EUPL_1_2: return "http://hl7.org/fhir/spdx-license";
4319            case EUROSYM: return "http://hl7.org/fhir/spdx-license";
4320            case FAIR: return "http://hl7.org/fhir/spdx-license";
4321            case FDK_AAC: return "http://hl7.org/fhir/spdx-license";
4322            case FRAMEWORX_1_0: return "http://hl7.org/fhir/spdx-license";
4323            case FREEBSD_DOC: return "http://hl7.org/fhir/spdx-license";
4324            case FREEIMAGE: return "http://hl7.org/fhir/spdx-license";
4325            case FSFAP: return "http://hl7.org/fhir/spdx-license";
4326            case FSFUL: return "http://hl7.org/fhir/spdx-license";
4327            case FSFULLR: return "http://hl7.org/fhir/spdx-license";
4328            case FSFULLRWD: return "http://hl7.org/fhir/spdx-license";
4329            case FTL: return "http://hl7.org/fhir/spdx-license";
4330            case GD: return "http://hl7.org/fhir/spdx-license";
4331            case GFDL_1_1: return "http://hl7.org/fhir/spdx-license";
4332            case GFDL_1_1_INVARIANTS_ONLY: return "http://hl7.org/fhir/spdx-license";
4333            case GFDL_1_1_INVARIANTS_OR_LATER: return "http://hl7.org/fhir/spdx-license";
4334            case GFDL_1_1_NO_INVARIANTS_ONLY: return "http://hl7.org/fhir/spdx-license";
4335            case GFDL_1_1_NO_INVARIANTS_OR_LATER: return "http://hl7.org/fhir/spdx-license";
4336            case GFDL_1_1_ONLY: return "http://hl7.org/fhir/spdx-license";
4337            case GFDL_1_1_OR_LATER: return "http://hl7.org/fhir/spdx-license";
4338            case GFDL_1_2: return "http://hl7.org/fhir/spdx-license";
4339            case GFDL_1_2_INVARIANTS_ONLY: return "http://hl7.org/fhir/spdx-license";
4340            case GFDL_1_2_INVARIANTS_OR_LATER: return "http://hl7.org/fhir/spdx-license";
4341            case GFDL_1_2_NO_INVARIANTS_ONLY: return "http://hl7.org/fhir/spdx-license";
4342            case GFDL_1_2_NO_INVARIANTS_OR_LATER: return "http://hl7.org/fhir/spdx-license";
4343            case GFDL_1_2_ONLY: return "http://hl7.org/fhir/spdx-license";
4344            case GFDL_1_2_OR_LATER: return "http://hl7.org/fhir/spdx-license";
4345            case GFDL_1_3: return "http://hl7.org/fhir/spdx-license";
4346            case GFDL_1_3_INVARIANTS_ONLY: return "http://hl7.org/fhir/spdx-license";
4347            case GFDL_1_3_INVARIANTS_OR_LATER: return "http://hl7.org/fhir/spdx-license";
4348            case GFDL_1_3_NO_INVARIANTS_ONLY: return "http://hl7.org/fhir/spdx-license";
4349            case GFDL_1_3_NO_INVARIANTS_OR_LATER: return "http://hl7.org/fhir/spdx-license";
4350            case GFDL_1_3_ONLY: return "http://hl7.org/fhir/spdx-license";
4351            case GFDL_1_3_OR_LATER: return "http://hl7.org/fhir/spdx-license";
4352            case GIFTWARE: return "http://hl7.org/fhir/spdx-license";
4353            case GL2PS: return "http://hl7.org/fhir/spdx-license";
4354            case GLIDE: return "http://hl7.org/fhir/spdx-license";
4355            case GLULXE: return "http://hl7.org/fhir/spdx-license";
4356            case GLWTPL: return "http://hl7.org/fhir/spdx-license";
4357            case GNUPLOT: return "http://hl7.org/fhir/spdx-license";
4358            case GPL_1_0: return "http://hl7.org/fhir/spdx-license";
4359            case GPL_1_0PLUS: return "http://hl7.org/fhir/spdx-license";
4360            case GPL_1_0_ONLY: return "http://hl7.org/fhir/spdx-license";
4361            case GPL_1_0_OR_LATER: return "http://hl7.org/fhir/spdx-license";
4362            case GPL_2_0: return "http://hl7.org/fhir/spdx-license";
4363            case GPL_2_0PLUS: return "http://hl7.org/fhir/spdx-license";
4364            case GPL_2_0_ONLY: return "http://hl7.org/fhir/spdx-license";
4365            case GPL_2_0_OR_LATER: return "http://hl7.org/fhir/spdx-license";
4366            case GPL_2_0_WITH_AUTOCONF_EXCEPTION: return "http://hl7.org/fhir/spdx-license";
4367            case GPL_2_0_WITH_BISON_EXCEPTION: return "http://hl7.org/fhir/spdx-license";
4368            case GPL_2_0_WITH_CLASSPATH_EXCEPTION: return "http://hl7.org/fhir/spdx-license";
4369            case GPL_2_0_WITH_FONT_EXCEPTION: return "http://hl7.org/fhir/spdx-license";
4370            case GPL_2_0_WITH_GCC_EXCEPTION: return "http://hl7.org/fhir/spdx-license";
4371            case GPL_3_0: return "http://hl7.org/fhir/spdx-license";
4372            case GPL_3_0PLUS: return "http://hl7.org/fhir/spdx-license";
4373            case GPL_3_0_ONLY: return "http://hl7.org/fhir/spdx-license";
4374            case GPL_3_0_OR_LATER: return "http://hl7.org/fhir/spdx-license";
4375            case GPL_3_0_WITH_AUTOCONF_EXCEPTION: return "http://hl7.org/fhir/spdx-license";
4376            case GPL_3_0_WITH_GCC_EXCEPTION: return "http://hl7.org/fhir/spdx-license";
4377            case GRAPHICS_GEMS: return "http://hl7.org/fhir/spdx-license";
4378            case GSOAP_1_3B: return "http://hl7.org/fhir/spdx-license";
4379            case HASKELLREPORT: return "http://hl7.org/fhir/spdx-license";
4380            case HIPPOCRATIC_2_1: return "http://hl7.org/fhir/spdx-license";
4381            case HP_1986: return "http://hl7.org/fhir/spdx-license";
4382            case HPND: return "http://hl7.org/fhir/spdx-license";
4383            case HPND_EXPORT_US: return "http://hl7.org/fhir/spdx-license";
4384            case HPND_MARKUS_KUHN: return "http://hl7.org/fhir/spdx-license";
4385            case HPND_SELL_VARIANT: return "http://hl7.org/fhir/spdx-license";
4386            case HPND_SELL_VARIANT_MIT_DISCLAIMER: return "http://hl7.org/fhir/spdx-license";
4387            case HTMLTIDY: return "http://hl7.org/fhir/spdx-license";
4388            case IBM_PIBS: return "http://hl7.org/fhir/spdx-license";
4389            case ICU: return "http://hl7.org/fhir/spdx-license";
4390            case IEC_CODE_COMPONENTS_EULA: return "http://hl7.org/fhir/spdx-license";
4391            case IJG: return "http://hl7.org/fhir/spdx-license";
4392            case IJG_SHORT: return "http://hl7.org/fhir/spdx-license";
4393            case IMAGEMAGICK: return "http://hl7.org/fhir/spdx-license";
4394            case IMATIX: return "http://hl7.org/fhir/spdx-license";
4395            case IMLIB2: return "http://hl7.org/fhir/spdx-license";
4396            case INFO_ZIP: return "http://hl7.org/fhir/spdx-license";
4397            case INNER_NET_2_0: return "http://hl7.org/fhir/spdx-license";
4398            case INTEL: return "http://hl7.org/fhir/spdx-license";
4399            case INTEL_ACPI: return "http://hl7.org/fhir/spdx-license";
4400            case INTERBASE_1_0: return "http://hl7.org/fhir/spdx-license";
4401            case IPA: return "http://hl7.org/fhir/spdx-license";
4402            case IPL_1_0: return "http://hl7.org/fhir/spdx-license";
4403            case ISC: return "http://hl7.org/fhir/spdx-license";
4404            case JAM: return "http://hl7.org/fhir/spdx-license";
4405            case JASPER_2_0: return "http://hl7.org/fhir/spdx-license";
4406            case JPL_IMAGE: return "http://hl7.org/fhir/spdx-license";
4407            case JPNIC: return "http://hl7.org/fhir/spdx-license";
4408            case JSON: return "http://hl7.org/fhir/spdx-license";
4409            case KAZLIB: return "http://hl7.org/fhir/spdx-license";
4410            case KNUTH_CTAN: return "http://hl7.org/fhir/spdx-license";
4411            case LAL_1_2: return "http://hl7.org/fhir/spdx-license";
4412            case LAL_1_3: return "http://hl7.org/fhir/spdx-license";
4413            case LATEX2E: return "http://hl7.org/fhir/spdx-license";
4414            case LATEX2E_TRANSLATED_NOTICE: return "http://hl7.org/fhir/spdx-license";
4415            case LEPTONICA: return "http://hl7.org/fhir/spdx-license";
4416            case LGPL_2_0: return "http://hl7.org/fhir/spdx-license";
4417            case LGPL_2_0PLUS: return "http://hl7.org/fhir/spdx-license";
4418            case LGPL_2_0_ONLY: return "http://hl7.org/fhir/spdx-license";
4419            case LGPL_2_0_OR_LATER: return "http://hl7.org/fhir/spdx-license";
4420            case LGPL_2_1: return "http://hl7.org/fhir/spdx-license";
4421            case LGPL_2_1PLUS: return "http://hl7.org/fhir/spdx-license";
4422            case LGPL_2_1_ONLY: return "http://hl7.org/fhir/spdx-license";
4423            case LGPL_2_1_OR_LATER: return "http://hl7.org/fhir/spdx-license";
4424            case LGPL_3_0: return "http://hl7.org/fhir/spdx-license";
4425            case LGPL_3_0PLUS: return "http://hl7.org/fhir/spdx-license";
4426            case LGPL_3_0_ONLY: return "http://hl7.org/fhir/spdx-license";
4427            case LGPL_3_0_OR_LATER: return "http://hl7.org/fhir/spdx-license";
4428            case LGPLLR: return "http://hl7.org/fhir/spdx-license";
4429            case LIBPNG: return "http://hl7.org/fhir/spdx-license";
4430            case LIBPNG_2_0: return "http://hl7.org/fhir/spdx-license";
4431            case LIBSELINUX_1_0: return "http://hl7.org/fhir/spdx-license";
4432            case LIBTIFF: return "http://hl7.org/fhir/spdx-license";
4433            case LIBUTIL_DAVID_NUGENT: return "http://hl7.org/fhir/spdx-license";
4434            case LILIQ_P_1_1: return "http://hl7.org/fhir/spdx-license";
4435            case LILIQ_R_1_1: return "http://hl7.org/fhir/spdx-license";
4436            case LILIQ_RPLUS_1_1: return "http://hl7.org/fhir/spdx-license";
4437            case LINUX_MAN_PAGES_1_PARA: return "http://hl7.org/fhir/spdx-license";
4438            case LINUX_MAN_PAGES_COPYLEFT: return "http://hl7.org/fhir/spdx-license";
4439            case LINUX_MAN_PAGES_COPYLEFT_2_PARA: return "http://hl7.org/fhir/spdx-license";
4440            case LINUX_MAN_PAGES_COPYLEFT_VAR: return "http://hl7.org/fhir/spdx-license";
4441            case LINUX_OPENIB: return "http://hl7.org/fhir/spdx-license";
4442            case LOOP: return "http://hl7.org/fhir/spdx-license";
4443            case LPL_1_0: return "http://hl7.org/fhir/spdx-license";
4444            case LPL_1_02: return "http://hl7.org/fhir/spdx-license";
4445            case LPPL_1_0: return "http://hl7.org/fhir/spdx-license";
4446            case LPPL_1_1: return "http://hl7.org/fhir/spdx-license";
4447            case LPPL_1_2: return "http://hl7.org/fhir/spdx-license";
4448            case LPPL_1_3A: return "http://hl7.org/fhir/spdx-license";
4449            case LPPL_1_3C: return "http://hl7.org/fhir/spdx-license";
4450            case LZMA_SDK_9_11_TO_9_20: return "http://hl7.org/fhir/spdx-license";
4451            case LZMA_SDK_9_22: return "http://hl7.org/fhir/spdx-license";
4452            case MAKEINDEX: return "http://hl7.org/fhir/spdx-license";
4453            case MARTIN_BIRGMEIER: return "http://hl7.org/fhir/spdx-license";
4454            case METAMAIL: return "http://hl7.org/fhir/spdx-license";
4455            case MINPACK: return "http://hl7.org/fhir/spdx-license";
4456            case MIROS: return "http://hl7.org/fhir/spdx-license";
4457            case MIT: return "http://hl7.org/fhir/spdx-license";
4458            case MIT_0: return "http://hl7.org/fhir/spdx-license";
4459            case MIT_ADVERTISING: return "http://hl7.org/fhir/spdx-license";
4460            case MIT_CMU: return "http://hl7.org/fhir/spdx-license";
4461            case MIT_ENNA: return "http://hl7.org/fhir/spdx-license";
4462            case MIT_FEH: return "http://hl7.org/fhir/spdx-license";
4463            case MIT_FESTIVAL: return "http://hl7.org/fhir/spdx-license";
4464            case MIT_MODERN_VARIANT: return "http://hl7.org/fhir/spdx-license";
4465            case MIT_OPEN_GROUP: return "http://hl7.org/fhir/spdx-license";
4466            case MIT_WU: return "http://hl7.org/fhir/spdx-license";
4467            case MITNFA: return "http://hl7.org/fhir/spdx-license";
4468            case MOTOSOTO: return "http://hl7.org/fhir/spdx-license";
4469            case MPI_PERMISSIVE: return "http://hl7.org/fhir/spdx-license";
4470            case MPICH2: return "http://hl7.org/fhir/spdx-license";
4471            case MPL_1_0: return "http://hl7.org/fhir/spdx-license";
4472            case MPL_1_1: return "http://hl7.org/fhir/spdx-license";
4473            case MPL_2_0: return "http://hl7.org/fhir/spdx-license";
4474            case MPL_2_0_NO_COPYLEFT_EXCEPTION: return "http://hl7.org/fhir/spdx-license";
4475            case MPLUS: return "http://hl7.org/fhir/spdx-license";
4476            case MS_LPL: return "http://hl7.org/fhir/spdx-license";
4477            case MS_PL: return "http://hl7.org/fhir/spdx-license";
4478            case MS_RL: return "http://hl7.org/fhir/spdx-license";
4479            case MTLL: return "http://hl7.org/fhir/spdx-license";
4480            case MULANPSL_1_0: return "http://hl7.org/fhir/spdx-license";
4481            case MULANPSL_2_0: return "http://hl7.org/fhir/spdx-license";
4482            case MULTICS: return "http://hl7.org/fhir/spdx-license";
4483            case MUP: return "http://hl7.org/fhir/spdx-license";
4484            case NAIST_2003: return "http://hl7.org/fhir/spdx-license";
4485            case NASA_1_3: return "http://hl7.org/fhir/spdx-license";
4486            case NAUMEN: return "http://hl7.org/fhir/spdx-license";
4487            case NBPL_1_0: return "http://hl7.org/fhir/spdx-license";
4488            case NCGL_UK_2_0: return "http://hl7.org/fhir/spdx-license";
4489            case NCSA: return "http://hl7.org/fhir/spdx-license";
4490            case NET_SNMP: return "http://hl7.org/fhir/spdx-license";
4491            case NETCDF: return "http://hl7.org/fhir/spdx-license";
4492            case NEWSLETR: return "http://hl7.org/fhir/spdx-license";
4493            case NGPL: return "http://hl7.org/fhir/spdx-license";
4494            case NICTA_1_0: return "http://hl7.org/fhir/spdx-license";
4495            case NIST_PD: return "http://hl7.org/fhir/spdx-license";
4496            case NIST_PD_FALLBACK: return "http://hl7.org/fhir/spdx-license";
4497            case NIST_SOFTWARE: return "http://hl7.org/fhir/spdx-license";
4498            case NLOD_1_0: return "http://hl7.org/fhir/spdx-license";
4499            case NLOD_2_0: return "http://hl7.org/fhir/spdx-license";
4500            case NLPL: return "http://hl7.org/fhir/spdx-license";
4501            case NOKIA: return "http://hl7.org/fhir/spdx-license";
4502            case NOSL: return "http://hl7.org/fhir/spdx-license";
4503            case NOT_OPEN_SOURCE: return "http://hl7.org/fhir/spdx-license";
4504            case NOWEB: return "http://hl7.org/fhir/spdx-license";
4505            case NPL_1_0: return "http://hl7.org/fhir/spdx-license";
4506            case NPL_1_1: return "http://hl7.org/fhir/spdx-license";
4507            case NPOSL_3_0: return "http://hl7.org/fhir/spdx-license";
4508            case NRL: return "http://hl7.org/fhir/spdx-license";
4509            case NTP: return "http://hl7.org/fhir/spdx-license";
4510            case NTP_0: return "http://hl7.org/fhir/spdx-license";
4511            case NUNIT: return "http://hl7.org/fhir/spdx-license";
4512            case O_UDA_1_0: return "http://hl7.org/fhir/spdx-license";
4513            case OCCT_PL: return "http://hl7.org/fhir/spdx-license";
4514            case OCLC_2_0: return "http://hl7.org/fhir/spdx-license";
4515            case ODBL_1_0: return "http://hl7.org/fhir/spdx-license";
4516            case ODC_BY_1_0: return "http://hl7.org/fhir/spdx-license";
4517            case OFFIS: return "http://hl7.org/fhir/spdx-license";
4518            case OFL_1_0: return "http://hl7.org/fhir/spdx-license";
4519            case OFL_1_0_NO_RFN: return "http://hl7.org/fhir/spdx-license";
4520            case OFL_1_0_RFN: return "http://hl7.org/fhir/spdx-license";
4521            case OFL_1_1: return "http://hl7.org/fhir/spdx-license";
4522            case OFL_1_1_NO_RFN: return "http://hl7.org/fhir/spdx-license";
4523            case OFL_1_1_RFN: return "http://hl7.org/fhir/spdx-license";
4524            case OGC_1_0: return "http://hl7.org/fhir/spdx-license";
4525            case OGDL_TAIWAN_1_0: return "http://hl7.org/fhir/spdx-license";
4526            case OGL_CANADA_2_0: return "http://hl7.org/fhir/spdx-license";
4527            case OGL_UK_1_0: return "http://hl7.org/fhir/spdx-license";
4528            case OGL_UK_2_0: return "http://hl7.org/fhir/spdx-license";
4529            case OGL_UK_3_0: return "http://hl7.org/fhir/spdx-license";
4530            case OGTSL: return "http://hl7.org/fhir/spdx-license";
4531            case OLDAP_1_1: return "http://hl7.org/fhir/spdx-license";
4532            case OLDAP_1_2: return "http://hl7.org/fhir/spdx-license";
4533            case OLDAP_1_3: return "http://hl7.org/fhir/spdx-license";
4534            case OLDAP_1_4: return "http://hl7.org/fhir/spdx-license";
4535            case OLDAP_2_0: return "http://hl7.org/fhir/spdx-license";
4536            case OLDAP_2_0_1: return "http://hl7.org/fhir/spdx-license";
4537            case OLDAP_2_1: return "http://hl7.org/fhir/spdx-license";
4538            case OLDAP_2_2: return "http://hl7.org/fhir/spdx-license";
4539            case OLDAP_2_2_1: return "http://hl7.org/fhir/spdx-license";
4540            case OLDAP_2_2_2: return "http://hl7.org/fhir/spdx-license";
4541            case OLDAP_2_3: return "http://hl7.org/fhir/spdx-license";
4542            case OLDAP_2_4: return "http://hl7.org/fhir/spdx-license";
4543            case OLDAP_2_5: return "http://hl7.org/fhir/spdx-license";
4544            case OLDAP_2_6: return "http://hl7.org/fhir/spdx-license";
4545            case OLDAP_2_7: return "http://hl7.org/fhir/spdx-license";
4546            case OLDAP_2_8: return "http://hl7.org/fhir/spdx-license";
4547            case OLFL_1_3: return "http://hl7.org/fhir/spdx-license";
4548            case OML: return "http://hl7.org/fhir/spdx-license";
4549            case OPENPBS_2_3: return "http://hl7.org/fhir/spdx-license";
4550            case OPENSSL: return "http://hl7.org/fhir/spdx-license";
4551            case OPL_1_0: return "http://hl7.org/fhir/spdx-license";
4552            case OPL_UK_3_0: return "http://hl7.org/fhir/spdx-license";
4553            case OPUBL_1_0: return "http://hl7.org/fhir/spdx-license";
4554            case OSET_PL_2_1: return "http://hl7.org/fhir/spdx-license";
4555            case OSL_1_0: return "http://hl7.org/fhir/spdx-license";
4556            case OSL_1_1: return "http://hl7.org/fhir/spdx-license";
4557            case OSL_2_0: return "http://hl7.org/fhir/spdx-license";
4558            case OSL_2_1: return "http://hl7.org/fhir/spdx-license";
4559            case OSL_3_0: return "http://hl7.org/fhir/spdx-license";
4560            case PARITY_6_0_0: return "http://hl7.org/fhir/spdx-license";
4561            case PARITY_7_0_0: return "http://hl7.org/fhir/spdx-license";
4562            case PDDL_1_0: return "http://hl7.org/fhir/spdx-license";
4563            case PHP_3_0: return "http://hl7.org/fhir/spdx-license";
4564            case PHP_3_01: return "http://hl7.org/fhir/spdx-license";
4565            case PLEXUS: return "http://hl7.org/fhir/spdx-license";
4566            case POLYFORM_NONCOMMERCIAL_1_0_0: return "http://hl7.org/fhir/spdx-license";
4567            case POLYFORM_SMALL_BUSINESS_1_0_0: return "http://hl7.org/fhir/spdx-license";
4568            case POSTGRESQL: return "http://hl7.org/fhir/spdx-license";
4569            case PSF_2_0: return "http://hl7.org/fhir/spdx-license";
4570            case PSFRAG: return "http://hl7.org/fhir/spdx-license";
4571            case PSUTILS: return "http://hl7.org/fhir/spdx-license";
4572            case PYTHON_2_0: return "http://hl7.org/fhir/spdx-license";
4573            case PYTHON_2_0_1: return "http://hl7.org/fhir/spdx-license";
4574            case QHULL: return "http://hl7.org/fhir/spdx-license";
4575            case QPL_1_0: return "http://hl7.org/fhir/spdx-license";
4576            case QPL_1_0_INRIA_2004: return "http://hl7.org/fhir/spdx-license";
4577            case RDISC: return "http://hl7.org/fhir/spdx-license";
4578            case RHECOS_1_1: return "http://hl7.org/fhir/spdx-license";
4579            case RPL_1_1: return "http://hl7.org/fhir/spdx-license";
4580            case RPL_1_5: return "http://hl7.org/fhir/spdx-license";
4581            case RPSL_1_0: return "http://hl7.org/fhir/spdx-license";
4582            case RSA_MD: return "http://hl7.org/fhir/spdx-license";
4583            case RSCPL: return "http://hl7.org/fhir/spdx-license";
4584            case RUBY: return "http://hl7.org/fhir/spdx-license";
4585            case SAX_PD: return "http://hl7.org/fhir/spdx-license";
4586            case SAXPATH: return "http://hl7.org/fhir/spdx-license";
4587            case SCEA: return "http://hl7.org/fhir/spdx-license";
4588            case SCHEMEREPORT: return "http://hl7.org/fhir/spdx-license";
4589            case SENDMAIL: return "http://hl7.org/fhir/spdx-license";
4590            case SENDMAIL_8_23: return "http://hl7.org/fhir/spdx-license";
4591            case SGI_B_1_0: return "http://hl7.org/fhir/spdx-license";
4592            case SGI_B_1_1: return "http://hl7.org/fhir/spdx-license";
4593            case SGI_B_2_0: return "http://hl7.org/fhir/spdx-license";
4594            case SGP4: return "http://hl7.org/fhir/spdx-license";
4595            case SHL_0_5: return "http://hl7.org/fhir/spdx-license";
4596            case SHL_0_51: return "http://hl7.org/fhir/spdx-license";
4597            case SIMPL_2_0: return "http://hl7.org/fhir/spdx-license";
4598            case SISSL: return "http://hl7.org/fhir/spdx-license";
4599            case SISSL_1_2: return "http://hl7.org/fhir/spdx-license";
4600            case SLEEPYCAT: return "http://hl7.org/fhir/spdx-license";
4601            case SMLNJ: return "http://hl7.org/fhir/spdx-license";
4602            case SMPPL: return "http://hl7.org/fhir/spdx-license";
4603            case SNIA: return "http://hl7.org/fhir/spdx-license";
4604            case SNPRINTF: return "http://hl7.org/fhir/spdx-license";
4605            case SPENCER_86: return "http://hl7.org/fhir/spdx-license";
4606            case SPENCER_94: return "http://hl7.org/fhir/spdx-license";
4607            case SPENCER_99: return "http://hl7.org/fhir/spdx-license";
4608            case SPL_1_0: return "http://hl7.org/fhir/spdx-license";
4609            case SSH_OPENSSH: return "http://hl7.org/fhir/spdx-license";
4610            case SSH_SHORT: return "http://hl7.org/fhir/spdx-license";
4611            case SSPL_1_0: return "http://hl7.org/fhir/spdx-license";
4612            case STANDARDML_NJ: return "http://hl7.org/fhir/spdx-license";
4613            case SUGARCRM_1_1_3: return "http://hl7.org/fhir/spdx-license";
4614            case SUNPRO: return "http://hl7.org/fhir/spdx-license";
4615            case SWL: return "http://hl7.org/fhir/spdx-license";
4616            case SYMLINKS: return "http://hl7.org/fhir/spdx-license";
4617            case TAPR_OHL_1_0: return "http://hl7.org/fhir/spdx-license";
4618            case TCL: return "http://hl7.org/fhir/spdx-license";
4619            case TCP_WRAPPERS: return "http://hl7.org/fhir/spdx-license";
4620            case TERMREADKEY: return "http://hl7.org/fhir/spdx-license";
4621            case TMATE: return "http://hl7.org/fhir/spdx-license";
4622            case TORQUE_1_1: return "http://hl7.org/fhir/spdx-license";
4623            case TOSL: return "http://hl7.org/fhir/spdx-license";
4624            case TPDL: return "http://hl7.org/fhir/spdx-license";
4625            case TPL_1_0: return "http://hl7.org/fhir/spdx-license";
4626            case TTWL: return "http://hl7.org/fhir/spdx-license";
4627            case TU_BERLIN_1_0: return "http://hl7.org/fhir/spdx-license";
4628            case TU_BERLIN_2_0: return "http://hl7.org/fhir/spdx-license";
4629            case UCAR: return "http://hl7.org/fhir/spdx-license";
4630            case UCL_1_0: return "http://hl7.org/fhir/spdx-license";
4631            case UNICODE_DFS_2015: return "http://hl7.org/fhir/spdx-license";
4632            case UNICODE_DFS_2016: return "http://hl7.org/fhir/spdx-license";
4633            case UNICODE_TOU: return "http://hl7.org/fhir/spdx-license";
4634            case UNIXCRYPT: return "http://hl7.org/fhir/spdx-license";
4635            case UNLICENSE: return "http://hl7.org/fhir/spdx-license";
4636            case UPL_1_0: return "http://hl7.org/fhir/spdx-license";
4637            case VIM: return "http://hl7.org/fhir/spdx-license";
4638            case VOSTROM: return "http://hl7.org/fhir/spdx-license";
4639            case VSL_1_0: return "http://hl7.org/fhir/spdx-license";
4640            case W3C: return "http://hl7.org/fhir/spdx-license";
4641            case W3C_19980720: return "http://hl7.org/fhir/spdx-license";
4642            case W3C_20150513: return "http://hl7.org/fhir/spdx-license";
4643            case W3M: return "http://hl7.org/fhir/spdx-license";
4644            case WATCOM_1_0: return "http://hl7.org/fhir/spdx-license";
4645            case WIDGET_WORKSHOP: return "http://hl7.org/fhir/spdx-license";
4646            case WSUIPA: return "http://hl7.org/fhir/spdx-license";
4647            case WTFPL: return "http://hl7.org/fhir/spdx-license";
4648            case WXWINDOWS: return "http://hl7.org/fhir/spdx-license";
4649            case X11: return "http://hl7.org/fhir/spdx-license";
4650            case X11_DISTRIBUTE_MODIFICATIONS_VARIANT: return "http://hl7.org/fhir/spdx-license";
4651            case XDEBUG_1_03: return "http://hl7.org/fhir/spdx-license";
4652            case XEROX: return "http://hl7.org/fhir/spdx-license";
4653            case XFIG: return "http://hl7.org/fhir/spdx-license";
4654            case XFREE86_1_1: return "http://hl7.org/fhir/spdx-license";
4655            case XINETD: return "http://hl7.org/fhir/spdx-license";
4656            case XLOCK: return "http://hl7.org/fhir/spdx-license";
4657            case XNET: return "http://hl7.org/fhir/spdx-license";
4658            case XPP: return "http://hl7.org/fhir/spdx-license";
4659            case XSKAT: return "http://hl7.org/fhir/spdx-license";
4660            case YPL_1_0: return "http://hl7.org/fhir/spdx-license";
4661            case YPL_1_1: return "http://hl7.org/fhir/spdx-license";
4662            case ZED: return "http://hl7.org/fhir/spdx-license";
4663            case ZEND_2_0: return "http://hl7.org/fhir/spdx-license";
4664            case ZIMBRA_1_3: return "http://hl7.org/fhir/spdx-license";
4665            case ZIMBRA_1_4: return "http://hl7.org/fhir/spdx-license";
4666            case ZLIB: return "http://hl7.org/fhir/spdx-license";
4667            case ZLIB_ACKNOWLEDGEMENT: return "http://hl7.org/fhir/spdx-license";
4668            case ZPL_1_1: return "http://hl7.org/fhir/spdx-license";
4669            case ZPL_2_0: return "http://hl7.org/fhir/spdx-license";
4670            case ZPL_2_1: return "http://hl7.org/fhir/spdx-license";
4671            case NULL: return null;
4672            default: return "?";
4673          }
4674        }
4675        public String getDefinition() {
4676          switch (this) {
4677            case _0BSD: return "BSD Zero Clause License";
4678            case AAL: return "Attribution Assurance License";
4679            case ABSTYLES: return "Abstyles License";
4680            case ADACORE_DOC: return "AdaCore Doc License";
4681            case ADOBE_2006: return "Adobe Systems Incorporated Source Code License Agreement";
4682            case ADOBE_GLYPH: return "Adobe Glyph List License";
4683            case ADSL: return "Amazon Digital Services License";
4684            case AFL_1_1: return "Academic Free License v1.1";
4685            case AFL_1_2: return "Academic Free License v1.2";
4686            case AFL_2_0: return "Academic Free License v2.0";
4687            case AFL_2_1: return "Academic Free License v2.1";
4688            case AFL_3_0: return "Academic Free License v3.0";
4689            case AFMPARSE: return "Afmparse License";
4690            case AGPL_1_0: return "Affero General Public License v1.0";
4691            case AGPL_1_0_ONLY: return "Affero General Public License v1.0 only";
4692            case AGPL_1_0_OR_LATER: return "Affero General Public License v1.0 or later";
4693            case AGPL_3_0: return "GNU Affero General Public License v3.0";
4694            case AGPL_3_0_ONLY: return "GNU Affero General Public License v3.0 only";
4695            case AGPL_3_0_OR_LATER: return "GNU Affero General Public License v3.0 or later";
4696            case ALADDIN: return "Aladdin Free Public License";
4697            case AMDPLPA: return "AMD's plpa_map.c License";
4698            case AML: return "Apple MIT License";
4699            case AMPAS: return "Academy of Motion Picture Arts and Sciences BSD";
4700            case ANTLR_PD: return "ANTLR Software Rights Notice";
4701            case ANTLR_PD_FALLBACK: return "ANTLR Software Rights Notice with license fallback";
4702            case APACHE_1_0: return "Apache License 1.0";
4703            case APACHE_1_1: return "Apache License 1.1";
4704            case APACHE_2_0: return "Apache License 2.0";
4705            case APAFML: return "Adobe Postscript AFM License";
4706            case APL_1_0: return "Adaptive Public License 1.0";
4707            case APP_S2P: return "App::s2p License";
4708            case APSL_1_0: return "Apple Public Source License 1.0";
4709            case APSL_1_1: return "Apple Public Source License 1.1";
4710            case APSL_1_2: return "Apple Public Source License 1.2";
4711            case APSL_2_0: return "Apple Public Source License 2.0";
4712            case ARPHIC_1999: return "Arphic Public License";
4713            case ARTISTIC_1_0: return "Artistic License 1.0";
4714            case ARTISTIC_1_0_CL8: return "Artistic License 1.0 w/clause 8";
4715            case ARTISTIC_1_0_PERL: return "Artistic License 1.0 (Perl)";
4716            case ARTISTIC_2_0: return "Artistic License 2.0";
4717            case ASWF_DIGITAL_ASSETS_1_0: return "ASWF Digital Assets License version 1.0";
4718            case ASWF_DIGITAL_ASSETS_1_1: return "ASWF Digital Assets License 1.1";
4719            case BAEKMUK: return "Baekmuk License";
4720            case BAHYPH: return "Bahyph License";
4721            case BARR: return "Barr License";
4722            case BEERWARE: return "Beerware License";
4723            case BITSTREAM_CHARTER: return "Bitstream Charter Font License";
4724            case BITSTREAM_VERA: return "Bitstream Vera Font License";
4725            case BITTORRENT_1_0: return "BitTorrent Open Source License v1.0";
4726            case BITTORRENT_1_1: return "BitTorrent Open Source License v1.1";
4727            case BLESSING: return "SQLite Blessing";
4728            case BLUEOAK_1_0_0: return "Blue Oak Model License 1.0.0";
4729            case BOEHM_GC: return "Boehm-Demers-Weiser GC License";
4730            case BORCEUX: return "Borceux license";
4731            case BRIAN_GLADMAN_3_CLAUSE: return "Brian Gladman 3-Clause License";
4732            case BSD_1_CLAUSE: return "BSD 1-Clause License";
4733            case BSD_2_CLAUSE: return "BSD 2-Clause \"Simplified\" License";
4734            case BSD_2_CLAUSE_FREEBSD: return "BSD 2-Clause FreeBSD License";
4735            case BSD_2_CLAUSE_NETBSD: return "BSD 2-Clause NetBSD License";
4736            case BSD_2_CLAUSE_PATENT: return "BSD-2-Clause Plus Patent License";
4737            case BSD_2_CLAUSE_VIEWS: return "BSD 2-Clause with views sentence";
4738            case BSD_3_CLAUSE: return "BSD 3-Clause \"New\" or \"Revised\" License";
4739            case BSD_3_CLAUSE_ATTRIBUTION: return "BSD with attribution";
4740            case BSD_3_CLAUSE_CLEAR: return "BSD 3-Clause Clear License";
4741            case BSD_3_CLAUSE_LBNL: return "Lawrence Berkeley National Labs BSD variant license";
4742            case BSD_3_CLAUSE_MODIFICATION: return "BSD 3-Clause Modification";
4743            case BSD_3_CLAUSE_NO_MILITARY_LICENSE: return "BSD 3-Clause No Military License";
4744            case BSD_3_CLAUSE_NO_NUCLEAR_LICENSE: return "BSD 3-Clause No Nuclear License";
4745            case BSD_3_CLAUSE_NO_NUCLEAR_LICENSE_2014: return "BSD 3-Clause No Nuclear License 2014";
4746            case BSD_3_CLAUSE_NO_NUCLEAR_WARRANTY: return "BSD 3-Clause No Nuclear Warranty";
4747            case BSD_3_CLAUSE_OPEN_MPI: return "BSD 3-Clause Open MPI variant";
4748            case BSD_4_CLAUSE: return "BSD 4-Clause \"Original\" or \"Old\" License";
4749            case BSD_4_CLAUSE_SHORTENED: return "BSD 4 Clause Shortened";
4750            case BSD_4_CLAUSE_UC: return "BSD-4-Clause (University of California-Specific)";
4751            case BSD_4_3RENO: return "BSD 4.3 RENO License";
4752            case BSD_4_3TAHOE: return "BSD 4.3 TAHOE License";
4753            case BSD_ADVERTISING_ACKNOWLEDGEMENT: return "BSD Advertising Acknowledgement License";
4754            case BSD_ATTRIBUTION_HPND_DISCLAIMER: return "BSD with Attribution and HPND disclaimer";
4755            case BSD_PROTECTION: return "BSD Protection License";
4756            case BSD_SOURCE_CODE: return "BSD Source Code Attribution";
4757            case BSL_1_0: return "Boost Software License 1.0";
4758            case BUSL_1_1: return "Business Source License 1.1";
4759            case BZIP2_1_0_5: return "bzip2 and libbzip2 License v1.0.5";
4760            case BZIP2_1_0_6: return "bzip2 and libbzip2 License v1.0.6";
4761            case C_UDA_1_0: return "Computational Use of Data Agreement v1.0";
4762            case CAL_1_0: return "Cryptographic Autonomy License 1.0";
4763            case CAL_1_0_COMBINED_WORK_EXCEPTION: return "Cryptographic Autonomy License 1.0 (Combined Work Exception)";
4764            case CALDERA: return "Caldera License";
4765            case CATOSL_1_1: return "Computer Associates Trusted Open Source License 1.1";
4766            case CC_BY_1_0: return "Creative Commons Attribution 1.0 Generic";
4767            case CC_BY_2_0: return "Creative Commons Attribution 2.0 Generic";
4768            case CC_BY_2_5: return "Creative Commons Attribution 2.5 Generic";
4769            case CC_BY_2_5_AU: return "Creative Commons Attribution 2.5 Australia";
4770            case CC_BY_3_0: return "Creative Commons Attribution 3.0 Unported";
4771            case CC_BY_3_0_AT: return "Creative Commons Attribution 3.0 Austria";
4772            case CC_BY_3_0_DE: return "Creative Commons Attribution 3.0 Germany";
4773            case CC_BY_3_0_IGO: return "Creative Commons Attribution 3.0 IGO";
4774            case CC_BY_3_0_NL: return "Creative Commons Attribution 3.0 Netherlands";
4775            case CC_BY_3_0_US: return "Creative Commons Attribution 3.0 United States";
4776            case CC_BY_4_0: return "Creative Commons Attribution 4.0 International";
4777            case CC_BY_NC_1_0: return "Creative Commons Attribution Non Commercial 1.0 Generic";
4778            case CC_BY_NC_2_0: return "Creative Commons Attribution Non Commercial 2.0 Generic";
4779            case CC_BY_NC_2_5: return "Creative Commons Attribution Non Commercial 2.5 Generic";
4780            case CC_BY_NC_3_0: return "Creative Commons Attribution Non Commercial 3.0 Unported";
4781            case CC_BY_NC_3_0_DE: return "Creative Commons Attribution Non Commercial 3.0 Germany";
4782            case CC_BY_NC_4_0: return "Creative Commons Attribution Non Commercial 4.0 International";
4783            case CC_BY_NC_ND_1_0: return "Creative Commons Attribution Non Commercial No Derivatives 1.0 Generic";
4784            case CC_BY_NC_ND_2_0: return "Creative Commons Attribution Non Commercial No Derivatives 2.0 Generic";
4785            case CC_BY_NC_ND_2_5: return "Creative Commons Attribution Non Commercial No Derivatives 2.5 Generic";
4786            case CC_BY_NC_ND_3_0: return "Creative Commons Attribution Non Commercial No Derivatives 3.0 Unported";
4787            case CC_BY_NC_ND_3_0_DE: return "Creative Commons Attribution Non Commercial No Derivatives 3.0 Germany";
4788            case CC_BY_NC_ND_3_0_IGO: return "Creative Commons Attribution Non Commercial No Derivatives 3.0 IGO";
4789            case CC_BY_NC_ND_4_0: return "Creative Commons Attribution Non Commercial No Derivatives 4.0 International";
4790            case CC_BY_NC_SA_1_0: return "Creative Commons Attribution Non Commercial Share Alike 1.0 Generic";
4791            case CC_BY_NC_SA_2_0: return "Creative Commons Attribution Non Commercial Share Alike 2.0 Generic";
4792            case CC_BY_NC_SA_2_0_DE: return "Creative Commons Attribution Non Commercial Share Alike 2.0 Germany";
4793            case CC_BY_NC_SA_2_0_FR: return "Creative Commons Attribution-NonCommercial-ShareAlike 2.0 France";
4794            case CC_BY_NC_SA_2_0_UK: return "Creative Commons Attribution Non Commercial Share Alike 2.0 England and Wales";
4795            case CC_BY_NC_SA_2_5: return "Creative Commons Attribution Non Commercial Share Alike 2.5 Generic";
4796            case CC_BY_NC_SA_3_0: return "Creative Commons Attribution Non Commercial Share Alike 3.0 Unported";
4797            case CC_BY_NC_SA_3_0_DE: return "Creative Commons Attribution Non Commercial Share Alike 3.0 Germany";
4798            case CC_BY_NC_SA_3_0_IGO: return "Creative Commons Attribution Non Commercial Share Alike 3.0 IGO";
4799            case CC_BY_NC_SA_4_0: return "Creative Commons Attribution Non Commercial Share Alike 4.0 International";
4800            case CC_BY_ND_1_0: return "Creative Commons Attribution No Derivatives 1.0 Generic";
4801            case CC_BY_ND_2_0: return "Creative Commons Attribution No Derivatives 2.0 Generic";
4802            case CC_BY_ND_2_5: return "Creative Commons Attribution No Derivatives 2.5 Generic";
4803            case CC_BY_ND_3_0: return "Creative Commons Attribution No Derivatives 3.0 Unported";
4804            case CC_BY_ND_3_0_DE: return "Creative Commons Attribution No Derivatives 3.0 Germany";
4805            case CC_BY_ND_4_0: return "Creative Commons Attribution No Derivatives 4.0 International";
4806            case CC_BY_SA_1_0: return "Creative Commons Attribution Share Alike 1.0 Generic";
4807            case CC_BY_SA_2_0: return "Creative Commons Attribution Share Alike 2.0 Generic";
4808            case CC_BY_SA_2_0_UK: return "Creative Commons Attribution Share Alike 2.0 England and Wales";
4809            case CC_BY_SA_2_1_JP: return "Creative Commons Attribution Share Alike 2.1 Japan";
4810            case CC_BY_SA_2_5: return "Creative Commons Attribution Share Alike 2.5 Generic";
4811            case CC_BY_SA_3_0: return "Creative Commons Attribution Share Alike 3.0 Unported";
4812            case CC_BY_SA_3_0_AT: return "Creative Commons Attribution Share Alike 3.0 Austria";
4813            case CC_BY_SA_3_0_DE: return "Creative Commons Attribution Share Alike 3.0 Germany";
4814            case CC_BY_SA_3_0_IGO: return "Creative Commons Attribution-ShareAlike 3.0 IGO";
4815            case CC_BY_SA_4_0: return "Creative Commons Attribution Share Alike 4.0 International";
4816            case CC_PDDC: return "Creative Commons Public Domain Dedication and Certification";
4817            case CC0_1_0: return "Creative Commons Zero v1.0 Universal";
4818            case CDDL_1_0: return "Common Development and Distribution License 1.0";
4819            case CDDL_1_1: return "Common Development and Distribution License 1.1";
4820            case CDL_1_0: return "Common Documentation License 1.0";
4821            case CDLA_PERMISSIVE_1_0: return "Community Data License Agreement Permissive 1.0";
4822            case CDLA_PERMISSIVE_2_0: return "Community Data License Agreement Permissive 2.0";
4823            case CDLA_SHARING_1_0: return "Community Data License Agreement Sharing 1.0";
4824            case CECILL_1_0: return "CeCILL Free Software License Agreement v1.0";
4825            case CECILL_1_1: return "CeCILL Free Software License Agreement v1.1";
4826            case CECILL_2_0: return "CeCILL Free Software License Agreement v2.0";
4827            case CECILL_2_1: return "CeCILL Free Software License Agreement v2.1";
4828            case CECILL_B: return "CeCILL-B Free Software License Agreement";
4829            case CECILL_C: return "CeCILL-C Free Software License Agreement";
4830            case CERN_OHL_1_1: return "CERN Open Hardware Licence v1.1";
4831            case CERN_OHL_1_2: return "CERN Open Hardware Licence v1.2";
4832            case CERN_OHL_P_2_0: return "CERN Open Hardware Licence Version 2 - Permissive";
4833            case CERN_OHL_S_2_0: return "CERN Open Hardware Licence Version 2 - Strongly Reciprocal";
4834            case CERN_OHL_W_2_0: return "CERN Open Hardware Licence Version 2 - Weakly Reciprocal";
4835            case CFITSIO: return "CFITSIO License";
4836            case CHECKMK: return "Checkmk License";
4837            case CLARTISTIC: return "Clarified Artistic License";
4838            case CLIPS: return "Clips License";
4839            case CMU_MACH: return "CMU Mach License";
4840            case CNRI_JYTHON: return "CNRI Jython License";
4841            case CNRI_PYTHON: return "CNRI Python License";
4842            case CNRI_PYTHON_GPL_COMPATIBLE: return "CNRI Python Open Source GPL Compatible License Agreement";
4843            case COIL_1_0: return "Copyfree Open Innovation License";
4844            case COMMUNITY_SPEC_1_0: return "Community Specification License 1.0";
4845            case CONDOR_1_1: return "Condor Public License v1.1";
4846            case COPYLEFT_NEXT_0_3_0: return "copyleft-next 0.3.0";
4847            case COPYLEFT_NEXT_0_3_1: return "copyleft-next 0.3.1";
4848            case CORNELL_LOSSLESS_JPEG: return "Cornell Lossless JPEG License";
4849            case CPAL_1_0: return "Common Public Attribution License 1.0";
4850            case CPL_1_0: return "Common Public License 1.0";
4851            case CPOL_1_02: return "Code Project Open License 1.02";
4852            case CROSSWORD: return "Crossword License";
4853            case CRYSTALSTACKER: return "CrystalStacker License";
4854            case CUA_OPL_1_0: return "CUA Office Public License v1.0";
4855            case CUBE: return "Cube License";
4856            case CURL: return "curl License";
4857            case D_FSL_1_0: return "Deutsche Freie Software Lizenz";
4858            case DIFFMARK: return "diffmark license";
4859            case DL_DE_BY_2_0: return "Data licence Germany ? attribution ? version 2.0";
4860            case DOC: return "DOC License";
4861            case DOTSEQN: return "Dotseqn License";
4862            case DRL_1_0: return "Detection Rule License 1.0";
4863            case DSDP: return "DSDP License";
4864            case DTOA: return "David M. Gay dtoa License";
4865            case DVIPDFM: return "dvipdfm License";
4866            case ECL_1_0: return "Educational Community License v1.0";
4867            case ECL_2_0: return "Educational Community License v2.0";
4868            case ECOS_2_0: return "eCos license version 2.0";
4869            case EFL_1_0: return "Eiffel Forum License v1.0";
4870            case EFL_2_0: return "Eiffel Forum License v2.0";
4871            case EGENIX: return "eGenix.com Public License 1.1.0";
4872            case ELASTIC_2_0: return "Elastic License 2.0";
4873            case ENTESSA: return "Entessa Public License v1.0";
4874            case EPICS: return "EPICS Open License";
4875            case EPL_1_0: return "Eclipse Public License 1.0";
4876            case EPL_2_0: return "Eclipse Public License 2.0";
4877            case ERLPL_1_1: return "Erlang Public License v1.1";
4878            case ETALAB_2_0: return "Etalab Open License 2.0";
4879            case EUDATAGRID: return "EU DataGrid Software License";
4880            case EUPL_1_0: return "European Union Public License 1.0";
4881            case EUPL_1_1: return "European Union Public License 1.1";
4882            case EUPL_1_2: return "European Union Public License 1.2";
4883            case EUROSYM: return "Eurosym License";
4884            case FAIR: return "Fair License";
4885            case FDK_AAC: return "Fraunhofer FDK AAC Codec Library";
4886            case FRAMEWORX_1_0: return "Frameworx Open License 1.0";
4887            case FREEBSD_DOC: return "FreeBSD Documentation License";
4888            case FREEIMAGE: return "FreeImage Public License v1.0";
4889            case FSFAP: return "FSF All Permissive License";
4890            case FSFUL: return "FSF Unlimited License";
4891            case FSFULLR: return "FSF Unlimited License (with License Retention)";
4892            case FSFULLRWD: return "FSF Unlimited License (With License Retention and Warranty Disclaimer)";
4893            case FTL: return "Freetype Project License";
4894            case GD: return "GD License";
4895            case GFDL_1_1: return "GNU Free Documentation License v1.1";
4896            case GFDL_1_1_INVARIANTS_ONLY: return "GNU Free Documentation License v1.1 only - invariants";
4897            case GFDL_1_1_INVARIANTS_OR_LATER: return "GNU Free Documentation License v1.1 or later - invariants";
4898            case GFDL_1_1_NO_INVARIANTS_ONLY: return "GNU Free Documentation License v1.1 only - no invariants";
4899            case GFDL_1_1_NO_INVARIANTS_OR_LATER: return "GNU Free Documentation License v1.1 or later - no invariants";
4900            case GFDL_1_1_ONLY: return "GNU Free Documentation License v1.1 only";
4901            case GFDL_1_1_OR_LATER: return "GNU Free Documentation License v1.1 or later";
4902            case GFDL_1_2: return "GNU Free Documentation License v1.2";
4903            case GFDL_1_2_INVARIANTS_ONLY: return "GNU Free Documentation License v1.2 only - invariants";
4904            case GFDL_1_2_INVARIANTS_OR_LATER: return "GNU Free Documentation License v1.2 or later - invariants";
4905            case GFDL_1_2_NO_INVARIANTS_ONLY: return "GNU Free Documentation License v1.2 only - no invariants";
4906            case GFDL_1_2_NO_INVARIANTS_OR_LATER: return "GNU Free Documentation License v1.2 or later - no invariants";
4907            case GFDL_1_2_ONLY: return "GNU Free Documentation License v1.2 only";
4908            case GFDL_1_2_OR_LATER: return "GNU Free Documentation License v1.2 or later";
4909            case GFDL_1_3: return "GNU Free Documentation License v1.3";
4910            case GFDL_1_3_INVARIANTS_ONLY: return "GNU Free Documentation License v1.3 only - invariants";
4911            case GFDL_1_3_INVARIANTS_OR_LATER: return "GNU Free Documentation License v1.3 or later - invariants";
4912            case GFDL_1_3_NO_INVARIANTS_ONLY: return "GNU Free Documentation License v1.3 only - no invariants";
4913            case GFDL_1_3_NO_INVARIANTS_OR_LATER: return "GNU Free Documentation License v1.3 or later - no invariants";
4914            case GFDL_1_3_ONLY: return "GNU Free Documentation License v1.3 only";
4915            case GFDL_1_3_OR_LATER: return "GNU Free Documentation License v1.3 or later";
4916            case GIFTWARE: return "Giftware License";
4917            case GL2PS: return "GL2PS License";
4918            case GLIDE: return "3dfx Glide License";
4919            case GLULXE: return "Glulxe License";
4920            case GLWTPL: return "Good Luck With That Public License";
4921            case GNUPLOT: return "gnuplot License";
4922            case GPL_1_0: return "GNU General Public License v1.0 only";
4923            case GPL_1_0PLUS: return "GNU General Public License v1.0 or later";
4924            case GPL_1_0_ONLY: return "GNU General Public License v1.0 only";
4925            case GPL_1_0_OR_LATER: return "GNU General Public License v1.0 or later";
4926            case GPL_2_0: return "GNU General Public License v2.0 only";
4927            case GPL_2_0PLUS: return "GNU General Public License v2.0 or later";
4928            case GPL_2_0_ONLY: return "GNU General Public License v2.0 only";
4929            case GPL_2_0_OR_LATER: return "GNU General Public License v2.0 or later";
4930            case GPL_2_0_WITH_AUTOCONF_EXCEPTION: return "GNU General Public License v2.0 w/Autoconf exception";
4931            case GPL_2_0_WITH_BISON_EXCEPTION: return "GNU General Public License v2.0 w/Bison exception";
4932            case GPL_2_0_WITH_CLASSPATH_EXCEPTION: return "GNU General Public License v2.0 w/Classpath exception";
4933            case GPL_2_0_WITH_FONT_EXCEPTION: return "GNU General Public License v2.0 w/Font exception";
4934            case GPL_2_0_WITH_GCC_EXCEPTION: return "GNU General Public License v2.0 w/GCC Runtime Library exception";
4935            case GPL_3_0: return "GNU General Public License v3.0 only";
4936            case GPL_3_0PLUS: return "GNU General Public License v3.0 or later";
4937            case GPL_3_0_ONLY: return "GNU General Public License v3.0 only";
4938            case GPL_3_0_OR_LATER: return "GNU General Public License v3.0 or later";
4939            case GPL_3_0_WITH_AUTOCONF_EXCEPTION: return "GNU General Public License v3.0 w/Autoconf exception";
4940            case GPL_3_0_WITH_GCC_EXCEPTION: return "GNU General Public License v3.0 w/GCC Runtime Library exception";
4941            case GRAPHICS_GEMS: return "Graphics Gems License";
4942            case GSOAP_1_3B: return "gSOAP Public License v1.3b";
4943            case HASKELLREPORT: return "Haskell Language Report License";
4944            case HIPPOCRATIC_2_1: return "Hippocratic License 2.1";
4945            case HP_1986: return "Hewlett-Packard 1986 License";
4946            case HPND: return "Historical Permission Notice and Disclaimer";
4947            case HPND_EXPORT_US: return "HPND with US Government export control warning";
4948            case HPND_MARKUS_KUHN: return "Historical Permission Notice and Disclaimer - Markus Kuhn variant";
4949            case HPND_SELL_VARIANT: return "Historical Permission Notice and Disclaimer - sell variant";
4950            case HPND_SELL_VARIANT_MIT_DISCLAIMER: return "HPND sell variant with MIT disclaimer";
4951            case HTMLTIDY: return "HTML Tidy License";
4952            case IBM_PIBS: return "IBM PowerPC Initialization and Boot Software";
4953            case ICU: return "ICU License";
4954            case IEC_CODE_COMPONENTS_EULA: return "IEC    Code Components End-user licence agreement";
4955            case IJG: return "Independent JPEG Group License";
4956            case IJG_SHORT: return "Independent JPEG Group License - short";
4957            case IMAGEMAGICK: return "ImageMagick License";
4958            case IMATIX: return "iMatix Standard Function Library Agreement";
4959            case IMLIB2: return "Imlib2 License";
4960            case INFO_ZIP: return "Info-ZIP License";
4961            case INNER_NET_2_0: return "Inner Net License v2.0";
4962            case INTEL: return "Intel Open Source License";
4963            case INTEL_ACPI: return "Intel ACPI Software License Agreement";
4964            case INTERBASE_1_0: return "Interbase Public License v1.0";
4965            case IPA: return "IPA Font License";
4966            case IPL_1_0: return "IBM Public License v1.0";
4967            case ISC: return "ISC License";
4968            case JAM: return "Jam License";
4969            case JASPER_2_0: return "JasPer License";
4970            case JPL_IMAGE: return "JPL Image Use Policy";
4971            case JPNIC: return "Japan Network Information Center License";
4972            case JSON: return "JSON License";
4973            case KAZLIB: return "Kazlib License";
4974            case KNUTH_CTAN: return "Knuth CTAN License";
4975            case LAL_1_2: return "Licence Art Libre 1.2";
4976            case LAL_1_3: return "Licence Art Libre 1.3";
4977            case LATEX2E: return "Latex2e License";
4978            case LATEX2E_TRANSLATED_NOTICE: return "Latex2e with translated notice permission";
4979            case LEPTONICA: return "Leptonica License";
4980            case LGPL_2_0: return "GNU Library General Public License v2 only";
4981            case LGPL_2_0PLUS: return "GNU Library General Public License v2 or later";
4982            case LGPL_2_0_ONLY: return "GNU Library General Public License v2 only";
4983            case LGPL_2_0_OR_LATER: return "GNU Library General Public License v2 or later";
4984            case LGPL_2_1: return "GNU Lesser General Public License v2.1 only";
4985            case LGPL_2_1PLUS: return "GNU Lesser General Public License v2.1 or later";
4986            case LGPL_2_1_ONLY: return "GNU Lesser General Public License v2.1 only";
4987            case LGPL_2_1_OR_LATER: return "GNU Lesser General Public License v2.1 or later";
4988            case LGPL_3_0: return "GNU Lesser General Public License v3.0 only";
4989            case LGPL_3_0PLUS: return "GNU Lesser General Public License v3.0 or later";
4990            case LGPL_3_0_ONLY: return "GNU Lesser General Public License v3.0 only";
4991            case LGPL_3_0_OR_LATER: return "GNU Lesser General Public License v3.0 or later";
4992            case LGPLLR: return "Lesser General Public License For Linguistic Resources";
4993            case LIBPNG: return "libpng License";
4994            case LIBPNG_2_0: return "PNG Reference Library version 2";
4995            case LIBSELINUX_1_0: return "libselinux public domain notice";
4996            case LIBTIFF: return "libtiff License";
4997            case LIBUTIL_DAVID_NUGENT: return "libutil David Nugent License";
4998            case LILIQ_P_1_1: return "Licence Libre du Québec ? Permissive version 1.1";
4999            case LILIQ_R_1_1: return "Licence Libre du Québec ? Réciprocité version 1.1";
5000            case LILIQ_RPLUS_1_1: return "Licence Libre du Québec ? Réciprocité forte version 1.1";
5001            case LINUX_MAN_PAGES_1_PARA: return "Linux man-pages - 1 paragraph";
5002            case LINUX_MAN_PAGES_COPYLEFT: return "Linux man-pages Copyleft";
5003            case LINUX_MAN_PAGES_COPYLEFT_2_PARA: return "Linux man-pages Copyleft - 2 paragraphs";
5004            case LINUX_MAN_PAGES_COPYLEFT_VAR: return "Linux man-pages Copyleft Variant";
5005            case LINUX_OPENIB: return "Linux Kernel Variant of OpenIB.org license";
5006            case LOOP: return "Common Lisp LOOP License";
5007            case LPL_1_0: return "Lucent Public License Version 1.0";
5008            case LPL_1_02: return "Lucent Public License v1.02";
5009            case LPPL_1_0: return "LaTeX Project Public License v1.0";
5010            case LPPL_1_1: return "LaTeX Project Public License v1.1";
5011            case LPPL_1_2: return "LaTeX Project Public License v1.2";
5012            case LPPL_1_3A: return "LaTeX Project Public License v1.3a";
5013            case LPPL_1_3C: return "LaTeX Project Public License v1.3c";
5014            case LZMA_SDK_9_11_TO_9_20: return "LZMA SDK License (versions 9.11 to 9.20)";
5015            case LZMA_SDK_9_22: return "LZMA SDK License (versions 9.22 and beyond)";
5016            case MAKEINDEX: return "MakeIndex License";
5017            case MARTIN_BIRGMEIER: return "Martin Birgmeier License";
5018            case METAMAIL: return "metamail License";
5019            case MINPACK: return "Minpack License";
5020            case MIROS: return "The MirOS Licence";
5021            case MIT: return "MIT License";
5022            case MIT_0: return "MIT No Attribution";
5023            case MIT_ADVERTISING: return "Enlightenment License (e16)";
5024            case MIT_CMU: return "CMU License";
5025            case MIT_ENNA: return "enna License";
5026            case MIT_FEH: return "feh License";
5027            case MIT_FESTIVAL: return "MIT Festival Variant";
5028            case MIT_MODERN_VARIANT: return "MIT License Modern Variant";
5029            case MIT_OPEN_GROUP: return "MIT Open Group variant";
5030            case MIT_WU: return "MIT Tom Wu Variant";
5031            case MITNFA: return "MIT +no-false-attribs license";
5032            case MOTOSOTO: return "Motosoto License";
5033            case MPI_PERMISSIVE: return "mpi Permissive License";
5034            case MPICH2: return "mpich2 License";
5035            case MPL_1_0: return "Mozilla Public License 1.0";
5036            case MPL_1_1: return "Mozilla Public License 1.1";
5037            case MPL_2_0: return "Mozilla Public License 2.0";
5038            case MPL_2_0_NO_COPYLEFT_EXCEPTION: return "Mozilla Public License 2.0 (no copyleft exception)";
5039            case MPLUS: return "mplus Font License";
5040            case MS_LPL: return "Microsoft Limited Public License";
5041            case MS_PL: return "Microsoft Public License";
5042            case MS_RL: return "Microsoft Reciprocal License";
5043            case MTLL: return "Matrix Template Library License";
5044            case MULANPSL_1_0: return "Mulan Permissive Software License, Version 1";
5045            case MULANPSL_2_0: return "Mulan Permissive Software License, Version 2";
5046            case MULTICS: return "Multics License";
5047            case MUP: return "Mup License";
5048            case NAIST_2003: return "Nara Institute of Science and Technology License (2003)";
5049            case NASA_1_3: return "NASA Open Source Agreement 1.3";
5050            case NAUMEN: return "Naumen Public License";
5051            case NBPL_1_0: return "Net Boolean Public License v1";
5052            case NCGL_UK_2_0: return "Non-Commercial Government Licence";
5053            case NCSA: return "University of Illinois/NCSA Open Source License";
5054            case NET_SNMP: return "Net-SNMP License";
5055            case NETCDF: return "NetCDF license";
5056            case NEWSLETR: return "Newsletr License";
5057            case NGPL: return "Nethack General Public License";
5058            case NICTA_1_0: return "NICTA Public Software License, Version 1.0";
5059            case NIST_PD: return "NIST Public Domain Notice";
5060            case NIST_PD_FALLBACK: return "NIST Public Domain Notice with license fallback";
5061            case NIST_SOFTWARE: return "NIST Software License";
5062            case NLOD_1_0: return "Norwegian Licence for Open Government Data (NLOD) 1.0";
5063            case NLOD_2_0: return "Norwegian Licence for Open Government Data (NLOD) 2.0";
5064            case NLPL: return "No Limit Public License";
5065            case NOKIA: return "Nokia Open Source License";
5066            case NOSL: return "Netizen Open Source License";
5067            case NOT_OPEN_SOURCE: return "Not an open source license.";
5068            case NOWEB: return "Noweb License";
5069            case NPL_1_0: return "Netscape Public License v1.0";
5070            case NPL_1_1: return "Netscape Public License v1.1";
5071            case NPOSL_3_0: return "Non-Profit Open Software License 3.0";
5072            case NRL: return "NRL License";
5073            case NTP: return "NTP License";
5074            case NTP_0: return "NTP No Attribution";
5075            case NUNIT: return "Nunit License";
5076            case O_UDA_1_0: return "Open Use of Data Agreement v1.0";
5077            case OCCT_PL: return "Open CASCADE Technology Public License";
5078            case OCLC_2_0: return "OCLC Research Public License 2.0";
5079            case ODBL_1_0: return "Open Data Commons Open Database License v1.0";
5080            case ODC_BY_1_0: return "Open Data Commons Attribution License v1.0";
5081            case OFFIS: return "OFFIS License";
5082            case OFL_1_0: return "SIL Open Font License 1.0";
5083            case OFL_1_0_NO_RFN: return "SIL Open Font License 1.0 with no Reserved Font Name";
5084            case OFL_1_0_RFN: return "SIL Open Font License 1.0 with Reserved Font Name";
5085            case OFL_1_1: return "SIL Open Font License 1.1";
5086            case OFL_1_1_NO_RFN: return "SIL Open Font License 1.1 with no Reserved Font Name";
5087            case OFL_1_1_RFN: return "SIL Open Font License 1.1 with Reserved Font Name";
5088            case OGC_1_0: return "OGC Software License, Version 1.0";
5089            case OGDL_TAIWAN_1_0: return "Taiwan Open Government Data License, version 1.0";
5090            case OGL_CANADA_2_0: return "Open Government Licence - Canada";
5091            case OGL_UK_1_0: return "Open Government Licence v1.0";
5092            case OGL_UK_2_0: return "Open Government Licence v2.0";
5093            case OGL_UK_3_0: return "Open Government Licence v3.0";
5094            case OGTSL: return "Open Group Test Suite License";
5095            case OLDAP_1_1: return "Open LDAP Public License v1.1";
5096            case OLDAP_1_2: return "Open LDAP Public License v1.2";
5097            case OLDAP_1_3: return "Open LDAP Public License v1.3";
5098            case OLDAP_1_4: return "Open LDAP Public License v1.4";
5099            case OLDAP_2_0: return "Open LDAP Public License v2.0 (or possibly 2.0A and 2.0B)";
5100            case OLDAP_2_0_1: return "Open LDAP Public License v2.0.1";
5101            case OLDAP_2_1: return "Open LDAP Public License v2.1";
5102            case OLDAP_2_2: return "Open LDAP Public License v2.2";
5103            case OLDAP_2_2_1: return "Open LDAP Public License v2.2.1";
5104            case OLDAP_2_2_2: return "Open LDAP Public License 2.2.2";
5105            case OLDAP_2_3: return "Open LDAP Public License v2.3";
5106            case OLDAP_2_4: return "Open LDAP Public License v2.4";
5107            case OLDAP_2_5: return "Open LDAP Public License v2.5";
5108            case OLDAP_2_6: return "Open LDAP Public License v2.6";
5109            case OLDAP_2_7: return "Open LDAP Public License v2.7";
5110            case OLDAP_2_8: return "Open LDAP Public License v2.8";
5111            case OLFL_1_3: return "Open Logistics Foundation License Version 1.3";
5112            case OML: return "Open Market License";
5113            case OPENPBS_2_3: return "OpenPBS v2.3 Software License";
5114            case OPENSSL: return "OpenSSL License";
5115            case OPL_1_0: return "Open Public License v1.0";
5116            case OPL_UK_3_0: return "United    Kingdom Open Parliament Licence v3.0";
5117            case OPUBL_1_0: return "Open Publication License v1.0";
5118            case OSET_PL_2_1: return "OSET Public License version 2.1";
5119            case OSL_1_0: return "Open Software License 1.0";
5120            case OSL_1_1: return "Open Software License 1.1";
5121            case OSL_2_0: return "Open Software License 2.0";
5122            case OSL_2_1: return "Open Software License 2.1";
5123            case OSL_3_0: return "Open Software License 3.0";
5124            case PARITY_6_0_0: return "The Parity Public License 6.0.0";
5125            case PARITY_7_0_0: return "The Parity Public License 7.0.0";
5126            case PDDL_1_0: return "Open Data Commons Public Domain Dedication & License 1.0";
5127            case PHP_3_0: return "PHP License v3.0";
5128            case PHP_3_01: return "PHP License v3.01";
5129            case PLEXUS: return "Plexus Classworlds License";
5130            case POLYFORM_NONCOMMERCIAL_1_0_0: return "PolyForm Noncommercial License 1.0.0";
5131            case POLYFORM_SMALL_BUSINESS_1_0_0: return "PolyForm Small Business License 1.0.0";
5132            case POSTGRESQL: return "PostgreSQL License";
5133            case PSF_2_0: return "Python Software Foundation License 2.0";
5134            case PSFRAG: return "psfrag License";
5135            case PSUTILS: return "psutils License";
5136            case PYTHON_2_0: return "Python License 2.0";
5137            case PYTHON_2_0_1: return "Python License 2.0.1";
5138            case QHULL: return "Qhull License";
5139            case QPL_1_0: return "Q Public License 1.0";
5140            case QPL_1_0_INRIA_2004: return "Q Public License 1.0 - INRIA 2004 variant";
5141            case RDISC: return "Rdisc License";
5142            case RHECOS_1_1: return "Red Hat eCos Public License v1.1";
5143            case RPL_1_1: return "Reciprocal Public License 1.1";
5144            case RPL_1_5: return "Reciprocal Public License 1.5";
5145            case RPSL_1_0: return "RealNetworks Public Source License v1.0";
5146            case RSA_MD: return "RSA Message-Digest License";
5147            case RSCPL: return "Ricoh Source Code Public License";
5148            case RUBY: return "Ruby License";
5149            case SAX_PD: return "Sax Public Domain Notice";
5150            case SAXPATH: return "Saxpath License";
5151            case SCEA: return "SCEA Shared Source License";
5152            case SCHEMEREPORT: return "Scheme Language Report License";
5153            case SENDMAIL: return "Sendmail License";
5154            case SENDMAIL_8_23: return "Sendmail License 8.23";
5155            case SGI_B_1_0: return "SGI Free Software License B v1.0";
5156            case SGI_B_1_1: return "SGI Free Software License B v1.1";
5157            case SGI_B_2_0: return "SGI Free Software License B v2.0";
5158            case SGP4: return "SGP4 Permission Notice";
5159            case SHL_0_5: return "Solderpad Hardware License v0.5";
5160            case SHL_0_51: return "Solderpad Hardware License, Version 0.51";
5161            case SIMPL_2_0: return "Simple Public License 2.0";
5162            case SISSL: return "Sun Industry Standards Source License v1.1";
5163            case SISSL_1_2: return "Sun Industry Standards Source License v1.2";
5164            case SLEEPYCAT: return "Sleepycat License";
5165            case SMLNJ: return "Standard ML of New Jersey License";
5166            case SMPPL: return "Secure Messaging Protocol Public License";
5167            case SNIA: return "SNIA Public License 1.1";
5168            case SNPRINTF: return "snprintf License";
5169            case SPENCER_86: return "Spencer License 86";
5170            case SPENCER_94: return "Spencer License 94";
5171            case SPENCER_99: return "Spencer License 99";
5172            case SPL_1_0: return "Sun Public License v1.0";
5173            case SSH_OPENSSH: return "SSH OpenSSH license";
5174            case SSH_SHORT: return "SSH short notice";
5175            case SSPL_1_0: return "Server Side Public License, v 1";
5176            case STANDARDML_NJ: return "Standard ML of New Jersey License";
5177            case SUGARCRM_1_1_3: return "SugarCRM Public License v1.1.3";
5178            case SUNPRO: return "SunPro License";
5179            case SWL: return "Scheme Widget Library (SWL) Software License Agreement";
5180            case SYMLINKS: return "Symlinks License";
5181            case TAPR_OHL_1_0: return "TAPR Open Hardware License v1.0";
5182            case TCL: return "TCL/TK License";
5183            case TCP_WRAPPERS: return "TCP Wrappers License";
5184            case TERMREADKEY: return "TermReadKey License";
5185            case TMATE: return "TMate Open Source License";
5186            case TORQUE_1_1: return "TORQUE v2.5+ Software License v1.1";
5187            case TOSL: return "Trusster Open Source License";
5188            case TPDL: return "Time::ParseDate License";
5189            case TPL_1_0: return "THOR Public License 1.0";
5190            case TTWL: return "Text-Tabs+Wrap License";
5191            case TU_BERLIN_1_0: return "Technische Universitaet Berlin License 1.0";
5192            case TU_BERLIN_2_0: return "Technische Universitaet Berlin License 2.0";
5193            case UCAR: return "UCAR License";
5194            case UCL_1_0: return "Upstream Compatibility License v1.0";
5195            case UNICODE_DFS_2015: return "Unicode License Agreement - Data Files and Software (2015)";
5196            case UNICODE_DFS_2016: return "Unicode License Agreement - Data Files and Software (2016)";
5197            case UNICODE_TOU: return "Unicode Terms of Use";
5198            case UNIXCRYPT: return "UnixCrypt License";
5199            case UNLICENSE: return "The Unlicense";
5200            case UPL_1_0: return "Universal Permissive License v1.0";
5201            case VIM: return "Vim License";
5202            case VOSTROM: return "VOSTROM Public License for Open Source";
5203            case VSL_1_0: return "Vovida Software License v1.0";
5204            case W3C: return "W3C Software Notice and License (2002-12-31)";
5205            case W3C_19980720: return "W3C Software Notice and License (1998-07-20)";
5206            case W3C_20150513: return "W3C Software Notice and Document License (2015-05-13)";
5207            case W3M: return "w3m License";
5208            case WATCOM_1_0: return "Sybase Open Watcom Public License 1.0";
5209            case WIDGET_WORKSHOP: return "Widget Workshop License";
5210            case WSUIPA: return "Wsuipa License";
5211            case WTFPL: return "Do What The F*ck You Want To Public License";
5212            case WXWINDOWS: return "wxWindows Library License";
5213            case X11: return "X11 License";
5214            case X11_DISTRIBUTE_MODIFICATIONS_VARIANT: return "X11 License Distribution Modification Variant";
5215            case XDEBUG_1_03: return "Xdebug License v 1.03";
5216            case XEROX: return "Xerox License";
5217            case XFIG: return "Xfig License";
5218            case XFREE86_1_1: return "XFree86 License 1.1";
5219            case XINETD: return "xinetd License";
5220            case XLOCK: return "xlock License";
5221            case XNET: return "X.Net License";
5222            case XPP: return "XPP License";
5223            case XSKAT: return "XSkat License";
5224            case YPL_1_0: return "Yahoo! Public License v1.0";
5225            case YPL_1_1: return "Yahoo! Public License v1.1";
5226            case ZED: return "Zed License";
5227            case ZEND_2_0: return "Zend License v2.0";
5228            case ZIMBRA_1_3: return "Zimbra Public License v1.3";
5229            case ZIMBRA_1_4: return "Zimbra Public License v1.4";
5230            case ZLIB: return "zlib License";
5231            case ZLIB_ACKNOWLEDGEMENT: return "zlib/libpng License with Acknowledgement";
5232            case ZPL_1_1: return "Zope Public License 1.1";
5233            case ZPL_2_0: return "Zope Public License 2.0";
5234            case ZPL_2_1: return "Zope Public License 2.1";
5235            case NULL: return null;
5236            default: return "?";
5237          }
5238        }
5239        public String getDisplay() {
5240          switch (this) {
5241            case _0BSD: return "BSD Zero Clause License";
5242            case AAL: return "Attribution Assurance License";
5243            case ABSTYLES: return "Abstyles License";
5244            case ADACORE_DOC: return "AdaCore Doc License";
5245            case ADOBE_2006: return "Adobe Systems Incorporated Source Code License Agreement";
5246            case ADOBE_GLYPH: return "Adobe Glyph List License";
5247            case ADSL: return "Amazon Digital Services License";
5248            case AFL_1_1: return "Academic Free License v1.1";
5249            case AFL_1_2: return "Academic Free License v1.2";
5250            case AFL_2_0: return "Academic Free License v2.0";
5251            case AFL_2_1: return "Academic Free License v2.1";
5252            case AFL_3_0: return "Academic Free License v3.0";
5253            case AFMPARSE: return "Afmparse License";
5254            case AGPL_1_0: return "Affero General Public License v1.0";
5255            case AGPL_1_0_ONLY: return "Affero General Public License v1.0 only";
5256            case AGPL_1_0_OR_LATER: return "Affero General Public License v1.0 or later";
5257            case AGPL_3_0: return "GNU Affero General Public License v3.0";
5258            case AGPL_3_0_ONLY: return "GNU Affero General Public License v3.0 only";
5259            case AGPL_3_0_OR_LATER: return "GNU Affero General Public License v3.0 or later";
5260            case ALADDIN: return "Aladdin Free Public License";
5261            case AMDPLPA: return "AMD's plpa_map.c License";
5262            case AML: return "Apple MIT License";
5263            case AMPAS: return "Academy of Motion Picture Arts and Sciences BSD";
5264            case ANTLR_PD: return "ANTLR Software Rights Notice";
5265            case ANTLR_PD_FALLBACK: return "ANTLR Software Rights Notice with license fallback";
5266            case APACHE_1_0: return "Apache License 1.0";
5267            case APACHE_1_1: return "Apache License 1.1";
5268            case APACHE_2_0: return "Apache License 2.0";
5269            case APAFML: return "Adobe Postscript AFM License";
5270            case APL_1_0: return "Adaptive Public License 1.0";
5271            case APP_S2P: return "App::s2p License";
5272            case APSL_1_0: return "Apple Public Source License 1.0";
5273            case APSL_1_1: return "Apple Public Source License 1.1";
5274            case APSL_1_2: return "Apple Public Source License 1.2";
5275            case APSL_2_0: return "Apple Public Source License 2.0";
5276            case ARPHIC_1999: return "Arphic Public License";
5277            case ARTISTIC_1_0: return "Artistic License 1.0";
5278            case ARTISTIC_1_0_CL8: return "Artistic License 1.0 w/clause 8";
5279            case ARTISTIC_1_0_PERL: return "Artistic License 1.0 (Perl)";
5280            case ARTISTIC_2_0: return "Artistic License 2.0";
5281            case ASWF_DIGITAL_ASSETS_1_0: return "ASWF Digital Assets License version 1.0";
5282            case ASWF_DIGITAL_ASSETS_1_1: return "ASWF Digital Assets License 1.1";
5283            case BAEKMUK: return "Baekmuk License";
5284            case BAHYPH: return "Bahyph License";
5285            case BARR: return "Barr License";
5286            case BEERWARE: return "Beerware License";
5287            case BITSTREAM_CHARTER: return "Bitstream Charter Font License";
5288            case BITSTREAM_VERA: return "Bitstream Vera Font License";
5289            case BITTORRENT_1_0: return "BitTorrent Open Source License v1.0";
5290            case BITTORRENT_1_1: return "BitTorrent Open Source License v1.1";
5291            case BLESSING: return "SQLite Blessing";
5292            case BLUEOAK_1_0_0: return "Blue Oak Model License 1.0.0";
5293            case BOEHM_GC: return "Boehm-Demers-Weiser GC License";
5294            case BORCEUX: return "Borceux license";
5295            case BRIAN_GLADMAN_3_CLAUSE: return "Brian Gladman 3-Clause License";
5296            case BSD_1_CLAUSE: return "BSD 1-Clause License";
5297            case BSD_2_CLAUSE: return "BSD 2-Clause \"Simplified\" License";
5298            case BSD_2_CLAUSE_FREEBSD: return "BSD 2-Clause FreeBSD License";
5299            case BSD_2_CLAUSE_NETBSD: return "BSD 2-Clause NetBSD License";
5300            case BSD_2_CLAUSE_PATENT: return "BSD-2-Clause Plus Patent License";
5301            case BSD_2_CLAUSE_VIEWS: return "BSD 2-Clause with views sentence";
5302            case BSD_3_CLAUSE: return "BSD 3-Clause \"New\" or \"Revised\" License";
5303            case BSD_3_CLAUSE_ATTRIBUTION: return "BSD with attribution";
5304            case BSD_3_CLAUSE_CLEAR: return "BSD 3-Clause Clear License";
5305            case BSD_3_CLAUSE_LBNL: return "Lawrence Berkeley National Labs BSD variant license";
5306            case BSD_3_CLAUSE_MODIFICATION: return "BSD 3-Clause Modification";
5307            case BSD_3_CLAUSE_NO_MILITARY_LICENSE: return "BSD 3-Clause No Military License";
5308            case BSD_3_CLAUSE_NO_NUCLEAR_LICENSE: return "BSD 3-Clause No Nuclear License";
5309            case BSD_3_CLAUSE_NO_NUCLEAR_LICENSE_2014: return "BSD 3-Clause No Nuclear License 2014";
5310            case BSD_3_CLAUSE_NO_NUCLEAR_WARRANTY: return "BSD 3-Clause No Nuclear Warranty";
5311            case BSD_3_CLAUSE_OPEN_MPI: return "BSD 3-Clause Open MPI variant";
5312            case BSD_4_CLAUSE: return "BSD 4-Clause \"Original\" or \"Old\" License";
5313            case BSD_4_CLAUSE_SHORTENED: return "BSD 4 Clause Shortened";
5314            case BSD_4_CLAUSE_UC: return "BSD-4-Clause (University of California-Specific)";
5315            case BSD_4_3RENO: return "BSD 4.3 RENO License";
5316            case BSD_4_3TAHOE: return "BSD 4.3 TAHOE License";
5317            case BSD_ADVERTISING_ACKNOWLEDGEMENT: return "BSD Advertising Acknowledgement License";
5318            case BSD_ATTRIBUTION_HPND_DISCLAIMER: return "BSD with Attribution and HPND disclaimer";
5319            case BSD_PROTECTION: return "BSD Protection License";
5320            case BSD_SOURCE_CODE: return "BSD Source Code Attribution";
5321            case BSL_1_0: return "Boost Software License 1.0";
5322            case BUSL_1_1: return "Business Source License 1.1";
5323            case BZIP2_1_0_5: return "bzip2 and libbzip2 License v1.0.5";
5324            case BZIP2_1_0_6: return "bzip2 and libbzip2 License v1.0.6";
5325            case C_UDA_1_0: return "Computational Use of Data Agreement v1.0";
5326            case CAL_1_0: return "Cryptographic Autonomy License 1.0";
5327            case CAL_1_0_COMBINED_WORK_EXCEPTION: return "Cryptographic Autonomy License 1.0 (Combined Work Exception)";
5328            case CALDERA: return "Caldera License";
5329            case CATOSL_1_1: return "Computer Associates Trusted Open Source License 1.1";
5330            case CC_BY_1_0: return "Creative Commons Attribution 1.0 Generic";
5331            case CC_BY_2_0: return "Creative Commons Attribution 2.0 Generic";
5332            case CC_BY_2_5: return "Creative Commons Attribution 2.5 Generic";
5333            case CC_BY_2_5_AU: return "Creative Commons Attribution 2.5 Australia";
5334            case CC_BY_3_0: return "Creative Commons Attribution 3.0 Unported";
5335            case CC_BY_3_0_AT: return "Creative Commons Attribution 3.0 Austria";
5336            case CC_BY_3_0_DE: return "Creative Commons Attribution 3.0 Germany";
5337            case CC_BY_3_0_IGO: return "Creative Commons Attribution 3.0 IGO";
5338            case CC_BY_3_0_NL: return "Creative Commons Attribution 3.0 Netherlands";
5339            case CC_BY_3_0_US: return "Creative Commons Attribution 3.0 United States";
5340            case CC_BY_4_0: return "Creative Commons Attribution 4.0 International";
5341            case CC_BY_NC_1_0: return "Creative Commons Attribution Non Commercial 1.0 Generic";
5342            case CC_BY_NC_2_0: return "Creative Commons Attribution Non Commercial 2.0 Generic";
5343            case CC_BY_NC_2_5: return "Creative Commons Attribution Non Commercial 2.5 Generic";
5344            case CC_BY_NC_3_0: return "Creative Commons Attribution Non Commercial 3.0 Unported";
5345            case CC_BY_NC_3_0_DE: return "Creative Commons Attribution Non Commercial 3.0 Germany";
5346            case CC_BY_NC_4_0: return "Creative Commons Attribution Non Commercial 4.0 International";
5347            case CC_BY_NC_ND_1_0: return "Creative Commons Attribution Non Commercial No Derivatives 1.0 Generic";
5348            case CC_BY_NC_ND_2_0: return "Creative Commons Attribution Non Commercial No Derivatives 2.0 Generic";
5349            case CC_BY_NC_ND_2_5: return "Creative Commons Attribution Non Commercial No Derivatives 2.5 Generic";
5350            case CC_BY_NC_ND_3_0: return "Creative Commons Attribution Non Commercial No Derivatives 3.0 Unported";
5351            case CC_BY_NC_ND_3_0_DE: return "Creative Commons Attribution Non Commercial No Derivatives 3.0 Germany";
5352            case CC_BY_NC_ND_3_0_IGO: return "Creative Commons Attribution Non Commercial No Derivatives 3.0 IGO";
5353            case CC_BY_NC_ND_4_0: return "Creative Commons Attribution Non Commercial No Derivatives 4.0 International";
5354            case CC_BY_NC_SA_1_0: return "Creative Commons Attribution Non Commercial Share Alike 1.0 Generic";
5355            case CC_BY_NC_SA_2_0: return "Creative Commons Attribution Non Commercial Share Alike 2.0 Generic";
5356            case CC_BY_NC_SA_2_0_DE: return "Creative Commons Attribution Non Commercial Share Alike 2.0 Germany";
5357            case CC_BY_NC_SA_2_0_FR: return "Creative Commons Attribution-NonCommercial-ShareAlike 2.0 France";
5358            case CC_BY_NC_SA_2_0_UK: return "Creative Commons Attribution Non Commercial Share Alike 2.0 England and Wales";
5359            case CC_BY_NC_SA_2_5: return "Creative Commons Attribution Non Commercial Share Alike 2.5 Generic";
5360            case CC_BY_NC_SA_3_0: return "Creative Commons Attribution Non Commercial Share Alike 3.0 Unported";
5361            case CC_BY_NC_SA_3_0_DE: return "Creative Commons Attribution Non Commercial Share Alike 3.0 Germany";
5362            case CC_BY_NC_SA_3_0_IGO: return "Creative Commons Attribution Non Commercial Share Alike 3.0 IGO";
5363            case CC_BY_NC_SA_4_0: return "Creative Commons Attribution Non Commercial Share Alike 4.0 International";
5364            case CC_BY_ND_1_0: return "Creative Commons Attribution No Derivatives 1.0 Generic";
5365            case CC_BY_ND_2_0: return "Creative Commons Attribution No Derivatives 2.0 Generic";
5366            case CC_BY_ND_2_5: return "Creative Commons Attribution No Derivatives 2.5 Generic";
5367            case CC_BY_ND_3_0: return "Creative Commons Attribution No Derivatives 3.0 Unported";
5368            case CC_BY_ND_3_0_DE: return "Creative Commons Attribution No Derivatives 3.0 Germany";
5369            case CC_BY_ND_4_0: return "Creative Commons Attribution No Derivatives 4.0 International";
5370            case CC_BY_SA_1_0: return "Creative Commons Attribution Share Alike 1.0 Generic";
5371            case CC_BY_SA_2_0: return "Creative Commons Attribution Share Alike 2.0 Generic";
5372            case CC_BY_SA_2_0_UK: return "Creative Commons Attribution Share Alike 2.0 England and Wales";
5373            case CC_BY_SA_2_1_JP: return "Creative Commons Attribution Share Alike 2.1 Japan";
5374            case CC_BY_SA_2_5: return "Creative Commons Attribution Share Alike 2.5 Generic";
5375            case CC_BY_SA_3_0: return "Creative Commons Attribution Share Alike 3.0 Unported";
5376            case CC_BY_SA_3_0_AT: return "Creative Commons Attribution Share Alike 3.0 Austria";
5377            case CC_BY_SA_3_0_DE: return "Creative Commons Attribution Share Alike 3.0 Germany";
5378            case CC_BY_SA_3_0_IGO: return "Creative Commons Attribution-ShareAlike 3.0 IGO";
5379            case CC_BY_SA_4_0: return "Creative Commons Attribution Share Alike 4.0 International";
5380            case CC_PDDC: return "Creative Commons Public Domain Dedication and Certification";
5381            case CC0_1_0: return "Creative Commons Zero v1.0 Universal";
5382            case CDDL_1_0: return "Common Development and Distribution License 1.0";
5383            case CDDL_1_1: return "Common Development and Distribution License 1.1";
5384            case CDL_1_0: return "Common Documentation License 1.0";
5385            case CDLA_PERMISSIVE_1_0: return "Community Data License Agreement Permissive 1.0";
5386            case CDLA_PERMISSIVE_2_0: return "Community Data License Agreement Permissive 2.0";
5387            case CDLA_SHARING_1_0: return "Community Data License Agreement Sharing 1.0";
5388            case CECILL_1_0: return "CeCILL Free Software License Agreement v1.0";
5389            case CECILL_1_1: return "CeCILL Free Software License Agreement v1.1";
5390            case CECILL_2_0: return "CeCILL Free Software License Agreement v2.0";
5391            case CECILL_2_1: return "CeCILL Free Software License Agreement v2.1";
5392            case CECILL_B: return "CeCILL-B Free Software License Agreement";
5393            case CECILL_C: return "CeCILL-C Free Software License Agreement";
5394            case CERN_OHL_1_1: return "CERN Open Hardware Licence v1.1";
5395            case CERN_OHL_1_2: return "CERN Open Hardware Licence v1.2";
5396            case CERN_OHL_P_2_0: return "CERN Open Hardware Licence Version 2 - Permissive";
5397            case CERN_OHL_S_2_0: return "CERN Open Hardware Licence Version 2 - Strongly Reciprocal";
5398            case CERN_OHL_W_2_0: return "CERN Open Hardware Licence Version 2 - Weakly Reciprocal";
5399            case CFITSIO: return "CFITSIO License";
5400            case CHECKMK: return "Checkmk License";
5401            case CLARTISTIC: return "Clarified Artistic License";
5402            case CLIPS: return "Clips License";
5403            case CMU_MACH: return "CMU Mach License";
5404            case CNRI_JYTHON: return "CNRI Jython License";
5405            case CNRI_PYTHON: return "CNRI Python License";
5406            case CNRI_PYTHON_GPL_COMPATIBLE: return "CNRI Python Open Source GPL Compatible License Agreement";
5407            case COIL_1_0: return "Copyfree Open Innovation License";
5408            case COMMUNITY_SPEC_1_0: return "Community Specification License 1.0";
5409            case CONDOR_1_1: return "Condor Public License v1.1";
5410            case COPYLEFT_NEXT_0_3_0: return "copyleft-next 0.3.0";
5411            case COPYLEFT_NEXT_0_3_1: return "copyleft-next 0.3.1";
5412            case CORNELL_LOSSLESS_JPEG: return "Cornell Lossless JPEG License";
5413            case CPAL_1_0: return "Common Public Attribution License 1.0";
5414            case CPL_1_0: return "Common Public License 1.0";
5415            case CPOL_1_02: return "Code Project Open License 1.02";
5416            case CROSSWORD: return "Crossword License";
5417            case CRYSTALSTACKER: return "CrystalStacker License";
5418            case CUA_OPL_1_0: return "CUA Office Public License v1.0";
5419            case CUBE: return "Cube License";
5420            case CURL: return "curl License";
5421            case D_FSL_1_0: return "Deutsche Freie Software Lizenz";
5422            case DIFFMARK: return "diffmark license";
5423            case DL_DE_BY_2_0: return "Data licence Germany ? attribution ? version 2.0";
5424            case DOC: return "DOC License";
5425            case DOTSEQN: return "Dotseqn License";
5426            case DRL_1_0: return "Detection Rule License 1.0";
5427            case DSDP: return "DSDP License";
5428            case DTOA: return "David M. Gay dtoa License";
5429            case DVIPDFM: return "dvipdfm License";
5430            case ECL_1_0: return "Educational Community License v1.0";
5431            case ECL_2_0: return "Educational Community License v2.0";
5432            case ECOS_2_0: return "eCos license version 2.0";
5433            case EFL_1_0: return "Eiffel Forum License v1.0";
5434            case EFL_2_0: return "Eiffel Forum License v2.0";
5435            case EGENIX: return "eGenix.com Public License 1.1.0";
5436            case ELASTIC_2_0: return "Elastic License 2.0";
5437            case ENTESSA: return "Entessa Public License v1.0";
5438            case EPICS: return "EPICS Open License";
5439            case EPL_1_0: return "Eclipse Public License 1.0";
5440            case EPL_2_0: return "Eclipse Public License 2.0";
5441            case ERLPL_1_1: return "Erlang Public License v1.1";
5442            case ETALAB_2_0: return "Etalab Open License 2.0";
5443            case EUDATAGRID: return "EU DataGrid Software License";
5444            case EUPL_1_0: return "European Union Public License 1.0";
5445            case EUPL_1_1: return "European Union Public License 1.1";
5446            case EUPL_1_2: return "European Union Public License 1.2";
5447            case EUROSYM: return "Eurosym License";
5448            case FAIR: return "Fair License";
5449            case FDK_AAC: return "Fraunhofer FDK AAC Codec Library";
5450            case FRAMEWORX_1_0: return "Frameworx Open License 1.0";
5451            case FREEBSD_DOC: return "FreeBSD Documentation License";
5452            case FREEIMAGE: return "FreeImage Public License v1.0";
5453            case FSFAP: return "FSF All Permissive License";
5454            case FSFUL: return "FSF Unlimited License";
5455            case FSFULLR: return "FSF Unlimited License (with License Retention)";
5456            case FSFULLRWD: return "FSF Unlimited License (With License Retention and Warranty Disclaimer)";
5457            case FTL: return "Freetype Project License";
5458            case GD: return "GD License";
5459            case GFDL_1_1: return "GNU Free Documentation License v1.1";
5460            case GFDL_1_1_INVARIANTS_ONLY: return "GNU Free Documentation License v1.1 only - invariants";
5461            case GFDL_1_1_INVARIANTS_OR_LATER: return "GNU Free Documentation License v1.1 or later - invariants";
5462            case GFDL_1_1_NO_INVARIANTS_ONLY: return "GNU Free Documentation License v1.1 only - no invariants";
5463            case GFDL_1_1_NO_INVARIANTS_OR_LATER: return "GNU Free Documentation License v1.1 or later - no invariants";
5464            case GFDL_1_1_ONLY: return "GNU Free Documentation License v1.1 only";
5465            case GFDL_1_1_OR_LATER: return "GNU Free Documentation License v1.1 or later";
5466            case GFDL_1_2: return "GNU Free Documentation License v1.2";
5467            case GFDL_1_2_INVARIANTS_ONLY: return "GNU Free Documentation License v1.2 only - invariants";
5468            case GFDL_1_2_INVARIANTS_OR_LATER: return "GNU Free Documentation License v1.2 or later - invariants";
5469            case GFDL_1_2_NO_INVARIANTS_ONLY: return "GNU Free Documentation License v1.2 only - no invariants";
5470            case GFDL_1_2_NO_INVARIANTS_OR_LATER: return "GNU Free Documentation License v1.2 or later - no invariants";
5471            case GFDL_1_2_ONLY: return "GNU Free Documentation License v1.2 only";
5472            case GFDL_1_2_OR_LATER: return "GNU Free Documentation License v1.2 or later";
5473            case GFDL_1_3: return "GNU Free Documentation License v1.3";
5474            case GFDL_1_3_INVARIANTS_ONLY: return "GNU Free Documentation License v1.3 only - invariants";
5475            case GFDL_1_3_INVARIANTS_OR_LATER: return "GNU Free Documentation License v1.3 or later - invariants";
5476            case GFDL_1_3_NO_INVARIANTS_ONLY: return "GNU Free Documentation License v1.3 only - no invariants";
5477            case GFDL_1_3_NO_INVARIANTS_OR_LATER: return "GNU Free Documentation License v1.3 or later - no invariants";
5478            case GFDL_1_3_ONLY: return "GNU Free Documentation License v1.3 only";
5479            case GFDL_1_3_OR_LATER: return "GNU Free Documentation License v1.3 or later";
5480            case GIFTWARE: return "Giftware License";
5481            case GL2PS: return "GL2PS License";
5482            case GLIDE: return "3dfx Glide License";
5483            case GLULXE: return "Glulxe License";
5484            case GLWTPL: return "Good Luck With That Public License";
5485            case GNUPLOT: return "gnuplot License";
5486            case GPL_1_0: return "GNU General Public License v1.0 only";
5487            case GPL_1_0PLUS: return "GNU General Public License v1.0 or later";
5488            case GPL_1_0_ONLY: return "GNU General Public License v1.0 only";
5489            case GPL_1_0_OR_LATER: return "GNU General Public License v1.0 or later";
5490            case GPL_2_0: return "GNU General Public License v2.0 only";
5491            case GPL_2_0PLUS: return "GNU General Public License v2.0 or later";
5492            case GPL_2_0_ONLY: return "GNU General Public License v2.0 only";
5493            case GPL_2_0_OR_LATER: return "GNU General Public License v2.0 or later";
5494            case GPL_2_0_WITH_AUTOCONF_EXCEPTION: return "GNU General Public License v2.0 w/Autoconf exception";
5495            case GPL_2_0_WITH_BISON_EXCEPTION: return "GNU General Public License v2.0 w/Bison exception";
5496            case GPL_2_0_WITH_CLASSPATH_EXCEPTION: return "GNU General Public License v2.0 w/Classpath exception";
5497            case GPL_2_0_WITH_FONT_EXCEPTION: return "GNU General Public License v2.0 w/Font exception";
5498            case GPL_2_0_WITH_GCC_EXCEPTION: return "GNU General Public License v2.0 w/GCC Runtime Library exception";
5499            case GPL_3_0: return "GNU General Public License v3.0 only";
5500            case GPL_3_0PLUS: return "GNU General Public License v3.0 or later";
5501            case GPL_3_0_ONLY: return "GNU General Public License v3.0 only";
5502            case GPL_3_0_OR_LATER: return "GNU General Public License v3.0 or later";
5503            case GPL_3_0_WITH_AUTOCONF_EXCEPTION: return "GNU General Public License v3.0 w/Autoconf exception";
5504            case GPL_3_0_WITH_GCC_EXCEPTION: return "GNU General Public License v3.0 w/GCC Runtime Library exception";
5505            case GRAPHICS_GEMS: return "Graphics Gems License";
5506            case GSOAP_1_3B: return "gSOAP Public License v1.3b";
5507            case HASKELLREPORT: return "Haskell Language Report License";
5508            case HIPPOCRATIC_2_1: return "Hippocratic License 2.1";
5509            case HP_1986: return "Hewlett-Packard 1986 License";
5510            case HPND: return "Historical Permission Notice and Disclaimer";
5511            case HPND_EXPORT_US: return "HPND with US Government export control warning";
5512            case HPND_MARKUS_KUHN: return "Historical Permission Notice and Disclaimer - Markus Kuhn variant";
5513            case HPND_SELL_VARIANT: return "Historical Permission Notice and Disclaimer - sell variant";
5514            case HPND_SELL_VARIANT_MIT_DISCLAIMER: return "HPND sell variant with MIT disclaimer";
5515            case HTMLTIDY: return "HTML Tidy License";
5516            case IBM_PIBS: return "IBM PowerPC Initialization and Boot Software";
5517            case ICU: return "ICU License";
5518            case IEC_CODE_COMPONENTS_EULA: return "IEC    Code Components End-user licence agreement";
5519            case IJG: return "Independent JPEG Group License";
5520            case IJG_SHORT: return "Independent JPEG Group License - short";
5521            case IMAGEMAGICK: return "ImageMagick License";
5522            case IMATIX: return "iMatix Standard Function Library Agreement";
5523            case IMLIB2: return "Imlib2 License";
5524            case INFO_ZIP: return "Info-ZIP License";
5525            case INNER_NET_2_0: return "Inner Net License v2.0";
5526            case INTEL: return "Intel Open Source License";
5527            case INTEL_ACPI: return "Intel ACPI Software License Agreement";
5528            case INTERBASE_1_0: return "Interbase Public License v1.0";
5529            case IPA: return "IPA Font License";
5530            case IPL_1_0: return "IBM Public License v1.0";
5531            case ISC: return "ISC License";
5532            case JAM: return "Jam License";
5533            case JASPER_2_0: return "JasPer License";
5534            case JPL_IMAGE: return "JPL Image Use Policy";
5535            case JPNIC: return "Japan Network Information Center License";
5536            case JSON: return "JSON License";
5537            case KAZLIB: return "Kazlib License";
5538            case KNUTH_CTAN: return "Knuth CTAN License";
5539            case LAL_1_2: return "Licence Art Libre 1.2";
5540            case LAL_1_3: return "Licence Art Libre 1.3";
5541            case LATEX2E: return "Latex2e License";
5542            case LATEX2E_TRANSLATED_NOTICE: return "Latex2e with translated notice permission";
5543            case LEPTONICA: return "Leptonica License";
5544            case LGPL_2_0: return "GNU Library General Public License v2 only";
5545            case LGPL_2_0PLUS: return "GNU Library General Public License v2 or later";
5546            case LGPL_2_0_ONLY: return "GNU Library General Public License v2 only";
5547            case LGPL_2_0_OR_LATER: return "GNU Library General Public License v2 or later";
5548            case LGPL_2_1: return "GNU Lesser General Public License v2.1 only";
5549            case LGPL_2_1PLUS: return "GNU Lesser General Public License v2.1 or later";
5550            case LGPL_2_1_ONLY: return "GNU Lesser General Public License v2.1 only";
5551            case LGPL_2_1_OR_LATER: return "GNU Lesser General Public License v2.1 or later";
5552            case LGPL_3_0: return "GNU Lesser General Public License v3.0 only";
5553            case LGPL_3_0PLUS: return "GNU Lesser General Public License v3.0 or later";
5554            case LGPL_3_0_ONLY: return "GNU Lesser General Public License v3.0 only";
5555            case LGPL_3_0_OR_LATER: return "GNU Lesser General Public License v3.0 or later";
5556            case LGPLLR: return "Lesser General Public License For Linguistic Resources";
5557            case LIBPNG: return "libpng License";
5558            case LIBPNG_2_0: return "PNG Reference Library version 2";
5559            case LIBSELINUX_1_0: return "libselinux public domain notice";
5560            case LIBTIFF: return "libtiff License";
5561            case LIBUTIL_DAVID_NUGENT: return "libutil David Nugent License";
5562            case LILIQ_P_1_1: return "Licence Libre du Québec ? Permissive version 1.1";
5563            case LILIQ_R_1_1: return "Licence Libre du Québec ? Réciprocité version 1.1";
5564            case LILIQ_RPLUS_1_1: return "Licence Libre du Québec ? Réciprocité forte version 1.1";
5565            case LINUX_MAN_PAGES_1_PARA: return "Linux man-pages - 1 paragraph";
5566            case LINUX_MAN_PAGES_COPYLEFT: return "Linux man-pages Copyleft";
5567            case LINUX_MAN_PAGES_COPYLEFT_2_PARA: return "Linux man-pages Copyleft - 2 paragraphs";
5568            case LINUX_MAN_PAGES_COPYLEFT_VAR: return "Linux man-pages Copyleft Variant";
5569            case LINUX_OPENIB: return "Linux Kernel Variant of OpenIB.org license";
5570            case LOOP: return "Common Lisp LOOP License";
5571            case LPL_1_0: return "Lucent Public License Version 1.0";
5572            case LPL_1_02: return "Lucent Public License v1.02";
5573            case LPPL_1_0: return "LaTeX Project Public License v1.0";
5574            case LPPL_1_1: return "LaTeX Project Public License v1.1";
5575            case LPPL_1_2: return "LaTeX Project Public License v1.2";
5576            case LPPL_1_3A: return "LaTeX Project Public License v1.3a";
5577            case LPPL_1_3C: return "LaTeX Project Public License v1.3c";
5578            case LZMA_SDK_9_11_TO_9_20: return "LZMA SDK License (versions 9.11 to 9.20)";
5579            case LZMA_SDK_9_22: return "LZMA SDK License (versions 9.22 and beyond)";
5580            case MAKEINDEX: return "MakeIndex License";
5581            case MARTIN_BIRGMEIER: return "Martin Birgmeier License";
5582            case METAMAIL: return "metamail License";
5583            case MINPACK: return "Minpack License";
5584            case MIROS: return "The MirOS Licence";
5585            case MIT: return "MIT License";
5586            case MIT_0: return "MIT No Attribution";
5587            case MIT_ADVERTISING: return "Enlightenment License (e16)";
5588            case MIT_CMU: return "CMU License";
5589            case MIT_ENNA: return "enna License";
5590            case MIT_FEH: return "feh License";
5591            case MIT_FESTIVAL: return "MIT Festival Variant";
5592            case MIT_MODERN_VARIANT: return "MIT License Modern Variant";
5593            case MIT_OPEN_GROUP: return "MIT Open Group variant";
5594            case MIT_WU: return "MIT Tom Wu Variant";
5595            case MITNFA: return "MIT +no-false-attribs license";
5596            case MOTOSOTO: return "Motosoto License";
5597            case MPI_PERMISSIVE: return "mpi Permissive License";
5598            case MPICH2: return "mpich2 License";
5599            case MPL_1_0: return "Mozilla Public License 1.0";
5600            case MPL_1_1: return "Mozilla Public License 1.1";
5601            case MPL_2_0: return "Mozilla Public License 2.0";
5602            case MPL_2_0_NO_COPYLEFT_EXCEPTION: return "Mozilla Public License 2.0 (no copyleft exception)";
5603            case MPLUS: return "mplus Font License";
5604            case MS_LPL: return "Microsoft Limited Public License";
5605            case MS_PL: return "Microsoft Public License";
5606            case MS_RL: return "Microsoft Reciprocal License";
5607            case MTLL: return "Matrix Template Library License";
5608            case MULANPSL_1_0: return "Mulan Permissive Software License, Version 1";
5609            case MULANPSL_2_0: return "Mulan Permissive Software License, Version 2";
5610            case MULTICS: return "Multics License";
5611            case MUP: return "Mup License";
5612            case NAIST_2003: return "Nara Institute of Science and Technology License (2003)";
5613            case NASA_1_3: return "NASA Open Source Agreement 1.3";
5614            case NAUMEN: return "Naumen Public License";
5615            case NBPL_1_0: return "Net Boolean Public License v1";
5616            case NCGL_UK_2_0: return "Non-Commercial Government Licence";
5617            case NCSA: return "University of Illinois/NCSA Open Source License";
5618            case NET_SNMP: return "Net-SNMP License";
5619            case NETCDF: return "NetCDF license";
5620            case NEWSLETR: return "Newsletr License";
5621            case NGPL: return "Nethack General Public License";
5622            case NICTA_1_0: return "NICTA Public Software License, Version 1.0";
5623            case NIST_PD: return "NIST Public Domain Notice";
5624            case NIST_PD_FALLBACK: return "NIST Public Domain Notice with license fallback";
5625            case NIST_SOFTWARE: return "NIST Software License";
5626            case NLOD_1_0: return "Norwegian Licence for Open Government Data (NLOD) 1.0";
5627            case NLOD_2_0: return "Norwegian Licence for Open Government Data (NLOD) 2.0";
5628            case NLPL: return "No Limit Public License";
5629            case NOKIA: return "Nokia Open Source License";
5630            case NOSL: return "Netizen Open Source License";
5631            case NOT_OPEN_SOURCE: return "Not open source";
5632            case NOWEB: return "Noweb License";
5633            case NPL_1_0: return "Netscape Public License v1.0";
5634            case NPL_1_1: return "Netscape Public License v1.1";
5635            case NPOSL_3_0: return "Non-Profit Open Software License 3.0";
5636            case NRL: return "NRL License";
5637            case NTP: return "NTP License";
5638            case NTP_0: return "NTP No Attribution";
5639            case NUNIT: return "Nunit License";
5640            case O_UDA_1_0: return "Open Use of Data Agreement v1.0";
5641            case OCCT_PL: return "Open CASCADE Technology Public License";
5642            case OCLC_2_0: return "OCLC Research Public License 2.0";
5643            case ODBL_1_0: return "Open Data Commons Open Database License v1.0";
5644            case ODC_BY_1_0: return "Open Data Commons Attribution License v1.0";
5645            case OFFIS: return "OFFIS License";
5646            case OFL_1_0: return "SIL Open Font License 1.0";
5647            case OFL_1_0_NO_RFN: return "SIL Open Font License 1.0 with no Reserved Font Name";
5648            case OFL_1_0_RFN: return "SIL Open Font License 1.0 with Reserved Font Name";
5649            case OFL_1_1: return "SIL Open Font License 1.1";
5650            case OFL_1_1_NO_RFN: return "SIL Open Font License 1.1 with no Reserved Font Name";
5651            case OFL_1_1_RFN: return "SIL Open Font License 1.1 with Reserved Font Name";
5652            case OGC_1_0: return "OGC Software License, Version 1.0";
5653            case OGDL_TAIWAN_1_0: return "Taiwan Open Government Data License, version 1.0";
5654            case OGL_CANADA_2_0: return "Open Government Licence - Canada";
5655            case OGL_UK_1_0: return "Open Government Licence v1.0";
5656            case OGL_UK_2_0: return "Open Government Licence v2.0";
5657            case OGL_UK_3_0: return "Open Government Licence v3.0";
5658            case OGTSL: return "Open Group Test Suite License";
5659            case OLDAP_1_1: return "Open LDAP Public License v1.1";
5660            case OLDAP_1_2: return "Open LDAP Public License v1.2";
5661            case OLDAP_1_3: return "Open LDAP Public License v1.3";
5662            case OLDAP_1_4: return "Open LDAP Public License v1.4";
5663            case OLDAP_2_0: return "Open LDAP Public License v2.0 (or possibly 2.0A and 2.0B)";
5664            case OLDAP_2_0_1: return "Open LDAP Public License v2.0.1";
5665            case OLDAP_2_1: return "Open LDAP Public License v2.1";
5666            case OLDAP_2_2: return "Open LDAP Public License v2.2";
5667            case OLDAP_2_2_1: return "Open LDAP Public License v2.2.1";
5668            case OLDAP_2_2_2: return "Open LDAP Public License 2.2.2";
5669            case OLDAP_2_3: return "Open LDAP Public License v2.3";
5670            case OLDAP_2_4: return "Open LDAP Public License v2.4";
5671            case OLDAP_2_5: return "Open LDAP Public License v2.5";
5672            case OLDAP_2_6: return "Open LDAP Public License v2.6";
5673            case OLDAP_2_7: return "Open LDAP Public License v2.7";
5674            case OLDAP_2_8: return "Open LDAP Public License v2.8";
5675            case OLFL_1_3: return "Open Logistics Foundation License Version 1.3";
5676            case OML: return "Open Market License";
5677            case OPENPBS_2_3: return "OpenPBS v2.3 Software License";
5678            case OPENSSL: return "OpenSSL License";
5679            case OPL_1_0: return "Open Public License v1.0";
5680            case OPL_UK_3_0: return "United    Kingdom Open Parliament Licence v3.0";
5681            case OPUBL_1_0: return "Open Publication License v1.0";
5682            case OSET_PL_2_1: return "OSET Public License version 2.1";
5683            case OSL_1_0: return "Open Software License 1.0";
5684            case OSL_1_1: return "Open Software License 1.1";
5685            case OSL_2_0: return "Open Software License 2.0";
5686            case OSL_2_1: return "Open Software License 2.1";
5687            case OSL_3_0: return "Open Software License 3.0";
5688            case PARITY_6_0_0: return "The Parity Public License 6.0.0";
5689            case PARITY_7_0_0: return "The Parity Public License 7.0.0";
5690            case PDDL_1_0: return "Open Data Commons Public Domain Dedication & License 1.0";
5691            case PHP_3_0: return "PHP License v3.0";
5692            case PHP_3_01: return "PHP License v3.01";
5693            case PLEXUS: return "Plexus Classworlds License";
5694            case POLYFORM_NONCOMMERCIAL_1_0_0: return "PolyForm Noncommercial License 1.0.0";
5695            case POLYFORM_SMALL_BUSINESS_1_0_0: return "PolyForm Small Business License 1.0.0";
5696            case POSTGRESQL: return "PostgreSQL License";
5697            case PSF_2_0: return "Python Software Foundation License 2.0";
5698            case PSFRAG: return "psfrag License";
5699            case PSUTILS: return "psutils License";
5700            case PYTHON_2_0: return "Python License 2.0";
5701            case PYTHON_2_0_1: return "Python License 2.0.1";
5702            case QHULL: return "Qhull License";
5703            case QPL_1_0: return "Q Public License 1.0";
5704            case QPL_1_0_INRIA_2004: return "Q Public License 1.0 - INRIA 2004 variant";
5705            case RDISC: return "Rdisc License";
5706            case RHECOS_1_1: return "Red Hat eCos Public License v1.1";
5707            case RPL_1_1: return "Reciprocal Public License 1.1";
5708            case RPL_1_5: return "Reciprocal Public License 1.5";
5709            case RPSL_1_0: return "RealNetworks Public Source License v1.0";
5710            case RSA_MD: return "RSA Message-Digest License";
5711            case RSCPL: return "Ricoh Source Code Public License";
5712            case RUBY: return "Ruby License";
5713            case SAX_PD: return "Sax Public Domain Notice";
5714            case SAXPATH: return "Saxpath License";
5715            case SCEA: return "SCEA Shared Source License";
5716            case SCHEMEREPORT: return "Scheme Language Report License";
5717            case SENDMAIL: return "Sendmail License";
5718            case SENDMAIL_8_23: return "Sendmail License 8.23";
5719            case SGI_B_1_0: return "SGI Free Software License B v1.0";
5720            case SGI_B_1_1: return "SGI Free Software License B v1.1";
5721            case SGI_B_2_0: return "SGI Free Software License B v2.0";
5722            case SGP4: return "SGP4 Permission Notice";
5723            case SHL_0_5: return "Solderpad Hardware License v0.5";
5724            case SHL_0_51: return "Solderpad Hardware License, Version 0.51";
5725            case SIMPL_2_0: return "Simple Public License 2.0";
5726            case SISSL: return "Sun Industry Standards Source License v1.1";
5727            case SISSL_1_2: return "Sun Industry Standards Source License v1.2";
5728            case SLEEPYCAT: return "Sleepycat License";
5729            case SMLNJ: return "Standard ML of New Jersey License";
5730            case SMPPL: return "Secure Messaging Protocol Public License";
5731            case SNIA: return "SNIA Public License 1.1";
5732            case SNPRINTF: return "snprintf License";
5733            case SPENCER_86: return "Spencer License 86";
5734            case SPENCER_94: return "Spencer License 94";
5735            case SPENCER_99: return "Spencer License 99";
5736            case SPL_1_0: return "Sun Public License v1.0";
5737            case SSH_OPENSSH: return "SSH OpenSSH license";
5738            case SSH_SHORT: return "SSH short notice";
5739            case SSPL_1_0: return "Server Side Public License, v 1";
5740            case STANDARDML_NJ: return "Standard ML of New Jersey License";
5741            case SUGARCRM_1_1_3: return "SugarCRM Public License v1.1.3";
5742            case SUNPRO: return "SunPro License";
5743            case SWL: return "Scheme Widget Library (SWL) Software License Agreement";
5744            case SYMLINKS: return "Symlinks License";
5745            case TAPR_OHL_1_0: return "TAPR Open Hardware License v1.0";
5746            case TCL: return "TCL/TK License";
5747            case TCP_WRAPPERS: return "TCP Wrappers License";
5748            case TERMREADKEY: return "TermReadKey License";
5749            case TMATE: return "TMate Open Source License";
5750            case TORQUE_1_1: return "TORQUE v2.5+ Software License v1.1";
5751            case TOSL: return "Trusster Open Source License";
5752            case TPDL: return "Time::ParseDate License";
5753            case TPL_1_0: return "THOR Public License 1.0";
5754            case TTWL: return "Text-Tabs+Wrap License";
5755            case TU_BERLIN_1_0: return "Technische Universitaet Berlin License 1.0";
5756            case TU_BERLIN_2_0: return "Technische Universitaet Berlin License 2.0";
5757            case UCAR: return "UCAR License";
5758            case UCL_1_0: return "Upstream Compatibility License v1.0";
5759            case UNICODE_DFS_2015: return "Unicode License Agreement - Data Files and Software (2015)";
5760            case UNICODE_DFS_2016: return "Unicode License Agreement - Data Files and Software (2016)";
5761            case UNICODE_TOU: return "Unicode Terms of Use";
5762            case UNIXCRYPT: return "UnixCrypt License";
5763            case UNLICENSE: return "The Unlicense";
5764            case UPL_1_0: return "Universal Permissive License v1.0";
5765            case VIM: return "Vim License";
5766            case VOSTROM: return "VOSTROM Public License for Open Source";
5767            case VSL_1_0: return "Vovida Software License v1.0";
5768            case W3C: return "W3C Software Notice and License (2002-12-31)";
5769            case W3C_19980720: return "W3C Software Notice and License (1998-07-20)";
5770            case W3C_20150513: return "W3C Software Notice and Document License (2015-05-13)";
5771            case W3M: return "w3m License";
5772            case WATCOM_1_0: return "Sybase Open Watcom Public License 1.0";
5773            case WIDGET_WORKSHOP: return "Widget Workshop License";
5774            case WSUIPA: return "Wsuipa License";
5775            case WTFPL: return "Do What The F*ck You Want To Public License";
5776            case WXWINDOWS: return "wxWindows Library License";
5777            case X11: return "X11 License";
5778            case X11_DISTRIBUTE_MODIFICATIONS_VARIANT: return "X11 License Distribution Modification Variant";
5779            case XDEBUG_1_03: return "Xdebug License v 1.03";
5780            case XEROX: return "Xerox License";
5781            case XFIG: return "Xfig License";
5782            case XFREE86_1_1: return "XFree86 License 1.1";
5783            case XINETD: return "xinetd License";
5784            case XLOCK: return "xlock License";
5785            case XNET: return "X.Net License";
5786            case XPP: return "XPP License";
5787            case XSKAT: return "XSkat License";
5788            case YPL_1_0: return "Yahoo! Public License v1.0";
5789            case YPL_1_1: return "Yahoo! Public License v1.1";
5790            case ZED: return "Zed License";
5791            case ZEND_2_0: return "Zend License v2.0";
5792            case ZIMBRA_1_3: return "Zimbra Public License v1.3";
5793            case ZIMBRA_1_4: return "Zimbra Public License v1.4";
5794            case ZLIB: return "zlib License";
5795            case ZLIB_ACKNOWLEDGEMENT: return "zlib/libpng License with Acknowledgement";
5796            case ZPL_1_1: return "Zope Public License 1.1";
5797            case ZPL_2_0: return "Zope Public License 2.0";
5798            case ZPL_2_1: return "Zope Public License 2.1";
5799            case NULL: return null;
5800            default: return "?";
5801          }
5802        }
5803    }
5804
5805  public static class SPDXLicenseEnumFactory implements EnumFactory<SPDXLicense> {
5806    public SPDXLicense fromCode(String codeString) throws IllegalArgumentException {
5807      if (codeString == null || "".equals(codeString))
5808            if (codeString == null || "".equals(codeString))
5809                return null;
5810        if ("0BSD".equals(codeString))
5811          return SPDXLicense._0BSD;
5812        if ("AAL".equals(codeString))
5813          return SPDXLicense.AAL;
5814        if ("Abstyles".equals(codeString))
5815          return SPDXLicense.ABSTYLES;
5816        if ("AdaCore-doc".equals(codeString))
5817          return SPDXLicense.ADACORE_DOC;
5818        if ("Adobe-2006".equals(codeString))
5819          return SPDXLicense.ADOBE_2006;
5820        if ("Adobe-Glyph".equals(codeString))
5821          return SPDXLicense.ADOBE_GLYPH;
5822        if ("ADSL".equals(codeString))
5823          return SPDXLicense.ADSL;
5824        if ("AFL-1.1".equals(codeString))
5825          return SPDXLicense.AFL_1_1;
5826        if ("AFL-1.2".equals(codeString))
5827          return SPDXLicense.AFL_1_2;
5828        if ("AFL-2.0".equals(codeString))
5829          return SPDXLicense.AFL_2_0;
5830        if ("AFL-2.1".equals(codeString))
5831          return SPDXLicense.AFL_2_1;
5832        if ("AFL-3.0".equals(codeString))
5833          return SPDXLicense.AFL_3_0;
5834        if ("Afmparse".equals(codeString))
5835          return SPDXLicense.AFMPARSE;
5836        if ("AGPL-1.0".equals(codeString))
5837          return SPDXLicense.AGPL_1_0;
5838        if ("AGPL-1.0-only".equals(codeString))
5839          return SPDXLicense.AGPL_1_0_ONLY;
5840        if ("AGPL-1.0-or-later".equals(codeString))
5841          return SPDXLicense.AGPL_1_0_OR_LATER;
5842        if ("AGPL-3.0".equals(codeString))
5843          return SPDXLicense.AGPL_3_0;
5844        if ("AGPL-3.0-only".equals(codeString))
5845          return SPDXLicense.AGPL_3_0_ONLY;
5846        if ("AGPL-3.0-or-later".equals(codeString))
5847          return SPDXLicense.AGPL_3_0_OR_LATER;
5848        if ("Aladdin".equals(codeString))
5849          return SPDXLicense.ALADDIN;
5850        if ("AMDPLPA".equals(codeString))
5851          return SPDXLicense.AMDPLPA;
5852        if ("AML".equals(codeString))
5853          return SPDXLicense.AML;
5854        if ("AMPAS".equals(codeString))
5855          return SPDXLicense.AMPAS;
5856        if ("ANTLR-PD".equals(codeString))
5857          return SPDXLicense.ANTLR_PD;
5858        if ("ANTLR-PD-fallback".equals(codeString))
5859          return SPDXLicense.ANTLR_PD_FALLBACK;
5860        if ("Apache-1.0".equals(codeString))
5861          return SPDXLicense.APACHE_1_0;
5862        if ("Apache-1.1".equals(codeString))
5863          return SPDXLicense.APACHE_1_1;
5864        if ("Apache-2.0".equals(codeString))
5865          return SPDXLicense.APACHE_2_0;
5866        if ("APAFML".equals(codeString))
5867          return SPDXLicense.APAFML;
5868        if ("APL-1.0".equals(codeString))
5869          return SPDXLicense.APL_1_0;
5870        if ("App-s2p".equals(codeString))
5871          return SPDXLicense.APP_S2P;
5872        if ("APSL-1.0".equals(codeString))
5873          return SPDXLicense.APSL_1_0;
5874        if ("APSL-1.1".equals(codeString))
5875          return SPDXLicense.APSL_1_1;
5876        if ("APSL-1.2".equals(codeString))
5877          return SPDXLicense.APSL_1_2;
5878        if ("APSL-2.0".equals(codeString))
5879          return SPDXLicense.APSL_2_0;
5880        if ("Arphic-1999".equals(codeString))
5881          return SPDXLicense.ARPHIC_1999;
5882        if ("Artistic-1.0".equals(codeString))
5883          return SPDXLicense.ARTISTIC_1_0;
5884        if ("Artistic-1.0-cl8".equals(codeString))
5885          return SPDXLicense.ARTISTIC_1_0_CL8;
5886        if ("Artistic-1.0-Perl".equals(codeString))
5887          return SPDXLicense.ARTISTIC_1_0_PERL;
5888        if ("Artistic-2.0".equals(codeString))
5889          return SPDXLicense.ARTISTIC_2_0;
5890        if ("ASWF-Digital-Assets-1.0".equals(codeString))
5891          return SPDXLicense.ASWF_DIGITAL_ASSETS_1_0;
5892        if ("ASWF-Digital-Assets-1.1".equals(codeString))
5893          return SPDXLicense.ASWF_DIGITAL_ASSETS_1_1;
5894        if ("Baekmuk".equals(codeString))
5895          return SPDXLicense.BAEKMUK;
5896        if ("Bahyph".equals(codeString))
5897          return SPDXLicense.BAHYPH;
5898        if ("Barr".equals(codeString))
5899          return SPDXLicense.BARR;
5900        if ("Beerware".equals(codeString))
5901          return SPDXLicense.BEERWARE;
5902        if ("Bitstream-Charter".equals(codeString))
5903          return SPDXLicense.BITSTREAM_CHARTER;
5904        if ("Bitstream-Vera".equals(codeString))
5905          return SPDXLicense.BITSTREAM_VERA;
5906        if ("BitTorrent-1.0".equals(codeString))
5907          return SPDXLicense.BITTORRENT_1_0;
5908        if ("BitTorrent-1.1".equals(codeString))
5909          return SPDXLicense.BITTORRENT_1_1;
5910        if ("blessing".equals(codeString))
5911          return SPDXLicense.BLESSING;
5912        if ("BlueOak-1.0.0".equals(codeString))
5913          return SPDXLicense.BLUEOAK_1_0_0;
5914        if ("Boehm-GC".equals(codeString))
5915          return SPDXLicense.BOEHM_GC;
5916        if ("Borceux".equals(codeString))
5917          return SPDXLicense.BORCEUX;
5918        if ("Brian-Gladman-3-Clause".equals(codeString))
5919          return SPDXLicense.BRIAN_GLADMAN_3_CLAUSE;
5920        if ("BSD-1-Clause".equals(codeString))
5921          return SPDXLicense.BSD_1_CLAUSE;
5922        if ("BSD-2-Clause".equals(codeString))
5923          return SPDXLicense.BSD_2_CLAUSE;
5924        if ("BSD-2-Clause-FreeBSD".equals(codeString))
5925          return SPDXLicense.BSD_2_CLAUSE_FREEBSD;
5926        if ("BSD-2-Clause-NetBSD".equals(codeString))
5927          return SPDXLicense.BSD_2_CLAUSE_NETBSD;
5928        if ("BSD-2-Clause-Patent".equals(codeString))
5929          return SPDXLicense.BSD_2_CLAUSE_PATENT;
5930        if ("BSD-2-Clause-Views".equals(codeString))
5931          return SPDXLicense.BSD_2_CLAUSE_VIEWS;
5932        if ("BSD-3-Clause".equals(codeString))
5933          return SPDXLicense.BSD_3_CLAUSE;
5934        if ("BSD-3-Clause-Attribution".equals(codeString))
5935          return SPDXLicense.BSD_3_CLAUSE_ATTRIBUTION;
5936        if ("BSD-3-Clause-Clear".equals(codeString))
5937          return SPDXLicense.BSD_3_CLAUSE_CLEAR;
5938        if ("BSD-3-Clause-LBNL".equals(codeString))
5939          return SPDXLicense.BSD_3_CLAUSE_LBNL;
5940        if ("BSD-3-Clause-Modification".equals(codeString))
5941          return SPDXLicense.BSD_3_CLAUSE_MODIFICATION;
5942        if ("BSD-3-Clause-No-Military-License".equals(codeString))
5943          return SPDXLicense.BSD_3_CLAUSE_NO_MILITARY_LICENSE;
5944        if ("BSD-3-Clause-No-Nuclear-License".equals(codeString))
5945          return SPDXLicense.BSD_3_CLAUSE_NO_NUCLEAR_LICENSE;
5946        if ("BSD-3-Clause-No-Nuclear-License-2014".equals(codeString))
5947          return SPDXLicense.BSD_3_CLAUSE_NO_NUCLEAR_LICENSE_2014;
5948        if ("BSD-3-Clause-No-Nuclear-Warranty".equals(codeString))
5949          return SPDXLicense.BSD_3_CLAUSE_NO_NUCLEAR_WARRANTY;
5950        if ("BSD-3-Clause-Open-MPI".equals(codeString))
5951          return SPDXLicense.BSD_3_CLAUSE_OPEN_MPI;
5952        if ("BSD-4-Clause".equals(codeString))
5953          return SPDXLicense.BSD_4_CLAUSE;
5954        if ("BSD-4-Clause-Shortened".equals(codeString))
5955          return SPDXLicense.BSD_4_CLAUSE_SHORTENED;
5956        if ("BSD-4-Clause-UC".equals(codeString))
5957          return SPDXLicense.BSD_4_CLAUSE_UC;
5958        if ("BSD-4.3RENO".equals(codeString))
5959          return SPDXLicense.BSD_4_3RENO;
5960        if ("BSD-4.3TAHOE".equals(codeString))
5961          return SPDXLicense.BSD_4_3TAHOE;
5962        if ("BSD-Advertising-Acknowledgement".equals(codeString))
5963          return SPDXLicense.BSD_ADVERTISING_ACKNOWLEDGEMENT;
5964        if ("BSD-Attribution-HPND-disclaimer".equals(codeString))
5965          return SPDXLicense.BSD_ATTRIBUTION_HPND_DISCLAIMER;
5966        if ("BSD-Protection".equals(codeString))
5967          return SPDXLicense.BSD_PROTECTION;
5968        if ("BSD-Source-Code".equals(codeString))
5969          return SPDXLicense.BSD_SOURCE_CODE;
5970        if ("BSL-1.0".equals(codeString))
5971          return SPDXLicense.BSL_1_0;
5972        if ("BUSL-1.1".equals(codeString))
5973          return SPDXLicense.BUSL_1_1;
5974        if ("bzip2-1.0.5".equals(codeString))
5975          return SPDXLicense.BZIP2_1_0_5;
5976        if ("bzip2-1.0.6".equals(codeString))
5977          return SPDXLicense.BZIP2_1_0_6;
5978        if ("C-UDA-1.0".equals(codeString))
5979          return SPDXLicense.C_UDA_1_0;
5980        if ("CAL-1.0".equals(codeString))
5981          return SPDXLicense.CAL_1_0;
5982        if ("CAL-1.0-Combined-Work-Exception".equals(codeString))
5983          return SPDXLicense.CAL_1_0_COMBINED_WORK_EXCEPTION;
5984        if ("Caldera".equals(codeString))
5985          return SPDXLicense.CALDERA;
5986        if ("CATOSL-1.1".equals(codeString))
5987          return SPDXLicense.CATOSL_1_1;
5988        if ("CC-BY-1.0".equals(codeString))
5989          return SPDXLicense.CC_BY_1_0;
5990        if ("CC-BY-2.0".equals(codeString))
5991          return SPDXLicense.CC_BY_2_0;
5992        if ("CC-BY-2.5".equals(codeString))
5993          return SPDXLicense.CC_BY_2_5;
5994        if ("CC-BY-2.5-AU".equals(codeString))
5995          return SPDXLicense.CC_BY_2_5_AU;
5996        if ("CC-BY-3.0".equals(codeString))
5997          return SPDXLicense.CC_BY_3_0;
5998        if ("CC-BY-3.0-AT".equals(codeString))
5999          return SPDXLicense.CC_BY_3_0_AT;
6000        if ("CC-BY-3.0-DE".equals(codeString))
6001          return SPDXLicense.CC_BY_3_0_DE;
6002        if ("CC-BY-3.0-IGO".equals(codeString))
6003          return SPDXLicense.CC_BY_3_0_IGO;
6004        if ("CC-BY-3.0-NL".equals(codeString))
6005          return SPDXLicense.CC_BY_3_0_NL;
6006        if ("CC-BY-3.0-US".equals(codeString))
6007          return SPDXLicense.CC_BY_3_0_US;
6008        if ("CC-BY-4.0".equals(codeString))
6009          return SPDXLicense.CC_BY_4_0;
6010        if ("CC-BY-NC-1.0".equals(codeString))
6011          return SPDXLicense.CC_BY_NC_1_0;
6012        if ("CC-BY-NC-2.0".equals(codeString))
6013          return SPDXLicense.CC_BY_NC_2_0;
6014        if ("CC-BY-NC-2.5".equals(codeString))
6015          return SPDXLicense.CC_BY_NC_2_5;
6016        if ("CC-BY-NC-3.0".equals(codeString))
6017          return SPDXLicense.CC_BY_NC_3_0;
6018        if ("CC-BY-NC-3.0-DE".equals(codeString))
6019          return SPDXLicense.CC_BY_NC_3_0_DE;
6020        if ("CC-BY-NC-4.0".equals(codeString))
6021          return SPDXLicense.CC_BY_NC_4_0;
6022        if ("CC-BY-NC-ND-1.0".equals(codeString))
6023          return SPDXLicense.CC_BY_NC_ND_1_0;
6024        if ("CC-BY-NC-ND-2.0".equals(codeString))
6025          return SPDXLicense.CC_BY_NC_ND_2_0;
6026        if ("CC-BY-NC-ND-2.5".equals(codeString))
6027          return SPDXLicense.CC_BY_NC_ND_2_5;
6028        if ("CC-BY-NC-ND-3.0".equals(codeString))
6029          return SPDXLicense.CC_BY_NC_ND_3_0;
6030        if ("CC-BY-NC-ND-3.0-DE".equals(codeString))
6031          return SPDXLicense.CC_BY_NC_ND_3_0_DE;
6032        if ("CC-BY-NC-ND-3.0-IGO".equals(codeString))
6033          return SPDXLicense.CC_BY_NC_ND_3_0_IGO;
6034        if ("CC-BY-NC-ND-4.0".equals(codeString))
6035          return SPDXLicense.CC_BY_NC_ND_4_0;
6036        if ("CC-BY-NC-SA-1.0".equals(codeString))
6037          return SPDXLicense.CC_BY_NC_SA_1_0;
6038        if ("CC-BY-NC-SA-2.0".equals(codeString))
6039          return SPDXLicense.CC_BY_NC_SA_2_0;
6040        if ("CC-BY-NC-SA-2.0-DE".equals(codeString))
6041          return SPDXLicense.CC_BY_NC_SA_2_0_DE;
6042        if ("CC-BY-NC-SA-2.0-FR".equals(codeString))
6043          return SPDXLicense.CC_BY_NC_SA_2_0_FR;
6044        if ("CC-BY-NC-SA-2.0-UK".equals(codeString))
6045          return SPDXLicense.CC_BY_NC_SA_2_0_UK;
6046        if ("CC-BY-NC-SA-2.5".equals(codeString))
6047          return SPDXLicense.CC_BY_NC_SA_2_5;
6048        if ("CC-BY-NC-SA-3.0".equals(codeString))
6049          return SPDXLicense.CC_BY_NC_SA_3_0;
6050        if ("CC-BY-NC-SA-3.0-DE".equals(codeString))
6051          return SPDXLicense.CC_BY_NC_SA_3_0_DE;
6052        if ("CC-BY-NC-SA-3.0-IGO".equals(codeString))
6053          return SPDXLicense.CC_BY_NC_SA_3_0_IGO;
6054        if ("CC-BY-NC-SA-4.0".equals(codeString))
6055          return SPDXLicense.CC_BY_NC_SA_4_0;
6056        if ("CC-BY-ND-1.0".equals(codeString))
6057          return SPDXLicense.CC_BY_ND_1_0;
6058        if ("CC-BY-ND-2.0".equals(codeString))
6059          return SPDXLicense.CC_BY_ND_2_0;
6060        if ("CC-BY-ND-2.5".equals(codeString))
6061          return SPDXLicense.CC_BY_ND_2_5;
6062        if ("CC-BY-ND-3.0".equals(codeString))
6063          return SPDXLicense.CC_BY_ND_3_0;
6064        if ("CC-BY-ND-3.0-DE".equals(codeString))
6065          return SPDXLicense.CC_BY_ND_3_0_DE;
6066        if ("CC-BY-ND-4.0".equals(codeString))
6067          return SPDXLicense.CC_BY_ND_4_0;
6068        if ("CC-BY-SA-1.0".equals(codeString))
6069          return SPDXLicense.CC_BY_SA_1_0;
6070        if ("CC-BY-SA-2.0".equals(codeString))
6071          return SPDXLicense.CC_BY_SA_2_0;
6072        if ("CC-BY-SA-2.0-UK".equals(codeString))
6073          return SPDXLicense.CC_BY_SA_2_0_UK;
6074        if ("CC-BY-SA-2.1-JP".equals(codeString))
6075          return SPDXLicense.CC_BY_SA_2_1_JP;
6076        if ("CC-BY-SA-2.5".equals(codeString))
6077          return SPDXLicense.CC_BY_SA_2_5;
6078        if ("CC-BY-SA-3.0".equals(codeString))
6079          return SPDXLicense.CC_BY_SA_3_0;
6080        if ("CC-BY-SA-3.0-AT".equals(codeString))
6081          return SPDXLicense.CC_BY_SA_3_0_AT;
6082        if ("CC-BY-SA-3.0-DE".equals(codeString))
6083          return SPDXLicense.CC_BY_SA_3_0_DE;
6084        if ("CC-BY-SA-3.0-IGO".equals(codeString))
6085          return SPDXLicense.CC_BY_SA_3_0_IGO;
6086        if ("CC-BY-SA-4.0".equals(codeString))
6087          return SPDXLicense.CC_BY_SA_4_0;
6088        if ("CC-PDDC".equals(codeString))
6089          return SPDXLicense.CC_PDDC;
6090        if ("CC0-1.0".equals(codeString))
6091          return SPDXLicense.CC0_1_0;
6092        if ("CDDL-1.0".equals(codeString))
6093          return SPDXLicense.CDDL_1_0;
6094        if ("CDDL-1.1".equals(codeString))
6095          return SPDXLicense.CDDL_1_1;
6096        if ("CDL-1.0".equals(codeString))
6097          return SPDXLicense.CDL_1_0;
6098        if ("CDLA-Permissive-1.0".equals(codeString))
6099          return SPDXLicense.CDLA_PERMISSIVE_1_0;
6100        if ("CDLA-Permissive-2.0".equals(codeString))
6101          return SPDXLicense.CDLA_PERMISSIVE_2_0;
6102        if ("CDLA-Sharing-1.0".equals(codeString))
6103          return SPDXLicense.CDLA_SHARING_1_0;
6104        if ("CECILL-1.0".equals(codeString))
6105          return SPDXLicense.CECILL_1_0;
6106        if ("CECILL-1.1".equals(codeString))
6107          return SPDXLicense.CECILL_1_1;
6108        if ("CECILL-2.0".equals(codeString))
6109          return SPDXLicense.CECILL_2_0;
6110        if ("CECILL-2.1".equals(codeString))
6111          return SPDXLicense.CECILL_2_1;
6112        if ("CECILL-B".equals(codeString))
6113          return SPDXLicense.CECILL_B;
6114        if ("CECILL-C".equals(codeString))
6115          return SPDXLicense.CECILL_C;
6116        if ("CERN-OHL-1.1".equals(codeString))
6117          return SPDXLicense.CERN_OHL_1_1;
6118        if ("CERN-OHL-1.2".equals(codeString))
6119          return SPDXLicense.CERN_OHL_1_2;
6120        if ("CERN-OHL-P-2.0".equals(codeString))
6121          return SPDXLicense.CERN_OHL_P_2_0;
6122        if ("CERN-OHL-S-2.0".equals(codeString))
6123          return SPDXLicense.CERN_OHL_S_2_0;
6124        if ("CERN-OHL-W-2.0".equals(codeString))
6125          return SPDXLicense.CERN_OHL_W_2_0;
6126        if ("CFITSIO".equals(codeString))
6127          return SPDXLicense.CFITSIO;
6128        if ("checkmk".equals(codeString))
6129          return SPDXLicense.CHECKMK;
6130        if ("ClArtistic".equals(codeString))
6131          return SPDXLicense.CLARTISTIC;
6132        if ("Clips".equals(codeString))
6133          return SPDXLicense.CLIPS;
6134        if ("CMU-Mach".equals(codeString))
6135          return SPDXLicense.CMU_MACH;
6136        if ("CNRI-Jython".equals(codeString))
6137          return SPDXLicense.CNRI_JYTHON;
6138        if ("CNRI-Python".equals(codeString))
6139          return SPDXLicense.CNRI_PYTHON;
6140        if ("CNRI-Python-GPL-Compatible".equals(codeString))
6141          return SPDXLicense.CNRI_PYTHON_GPL_COMPATIBLE;
6142        if ("COIL-1.0".equals(codeString))
6143          return SPDXLicense.COIL_1_0;
6144        if ("Community-Spec-1.0".equals(codeString))
6145          return SPDXLicense.COMMUNITY_SPEC_1_0;
6146        if ("Condor-1.1".equals(codeString))
6147          return SPDXLicense.CONDOR_1_1;
6148        if ("copyleft-next-0.3.0".equals(codeString))
6149          return SPDXLicense.COPYLEFT_NEXT_0_3_0;
6150        if ("copyleft-next-0.3.1".equals(codeString))
6151          return SPDXLicense.COPYLEFT_NEXT_0_3_1;
6152        if ("Cornell-Lossless-JPEG".equals(codeString))
6153          return SPDXLicense.CORNELL_LOSSLESS_JPEG;
6154        if ("CPAL-1.0".equals(codeString))
6155          return SPDXLicense.CPAL_1_0;
6156        if ("CPL-1.0".equals(codeString))
6157          return SPDXLicense.CPL_1_0;
6158        if ("CPOL-1.02".equals(codeString))
6159          return SPDXLicense.CPOL_1_02;
6160        if ("Crossword".equals(codeString))
6161          return SPDXLicense.CROSSWORD;
6162        if ("CrystalStacker".equals(codeString))
6163          return SPDXLicense.CRYSTALSTACKER;
6164        if ("CUA-OPL-1.0".equals(codeString))
6165          return SPDXLicense.CUA_OPL_1_0;
6166        if ("Cube".equals(codeString))
6167          return SPDXLicense.CUBE;
6168        if ("curl".equals(codeString))
6169          return SPDXLicense.CURL;
6170        if ("D-FSL-1.0".equals(codeString))
6171          return SPDXLicense.D_FSL_1_0;
6172        if ("diffmark".equals(codeString))
6173          return SPDXLicense.DIFFMARK;
6174        if ("DL-DE-BY-2.0".equals(codeString))
6175          return SPDXLicense.DL_DE_BY_2_0;
6176        if ("DOC".equals(codeString))
6177          return SPDXLicense.DOC;
6178        if ("Dotseqn".equals(codeString))
6179          return SPDXLicense.DOTSEQN;
6180        if ("DRL-1.0".equals(codeString))
6181          return SPDXLicense.DRL_1_0;
6182        if ("DSDP".equals(codeString))
6183          return SPDXLicense.DSDP;
6184        if ("dtoa".equals(codeString))
6185          return SPDXLicense.DTOA;
6186        if ("dvipdfm".equals(codeString))
6187          return SPDXLicense.DVIPDFM;
6188        if ("ECL-1.0".equals(codeString))
6189          return SPDXLicense.ECL_1_0;
6190        if ("ECL-2.0".equals(codeString))
6191          return SPDXLicense.ECL_2_0;
6192        if ("eCos-2.0".equals(codeString))
6193          return SPDXLicense.ECOS_2_0;
6194        if ("EFL-1.0".equals(codeString))
6195          return SPDXLicense.EFL_1_0;
6196        if ("EFL-2.0".equals(codeString))
6197          return SPDXLicense.EFL_2_0;
6198        if ("eGenix".equals(codeString))
6199          return SPDXLicense.EGENIX;
6200        if ("Elastic-2.0".equals(codeString))
6201          return SPDXLicense.ELASTIC_2_0;
6202        if ("Entessa".equals(codeString))
6203          return SPDXLicense.ENTESSA;
6204        if ("EPICS".equals(codeString))
6205          return SPDXLicense.EPICS;
6206        if ("EPL-1.0".equals(codeString))
6207          return SPDXLicense.EPL_1_0;
6208        if ("EPL-2.0".equals(codeString))
6209          return SPDXLicense.EPL_2_0;
6210        if ("ErlPL-1.1".equals(codeString))
6211          return SPDXLicense.ERLPL_1_1;
6212        if ("etalab-2.0".equals(codeString))
6213          return SPDXLicense.ETALAB_2_0;
6214        if ("EUDatagrid".equals(codeString))
6215          return SPDXLicense.EUDATAGRID;
6216        if ("EUPL-1.0".equals(codeString))
6217          return SPDXLicense.EUPL_1_0;
6218        if ("EUPL-1.1".equals(codeString))
6219          return SPDXLicense.EUPL_1_1;
6220        if ("EUPL-1.2".equals(codeString))
6221          return SPDXLicense.EUPL_1_2;
6222        if ("Eurosym".equals(codeString))
6223          return SPDXLicense.EUROSYM;
6224        if ("Fair".equals(codeString))
6225          return SPDXLicense.FAIR;
6226        if ("FDK-AAC".equals(codeString))
6227          return SPDXLicense.FDK_AAC;
6228        if ("Frameworx-1.0".equals(codeString))
6229          return SPDXLicense.FRAMEWORX_1_0;
6230        if ("FreeBSD-DOC".equals(codeString))
6231          return SPDXLicense.FREEBSD_DOC;
6232        if ("FreeImage".equals(codeString))
6233          return SPDXLicense.FREEIMAGE;
6234        if ("FSFAP".equals(codeString))
6235          return SPDXLicense.FSFAP;
6236        if ("FSFUL".equals(codeString))
6237          return SPDXLicense.FSFUL;
6238        if ("FSFULLR".equals(codeString))
6239          return SPDXLicense.FSFULLR;
6240        if ("FSFULLRWD".equals(codeString))
6241          return SPDXLicense.FSFULLRWD;
6242        if ("FTL".equals(codeString))
6243          return SPDXLicense.FTL;
6244        if ("GD".equals(codeString))
6245          return SPDXLicense.GD;
6246        if ("GFDL-1.1".equals(codeString))
6247          return SPDXLicense.GFDL_1_1;
6248        if ("GFDL-1.1-invariants-only".equals(codeString))
6249          return SPDXLicense.GFDL_1_1_INVARIANTS_ONLY;
6250        if ("GFDL-1.1-invariants-or-later".equals(codeString))
6251          return SPDXLicense.GFDL_1_1_INVARIANTS_OR_LATER;
6252        if ("GFDL-1.1-no-invariants-only".equals(codeString))
6253          return SPDXLicense.GFDL_1_1_NO_INVARIANTS_ONLY;
6254        if ("GFDL-1.1-no-invariants-or-later".equals(codeString))
6255          return SPDXLicense.GFDL_1_1_NO_INVARIANTS_OR_LATER;
6256        if ("GFDL-1.1-only".equals(codeString))
6257          return SPDXLicense.GFDL_1_1_ONLY;
6258        if ("GFDL-1.1-or-later".equals(codeString))
6259          return SPDXLicense.GFDL_1_1_OR_LATER;
6260        if ("GFDL-1.2".equals(codeString))
6261          return SPDXLicense.GFDL_1_2;
6262        if ("GFDL-1.2-invariants-only".equals(codeString))
6263          return SPDXLicense.GFDL_1_2_INVARIANTS_ONLY;
6264        if ("GFDL-1.2-invariants-or-later".equals(codeString))
6265          return SPDXLicense.GFDL_1_2_INVARIANTS_OR_LATER;
6266        if ("GFDL-1.2-no-invariants-only".equals(codeString))
6267          return SPDXLicense.GFDL_1_2_NO_INVARIANTS_ONLY;
6268        if ("GFDL-1.2-no-invariants-or-later".equals(codeString))
6269          return SPDXLicense.GFDL_1_2_NO_INVARIANTS_OR_LATER;
6270        if ("GFDL-1.2-only".equals(codeString))
6271          return SPDXLicense.GFDL_1_2_ONLY;
6272        if ("GFDL-1.2-or-later".equals(codeString))
6273          return SPDXLicense.GFDL_1_2_OR_LATER;
6274        if ("GFDL-1.3".equals(codeString))
6275          return SPDXLicense.GFDL_1_3;
6276        if ("GFDL-1.3-invariants-only".equals(codeString))
6277          return SPDXLicense.GFDL_1_3_INVARIANTS_ONLY;
6278        if ("GFDL-1.3-invariants-or-later".equals(codeString))
6279          return SPDXLicense.GFDL_1_3_INVARIANTS_OR_LATER;
6280        if ("GFDL-1.3-no-invariants-only".equals(codeString))
6281          return SPDXLicense.GFDL_1_3_NO_INVARIANTS_ONLY;
6282        if ("GFDL-1.3-no-invariants-or-later".equals(codeString))
6283          return SPDXLicense.GFDL_1_3_NO_INVARIANTS_OR_LATER;
6284        if ("GFDL-1.3-only".equals(codeString))
6285          return SPDXLicense.GFDL_1_3_ONLY;
6286        if ("GFDL-1.3-or-later".equals(codeString))
6287          return SPDXLicense.GFDL_1_3_OR_LATER;
6288        if ("Giftware".equals(codeString))
6289          return SPDXLicense.GIFTWARE;
6290        if ("GL2PS".equals(codeString))
6291          return SPDXLicense.GL2PS;
6292        if ("Glide".equals(codeString))
6293          return SPDXLicense.GLIDE;
6294        if ("Glulxe".equals(codeString))
6295          return SPDXLicense.GLULXE;
6296        if ("GLWTPL".equals(codeString))
6297          return SPDXLicense.GLWTPL;
6298        if ("gnuplot".equals(codeString))
6299          return SPDXLicense.GNUPLOT;
6300        if ("GPL-1.0".equals(codeString))
6301          return SPDXLicense.GPL_1_0;
6302        if ("GPL-1.0+".equals(codeString))
6303          return SPDXLicense.GPL_1_0PLUS;
6304        if ("GPL-1.0-only".equals(codeString))
6305          return SPDXLicense.GPL_1_0_ONLY;
6306        if ("GPL-1.0-or-later".equals(codeString))
6307          return SPDXLicense.GPL_1_0_OR_LATER;
6308        if ("GPL-2.0".equals(codeString))
6309          return SPDXLicense.GPL_2_0;
6310        if ("GPL-2.0+".equals(codeString))
6311          return SPDXLicense.GPL_2_0PLUS;
6312        if ("GPL-2.0-only".equals(codeString))
6313          return SPDXLicense.GPL_2_0_ONLY;
6314        if ("GPL-2.0-or-later".equals(codeString))
6315          return SPDXLicense.GPL_2_0_OR_LATER;
6316        if ("GPL-2.0-with-autoconf-exception".equals(codeString))
6317          return SPDXLicense.GPL_2_0_WITH_AUTOCONF_EXCEPTION;
6318        if ("GPL-2.0-with-bison-exception".equals(codeString))
6319          return SPDXLicense.GPL_2_0_WITH_BISON_EXCEPTION;
6320        if ("GPL-2.0-with-classpath-exception".equals(codeString))
6321          return SPDXLicense.GPL_2_0_WITH_CLASSPATH_EXCEPTION;
6322        if ("GPL-2.0-with-font-exception".equals(codeString))
6323          return SPDXLicense.GPL_2_0_WITH_FONT_EXCEPTION;
6324        if ("GPL-2.0-with-GCC-exception".equals(codeString))
6325          return SPDXLicense.GPL_2_0_WITH_GCC_EXCEPTION;
6326        if ("GPL-3.0".equals(codeString))
6327          return SPDXLicense.GPL_3_0;
6328        if ("GPL-3.0+".equals(codeString))
6329          return SPDXLicense.GPL_3_0PLUS;
6330        if ("GPL-3.0-only".equals(codeString))
6331          return SPDXLicense.GPL_3_0_ONLY;
6332        if ("GPL-3.0-or-later".equals(codeString))
6333          return SPDXLicense.GPL_3_0_OR_LATER;
6334        if ("GPL-3.0-with-autoconf-exception".equals(codeString))
6335          return SPDXLicense.GPL_3_0_WITH_AUTOCONF_EXCEPTION;
6336        if ("GPL-3.0-with-GCC-exception".equals(codeString))
6337          return SPDXLicense.GPL_3_0_WITH_GCC_EXCEPTION;
6338        if ("Graphics-Gems".equals(codeString))
6339          return SPDXLicense.GRAPHICS_GEMS;
6340        if ("gSOAP-1.3b".equals(codeString))
6341          return SPDXLicense.GSOAP_1_3B;
6342        if ("HaskellReport".equals(codeString))
6343          return SPDXLicense.HASKELLREPORT;
6344        if ("Hippocratic-2.1".equals(codeString))
6345          return SPDXLicense.HIPPOCRATIC_2_1;
6346        if ("HP-1986".equals(codeString))
6347          return SPDXLicense.HP_1986;
6348        if ("HPND".equals(codeString))
6349          return SPDXLicense.HPND;
6350        if ("HPND-export-US".equals(codeString))
6351          return SPDXLicense.HPND_EXPORT_US;
6352        if ("HPND-Markus-Kuhn".equals(codeString))
6353          return SPDXLicense.HPND_MARKUS_KUHN;
6354        if ("HPND-sell-variant".equals(codeString))
6355          return SPDXLicense.HPND_SELL_VARIANT;
6356        if ("HPND-sell-variant-MIT-disclaimer".equals(codeString))
6357          return SPDXLicense.HPND_SELL_VARIANT_MIT_DISCLAIMER;
6358        if ("HTMLTIDY".equals(codeString))
6359          return SPDXLicense.HTMLTIDY;
6360        if ("IBM-pibs".equals(codeString))
6361          return SPDXLicense.IBM_PIBS;
6362        if ("ICU".equals(codeString))
6363          return SPDXLicense.ICU;
6364        if ("IEC-Code-Components-EULA".equals(codeString))
6365          return SPDXLicense.IEC_CODE_COMPONENTS_EULA;
6366        if ("IJG".equals(codeString))
6367          return SPDXLicense.IJG;
6368        if ("IJG-short".equals(codeString))
6369          return SPDXLicense.IJG_SHORT;
6370        if ("ImageMagick".equals(codeString))
6371          return SPDXLicense.IMAGEMAGICK;
6372        if ("iMatix".equals(codeString))
6373          return SPDXLicense.IMATIX;
6374        if ("Imlib2".equals(codeString))
6375          return SPDXLicense.IMLIB2;
6376        if ("Info-ZIP".equals(codeString))
6377          return SPDXLicense.INFO_ZIP;
6378        if ("Inner-Net-2.0".equals(codeString))
6379          return SPDXLicense.INNER_NET_2_0;
6380        if ("Intel".equals(codeString))
6381          return SPDXLicense.INTEL;
6382        if ("Intel-ACPI".equals(codeString))
6383          return SPDXLicense.INTEL_ACPI;
6384        if ("Interbase-1.0".equals(codeString))
6385          return SPDXLicense.INTERBASE_1_0;
6386        if ("IPA".equals(codeString))
6387          return SPDXLicense.IPA;
6388        if ("IPL-1.0".equals(codeString))
6389          return SPDXLicense.IPL_1_0;
6390        if ("ISC".equals(codeString))
6391          return SPDXLicense.ISC;
6392        if ("Jam".equals(codeString))
6393          return SPDXLicense.JAM;
6394        if ("JasPer-2.0".equals(codeString))
6395          return SPDXLicense.JASPER_2_0;
6396        if ("JPL-image".equals(codeString))
6397          return SPDXLicense.JPL_IMAGE;
6398        if ("JPNIC".equals(codeString))
6399          return SPDXLicense.JPNIC;
6400        if ("JSON".equals(codeString))
6401          return SPDXLicense.JSON;
6402        if ("Kazlib".equals(codeString))
6403          return SPDXLicense.KAZLIB;
6404        if ("Knuth-CTAN".equals(codeString))
6405          return SPDXLicense.KNUTH_CTAN;
6406        if ("LAL-1.2".equals(codeString))
6407          return SPDXLicense.LAL_1_2;
6408        if ("LAL-1.3".equals(codeString))
6409          return SPDXLicense.LAL_1_3;
6410        if ("Latex2e".equals(codeString))
6411          return SPDXLicense.LATEX2E;
6412        if ("Latex2e-translated-notice".equals(codeString))
6413          return SPDXLicense.LATEX2E_TRANSLATED_NOTICE;
6414        if ("Leptonica".equals(codeString))
6415          return SPDXLicense.LEPTONICA;
6416        if ("LGPL-2.0".equals(codeString))
6417          return SPDXLicense.LGPL_2_0;
6418        if ("LGPL-2.0+".equals(codeString))
6419          return SPDXLicense.LGPL_2_0PLUS;
6420        if ("LGPL-2.0-only".equals(codeString))
6421          return SPDXLicense.LGPL_2_0_ONLY;
6422        if ("LGPL-2.0-or-later".equals(codeString))
6423          return SPDXLicense.LGPL_2_0_OR_LATER;
6424        if ("LGPL-2.1".equals(codeString))
6425          return SPDXLicense.LGPL_2_1;
6426        if ("LGPL-2.1+".equals(codeString))
6427          return SPDXLicense.LGPL_2_1PLUS;
6428        if ("LGPL-2.1-only".equals(codeString))
6429          return SPDXLicense.LGPL_2_1_ONLY;
6430        if ("LGPL-2.1-or-later".equals(codeString))
6431          return SPDXLicense.LGPL_2_1_OR_LATER;
6432        if ("LGPL-3.0".equals(codeString))
6433          return SPDXLicense.LGPL_3_0;
6434        if ("LGPL-3.0+".equals(codeString))
6435          return SPDXLicense.LGPL_3_0PLUS;
6436        if ("LGPL-3.0-only".equals(codeString))
6437          return SPDXLicense.LGPL_3_0_ONLY;
6438        if ("LGPL-3.0-or-later".equals(codeString))
6439          return SPDXLicense.LGPL_3_0_OR_LATER;
6440        if ("LGPLLR".equals(codeString))
6441          return SPDXLicense.LGPLLR;
6442        if ("Libpng".equals(codeString))
6443          return SPDXLicense.LIBPNG;
6444        if ("libpng-2.0".equals(codeString))
6445          return SPDXLicense.LIBPNG_2_0;
6446        if ("libselinux-1.0".equals(codeString))
6447          return SPDXLicense.LIBSELINUX_1_0;
6448        if ("libtiff".equals(codeString))
6449          return SPDXLicense.LIBTIFF;
6450        if ("libutil-David-Nugent".equals(codeString))
6451          return SPDXLicense.LIBUTIL_DAVID_NUGENT;
6452        if ("LiLiQ-P-1.1".equals(codeString))
6453          return SPDXLicense.LILIQ_P_1_1;
6454        if ("LiLiQ-R-1.1".equals(codeString))
6455          return SPDXLicense.LILIQ_R_1_1;
6456        if ("LiLiQ-Rplus-1.1".equals(codeString))
6457          return SPDXLicense.LILIQ_RPLUS_1_1;
6458        if ("Linux-man-pages-1-para".equals(codeString))
6459          return SPDXLicense.LINUX_MAN_PAGES_1_PARA;
6460        if ("Linux-man-pages-copyleft".equals(codeString))
6461          return SPDXLicense.LINUX_MAN_PAGES_COPYLEFT;
6462        if ("Linux-man-pages-copyleft-2-para".equals(codeString))
6463          return SPDXLicense.LINUX_MAN_PAGES_COPYLEFT_2_PARA;
6464        if ("Linux-man-pages-copyleft-var".equals(codeString))
6465          return SPDXLicense.LINUX_MAN_PAGES_COPYLEFT_VAR;
6466        if ("Linux-OpenIB".equals(codeString))
6467          return SPDXLicense.LINUX_OPENIB;
6468        if ("LOOP".equals(codeString))
6469          return SPDXLicense.LOOP;
6470        if ("LPL-1.0".equals(codeString))
6471          return SPDXLicense.LPL_1_0;
6472        if ("LPL-1.02".equals(codeString))
6473          return SPDXLicense.LPL_1_02;
6474        if ("LPPL-1.0".equals(codeString))
6475          return SPDXLicense.LPPL_1_0;
6476        if ("LPPL-1.1".equals(codeString))
6477          return SPDXLicense.LPPL_1_1;
6478        if ("LPPL-1.2".equals(codeString))
6479          return SPDXLicense.LPPL_1_2;
6480        if ("LPPL-1.3a".equals(codeString))
6481          return SPDXLicense.LPPL_1_3A;
6482        if ("LPPL-1.3c".equals(codeString))
6483          return SPDXLicense.LPPL_1_3C;
6484        if ("LZMA-SDK-9.11-to-9.20".equals(codeString))
6485          return SPDXLicense.LZMA_SDK_9_11_TO_9_20;
6486        if ("LZMA-SDK-9.22".equals(codeString))
6487          return SPDXLicense.LZMA_SDK_9_22;
6488        if ("MakeIndex".equals(codeString))
6489          return SPDXLicense.MAKEINDEX;
6490        if ("Martin-Birgmeier".equals(codeString))
6491          return SPDXLicense.MARTIN_BIRGMEIER;
6492        if ("metamail".equals(codeString))
6493          return SPDXLicense.METAMAIL;
6494        if ("Minpack".equals(codeString))
6495          return SPDXLicense.MINPACK;
6496        if ("MirOS".equals(codeString))
6497          return SPDXLicense.MIROS;
6498        if ("MIT".equals(codeString))
6499          return SPDXLicense.MIT;
6500        if ("MIT-0".equals(codeString))
6501          return SPDXLicense.MIT_0;
6502        if ("MIT-advertising".equals(codeString))
6503          return SPDXLicense.MIT_ADVERTISING;
6504        if ("MIT-CMU".equals(codeString))
6505          return SPDXLicense.MIT_CMU;
6506        if ("MIT-enna".equals(codeString))
6507          return SPDXLicense.MIT_ENNA;
6508        if ("MIT-feh".equals(codeString))
6509          return SPDXLicense.MIT_FEH;
6510        if ("MIT-Festival".equals(codeString))
6511          return SPDXLicense.MIT_FESTIVAL;
6512        if ("MIT-Modern-Variant".equals(codeString))
6513          return SPDXLicense.MIT_MODERN_VARIANT;
6514        if ("MIT-open-group".equals(codeString))
6515          return SPDXLicense.MIT_OPEN_GROUP;
6516        if ("MIT-Wu".equals(codeString))
6517          return SPDXLicense.MIT_WU;
6518        if ("MITNFA".equals(codeString))
6519          return SPDXLicense.MITNFA;
6520        if ("Motosoto".equals(codeString))
6521          return SPDXLicense.MOTOSOTO;
6522        if ("mpi-permissive".equals(codeString))
6523          return SPDXLicense.MPI_PERMISSIVE;
6524        if ("mpich2".equals(codeString))
6525          return SPDXLicense.MPICH2;
6526        if ("MPL-1.0".equals(codeString))
6527          return SPDXLicense.MPL_1_0;
6528        if ("MPL-1.1".equals(codeString))
6529          return SPDXLicense.MPL_1_1;
6530        if ("MPL-2.0".equals(codeString))
6531          return SPDXLicense.MPL_2_0;
6532        if ("MPL-2.0-no-copyleft-exception".equals(codeString))
6533          return SPDXLicense.MPL_2_0_NO_COPYLEFT_EXCEPTION;
6534        if ("mplus".equals(codeString))
6535          return SPDXLicense.MPLUS;
6536        if ("MS-LPL".equals(codeString))
6537          return SPDXLicense.MS_LPL;
6538        if ("MS-PL".equals(codeString))
6539          return SPDXLicense.MS_PL;
6540        if ("MS-RL".equals(codeString))
6541          return SPDXLicense.MS_RL;
6542        if ("MTLL".equals(codeString))
6543          return SPDXLicense.MTLL;
6544        if ("MulanPSL-1.0".equals(codeString))
6545          return SPDXLicense.MULANPSL_1_0;
6546        if ("MulanPSL-2.0".equals(codeString))
6547          return SPDXLicense.MULANPSL_2_0;
6548        if ("Multics".equals(codeString))
6549          return SPDXLicense.MULTICS;
6550        if ("Mup".equals(codeString))
6551          return SPDXLicense.MUP;
6552        if ("NAIST-2003".equals(codeString))
6553          return SPDXLicense.NAIST_2003;
6554        if ("NASA-1.3".equals(codeString))
6555          return SPDXLicense.NASA_1_3;
6556        if ("Naumen".equals(codeString))
6557          return SPDXLicense.NAUMEN;
6558        if ("NBPL-1.0".equals(codeString))
6559          return SPDXLicense.NBPL_1_0;
6560        if ("NCGL-UK-2.0".equals(codeString))
6561          return SPDXLicense.NCGL_UK_2_0;
6562        if ("NCSA".equals(codeString))
6563          return SPDXLicense.NCSA;
6564        if ("Net-SNMP".equals(codeString))
6565          return SPDXLicense.NET_SNMP;
6566        if ("NetCDF".equals(codeString))
6567          return SPDXLicense.NETCDF;
6568        if ("Newsletr".equals(codeString))
6569          return SPDXLicense.NEWSLETR;
6570        if ("NGPL".equals(codeString))
6571          return SPDXLicense.NGPL;
6572        if ("NICTA-1.0".equals(codeString))
6573          return SPDXLicense.NICTA_1_0;
6574        if ("NIST-PD".equals(codeString))
6575          return SPDXLicense.NIST_PD;
6576        if ("NIST-PD-fallback".equals(codeString))
6577          return SPDXLicense.NIST_PD_FALLBACK;
6578        if ("NIST-Software".equals(codeString))
6579          return SPDXLicense.NIST_SOFTWARE;
6580        if ("NLOD-1.0".equals(codeString))
6581          return SPDXLicense.NLOD_1_0;
6582        if ("NLOD-2.0".equals(codeString))
6583          return SPDXLicense.NLOD_2_0;
6584        if ("NLPL".equals(codeString))
6585          return SPDXLicense.NLPL;
6586        if ("Nokia".equals(codeString))
6587          return SPDXLicense.NOKIA;
6588        if ("NOSL".equals(codeString))
6589          return SPDXLicense.NOSL;
6590        if ("not-open-source".equals(codeString))
6591          return SPDXLicense.NOT_OPEN_SOURCE;
6592        if ("Noweb".equals(codeString))
6593          return SPDXLicense.NOWEB;
6594        if ("NPL-1.0".equals(codeString))
6595          return SPDXLicense.NPL_1_0;
6596        if ("NPL-1.1".equals(codeString))
6597          return SPDXLicense.NPL_1_1;
6598        if ("NPOSL-3.0".equals(codeString))
6599          return SPDXLicense.NPOSL_3_0;
6600        if ("NRL".equals(codeString))
6601          return SPDXLicense.NRL;
6602        if ("NTP".equals(codeString))
6603          return SPDXLicense.NTP;
6604        if ("NTP-0".equals(codeString))
6605          return SPDXLicense.NTP_0;
6606        if ("Nunit".equals(codeString))
6607          return SPDXLicense.NUNIT;
6608        if ("O-UDA-1.0".equals(codeString))
6609          return SPDXLicense.O_UDA_1_0;
6610        if ("OCCT-PL".equals(codeString))
6611          return SPDXLicense.OCCT_PL;
6612        if ("OCLC-2.0".equals(codeString))
6613          return SPDXLicense.OCLC_2_0;
6614        if ("ODbL-1.0".equals(codeString))
6615          return SPDXLicense.ODBL_1_0;
6616        if ("ODC-By-1.0".equals(codeString))
6617          return SPDXLicense.ODC_BY_1_0;
6618        if ("OFFIS".equals(codeString))
6619          return SPDXLicense.OFFIS;
6620        if ("OFL-1.0".equals(codeString))
6621          return SPDXLicense.OFL_1_0;
6622        if ("OFL-1.0-no-RFN".equals(codeString))
6623          return SPDXLicense.OFL_1_0_NO_RFN;
6624        if ("OFL-1.0-RFN".equals(codeString))
6625          return SPDXLicense.OFL_1_0_RFN;
6626        if ("OFL-1.1".equals(codeString))
6627          return SPDXLicense.OFL_1_1;
6628        if ("OFL-1.1-no-RFN".equals(codeString))
6629          return SPDXLicense.OFL_1_1_NO_RFN;
6630        if ("OFL-1.1-RFN".equals(codeString))
6631          return SPDXLicense.OFL_1_1_RFN;
6632        if ("OGC-1.0".equals(codeString))
6633          return SPDXLicense.OGC_1_0;
6634        if ("OGDL-Taiwan-1.0".equals(codeString))
6635          return SPDXLicense.OGDL_TAIWAN_1_0;
6636        if ("OGL-Canada-2.0".equals(codeString))
6637          return SPDXLicense.OGL_CANADA_2_0;
6638        if ("OGL-UK-1.0".equals(codeString))
6639          return SPDXLicense.OGL_UK_1_0;
6640        if ("OGL-UK-2.0".equals(codeString))
6641          return SPDXLicense.OGL_UK_2_0;
6642        if ("OGL-UK-3.0".equals(codeString))
6643          return SPDXLicense.OGL_UK_3_0;
6644        if ("OGTSL".equals(codeString))
6645          return SPDXLicense.OGTSL;
6646        if ("OLDAP-1.1".equals(codeString))
6647          return SPDXLicense.OLDAP_1_1;
6648        if ("OLDAP-1.2".equals(codeString))
6649          return SPDXLicense.OLDAP_1_2;
6650        if ("OLDAP-1.3".equals(codeString))
6651          return SPDXLicense.OLDAP_1_3;
6652        if ("OLDAP-1.4".equals(codeString))
6653          return SPDXLicense.OLDAP_1_4;
6654        if ("OLDAP-2.0".equals(codeString))
6655          return SPDXLicense.OLDAP_2_0;
6656        if ("OLDAP-2.0.1".equals(codeString))
6657          return SPDXLicense.OLDAP_2_0_1;
6658        if ("OLDAP-2.1".equals(codeString))
6659          return SPDXLicense.OLDAP_2_1;
6660        if ("OLDAP-2.2".equals(codeString))
6661          return SPDXLicense.OLDAP_2_2;
6662        if ("OLDAP-2.2.1".equals(codeString))
6663          return SPDXLicense.OLDAP_2_2_1;
6664        if ("OLDAP-2.2.2".equals(codeString))
6665          return SPDXLicense.OLDAP_2_2_2;
6666        if ("OLDAP-2.3".equals(codeString))
6667          return SPDXLicense.OLDAP_2_3;
6668        if ("OLDAP-2.4".equals(codeString))
6669          return SPDXLicense.OLDAP_2_4;
6670        if ("OLDAP-2.5".equals(codeString))
6671          return SPDXLicense.OLDAP_2_5;
6672        if ("OLDAP-2.6".equals(codeString))
6673          return SPDXLicense.OLDAP_2_6;
6674        if ("OLDAP-2.7".equals(codeString))
6675          return SPDXLicense.OLDAP_2_7;
6676        if ("OLDAP-2.8".equals(codeString))
6677          return SPDXLicense.OLDAP_2_8;
6678        if ("OLFL-1.3".equals(codeString))
6679          return SPDXLicense.OLFL_1_3;
6680        if ("OML".equals(codeString))
6681          return SPDXLicense.OML;
6682        if ("OpenPBS-2.3".equals(codeString))
6683          return SPDXLicense.OPENPBS_2_3;
6684        if ("OpenSSL".equals(codeString))
6685          return SPDXLicense.OPENSSL;
6686        if ("OPL-1.0".equals(codeString))
6687          return SPDXLicense.OPL_1_0;
6688        if ("OPL-UK-3.0".equals(codeString))
6689          return SPDXLicense.OPL_UK_3_0;
6690        if ("OPUBL-1.0".equals(codeString))
6691          return SPDXLicense.OPUBL_1_0;
6692        if ("OSET-PL-2.1".equals(codeString))
6693          return SPDXLicense.OSET_PL_2_1;
6694        if ("OSL-1.0".equals(codeString))
6695          return SPDXLicense.OSL_1_0;
6696        if ("OSL-1.1".equals(codeString))
6697          return SPDXLicense.OSL_1_1;
6698        if ("OSL-2.0".equals(codeString))
6699          return SPDXLicense.OSL_2_0;
6700        if ("OSL-2.1".equals(codeString))
6701          return SPDXLicense.OSL_2_1;
6702        if ("OSL-3.0".equals(codeString))
6703          return SPDXLicense.OSL_3_0;
6704        if ("Parity-6.0.0".equals(codeString))
6705          return SPDXLicense.PARITY_6_0_0;
6706        if ("Parity-7.0.0".equals(codeString))
6707          return SPDXLicense.PARITY_7_0_0;
6708        if ("PDDL-1.0".equals(codeString))
6709          return SPDXLicense.PDDL_1_0;
6710        if ("PHP-3.0".equals(codeString))
6711          return SPDXLicense.PHP_3_0;
6712        if ("PHP-3.01".equals(codeString))
6713          return SPDXLicense.PHP_3_01;
6714        if ("Plexus".equals(codeString))
6715          return SPDXLicense.PLEXUS;
6716        if ("PolyForm-Noncommercial-1.0.0".equals(codeString))
6717          return SPDXLicense.POLYFORM_NONCOMMERCIAL_1_0_0;
6718        if ("PolyForm-Small-Business-1.0.0".equals(codeString))
6719          return SPDXLicense.POLYFORM_SMALL_BUSINESS_1_0_0;
6720        if ("PostgreSQL".equals(codeString))
6721          return SPDXLicense.POSTGRESQL;
6722        if ("PSF-2.0".equals(codeString))
6723          return SPDXLicense.PSF_2_0;
6724        if ("psfrag".equals(codeString))
6725          return SPDXLicense.PSFRAG;
6726        if ("psutils".equals(codeString))
6727          return SPDXLicense.PSUTILS;
6728        if ("Python-2.0".equals(codeString))
6729          return SPDXLicense.PYTHON_2_0;
6730        if ("Python-2.0.1".equals(codeString))
6731          return SPDXLicense.PYTHON_2_0_1;
6732        if ("Qhull".equals(codeString))
6733          return SPDXLicense.QHULL;
6734        if ("QPL-1.0".equals(codeString))
6735          return SPDXLicense.QPL_1_0;
6736        if ("QPL-1.0-INRIA-2004".equals(codeString))
6737          return SPDXLicense.QPL_1_0_INRIA_2004;
6738        if ("Rdisc".equals(codeString))
6739          return SPDXLicense.RDISC;
6740        if ("RHeCos-1.1".equals(codeString))
6741          return SPDXLicense.RHECOS_1_1;
6742        if ("RPL-1.1".equals(codeString))
6743          return SPDXLicense.RPL_1_1;
6744        if ("RPL-1.5".equals(codeString))
6745          return SPDXLicense.RPL_1_5;
6746        if ("RPSL-1.0".equals(codeString))
6747          return SPDXLicense.RPSL_1_0;
6748        if ("RSA-MD".equals(codeString))
6749          return SPDXLicense.RSA_MD;
6750        if ("RSCPL".equals(codeString))
6751          return SPDXLicense.RSCPL;
6752        if ("Ruby".equals(codeString))
6753          return SPDXLicense.RUBY;
6754        if ("SAX-PD".equals(codeString))
6755          return SPDXLicense.SAX_PD;
6756        if ("Saxpath".equals(codeString))
6757          return SPDXLicense.SAXPATH;
6758        if ("SCEA".equals(codeString))
6759          return SPDXLicense.SCEA;
6760        if ("SchemeReport".equals(codeString))
6761          return SPDXLicense.SCHEMEREPORT;
6762        if ("Sendmail".equals(codeString))
6763          return SPDXLicense.SENDMAIL;
6764        if ("Sendmail-8.23".equals(codeString))
6765          return SPDXLicense.SENDMAIL_8_23;
6766        if ("SGI-B-1.0".equals(codeString))
6767          return SPDXLicense.SGI_B_1_0;
6768        if ("SGI-B-1.1".equals(codeString))
6769          return SPDXLicense.SGI_B_1_1;
6770        if ("SGI-B-2.0".equals(codeString))
6771          return SPDXLicense.SGI_B_2_0;
6772        if ("SGP4".equals(codeString))
6773          return SPDXLicense.SGP4;
6774        if ("SHL-0.5".equals(codeString))
6775          return SPDXLicense.SHL_0_5;
6776        if ("SHL-0.51".equals(codeString))
6777          return SPDXLicense.SHL_0_51;
6778        if ("SimPL-2.0".equals(codeString))
6779          return SPDXLicense.SIMPL_2_0;
6780        if ("SISSL".equals(codeString))
6781          return SPDXLicense.SISSL;
6782        if ("SISSL-1.2".equals(codeString))
6783          return SPDXLicense.SISSL_1_2;
6784        if ("Sleepycat".equals(codeString))
6785          return SPDXLicense.SLEEPYCAT;
6786        if ("SMLNJ".equals(codeString))
6787          return SPDXLicense.SMLNJ;
6788        if ("SMPPL".equals(codeString))
6789          return SPDXLicense.SMPPL;
6790        if ("SNIA".equals(codeString))
6791          return SPDXLicense.SNIA;
6792        if ("snprintf".equals(codeString))
6793          return SPDXLicense.SNPRINTF;
6794        if ("Spencer-86".equals(codeString))
6795          return SPDXLicense.SPENCER_86;
6796        if ("Spencer-94".equals(codeString))
6797          return SPDXLicense.SPENCER_94;
6798        if ("Spencer-99".equals(codeString))
6799          return SPDXLicense.SPENCER_99;
6800        if ("SPL-1.0".equals(codeString))
6801          return SPDXLicense.SPL_1_0;
6802        if ("SSH-OpenSSH".equals(codeString))
6803          return SPDXLicense.SSH_OPENSSH;
6804        if ("SSH-short".equals(codeString))
6805          return SPDXLicense.SSH_SHORT;
6806        if ("SSPL-1.0".equals(codeString))
6807          return SPDXLicense.SSPL_1_0;
6808        if ("StandardML-NJ".equals(codeString))
6809          return SPDXLicense.STANDARDML_NJ;
6810        if ("SugarCRM-1.1.3".equals(codeString))
6811          return SPDXLicense.SUGARCRM_1_1_3;
6812        if ("SunPro".equals(codeString))
6813          return SPDXLicense.SUNPRO;
6814        if ("SWL".equals(codeString))
6815          return SPDXLicense.SWL;
6816        if ("Symlinks".equals(codeString))
6817          return SPDXLicense.SYMLINKS;
6818        if ("TAPR-OHL-1.0".equals(codeString))
6819          return SPDXLicense.TAPR_OHL_1_0;
6820        if ("TCL".equals(codeString))
6821          return SPDXLicense.TCL;
6822        if ("TCP-wrappers".equals(codeString))
6823          return SPDXLicense.TCP_WRAPPERS;
6824        if ("TermReadKey".equals(codeString))
6825          return SPDXLicense.TERMREADKEY;
6826        if ("TMate".equals(codeString))
6827          return SPDXLicense.TMATE;
6828        if ("TORQUE-1.1".equals(codeString))
6829          return SPDXLicense.TORQUE_1_1;
6830        if ("TOSL".equals(codeString))
6831          return SPDXLicense.TOSL;
6832        if ("TPDL".equals(codeString))
6833          return SPDXLicense.TPDL;
6834        if ("TPL-1.0".equals(codeString))
6835          return SPDXLicense.TPL_1_0;
6836        if ("TTWL".equals(codeString))
6837          return SPDXLicense.TTWL;
6838        if ("TU-Berlin-1.0".equals(codeString))
6839          return SPDXLicense.TU_BERLIN_1_0;
6840        if ("TU-Berlin-2.0".equals(codeString))
6841          return SPDXLicense.TU_BERLIN_2_0;
6842        if ("UCAR".equals(codeString))
6843          return SPDXLicense.UCAR;
6844        if ("UCL-1.0".equals(codeString))
6845          return SPDXLicense.UCL_1_0;
6846        if ("Unicode-DFS-2015".equals(codeString))
6847          return SPDXLicense.UNICODE_DFS_2015;
6848        if ("Unicode-DFS-2016".equals(codeString))
6849          return SPDXLicense.UNICODE_DFS_2016;
6850        if ("Unicode-TOU".equals(codeString))
6851          return SPDXLicense.UNICODE_TOU;
6852        if ("UnixCrypt".equals(codeString))
6853          return SPDXLicense.UNIXCRYPT;
6854        if ("Unlicense".equals(codeString))
6855          return SPDXLicense.UNLICENSE;
6856        if ("UPL-1.0".equals(codeString))
6857          return SPDXLicense.UPL_1_0;
6858        if ("Vim".equals(codeString))
6859          return SPDXLicense.VIM;
6860        if ("VOSTROM".equals(codeString))
6861          return SPDXLicense.VOSTROM;
6862        if ("VSL-1.0".equals(codeString))
6863          return SPDXLicense.VSL_1_0;
6864        if ("W3C".equals(codeString))
6865          return SPDXLicense.W3C;
6866        if ("W3C-19980720".equals(codeString))
6867          return SPDXLicense.W3C_19980720;
6868        if ("W3C-20150513".equals(codeString))
6869          return SPDXLicense.W3C_20150513;
6870        if ("w3m".equals(codeString))
6871          return SPDXLicense.W3M;
6872        if ("Watcom-1.0".equals(codeString))
6873          return SPDXLicense.WATCOM_1_0;
6874        if ("Widget-Workshop".equals(codeString))
6875          return SPDXLicense.WIDGET_WORKSHOP;
6876        if ("Wsuipa".equals(codeString))
6877          return SPDXLicense.WSUIPA;
6878        if ("WTFPL".equals(codeString))
6879          return SPDXLicense.WTFPL;
6880        if ("wxWindows".equals(codeString))
6881          return SPDXLicense.WXWINDOWS;
6882        if ("X11".equals(codeString))
6883          return SPDXLicense.X11;
6884        if ("X11-distribute-modifications-variant".equals(codeString))
6885          return SPDXLicense.X11_DISTRIBUTE_MODIFICATIONS_VARIANT;
6886        if ("Xdebug-1.03".equals(codeString))
6887          return SPDXLicense.XDEBUG_1_03;
6888        if ("Xerox".equals(codeString))
6889          return SPDXLicense.XEROX;
6890        if ("Xfig".equals(codeString))
6891          return SPDXLicense.XFIG;
6892        if ("XFree86-1.1".equals(codeString))
6893          return SPDXLicense.XFREE86_1_1;
6894        if ("xinetd".equals(codeString))
6895          return SPDXLicense.XINETD;
6896        if ("xlock".equals(codeString))
6897          return SPDXLicense.XLOCK;
6898        if ("Xnet".equals(codeString))
6899          return SPDXLicense.XNET;
6900        if ("xpp".equals(codeString))
6901          return SPDXLicense.XPP;
6902        if ("XSkat".equals(codeString))
6903          return SPDXLicense.XSKAT;
6904        if ("YPL-1.0".equals(codeString))
6905          return SPDXLicense.YPL_1_0;
6906        if ("YPL-1.1".equals(codeString))
6907          return SPDXLicense.YPL_1_1;
6908        if ("Zed".equals(codeString))
6909          return SPDXLicense.ZED;
6910        if ("Zend-2.0".equals(codeString))
6911          return SPDXLicense.ZEND_2_0;
6912        if ("Zimbra-1.3".equals(codeString))
6913          return SPDXLicense.ZIMBRA_1_3;
6914        if ("Zimbra-1.4".equals(codeString))
6915          return SPDXLicense.ZIMBRA_1_4;
6916        if ("Zlib".equals(codeString))
6917          return SPDXLicense.ZLIB;
6918        if ("zlib-acknowledgement".equals(codeString))
6919          return SPDXLicense.ZLIB_ACKNOWLEDGEMENT;
6920        if ("ZPL-1.1".equals(codeString))
6921          return SPDXLicense.ZPL_1_1;
6922        if ("ZPL-2.0".equals(codeString))
6923          return SPDXLicense.ZPL_2_0;
6924        if ("ZPL-2.1".equals(codeString))
6925          return SPDXLicense.ZPL_2_1;
6926        throw new IllegalArgumentException("Unknown SPDXLicense code '"+codeString+"'");
6927        }
6928
6929        public Enumeration<SPDXLicense> fromType(PrimitiveType<?> code) throws FHIRException {
6930          if (code == null)
6931            return null;
6932          if (code.isEmpty())
6933            return new Enumeration<SPDXLicense>(this, SPDXLicense.NULL, code);
6934          String codeString = ((PrimitiveType) code).asStringValue();
6935          if (codeString == null || "".equals(codeString))
6936            return new Enumeration<SPDXLicense>(this, SPDXLicense.NULL, code);
6937        if ("0BSD".equals(codeString))
6938          return new Enumeration<SPDXLicense>(this, SPDXLicense._0BSD, code);
6939        if ("AAL".equals(codeString))
6940          return new Enumeration<SPDXLicense>(this, SPDXLicense.AAL, code);
6941        if ("Abstyles".equals(codeString))
6942          return new Enumeration<SPDXLicense>(this, SPDXLicense.ABSTYLES, code);
6943        if ("AdaCore-doc".equals(codeString))
6944          return new Enumeration<SPDXLicense>(this, SPDXLicense.ADACORE_DOC, code);
6945        if ("Adobe-2006".equals(codeString))
6946          return new Enumeration<SPDXLicense>(this, SPDXLicense.ADOBE_2006, code);
6947        if ("Adobe-Glyph".equals(codeString))
6948          return new Enumeration<SPDXLicense>(this, SPDXLicense.ADOBE_GLYPH, code);
6949        if ("ADSL".equals(codeString))
6950          return new Enumeration<SPDXLicense>(this, SPDXLicense.ADSL, code);
6951        if ("AFL-1.1".equals(codeString))
6952          return new Enumeration<SPDXLicense>(this, SPDXLicense.AFL_1_1, code);
6953        if ("AFL-1.2".equals(codeString))
6954          return new Enumeration<SPDXLicense>(this, SPDXLicense.AFL_1_2, code);
6955        if ("AFL-2.0".equals(codeString))
6956          return new Enumeration<SPDXLicense>(this, SPDXLicense.AFL_2_0, code);
6957        if ("AFL-2.1".equals(codeString))
6958          return new Enumeration<SPDXLicense>(this, SPDXLicense.AFL_2_1, code);
6959        if ("AFL-3.0".equals(codeString))
6960          return new Enumeration<SPDXLicense>(this, SPDXLicense.AFL_3_0, code);
6961        if ("Afmparse".equals(codeString))
6962          return new Enumeration<SPDXLicense>(this, SPDXLicense.AFMPARSE, code);
6963        if ("AGPL-1.0".equals(codeString))
6964          return new Enumeration<SPDXLicense>(this, SPDXLicense.AGPL_1_0, code);
6965        if ("AGPL-1.0-only".equals(codeString))
6966          return new Enumeration<SPDXLicense>(this, SPDXLicense.AGPL_1_0_ONLY, code);
6967        if ("AGPL-1.0-or-later".equals(codeString))
6968          return new Enumeration<SPDXLicense>(this, SPDXLicense.AGPL_1_0_OR_LATER, code);
6969        if ("AGPL-3.0".equals(codeString))
6970          return new Enumeration<SPDXLicense>(this, SPDXLicense.AGPL_3_0, code);
6971        if ("AGPL-3.0-only".equals(codeString))
6972          return new Enumeration<SPDXLicense>(this, SPDXLicense.AGPL_3_0_ONLY, code);
6973        if ("AGPL-3.0-or-later".equals(codeString))
6974          return new Enumeration<SPDXLicense>(this, SPDXLicense.AGPL_3_0_OR_LATER, code);
6975        if ("Aladdin".equals(codeString))
6976          return new Enumeration<SPDXLicense>(this, SPDXLicense.ALADDIN, code);
6977        if ("AMDPLPA".equals(codeString))
6978          return new Enumeration<SPDXLicense>(this, SPDXLicense.AMDPLPA, code);
6979        if ("AML".equals(codeString))
6980          return new Enumeration<SPDXLicense>(this, SPDXLicense.AML, code);
6981        if ("AMPAS".equals(codeString))
6982          return new Enumeration<SPDXLicense>(this, SPDXLicense.AMPAS, code);
6983        if ("ANTLR-PD".equals(codeString))
6984          return new Enumeration<SPDXLicense>(this, SPDXLicense.ANTLR_PD, code);
6985        if ("ANTLR-PD-fallback".equals(codeString))
6986          return new Enumeration<SPDXLicense>(this, SPDXLicense.ANTLR_PD_FALLBACK, code);
6987        if ("Apache-1.0".equals(codeString))
6988          return new Enumeration<SPDXLicense>(this, SPDXLicense.APACHE_1_0, code);
6989        if ("Apache-1.1".equals(codeString))
6990          return new Enumeration<SPDXLicense>(this, SPDXLicense.APACHE_1_1, code);
6991        if ("Apache-2.0".equals(codeString))
6992          return new Enumeration<SPDXLicense>(this, SPDXLicense.APACHE_2_0, code);
6993        if ("APAFML".equals(codeString))
6994          return new Enumeration<SPDXLicense>(this, SPDXLicense.APAFML, code);
6995        if ("APL-1.0".equals(codeString))
6996          return new Enumeration<SPDXLicense>(this, SPDXLicense.APL_1_0, code);
6997        if ("App-s2p".equals(codeString))
6998          return new Enumeration<SPDXLicense>(this, SPDXLicense.APP_S2P, code);
6999        if ("APSL-1.0".equals(codeString))
7000          return new Enumeration<SPDXLicense>(this, SPDXLicense.APSL_1_0, code);
7001        if ("APSL-1.1".equals(codeString))
7002          return new Enumeration<SPDXLicense>(this, SPDXLicense.APSL_1_1, code);
7003        if ("APSL-1.2".equals(codeString))
7004          return new Enumeration<SPDXLicense>(this, SPDXLicense.APSL_1_2, code);
7005        if ("APSL-2.0".equals(codeString))
7006          return new Enumeration<SPDXLicense>(this, SPDXLicense.APSL_2_0, code);
7007        if ("Arphic-1999".equals(codeString))
7008          return new Enumeration<SPDXLicense>(this, SPDXLicense.ARPHIC_1999, code);
7009        if ("Artistic-1.0".equals(codeString))
7010          return new Enumeration<SPDXLicense>(this, SPDXLicense.ARTISTIC_1_0, code);
7011        if ("Artistic-1.0-cl8".equals(codeString))
7012          return new Enumeration<SPDXLicense>(this, SPDXLicense.ARTISTIC_1_0_CL8, code);
7013        if ("Artistic-1.0-Perl".equals(codeString))
7014          return new Enumeration<SPDXLicense>(this, SPDXLicense.ARTISTIC_1_0_PERL, code);
7015        if ("Artistic-2.0".equals(codeString))
7016          return new Enumeration<SPDXLicense>(this, SPDXLicense.ARTISTIC_2_0, code);
7017        if ("ASWF-Digital-Assets-1.0".equals(codeString))
7018          return new Enumeration<SPDXLicense>(this, SPDXLicense.ASWF_DIGITAL_ASSETS_1_0, code);
7019        if ("ASWF-Digital-Assets-1.1".equals(codeString))
7020          return new Enumeration<SPDXLicense>(this, SPDXLicense.ASWF_DIGITAL_ASSETS_1_1, code);
7021        if ("Baekmuk".equals(codeString))
7022          return new Enumeration<SPDXLicense>(this, SPDXLicense.BAEKMUK, code);
7023        if ("Bahyph".equals(codeString))
7024          return new Enumeration<SPDXLicense>(this, SPDXLicense.BAHYPH, code);
7025        if ("Barr".equals(codeString))
7026          return new Enumeration<SPDXLicense>(this, SPDXLicense.BARR, code);
7027        if ("Beerware".equals(codeString))
7028          return new Enumeration<SPDXLicense>(this, SPDXLicense.BEERWARE, code);
7029        if ("Bitstream-Charter".equals(codeString))
7030          return new Enumeration<SPDXLicense>(this, SPDXLicense.BITSTREAM_CHARTER, code);
7031        if ("Bitstream-Vera".equals(codeString))
7032          return new Enumeration<SPDXLicense>(this, SPDXLicense.BITSTREAM_VERA, code);
7033        if ("BitTorrent-1.0".equals(codeString))
7034          return new Enumeration<SPDXLicense>(this, SPDXLicense.BITTORRENT_1_0, code);
7035        if ("BitTorrent-1.1".equals(codeString))
7036          return new Enumeration<SPDXLicense>(this, SPDXLicense.BITTORRENT_1_1, code);
7037        if ("blessing".equals(codeString))
7038          return new Enumeration<SPDXLicense>(this, SPDXLicense.BLESSING, code);
7039        if ("BlueOak-1.0.0".equals(codeString))
7040          return new Enumeration<SPDXLicense>(this, SPDXLicense.BLUEOAK_1_0_0, code);
7041        if ("Boehm-GC".equals(codeString))
7042          return new Enumeration<SPDXLicense>(this, SPDXLicense.BOEHM_GC, code);
7043        if ("Borceux".equals(codeString))
7044          return new Enumeration<SPDXLicense>(this, SPDXLicense.BORCEUX, code);
7045        if ("Brian-Gladman-3-Clause".equals(codeString))
7046          return new Enumeration<SPDXLicense>(this, SPDXLicense.BRIAN_GLADMAN_3_CLAUSE, code);
7047        if ("BSD-1-Clause".equals(codeString))
7048          return new Enumeration<SPDXLicense>(this, SPDXLicense.BSD_1_CLAUSE, code);
7049        if ("BSD-2-Clause".equals(codeString))
7050          return new Enumeration<SPDXLicense>(this, SPDXLicense.BSD_2_CLAUSE, code);
7051        if ("BSD-2-Clause-FreeBSD".equals(codeString))
7052          return new Enumeration<SPDXLicense>(this, SPDXLicense.BSD_2_CLAUSE_FREEBSD, code);
7053        if ("BSD-2-Clause-NetBSD".equals(codeString))
7054          return new Enumeration<SPDXLicense>(this, SPDXLicense.BSD_2_CLAUSE_NETBSD, code);
7055        if ("BSD-2-Clause-Patent".equals(codeString))
7056          return new Enumeration<SPDXLicense>(this, SPDXLicense.BSD_2_CLAUSE_PATENT, code);
7057        if ("BSD-2-Clause-Views".equals(codeString))
7058          return new Enumeration<SPDXLicense>(this, SPDXLicense.BSD_2_CLAUSE_VIEWS, code);
7059        if ("BSD-3-Clause".equals(codeString))
7060          return new Enumeration<SPDXLicense>(this, SPDXLicense.BSD_3_CLAUSE, code);
7061        if ("BSD-3-Clause-Attribution".equals(codeString))
7062          return new Enumeration<SPDXLicense>(this, SPDXLicense.BSD_3_CLAUSE_ATTRIBUTION, code);
7063        if ("BSD-3-Clause-Clear".equals(codeString))
7064          return new Enumeration<SPDXLicense>(this, SPDXLicense.BSD_3_CLAUSE_CLEAR, code);
7065        if ("BSD-3-Clause-LBNL".equals(codeString))
7066          return new Enumeration<SPDXLicense>(this, SPDXLicense.BSD_3_CLAUSE_LBNL, code);
7067        if ("BSD-3-Clause-Modification".equals(codeString))
7068          return new Enumeration<SPDXLicense>(this, SPDXLicense.BSD_3_CLAUSE_MODIFICATION, code);
7069        if ("BSD-3-Clause-No-Military-License".equals(codeString))
7070          return new Enumeration<SPDXLicense>(this, SPDXLicense.BSD_3_CLAUSE_NO_MILITARY_LICENSE, code);
7071        if ("BSD-3-Clause-No-Nuclear-License".equals(codeString))
7072          return new Enumeration<SPDXLicense>(this, SPDXLicense.BSD_3_CLAUSE_NO_NUCLEAR_LICENSE, code);
7073        if ("BSD-3-Clause-No-Nuclear-License-2014".equals(codeString))
7074          return new Enumeration<SPDXLicense>(this, SPDXLicense.BSD_3_CLAUSE_NO_NUCLEAR_LICENSE_2014, code);
7075        if ("BSD-3-Clause-No-Nuclear-Warranty".equals(codeString))
7076          return new Enumeration<SPDXLicense>(this, SPDXLicense.BSD_3_CLAUSE_NO_NUCLEAR_WARRANTY, code);
7077        if ("BSD-3-Clause-Open-MPI".equals(codeString))
7078          return new Enumeration<SPDXLicense>(this, SPDXLicense.BSD_3_CLAUSE_OPEN_MPI, code);
7079        if ("BSD-4-Clause".equals(codeString))
7080          return new Enumeration<SPDXLicense>(this, SPDXLicense.BSD_4_CLAUSE, code);
7081        if ("BSD-4-Clause-Shortened".equals(codeString))
7082          return new Enumeration<SPDXLicense>(this, SPDXLicense.BSD_4_CLAUSE_SHORTENED, code);
7083        if ("BSD-4-Clause-UC".equals(codeString))
7084          return new Enumeration<SPDXLicense>(this, SPDXLicense.BSD_4_CLAUSE_UC, code);
7085        if ("BSD-4.3RENO".equals(codeString))
7086          return new Enumeration<SPDXLicense>(this, SPDXLicense.BSD_4_3RENO, code);
7087        if ("BSD-4.3TAHOE".equals(codeString))
7088          return new Enumeration<SPDXLicense>(this, SPDXLicense.BSD_4_3TAHOE, code);
7089        if ("BSD-Advertising-Acknowledgement".equals(codeString))
7090          return new Enumeration<SPDXLicense>(this, SPDXLicense.BSD_ADVERTISING_ACKNOWLEDGEMENT, code);
7091        if ("BSD-Attribution-HPND-disclaimer".equals(codeString))
7092          return new Enumeration<SPDXLicense>(this, SPDXLicense.BSD_ATTRIBUTION_HPND_DISCLAIMER, code);
7093        if ("BSD-Protection".equals(codeString))
7094          return new Enumeration<SPDXLicense>(this, SPDXLicense.BSD_PROTECTION, code);
7095        if ("BSD-Source-Code".equals(codeString))
7096          return new Enumeration<SPDXLicense>(this, SPDXLicense.BSD_SOURCE_CODE, code);
7097        if ("BSL-1.0".equals(codeString))
7098          return new Enumeration<SPDXLicense>(this, SPDXLicense.BSL_1_0, code);
7099        if ("BUSL-1.1".equals(codeString))
7100          return new Enumeration<SPDXLicense>(this, SPDXLicense.BUSL_1_1, code);
7101        if ("bzip2-1.0.5".equals(codeString))
7102          return new Enumeration<SPDXLicense>(this, SPDXLicense.BZIP2_1_0_5, code);
7103        if ("bzip2-1.0.6".equals(codeString))
7104          return new Enumeration<SPDXLicense>(this, SPDXLicense.BZIP2_1_0_6, code);
7105        if ("C-UDA-1.0".equals(codeString))
7106          return new Enumeration<SPDXLicense>(this, SPDXLicense.C_UDA_1_0, code);
7107        if ("CAL-1.0".equals(codeString))
7108          return new Enumeration<SPDXLicense>(this, SPDXLicense.CAL_1_0, code);
7109        if ("CAL-1.0-Combined-Work-Exception".equals(codeString))
7110          return new Enumeration<SPDXLicense>(this, SPDXLicense.CAL_1_0_COMBINED_WORK_EXCEPTION, code);
7111        if ("Caldera".equals(codeString))
7112          return new Enumeration<SPDXLicense>(this, SPDXLicense.CALDERA, code);
7113        if ("CATOSL-1.1".equals(codeString))
7114          return new Enumeration<SPDXLicense>(this, SPDXLicense.CATOSL_1_1, code);
7115        if ("CC-BY-1.0".equals(codeString))
7116          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_1_0, code);
7117        if ("CC-BY-2.0".equals(codeString))
7118          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_2_0, code);
7119        if ("CC-BY-2.5".equals(codeString))
7120          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_2_5, code);
7121        if ("CC-BY-2.5-AU".equals(codeString))
7122          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_2_5_AU, code);
7123        if ("CC-BY-3.0".equals(codeString))
7124          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_3_0, code);
7125        if ("CC-BY-3.0-AT".equals(codeString))
7126          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_3_0_AT, code);
7127        if ("CC-BY-3.0-DE".equals(codeString))
7128          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_3_0_DE, code);
7129        if ("CC-BY-3.0-IGO".equals(codeString))
7130          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_3_0_IGO, code);
7131        if ("CC-BY-3.0-NL".equals(codeString))
7132          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_3_0_NL, code);
7133        if ("CC-BY-3.0-US".equals(codeString))
7134          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_3_0_US, code);
7135        if ("CC-BY-4.0".equals(codeString))
7136          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_4_0, code);
7137        if ("CC-BY-NC-1.0".equals(codeString))
7138          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_NC_1_0, code);
7139        if ("CC-BY-NC-2.0".equals(codeString))
7140          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_NC_2_0, code);
7141        if ("CC-BY-NC-2.5".equals(codeString))
7142          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_NC_2_5, code);
7143        if ("CC-BY-NC-3.0".equals(codeString))
7144          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_NC_3_0, code);
7145        if ("CC-BY-NC-3.0-DE".equals(codeString))
7146          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_NC_3_0_DE, code);
7147        if ("CC-BY-NC-4.0".equals(codeString))
7148          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_NC_4_0, code);
7149        if ("CC-BY-NC-ND-1.0".equals(codeString))
7150          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_NC_ND_1_0, code);
7151        if ("CC-BY-NC-ND-2.0".equals(codeString))
7152          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_NC_ND_2_0, code);
7153        if ("CC-BY-NC-ND-2.5".equals(codeString))
7154          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_NC_ND_2_5, code);
7155        if ("CC-BY-NC-ND-3.0".equals(codeString))
7156          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_NC_ND_3_0, code);
7157        if ("CC-BY-NC-ND-3.0-DE".equals(codeString))
7158          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_NC_ND_3_0_DE, code);
7159        if ("CC-BY-NC-ND-3.0-IGO".equals(codeString))
7160          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_NC_ND_3_0_IGO, code);
7161        if ("CC-BY-NC-ND-4.0".equals(codeString))
7162          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_NC_ND_4_0, code);
7163        if ("CC-BY-NC-SA-1.0".equals(codeString))
7164          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_NC_SA_1_0, code);
7165        if ("CC-BY-NC-SA-2.0".equals(codeString))
7166          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_NC_SA_2_0, code);
7167        if ("CC-BY-NC-SA-2.0-DE".equals(codeString))
7168          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_NC_SA_2_0_DE, code);
7169        if ("CC-BY-NC-SA-2.0-FR".equals(codeString))
7170          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_NC_SA_2_0_FR, code);
7171        if ("CC-BY-NC-SA-2.0-UK".equals(codeString))
7172          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_NC_SA_2_0_UK, code);
7173        if ("CC-BY-NC-SA-2.5".equals(codeString))
7174          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_NC_SA_2_5, code);
7175        if ("CC-BY-NC-SA-3.0".equals(codeString))
7176          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_NC_SA_3_0, code);
7177        if ("CC-BY-NC-SA-3.0-DE".equals(codeString))
7178          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_NC_SA_3_0_DE, code);
7179        if ("CC-BY-NC-SA-3.0-IGO".equals(codeString))
7180          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_NC_SA_3_0_IGO, code);
7181        if ("CC-BY-NC-SA-4.0".equals(codeString))
7182          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_NC_SA_4_0, code);
7183        if ("CC-BY-ND-1.0".equals(codeString))
7184          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_ND_1_0, code);
7185        if ("CC-BY-ND-2.0".equals(codeString))
7186          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_ND_2_0, code);
7187        if ("CC-BY-ND-2.5".equals(codeString))
7188          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_ND_2_5, code);
7189        if ("CC-BY-ND-3.0".equals(codeString))
7190          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_ND_3_0, code);
7191        if ("CC-BY-ND-3.0-DE".equals(codeString))
7192          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_ND_3_0_DE, code);
7193        if ("CC-BY-ND-4.0".equals(codeString))
7194          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_ND_4_0, code);
7195        if ("CC-BY-SA-1.0".equals(codeString))
7196          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_SA_1_0, code);
7197        if ("CC-BY-SA-2.0".equals(codeString))
7198          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_SA_2_0, code);
7199        if ("CC-BY-SA-2.0-UK".equals(codeString))
7200          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_SA_2_0_UK, code);
7201        if ("CC-BY-SA-2.1-JP".equals(codeString))
7202          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_SA_2_1_JP, code);
7203        if ("CC-BY-SA-2.5".equals(codeString))
7204          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_SA_2_5, code);
7205        if ("CC-BY-SA-3.0".equals(codeString))
7206          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_SA_3_0, code);
7207        if ("CC-BY-SA-3.0-AT".equals(codeString))
7208          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_SA_3_0_AT, code);
7209        if ("CC-BY-SA-3.0-DE".equals(codeString))
7210          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_SA_3_0_DE, code);
7211        if ("CC-BY-SA-3.0-IGO".equals(codeString))
7212          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_SA_3_0_IGO, code);
7213        if ("CC-BY-SA-4.0".equals(codeString))
7214          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_BY_SA_4_0, code);
7215        if ("CC-PDDC".equals(codeString))
7216          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC_PDDC, code);
7217        if ("CC0-1.0".equals(codeString))
7218          return new Enumeration<SPDXLicense>(this, SPDXLicense.CC0_1_0, code);
7219        if ("CDDL-1.0".equals(codeString))
7220          return new Enumeration<SPDXLicense>(this, SPDXLicense.CDDL_1_0, code);
7221        if ("CDDL-1.1".equals(codeString))
7222          return new Enumeration<SPDXLicense>(this, SPDXLicense.CDDL_1_1, code);
7223        if ("CDL-1.0".equals(codeString))
7224          return new Enumeration<SPDXLicense>(this, SPDXLicense.CDL_1_0, code);
7225        if ("CDLA-Permissive-1.0".equals(codeString))
7226          return new Enumeration<SPDXLicense>(this, SPDXLicense.CDLA_PERMISSIVE_1_0, code);
7227        if ("CDLA-Permissive-2.0".equals(codeString))
7228          return new Enumeration<SPDXLicense>(this, SPDXLicense.CDLA_PERMISSIVE_2_0, code);
7229        if ("CDLA-Sharing-1.0".equals(codeString))
7230          return new Enumeration<SPDXLicense>(this, SPDXLicense.CDLA_SHARING_1_0, code);
7231        if ("CECILL-1.0".equals(codeString))
7232          return new Enumeration<SPDXLicense>(this, SPDXLicense.CECILL_1_0, code);
7233        if ("CECILL-1.1".equals(codeString))
7234          return new Enumeration<SPDXLicense>(this, SPDXLicense.CECILL_1_1, code);
7235        if ("CECILL-2.0".equals(codeString))
7236          return new Enumeration<SPDXLicense>(this, SPDXLicense.CECILL_2_0, code);
7237        if ("CECILL-2.1".equals(codeString))
7238          return new Enumeration<SPDXLicense>(this, SPDXLicense.CECILL_2_1, code);
7239        if ("CECILL-B".equals(codeString))
7240          return new Enumeration<SPDXLicense>(this, SPDXLicense.CECILL_B, code);
7241        if ("CECILL-C".equals(codeString))
7242          return new Enumeration<SPDXLicense>(this, SPDXLicense.CECILL_C, code);
7243        if ("CERN-OHL-1.1".equals(codeString))
7244          return new Enumeration<SPDXLicense>(this, SPDXLicense.CERN_OHL_1_1, code);
7245        if ("CERN-OHL-1.2".equals(codeString))
7246          return new Enumeration<SPDXLicense>(this, SPDXLicense.CERN_OHL_1_2, code);
7247        if ("CERN-OHL-P-2.0".equals(codeString))
7248          return new Enumeration<SPDXLicense>(this, SPDXLicense.CERN_OHL_P_2_0, code);
7249        if ("CERN-OHL-S-2.0".equals(codeString))
7250          return new Enumeration<SPDXLicense>(this, SPDXLicense.CERN_OHL_S_2_0, code);
7251        if ("CERN-OHL-W-2.0".equals(codeString))
7252          return new Enumeration<SPDXLicense>(this, SPDXLicense.CERN_OHL_W_2_0, code);
7253        if ("CFITSIO".equals(codeString))
7254          return new Enumeration<SPDXLicense>(this, SPDXLicense.CFITSIO, code);
7255        if ("checkmk".equals(codeString))
7256          return new Enumeration<SPDXLicense>(this, SPDXLicense.CHECKMK, code);
7257        if ("ClArtistic".equals(codeString))
7258          return new Enumeration<SPDXLicense>(this, SPDXLicense.CLARTISTIC, code);
7259        if ("Clips".equals(codeString))
7260          return new Enumeration<SPDXLicense>(this, SPDXLicense.CLIPS, code);
7261        if ("CMU-Mach".equals(codeString))
7262          return new Enumeration<SPDXLicense>(this, SPDXLicense.CMU_MACH, code);
7263        if ("CNRI-Jython".equals(codeString))
7264          return new Enumeration<SPDXLicense>(this, SPDXLicense.CNRI_JYTHON, code);
7265        if ("CNRI-Python".equals(codeString))
7266          return new Enumeration<SPDXLicense>(this, SPDXLicense.CNRI_PYTHON, code);
7267        if ("CNRI-Python-GPL-Compatible".equals(codeString))
7268          return new Enumeration<SPDXLicense>(this, SPDXLicense.CNRI_PYTHON_GPL_COMPATIBLE, code);
7269        if ("COIL-1.0".equals(codeString))
7270          return new Enumeration<SPDXLicense>(this, SPDXLicense.COIL_1_0, code);
7271        if ("Community-Spec-1.0".equals(codeString))
7272          return new Enumeration<SPDXLicense>(this, SPDXLicense.COMMUNITY_SPEC_1_0, code);
7273        if ("Condor-1.1".equals(codeString))
7274          return new Enumeration<SPDXLicense>(this, SPDXLicense.CONDOR_1_1, code);
7275        if ("copyleft-next-0.3.0".equals(codeString))
7276          return new Enumeration<SPDXLicense>(this, SPDXLicense.COPYLEFT_NEXT_0_3_0, code);
7277        if ("copyleft-next-0.3.1".equals(codeString))
7278          return new Enumeration<SPDXLicense>(this, SPDXLicense.COPYLEFT_NEXT_0_3_1, code);
7279        if ("Cornell-Lossless-JPEG".equals(codeString))
7280          return new Enumeration<SPDXLicense>(this, SPDXLicense.CORNELL_LOSSLESS_JPEG, code);
7281        if ("CPAL-1.0".equals(codeString))
7282          return new Enumeration<SPDXLicense>(this, SPDXLicense.CPAL_1_0, code);
7283        if ("CPL-1.0".equals(codeString))
7284          return new Enumeration<SPDXLicense>(this, SPDXLicense.CPL_1_0, code);
7285        if ("CPOL-1.02".equals(codeString))
7286          return new Enumeration<SPDXLicense>(this, SPDXLicense.CPOL_1_02, code);
7287        if ("Crossword".equals(codeString))
7288          return new Enumeration<SPDXLicense>(this, SPDXLicense.CROSSWORD, code);
7289        if ("CrystalStacker".equals(codeString))
7290          return new Enumeration<SPDXLicense>(this, SPDXLicense.CRYSTALSTACKER, code);
7291        if ("CUA-OPL-1.0".equals(codeString))
7292          return new Enumeration<SPDXLicense>(this, SPDXLicense.CUA_OPL_1_0, code);
7293        if ("Cube".equals(codeString))
7294          return new Enumeration<SPDXLicense>(this, SPDXLicense.CUBE, code);
7295        if ("curl".equals(codeString))
7296          return new Enumeration<SPDXLicense>(this, SPDXLicense.CURL, code);
7297        if ("D-FSL-1.0".equals(codeString))
7298          return new Enumeration<SPDXLicense>(this, SPDXLicense.D_FSL_1_0, code);
7299        if ("diffmark".equals(codeString))
7300          return new Enumeration<SPDXLicense>(this, SPDXLicense.DIFFMARK, code);
7301        if ("DL-DE-BY-2.0".equals(codeString))
7302          return new Enumeration<SPDXLicense>(this, SPDXLicense.DL_DE_BY_2_0, code);
7303        if ("DOC".equals(codeString))
7304          return new Enumeration<SPDXLicense>(this, SPDXLicense.DOC, code);
7305        if ("Dotseqn".equals(codeString))
7306          return new Enumeration<SPDXLicense>(this, SPDXLicense.DOTSEQN, code);
7307        if ("DRL-1.0".equals(codeString))
7308          return new Enumeration<SPDXLicense>(this, SPDXLicense.DRL_1_0, code);
7309        if ("DSDP".equals(codeString))
7310          return new Enumeration<SPDXLicense>(this, SPDXLicense.DSDP, code);
7311        if ("dtoa".equals(codeString))
7312          return new Enumeration<SPDXLicense>(this, SPDXLicense.DTOA, code);
7313        if ("dvipdfm".equals(codeString))
7314          return new Enumeration<SPDXLicense>(this, SPDXLicense.DVIPDFM, code);
7315        if ("ECL-1.0".equals(codeString))
7316          return new Enumeration<SPDXLicense>(this, SPDXLicense.ECL_1_0, code);
7317        if ("ECL-2.0".equals(codeString))
7318          return new Enumeration<SPDXLicense>(this, SPDXLicense.ECL_2_0, code);
7319        if ("eCos-2.0".equals(codeString))
7320          return new Enumeration<SPDXLicense>(this, SPDXLicense.ECOS_2_0, code);
7321        if ("EFL-1.0".equals(codeString))
7322          return new Enumeration<SPDXLicense>(this, SPDXLicense.EFL_1_0, code);
7323        if ("EFL-2.0".equals(codeString))
7324          return new Enumeration<SPDXLicense>(this, SPDXLicense.EFL_2_0, code);
7325        if ("eGenix".equals(codeString))
7326          return new Enumeration<SPDXLicense>(this, SPDXLicense.EGENIX, code);
7327        if ("Elastic-2.0".equals(codeString))
7328          return new Enumeration<SPDXLicense>(this, SPDXLicense.ELASTIC_2_0, code);
7329        if ("Entessa".equals(codeString))
7330          return new Enumeration<SPDXLicense>(this, SPDXLicense.ENTESSA, code);
7331        if ("EPICS".equals(codeString))
7332          return new Enumeration<SPDXLicense>(this, SPDXLicense.EPICS, code);
7333        if ("EPL-1.0".equals(codeString))
7334          return new Enumeration<SPDXLicense>(this, SPDXLicense.EPL_1_0, code);
7335        if ("EPL-2.0".equals(codeString))
7336          return new Enumeration<SPDXLicense>(this, SPDXLicense.EPL_2_0, code);
7337        if ("ErlPL-1.1".equals(codeString))
7338          return new Enumeration<SPDXLicense>(this, SPDXLicense.ERLPL_1_1, code);
7339        if ("etalab-2.0".equals(codeString))
7340          return new Enumeration<SPDXLicense>(this, SPDXLicense.ETALAB_2_0, code);
7341        if ("EUDatagrid".equals(codeString))
7342          return new Enumeration<SPDXLicense>(this, SPDXLicense.EUDATAGRID, code);
7343        if ("EUPL-1.0".equals(codeString))
7344          return new Enumeration<SPDXLicense>(this, SPDXLicense.EUPL_1_0, code);
7345        if ("EUPL-1.1".equals(codeString))
7346          return new Enumeration<SPDXLicense>(this, SPDXLicense.EUPL_1_1, code);
7347        if ("EUPL-1.2".equals(codeString))
7348          return new Enumeration<SPDXLicense>(this, SPDXLicense.EUPL_1_2, code);
7349        if ("Eurosym".equals(codeString))
7350          return new Enumeration<SPDXLicense>(this, SPDXLicense.EUROSYM, code);
7351        if ("Fair".equals(codeString))
7352          return new Enumeration<SPDXLicense>(this, SPDXLicense.FAIR, code);
7353        if ("FDK-AAC".equals(codeString))
7354          return new Enumeration<SPDXLicense>(this, SPDXLicense.FDK_AAC, code);
7355        if ("Frameworx-1.0".equals(codeString))
7356          return new Enumeration<SPDXLicense>(this, SPDXLicense.FRAMEWORX_1_0, code);
7357        if ("FreeBSD-DOC".equals(codeString))
7358          return new Enumeration<SPDXLicense>(this, SPDXLicense.FREEBSD_DOC, code);
7359        if ("FreeImage".equals(codeString))
7360          return new Enumeration<SPDXLicense>(this, SPDXLicense.FREEIMAGE, code);
7361        if ("FSFAP".equals(codeString))
7362          return new Enumeration<SPDXLicense>(this, SPDXLicense.FSFAP, code);
7363        if ("FSFUL".equals(codeString))
7364          return new Enumeration<SPDXLicense>(this, SPDXLicense.FSFUL, code);
7365        if ("FSFULLR".equals(codeString))
7366          return new Enumeration<SPDXLicense>(this, SPDXLicense.FSFULLR, code);
7367        if ("FSFULLRWD".equals(codeString))
7368          return new Enumeration<SPDXLicense>(this, SPDXLicense.FSFULLRWD, code);
7369        if ("FTL".equals(codeString))
7370          return new Enumeration<SPDXLicense>(this, SPDXLicense.FTL, code);
7371        if ("GD".equals(codeString))
7372          return new Enumeration<SPDXLicense>(this, SPDXLicense.GD, code);
7373        if ("GFDL-1.1".equals(codeString))
7374          return new Enumeration<SPDXLicense>(this, SPDXLicense.GFDL_1_1, code);
7375        if ("GFDL-1.1-invariants-only".equals(codeString))
7376          return new Enumeration<SPDXLicense>(this, SPDXLicense.GFDL_1_1_INVARIANTS_ONLY, code);
7377        if ("GFDL-1.1-invariants-or-later".equals(codeString))
7378          return new Enumeration<SPDXLicense>(this, SPDXLicense.GFDL_1_1_INVARIANTS_OR_LATER, code);
7379        if ("GFDL-1.1-no-invariants-only".equals(codeString))
7380          return new Enumeration<SPDXLicense>(this, SPDXLicense.GFDL_1_1_NO_INVARIANTS_ONLY, code);
7381        if ("GFDL-1.1-no-invariants-or-later".equals(codeString))
7382          return new Enumeration<SPDXLicense>(this, SPDXLicense.GFDL_1_1_NO_INVARIANTS_OR_LATER, code);
7383        if ("GFDL-1.1-only".equals(codeString))
7384          return new Enumeration<SPDXLicense>(this, SPDXLicense.GFDL_1_1_ONLY, code);
7385        if ("GFDL-1.1-or-later".equals(codeString))
7386          return new Enumeration<SPDXLicense>(this, SPDXLicense.GFDL_1_1_OR_LATER, code);
7387        if ("GFDL-1.2".equals(codeString))
7388          return new Enumeration<SPDXLicense>(this, SPDXLicense.GFDL_1_2, code);
7389        if ("GFDL-1.2-invariants-only".equals(codeString))
7390          return new Enumeration<SPDXLicense>(this, SPDXLicense.GFDL_1_2_INVARIANTS_ONLY, code);
7391        if ("GFDL-1.2-invariants-or-later".equals(codeString))
7392          return new Enumeration<SPDXLicense>(this, SPDXLicense.GFDL_1_2_INVARIANTS_OR_LATER, code);
7393        if ("GFDL-1.2-no-invariants-only".equals(codeString))
7394          return new Enumeration<SPDXLicense>(this, SPDXLicense.GFDL_1_2_NO_INVARIANTS_ONLY, code);
7395        if ("GFDL-1.2-no-invariants-or-later".equals(codeString))
7396          return new Enumeration<SPDXLicense>(this, SPDXLicense.GFDL_1_2_NO_INVARIANTS_OR_LATER, code);
7397        if ("GFDL-1.2-only".equals(codeString))
7398          return new Enumeration<SPDXLicense>(this, SPDXLicense.GFDL_1_2_ONLY, code);
7399        if ("GFDL-1.2-or-later".equals(codeString))
7400          return new Enumeration<SPDXLicense>(this, SPDXLicense.GFDL_1_2_OR_LATER, code);
7401        if ("GFDL-1.3".equals(codeString))
7402          return new Enumeration<SPDXLicense>(this, SPDXLicense.GFDL_1_3, code);
7403        if ("GFDL-1.3-invariants-only".equals(codeString))
7404          return new Enumeration<SPDXLicense>(this, SPDXLicense.GFDL_1_3_INVARIANTS_ONLY, code);
7405        if ("GFDL-1.3-invariants-or-later".equals(codeString))
7406          return new Enumeration<SPDXLicense>(this, SPDXLicense.GFDL_1_3_INVARIANTS_OR_LATER, code);
7407        if ("GFDL-1.3-no-invariants-only".equals(codeString))
7408          return new Enumeration<SPDXLicense>(this, SPDXLicense.GFDL_1_3_NO_INVARIANTS_ONLY, code);
7409        if ("GFDL-1.3-no-invariants-or-later".equals(codeString))
7410          return new Enumeration<SPDXLicense>(this, SPDXLicense.GFDL_1_3_NO_INVARIANTS_OR_LATER, code);
7411        if ("GFDL-1.3-only".equals(codeString))
7412          return new Enumeration<SPDXLicense>(this, SPDXLicense.GFDL_1_3_ONLY, code);
7413        if ("GFDL-1.3-or-later".equals(codeString))
7414          return new Enumeration<SPDXLicense>(this, SPDXLicense.GFDL_1_3_OR_LATER, code);
7415        if ("Giftware".equals(codeString))
7416          return new Enumeration<SPDXLicense>(this, SPDXLicense.GIFTWARE, code);
7417        if ("GL2PS".equals(codeString))
7418          return new Enumeration<SPDXLicense>(this, SPDXLicense.GL2PS, code);
7419        if ("Glide".equals(codeString))
7420          return new Enumeration<SPDXLicense>(this, SPDXLicense.GLIDE, code);
7421        if ("Glulxe".equals(codeString))
7422          return new Enumeration<SPDXLicense>(this, SPDXLicense.GLULXE, code);
7423        if ("GLWTPL".equals(codeString))
7424          return new Enumeration<SPDXLicense>(this, SPDXLicense.GLWTPL, code);
7425        if ("gnuplot".equals(codeString))
7426          return new Enumeration<SPDXLicense>(this, SPDXLicense.GNUPLOT, code);
7427        if ("GPL-1.0".equals(codeString))
7428          return new Enumeration<SPDXLicense>(this, SPDXLicense.GPL_1_0, code);
7429        if ("GPL-1.0+".equals(codeString))
7430          return new Enumeration<SPDXLicense>(this, SPDXLicense.GPL_1_0PLUS, code);
7431        if ("GPL-1.0-only".equals(codeString))
7432          return new Enumeration<SPDXLicense>(this, SPDXLicense.GPL_1_0_ONLY, code);
7433        if ("GPL-1.0-or-later".equals(codeString))
7434          return new Enumeration<SPDXLicense>(this, SPDXLicense.GPL_1_0_OR_LATER, code);
7435        if ("GPL-2.0".equals(codeString))
7436          return new Enumeration<SPDXLicense>(this, SPDXLicense.GPL_2_0, code);
7437        if ("GPL-2.0+".equals(codeString))
7438          return new Enumeration<SPDXLicense>(this, SPDXLicense.GPL_2_0PLUS, code);
7439        if ("GPL-2.0-only".equals(codeString))
7440          return new Enumeration<SPDXLicense>(this, SPDXLicense.GPL_2_0_ONLY, code);
7441        if ("GPL-2.0-or-later".equals(codeString))
7442          return new Enumeration<SPDXLicense>(this, SPDXLicense.GPL_2_0_OR_LATER, code);
7443        if ("GPL-2.0-with-autoconf-exception".equals(codeString))
7444          return new Enumeration<SPDXLicense>(this, SPDXLicense.GPL_2_0_WITH_AUTOCONF_EXCEPTION, code);
7445        if ("GPL-2.0-with-bison-exception".equals(codeString))
7446          return new Enumeration<SPDXLicense>(this, SPDXLicense.GPL_2_0_WITH_BISON_EXCEPTION, code);
7447        if ("GPL-2.0-with-classpath-exception".equals(codeString))
7448          return new Enumeration<SPDXLicense>(this, SPDXLicense.GPL_2_0_WITH_CLASSPATH_EXCEPTION, code);
7449        if ("GPL-2.0-with-font-exception".equals(codeString))
7450          return new Enumeration<SPDXLicense>(this, SPDXLicense.GPL_2_0_WITH_FONT_EXCEPTION, code);
7451        if ("GPL-2.0-with-GCC-exception".equals(codeString))
7452          return new Enumeration<SPDXLicense>(this, SPDXLicense.GPL_2_0_WITH_GCC_EXCEPTION, code);
7453        if ("GPL-3.0".equals(codeString))
7454          return new Enumeration<SPDXLicense>(this, SPDXLicense.GPL_3_0, code);
7455        if ("GPL-3.0+".equals(codeString))
7456          return new Enumeration<SPDXLicense>(this, SPDXLicense.GPL_3_0PLUS, code);
7457        if ("GPL-3.0-only".equals(codeString))
7458          return new Enumeration<SPDXLicense>(this, SPDXLicense.GPL_3_0_ONLY, code);
7459        if ("GPL-3.0-or-later".equals(codeString))
7460          return new Enumeration<SPDXLicense>(this, SPDXLicense.GPL_3_0_OR_LATER, code);
7461        if ("GPL-3.0-with-autoconf-exception".equals(codeString))
7462          return new Enumeration<SPDXLicense>(this, SPDXLicense.GPL_3_0_WITH_AUTOCONF_EXCEPTION, code);
7463        if ("GPL-3.0-with-GCC-exception".equals(codeString))
7464          return new Enumeration<SPDXLicense>(this, SPDXLicense.GPL_3_0_WITH_GCC_EXCEPTION, code);
7465        if ("Graphics-Gems".equals(codeString))
7466          return new Enumeration<SPDXLicense>(this, SPDXLicense.GRAPHICS_GEMS, code);
7467        if ("gSOAP-1.3b".equals(codeString))
7468          return new Enumeration<SPDXLicense>(this, SPDXLicense.GSOAP_1_3B, code);
7469        if ("HaskellReport".equals(codeString))
7470          return new Enumeration<SPDXLicense>(this, SPDXLicense.HASKELLREPORT, code);
7471        if ("Hippocratic-2.1".equals(codeString))
7472          return new Enumeration<SPDXLicense>(this, SPDXLicense.HIPPOCRATIC_2_1, code);
7473        if ("HP-1986".equals(codeString))
7474          return new Enumeration<SPDXLicense>(this, SPDXLicense.HP_1986, code);
7475        if ("HPND".equals(codeString))
7476          return new Enumeration<SPDXLicense>(this, SPDXLicense.HPND, code);
7477        if ("HPND-export-US".equals(codeString))
7478          return new Enumeration<SPDXLicense>(this, SPDXLicense.HPND_EXPORT_US, code);
7479        if ("HPND-Markus-Kuhn".equals(codeString))
7480          return new Enumeration<SPDXLicense>(this, SPDXLicense.HPND_MARKUS_KUHN, code);
7481        if ("HPND-sell-variant".equals(codeString))
7482          return new Enumeration<SPDXLicense>(this, SPDXLicense.HPND_SELL_VARIANT, code);
7483        if ("HPND-sell-variant-MIT-disclaimer".equals(codeString))
7484          return new Enumeration<SPDXLicense>(this, SPDXLicense.HPND_SELL_VARIANT_MIT_DISCLAIMER, code);
7485        if ("HTMLTIDY".equals(codeString))
7486          return new Enumeration<SPDXLicense>(this, SPDXLicense.HTMLTIDY, code);
7487        if ("IBM-pibs".equals(codeString))
7488          return new Enumeration<SPDXLicense>(this, SPDXLicense.IBM_PIBS, code);
7489        if ("ICU".equals(codeString))
7490          return new Enumeration<SPDXLicense>(this, SPDXLicense.ICU, code);
7491        if ("IEC-Code-Components-EULA".equals(codeString))
7492          return new Enumeration<SPDXLicense>(this, SPDXLicense.IEC_CODE_COMPONENTS_EULA, code);
7493        if ("IJG".equals(codeString))
7494          return new Enumeration<SPDXLicense>(this, SPDXLicense.IJG, code);
7495        if ("IJG-short".equals(codeString))
7496          return new Enumeration<SPDXLicense>(this, SPDXLicense.IJG_SHORT, code);
7497        if ("ImageMagick".equals(codeString))
7498          return new Enumeration<SPDXLicense>(this, SPDXLicense.IMAGEMAGICK, code);
7499        if ("iMatix".equals(codeString))
7500          return new Enumeration<SPDXLicense>(this, SPDXLicense.IMATIX, code);
7501        if ("Imlib2".equals(codeString))
7502          return new Enumeration<SPDXLicense>(this, SPDXLicense.IMLIB2, code);
7503        if ("Info-ZIP".equals(codeString))
7504          return new Enumeration<SPDXLicense>(this, SPDXLicense.INFO_ZIP, code);
7505        if ("Inner-Net-2.0".equals(codeString))
7506          return new Enumeration<SPDXLicense>(this, SPDXLicense.INNER_NET_2_0, code);
7507        if ("Intel".equals(codeString))
7508          return new Enumeration<SPDXLicense>(this, SPDXLicense.INTEL, code);
7509        if ("Intel-ACPI".equals(codeString))
7510          return new Enumeration<SPDXLicense>(this, SPDXLicense.INTEL_ACPI, code);
7511        if ("Interbase-1.0".equals(codeString))
7512          return new Enumeration<SPDXLicense>(this, SPDXLicense.INTERBASE_1_0, code);
7513        if ("IPA".equals(codeString))
7514          return new Enumeration<SPDXLicense>(this, SPDXLicense.IPA, code);
7515        if ("IPL-1.0".equals(codeString))
7516          return new Enumeration<SPDXLicense>(this, SPDXLicense.IPL_1_0, code);
7517        if ("ISC".equals(codeString))
7518          return new Enumeration<SPDXLicense>(this, SPDXLicense.ISC, code);
7519        if ("Jam".equals(codeString))
7520          return new Enumeration<SPDXLicense>(this, SPDXLicense.JAM, code);
7521        if ("JasPer-2.0".equals(codeString))
7522          return new Enumeration<SPDXLicense>(this, SPDXLicense.JASPER_2_0, code);
7523        if ("JPL-image".equals(codeString))
7524          return new Enumeration<SPDXLicense>(this, SPDXLicense.JPL_IMAGE, code);
7525        if ("JPNIC".equals(codeString))
7526          return new Enumeration<SPDXLicense>(this, SPDXLicense.JPNIC, code);
7527        if ("JSON".equals(codeString))
7528          return new Enumeration<SPDXLicense>(this, SPDXLicense.JSON, code);
7529        if ("Kazlib".equals(codeString))
7530          return new Enumeration<SPDXLicense>(this, SPDXLicense.KAZLIB, code);
7531        if ("Knuth-CTAN".equals(codeString))
7532          return new Enumeration<SPDXLicense>(this, SPDXLicense.KNUTH_CTAN, code);
7533        if ("LAL-1.2".equals(codeString))
7534          return new Enumeration<SPDXLicense>(this, SPDXLicense.LAL_1_2, code);
7535        if ("LAL-1.3".equals(codeString))
7536          return new Enumeration<SPDXLicense>(this, SPDXLicense.LAL_1_3, code);
7537        if ("Latex2e".equals(codeString))
7538          return new Enumeration<SPDXLicense>(this, SPDXLicense.LATEX2E, code);
7539        if ("Latex2e-translated-notice".equals(codeString))
7540          return new Enumeration<SPDXLicense>(this, SPDXLicense.LATEX2E_TRANSLATED_NOTICE, code);
7541        if ("Leptonica".equals(codeString))
7542          return new Enumeration<SPDXLicense>(this, SPDXLicense.LEPTONICA, code);
7543        if ("LGPL-2.0".equals(codeString))
7544          return new Enumeration<SPDXLicense>(this, SPDXLicense.LGPL_2_0, code);
7545        if ("LGPL-2.0+".equals(codeString))
7546          return new Enumeration<SPDXLicense>(this, SPDXLicense.LGPL_2_0PLUS, code);
7547        if ("LGPL-2.0-only".equals(codeString))
7548          return new Enumeration<SPDXLicense>(this, SPDXLicense.LGPL_2_0_ONLY, code);
7549        if ("LGPL-2.0-or-later".equals(codeString))
7550          return new Enumeration<SPDXLicense>(this, SPDXLicense.LGPL_2_0_OR_LATER, code);
7551        if ("LGPL-2.1".equals(codeString))
7552          return new Enumeration<SPDXLicense>(this, SPDXLicense.LGPL_2_1, code);
7553        if ("LGPL-2.1+".equals(codeString))
7554          return new Enumeration<SPDXLicense>(this, SPDXLicense.LGPL_2_1PLUS, code);
7555        if ("LGPL-2.1-only".equals(codeString))
7556          return new Enumeration<SPDXLicense>(this, SPDXLicense.LGPL_2_1_ONLY, code);
7557        if ("LGPL-2.1-or-later".equals(codeString))
7558          return new Enumeration<SPDXLicense>(this, SPDXLicense.LGPL_2_1_OR_LATER, code);
7559        if ("LGPL-3.0".equals(codeString))
7560          return new Enumeration<SPDXLicense>(this, SPDXLicense.LGPL_3_0, code);
7561        if ("LGPL-3.0+".equals(codeString))
7562          return new Enumeration<SPDXLicense>(this, SPDXLicense.LGPL_3_0PLUS, code);
7563        if ("LGPL-3.0-only".equals(codeString))
7564          return new Enumeration<SPDXLicense>(this, SPDXLicense.LGPL_3_0_ONLY, code);
7565        if ("LGPL-3.0-or-later".equals(codeString))
7566          return new Enumeration<SPDXLicense>(this, SPDXLicense.LGPL_3_0_OR_LATER, code);
7567        if ("LGPLLR".equals(codeString))
7568          return new Enumeration<SPDXLicense>(this, SPDXLicense.LGPLLR, code);
7569        if ("Libpng".equals(codeString))
7570          return new Enumeration<SPDXLicense>(this, SPDXLicense.LIBPNG, code);
7571        if ("libpng-2.0".equals(codeString))
7572          return new Enumeration<SPDXLicense>(this, SPDXLicense.LIBPNG_2_0, code);
7573        if ("libselinux-1.0".equals(codeString))
7574          return new Enumeration<SPDXLicense>(this, SPDXLicense.LIBSELINUX_1_0, code);
7575        if ("libtiff".equals(codeString))
7576          return new Enumeration<SPDXLicense>(this, SPDXLicense.LIBTIFF, code);
7577        if ("libutil-David-Nugent".equals(codeString))
7578          return new Enumeration<SPDXLicense>(this, SPDXLicense.LIBUTIL_DAVID_NUGENT, code);
7579        if ("LiLiQ-P-1.1".equals(codeString))
7580          return new Enumeration<SPDXLicense>(this, SPDXLicense.LILIQ_P_1_1, code);
7581        if ("LiLiQ-R-1.1".equals(codeString))
7582          return new Enumeration<SPDXLicense>(this, SPDXLicense.LILIQ_R_1_1, code);
7583        if ("LiLiQ-Rplus-1.1".equals(codeString))
7584          return new Enumeration<SPDXLicense>(this, SPDXLicense.LILIQ_RPLUS_1_1, code);
7585        if ("Linux-man-pages-1-para".equals(codeString))
7586          return new Enumeration<SPDXLicense>(this, SPDXLicense.LINUX_MAN_PAGES_1_PARA, code);
7587        if ("Linux-man-pages-copyleft".equals(codeString))
7588          return new Enumeration<SPDXLicense>(this, SPDXLicense.LINUX_MAN_PAGES_COPYLEFT, code);
7589        if ("Linux-man-pages-copyleft-2-para".equals(codeString))
7590          return new Enumeration<SPDXLicense>(this, SPDXLicense.LINUX_MAN_PAGES_COPYLEFT_2_PARA, code);
7591        if ("Linux-man-pages-copyleft-var".equals(codeString))
7592          return new Enumeration<SPDXLicense>(this, SPDXLicense.LINUX_MAN_PAGES_COPYLEFT_VAR, code);
7593        if ("Linux-OpenIB".equals(codeString))
7594          return new Enumeration<SPDXLicense>(this, SPDXLicense.LINUX_OPENIB, code);
7595        if ("LOOP".equals(codeString))
7596          return new Enumeration<SPDXLicense>(this, SPDXLicense.LOOP, code);
7597        if ("LPL-1.0".equals(codeString))
7598          return new Enumeration<SPDXLicense>(this, SPDXLicense.LPL_1_0, code);
7599        if ("LPL-1.02".equals(codeString))
7600          return new Enumeration<SPDXLicense>(this, SPDXLicense.LPL_1_02, code);
7601        if ("LPPL-1.0".equals(codeString))
7602          return new Enumeration<SPDXLicense>(this, SPDXLicense.LPPL_1_0, code);
7603        if ("LPPL-1.1".equals(codeString))
7604          return new Enumeration<SPDXLicense>(this, SPDXLicense.LPPL_1_1, code);
7605        if ("LPPL-1.2".equals(codeString))
7606          return new Enumeration<SPDXLicense>(this, SPDXLicense.LPPL_1_2, code);
7607        if ("LPPL-1.3a".equals(codeString))
7608          return new Enumeration<SPDXLicense>(this, SPDXLicense.LPPL_1_3A, code);
7609        if ("LPPL-1.3c".equals(codeString))
7610          return new Enumeration<SPDXLicense>(this, SPDXLicense.LPPL_1_3C, code);
7611        if ("LZMA-SDK-9.11-to-9.20".equals(codeString))
7612          return new Enumeration<SPDXLicense>(this, SPDXLicense.LZMA_SDK_9_11_TO_9_20, code);
7613        if ("LZMA-SDK-9.22".equals(codeString))
7614          return new Enumeration<SPDXLicense>(this, SPDXLicense.LZMA_SDK_9_22, code);
7615        if ("MakeIndex".equals(codeString))
7616          return new Enumeration<SPDXLicense>(this, SPDXLicense.MAKEINDEX, code);
7617        if ("Martin-Birgmeier".equals(codeString))
7618          return new Enumeration<SPDXLicense>(this, SPDXLicense.MARTIN_BIRGMEIER, code);
7619        if ("metamail".equals(codeString))
7620          return new Enumeration<SPDXLicense>(this, SPDXLicense.METAMAIL, code);
7621        if ("Minpack".equals(codeString))
7622          return new Enumeration<SPDXLicense>(this, SPDXLicense.MINPACK, code);
7623        if ("MirOS".equals(codeString))
7624          return new Enumeration<SPDXLicense>(this, SPDXLicense.MIROS, code);
7625        if ("MIT".equals(codeString))
7626          return new Enumeration<SPDXLicense>(this, SPDXLicense.MIT, code);
7627        if ("MIT-0".equals(codeString))
7628          return new Enumeration<SPDXLicense>(this, SPDXLicense.MIT_0, code);
7629        if ("MIT-advertising".equals(codeString))
7630          return new Enumeration<SPDXLicense>(this, SPDXLicense.MIT_ADVERTISING, code);
7631        if ("MIT-CMU".equals(codeString))
7632          return new Enumeration<SPDXLicense>(this, SPDXLicense.MIT_CMU, code);
7633        if ("MIT-enna".equals(codeString))
7634          return new Enumeration<SPDXLicense>(this, SPDXLicense.MIT_ENNA, code);
7635        if ("MIT-feh".equals(codeString))
7636          return new Enumeration<SPDXLicense>(this, SPDXLicense.MIT_FEH, code);
7637        if ("MIT-Festival".equals(codeString))
7638          return new Enumeration<SPDXLicense>(this, SPDXLicense.MIT_FESTIVAL, code);
7639        if ("MIT-Modern-Variant".equals(codeString))
7640          return new Enumeration<SPDXLicense>(this, SPDXLicense.MIT_MODERN_VARIANT, code);
7641        if ("MIT-open-group".equals(codeString))
7642          return new Enumeration<SPDXLicense>(this, SPDXLicense.MIT_OPEN_GROUP, code);
7643        if ("MIT-Wu".equals(codeString))
7644          return new Enumeration<SPDXLicense>(this, SPDXLicense.MIT_WU, code);
7645        if ("MITNFA".equals(codeString))
7646          return new Enumeration<SPDXLicense>(this, SPDXLicense.MITNFA, code);
7647        if ("Motosoto".equals(codeString))
7648          return new Enumeration<SPDXLicense>(this, SPDXLicense.MOTOSOTO, code);
7649        if ("mpi-permissive".equals(codeString))
7650          return new Enumeration<SPDXLicense>(this, SPDXLicense.MPI_PERMISSIVE, code);
7651        if ("mpich2".equals(codeString))
7652          return new Enumeration<SPDXLicense>(this, SPDXLicense.MPICH2, code);
7653        if ("MPL-1.0".equals(codeString))
7654          return new Enumeration<SPDXLicense>(this, SPDXLicense.MPL_1_0, code);
7655        if ("MPL-1.1".equals(codeString))
7656          return new Enumeration<SPDXLicense>(this, SPDXLicense.MPL_1_1, code);
7657        if ("MPL-2.0".equals(codeString))
7658          return new Enumeration<SPDXLicense>(this, SPDXLicense.MPL_2_0, code);
7659        if ("MPL-2.0-no-copyleft-exception".equals(codeString))
7660          return new Enumeration<SPDXLicense>(this, SPDXLicense.MPL_2_0_NO_COPYLEFT_EXCEPTION, code);
7661        if ("mplus".equals(codeString))
7662          return new Enumeration<SPDXLicense>(this, SPDXLicense.MPLUS, code);
7663        if ("MS-LPL".equals(codeString))
7664          return new Enumeration<SPDXLicense>(this, SPDXLicense.MS_LPL, code);
7665        if ("MS-PL".equals(codeString))
7666          return new Enumeration<SPDXLicense>(this, SPDXLicense.MS_PL, code);
7667        if ("MS-RL".equals(codeString))
7668          return new Enumeration<SPDXLicense>(this, SPDXLicense.MS_RL, code);
7669        if ("MTLL".equals(codeString))
7670          return new Enumeration<SPDXLicense>(this, SPDXLicense.MTLL, code);
7671        if ("MulanPSL-1.0".equals(codeString))
7672          return new Enumeration<SPDXLicense>(this, SPDXLicense.MULANPSL_1_0, code);
7673        if ("MulanPSL-2.0".equals(codeString))
7674          return new Enumeration<SPDXLicense>(this, SPDXLicense.MULANPSL_2_0, code);
7675        if ("Multics".equals(codeString))
7676          return new Enumeration<SPDXLicense>(this, SPDXLicense.MULTICS, code);
7677        if ("Mup".equals(codeString))
7678          return new Enumeration<SPDXLicense>(this, SPDXLicense.MUP, code);
7679        if ("NAIST-2003".equals(codeString))
7680          return new Enumeration<SPDXLicense>(this, SPDXLicense.NAIST_2003, code);
7681        if ("NASA-1.3".equals(codeString))
7682          return new Enumeration<SPDXLicense>(this, SPDXLicense.NASA_1_3, code);
7683        if ("Naumen".equals(codeString))
7684          return new Enumeration<SPDXLicense>(this, SPDXLicense.NAUMEN, code);
7685        if ("NBPL-1.0".equals(codeString))
7686          return new Enumeration<SPDXLicense>(this, SPDXLicense.NBPL_1_0, code);
7687        if ("NCGL-UK-2.0".equals(codeString))
7688          return new Enumeration<SPDXLicense>(this, SPDXLicense.NCGL_UK_2_0, code);
7689        if ("NCSA".equals(codeString))
7690          return new Enumeration<SPDXLicense>(this, SPDXLicense.NCSA, code);
7691        if ("Net-SNMP".equals(codeString))
7692          return new Enumeration<SPDXLicense>(this, SPDXLicense.NET_SNMP, code);
7693        if ("NetCDF".equals(codeString))
7694          return new Enumeration<SPDXLicense>(this, SPDXLicense.NETCDF, code);
7695        if ("Newsletr".equals(codeString))
7696          return new Enumeration<SPDXLicense>(this, SPDXLicense.NEWSLETR, code);
7697        if ("NGPL".equals(codeString))
7698          return new Enumeration<SPDXLicense>(this, SPDXLicense.NGPL, code);
7699        if ("NICTA-1.0".equals(codeString))
7700          return new Enumeration<SPDXLicense>(this, SPDXLicense.NICTA_1_0, code);
7701        if ("NIST-PD".equals(codeString))
7702          return new Enumeration<SPDXLicense>(this, SPDXLicense.NIST_PD, code);
7703        if ("NIST-PD-fallback".equals(codeString))
7704          return new Enumeration<SPDXLicense>(this, SPDXLicense.NIST_PD_FALLBACK, code);
7705        if ("NIST-Software".equals(codeString))
7706          return new Enumeration<SPDXLicense>(this, SPDXLicense.NIST_SOFTWARE, code);
7707        if ("NLOD-1.0".equals(codeString))
7708          return new Enumeration<SPDXLicense>(this, SPDXLicense.NLOD_1_0, code);
7709        if ("NLOD-2.0".equals(codeString))
7710          return new Enumeration<SPDXLicense>(this, SPDXLicense.NLOD_2_0, code);
7711        if ("NLPL".equals(codeString))
7712          return new Enumeration<SPDXLicense>(this, SPDXLicense.NLPL, code);
7713        if ("Nokia".equals(codeString))
7714          return new Enumeration<SPDXLicense>(this, SPDXLicense.NOKIA, code);
7715        if ("NOSL".equals(codeString))
7716          return new Enumeration<SPDXLicense>(this, SPDXLicense.NOSL, code);
7717        if ("not-open-source".equals(codeString))
7718          return new Enumeration<SPDXLicense>(this, SPDXLicense.NOT_OPEN_SOURCE, code);
7719        if ("Noweb".equals(codeString))
7720          return new Enumeration<SPDXLicense>(this, SPDXLicense.NOWEB, code);
7721        if ("NPL-1.0".equals(codeString))
7722          return new Enumeration<SPDXLicense>(this, SPDXLicense.NPL_1_0, code);
7723        if ("NPL-1.1".equals(codeString))
7724          return new Enumeration<SPDXLicense>(this, SPDXLicense.NPL_1_1, code);
7725        if ("NPOSL-3.0".equals(codeString))
7726          return new Enumeration<SPDXLicense>(this, SPDXLicense.NPOSL_3_0, code);
7727        if ("NRL".equals(codeString))
7728          return new Enumeration<SPDXLicense>(this, SPDXLicense.NRL, code);
7729        if ("NTP".equals(codeString))
7730          return new Enumeration<SPDXLicense>(this, SPDXLicense.NTP, code);
7731        if ("NTP-0".equals(codeString))
7732          return new Enumeration<SPDXLicense>(this, SPDXLicense.NTP_0, code);
7733        if ("Nunit".equals(codeString))
7734          return new Enumeration<SPDXLicense>(this, SPDXLicense.NUNIT, code);
7735        if ("O-UDA-1.0".equals(codeString))
7736          return new Enumeration<SPDXLicense>(this, SPDXLicense.O_UDA_1_0, code);
7737        if ("OCCT-PL".equals(codeString))
7738          return new Enumeration<SPDXLicense>(this, SPDXLicense.OCCT_PL, code);
7739        if ("OCLC-2.0".equals(codeString))
7740          return new Enumeration<SPDXLicense>(this, SPDXLicense.OCLC_2_0, code);
7741        if ("ODbL-1.0".equals(codeString))
7742          return new Enumeration<SPDXLicense>(this, SPDXLicense.ODBL_1_0, code);
7743        if ("ODC-By-1.0".equals(codeString))
7744          return new Enumeration<SPDXLicense>(this, SPDXLicense.ODC_BY_1_0, code);
7745        if ("OFFIS".equals(codeString))
7746          return new Enumeration<SPDXLicense>(this, SPDXLicense.OFFIS, code);
7747        if ("OFL-1.0".equals(codeString))
7748          return new Enumeration<SPDXLicense>(this, SPDXLicense.OFL_1_0, code);
7749        if ("OFL-1.0-no-RFN".equals(codeString))
7750          return new Enumeration<SPDXLicense>(this, SPDXLicense.OFL_1_0_NO_RFN, code);
7751        if ("OFL-1.0-RFN".equals(codeString))
7752          return new Enumeration<SPDXLicense>(this, SPDXLicense.OFL_1_0_RFN, code);
7753        if ("OFL-1.1".equals(codeString))
7754          return new Enumeration<SPDXLicense>(this, SPDXLicense.OFL_1_1, code);
7755        if ("OFL-1.1-no-RFN".equals(codeString))
7756          return new Enumeration<SPDXLicense>(this, SPDXLicense.OFL_1_1_NO_RFN, code);
7757        if ("OFL-1.1-RFN".equals(codeString))
7758          return new Enumeration<SPDXLicense>(this, SPDXLicense.OFL_1_1_RFN, code);
7759        if ("OGC-1.0".equals(codeString))
7760          return new Enumeration<SPDXLicense>(this, SPDXLicense.OGC_1_0, code);
7761        if ("OGDL-Taiwan-1.0".equals(codeString))
7762          return new Enumeration<SPDXLicense>(this, SPDXLicense.OGDL_TAIWAN_1_0, code);
7763        if ("OGL-Canada-2.0".equals(codeString))
7764          return new Enumeration<SPDXLicense>(this, SPDXLicense.OGL_CANADA_2_0, code);
7765        if ("OGL-UK-1.0".equals(codeString))
7766          return new Enumeration<SPDXLicense>(this, SPDXLicense.OGL_UK_1_0, code);
7767        if ("OGL-UK-2.0".equals(codeString))
7768          return new Enumeration<SPDXLicense>(this, SPDXLicense.OGL_UK_2_0, code);
7769        if ("OGL-UK-3.0".equals(codeString))
7770          return new Enumeration<SPDXLicense>(this, SPDXLicense.OGL_UK_3_0, code);
7771        if ("OGTSL".equals(codeString))
7772          return new Enumeration<SPDXLicense>(this, SPDXLicense.OGTSL, code);
7773        if ("OLDAP-1.1".equals(codeString))
7774          return new Enumeration<SPDXLicense>(this, SPDXLicense.OLDAP_1_1, code);
7775        if ("OLDAP-1.2".equals(codeString))
7776          return new Enumeration<SPDXLicense>(this, SPDXLicense.OLDAP_1_2, code);
7777        if ("OLDAP-1.3".equals(codeString))
7778          return new Enumeration<SPDXLicense>(this, SPDXLicense.OLDAP_1_3, code);
7779        if ("OLDAP-1.4".equals(codeString))
7780          return new Enumeration<SPDXLicense>(this, SPDXLicense.OLDAP_1_4, code);
7781        if ("OLDAP-2.0".equals(codeString))
7782          return new Enumeration<SPDXLicense>(this, SPDXLicense.OLDAP_2_0, code);
7783        if ("OLDAP-2.0.1".equals(codeString))
7784          return new Enumeration<SPDXLicense>(this, SPDXLicense.OLDAP_2_0_1, code);
7785        if ("OLDAP-2.1".equals(codeString))
7786          return new Enumeration<SPDXLicense>(this, SPDXLicense.OLDAP_2_1, code);
7787        if ("OLDAP-2.2".equals(codeString))
7788          return new Enumeration<SPDXLicense>(this, SPDXLicense.OLDAP_2_2, code);
7789        if ("OLDAP-2.2.1".equals(codeString))
7790          return new Enumeration<SPDXLicense>(this, SPDXLicense.OLDAP_2_2_1, code);
7791        if ("OLDAP-2.2.2".equals(codeString))
7792          return new Enumeration<SPDXLicense>(this, SPDXLicense.OLDAP_2_2_2, code);
7793        if ("OLDAP-2.3".equals(codeString))
7794          return new Enumeration<SPDXLicense>(this, SPDXLicense.OLDAP_2_3, code);
7795        if ("OLDAP-2.4".equals(codeString))
7796          return new Enumeration<SPDXLicense>(this, SPDXLicense.OLDAP_2_4, code);
7797        if ("OLDAP-2.5".equals(codeString))
7798          return new Enumeration<SPDXLicense>(this, SPDXLicense.OLDAP_2_5, code);
7799        if ("OLDAP-2.6".equals(codeString))
7800          return new Enumeration<SPDXLicense>(this, SPDXLicense.OLDAP_2_6, code);
7801        if ("OLDAP-2.7".equals(codeString))
7802          return new Enumeration<SPDXLicense>(this, SPDXLicense.OLDAP_2_7, code);
7803        if ("OLDAP-2.8".equals(codeString))
7804          return new Enumeration<SPDXLicense>(this, SPDXLicense.OLDAP_2_8, code);
7805        if ("OLFL-1.3".equals(codeString))
7806          return new Enumeration<SPDXLicense>(this, SPDXLicense.OLFL_1_3, code);
7807        if ("OML".equals(codeString))
7808          return new Enumeration<SPDXLicense>(this, SPDXLicense.OML, code);
7809        if ("OpenPBS-2.3".equals(codeString))
7810          return new Enumeration<SPDXLicense>(this, SPDXLicense.OPENPBS_2_3, code);
7811        if ("OpenSSL".equals(codeString))
7812          return new Enumeration<SPDXLicense>(this, SPDXLicense.OPENSSL, code);
7813        if ("OPL-1.0".equals(codeString))
7814          return new Enumeration<SPDXLicense>(this, SPDXLicense.OPL_1_0, code);
7815        if ("OPL-UK-3.0".equals(codeString))
7816          return new Enumeration<SPDXLicense>(this, SPDXLicense.OPL_UK_3_0, code);
7817        if ("OPUBL-1.0".equals(codeString))
7818          return new Enumeration<SPDXLicense>(this, SPDXLicense.OPUBL_1_0, code);
7819        if ("OSET-PL-2.1".equals(codeString))
7820          return new Enumeration<SPDXLicense>(this, SPDXLicense.OSET_PL_2_1, code);
7821        if ("OSL-1.0".equals(codeString))
7822          return new Enumeration<SPDXLicense>(this, SPDXLicense.OSL_1_0, code);
7823        if ("OSL-1.1".equals(codeString))
7824          return new Enumeration<SPDXLicense>(this, SPDXLicense.OSL_1_1, code);
7825        if ("OSL-2.0".equals(codeString))
7826          return new Enumeration<SPDXLicense>(this, SPDXLicense.OSL_2_0, code);
7827        if ("OSL-2.1".equals(codeString))
7828          return new Enumeration<SPDXLicense>(this, SPDXLicense.OSL_2_1, code);
7829        if ("OSL-3.0".equals(codeString))
7830          return new Enumeration<SPDXLicense>(this, SPDXLicense.OSL_3_0, code);
7831        if ("Parity-6.0.0".equals(codeString))
7832          return new Enumeration<SPDXLicense>(this, SPDXLicense.PARITY_6_0_0, code);
7833        if ("Parity-7.0.0".equals(codeString))
7834          return new Enumeration<SPDXLicense>(this, SPDXLicense.PARITY_7_0_0, code);
7835        if ("PDDL-1.0".equals(codeString))
7836          return new Enumeration<SPDXLicense>(this, SPDXLicense.PDDL_1_0, code);
7837        if ("PHP-3.0".equals(codeString))
7838          return new Enumeration<SPDXLicense>(this, SPDXLicense.PHP_3_0, code);
7839        if ("PHP-3.01".equals(codeString))
7840          return new Enumeration<SPDXLicense>(this, SPDXLicense.PHP_3_01, code);
7841        if ("Plexus".equals(codeString))
7842          return new Enumeration<SPDXLicense>(this, SPDXLicense.PLEXUS, code);
7843        if ("PolyForm-Noncommercial-1.0.0".equals(codeString))
7844          return new Enumeration<SPDXLicense>(this, SPDXLicense.POLYFORM_NONCOMMERCIAL_1_0_0, code);
7845        if ("PolyForm-Small-Business-1.0.0".equals(codeString))
7846          return new Enumeration<SPDXLicense>(this, SPDXLicense.POLYFORM_SMALL_BUSINESS_1_0_0, code);
7847        if ("PostgreSQL".equals(codeString))
7848          return new Enumeration<SPDXLicense>(this, SPDXLicense.POSTGRESQL, code);
7849        if ("PSF-2.0".equals(codeString))
7850          return new Enumeration<SPDXLicense>(this, SPDXLicense.PSF_2_0, code);
7851        if ("psfrag".equals(codeString))
7852          return new Enumeration<SPDXLicense>(this, SPDXLicense.PSFRAG, code);
7853        if ("psutils".equals(codeString))
7854          return new Enumeration<SPDXLicense>(this, SPDXLicense.PSUTILS, code);
7855        if ("Python-2.0".equals(codeString))
7856          return new Enumeration<SPDXLicense>(this, SPDXLicense.PYTHON_2_0, code);
7857        if ("Python-2.0.1".equals(codeString))
7858          return new Enumeration<SPDXLicense>(this, SPDXLicense.PYTHON_2_0_1, code);
7859        if ("Qhull".equals(codeString))
7860          return new Enumeration<SPDXLicense>(this, SPDXLicense.QHULL, code);
7861        if ("QPL-1.0".equals(codeString))
7862          return new Enumeration<SPDXLicense>(this, SPDXLicense.QPL_1_0, code);
7863        if ("QPL-1.0-INRIA-2004".equals(codeString))
7864          return new Enumeration<SPDXLicense>(this, SPDXLicense.QPL_1_0_INRIA_2004, code);
7865        if ("Rdisc".equals(codeString))
7866          return new Enumeration<SPDXLicense>(this, SPDXLicense.RDISC, code);
7867        if ("RHeCos-1.1".equals(codeString))
7868          return new Enumeration<SPDXLicense>(this, SPDXLicense.RHECOS_1_1, code);
7869        if ("RPL-1.1".equals(codeString))
7870          return new Enumeration<SPDXLicense>(this, SPDXLicense.RPL_1_1, code);
7871        if ("RPL-1.5".equals(codeString))
7872          return new Enumeration<SPDXLicense>(this, SPDXLicense.RPL_1_5, code);
7873        if ("RPSL-1.0".equals(codeString))
7874          return new Enumeration<SPDXLicense>(this, SPDXLicense.RPSL_1_0, code);
7875        if ("RSA-MD".equals(codeString))
7876          return new Enumeration<SPDXLicense>(this, SPDXLicense.RSA_MD, code);
7877        if ("RSCPL".equals(codeString))
7878          return new Enumeration<SPDXLicense>(this, SPDXLicense.RSCPL, code);
7879        if ("Ruby".equals(codeString))
7880          return new Enumeration<SPDXLicense>(this, SPDXLicense.RUBY, code);
7881        if ("SAX-PD".equals(codeString))
7882          return new Enumeration<SPDXLicense>(this, SPDXLicense.SAX_PD, code);
7883        if ("Saxpath".equals(codeString))
7884          return new Enumeration<SPDXLicense>(this, SPDXLicense.SAXPATH, code);
7885        if ("SCEA".equals(codeString))
7886          return new Enumeration<SPDXLicense>(this, SPDXLicense.SCEA, code);
7887        if ("SchemeReport".equals(codeString))
7888          return new Enumeration<SPDXLicense>(this, SPDXLicense.SCHEMEREPORT, code);
7889        if ("Sendmail".equals(codeString))
7890          return new Enumeration<SPDXLicense>(this, SPDXLicense.SENDMAIL, code);
7891        if ("Sendmail-8.23".equals(codeString))
7892          return new Enumeration<SPDXLicense>(this, SPDXLicense.SENDMAIL_8_23, code);
7893        if ("SGI-B-1.0".equals(codeString))
7894          return new Enumeration<SPDXLicense>(this, SPDXLicense.SGI_B_1_0, code);
7895        if ("SGI-B-1.1".equals(codeString))
7896          return new Enumeration<SPDXLicense>(this, SPDXLicense.SGI_B_1_1, code);
7897        if ("SGI-B-2.0".equals(codeString))
7898          return new Enumeration<SPDXLicense>(this, SPDXLicense.SGI_B_2_0, code);
7899        if ("SGP4".equals(codeString))
7900          return new Enumeration<SPDXLicense>(this, SPDXLicense.SGP4, code);
7901        if ("SHL-0.5".equals(codeString))
7902          return new Enumeration<SPDXLicense>(this, SPDXLicense.SHL_0_5, code);
7903        if ("SHL-0.51".equals(codeString))
7904          return new Enumeration<SPDXLicense>(this, SPDXLicense.SHL_0_51, code);
7905        if ("SimPL-2.0".equals(codeString))
7906          return new Enumeration<SPDXLicense>(this, SPDXLicense.SIMPL_2_0, code);
7907        if ("SISSL".equals(codeString))
7908          return new Enumeration<SPDXLicense>(this, SPDXLicense.SISSL, code);
7909        if ("SISSL-1.2".equals(codeString))
7910          return new Enumeration<SPDXLicense>(this, SPDXLicense.SISSL_1_2, code);
7911        if ("Sleepycat".equals(codeString))
7912          return new Enumeration<SPDXLicense>(this, SPDXLicense.SLEEPYCAT, code);
7913        if ("SMLNJ".equals(codeString))
7914          return new Enumeration<SPDXLicense>(this, SPDXLicense.SMLNJ, code);
7915        if ("SMPPL".equals(codeString))
7916          return new Enumeration<SPDXLicense>(this, SPDXLicense.SMPPL, code);
7917        if ("SNIA".equals(codeString))
7918          return new Enumeration<SPDXLicense>(this, SPDXLicense.SNIA, code);
7919        if ("snprintf".equals(codeString))
7920          return new Enumeration<SPDXLicense>(this, SPDXLicense.SNPRINTF, code);
7921        if ("Spencer-86".equals(codeString))
7922          return new Enumeration<SPDXLicense>(this, SPDXLicense.SPENCER_86, code);
7923        if ("Spencer-94".equals(codeString))
7924          return new Enumeration<SPDXLicense>(this, SPDXLicense.SPENCER_94, code);
7925        if ("Spencer-99".equals(codeString))
7926          return new Enumeration<SPDXLicense>(this, SPDXLicense.SPENCER_99, code);
7927        if ("SPL-1.0".equals(codeString))
7928          return new Enumeration<SPDXLicense>(this, SPDXLicense.SPL_1_0, code);
7929        if ("SSH-OpenSSH".equals(codeString))
7930          return new Enumeration<SPDXLicense>(this, SPDXLicense.SSH_OPENSSH, code);
7931        if ("SSH-short".equals(codeString))
7932          return new Enumeration<SPDXLicense>(this, SPDXLicense.SSH_SHORT, code);
7933        if ("SSPL-1.0".equals(codeString))
7934          return new Enumeration<SPDXLicense>(this, SPDXLicense.SSPL_1_0, code);
7935        if ("StandardML-NJ".equals(codeString))
7936          return new Enumeration<SPDXLicense>(this, SPDXLicense.STANDARDML_NJ, code);
7937        if ("SugarCRM-1.1.3".equals(codeString))
7938          return new Enumeration<SPDXLicense>(this, SPDXLicense.SUGARCRM_1_1_3, code);
7939        if ("SunPro".equals(codeString))
7940          return new Enumeration<SPDXLicense>(this, SPDXLicense.SUNPRO, code);
7941        if ("SWL".equals(codeString))
7942          return new Enumeration<SPDXLicense>(this, SPDXLicense.SWL, code);
7943        if ("Symlinks".equals(codeString))
7944          return new Enumeration<SPDXLicense>(this, SPDXLicense.SYMLINKS, code);
7945        if ("TAPR-OHL-1.0".equals(codeString))
7946          return new Enumeration<SPDXLicense>(this, SPDXLicense.TAPR_OHL_1_0, code);
7947        if ("TCL".equals(codeString))
7948          return new Enumeration<SPDXLicense>(this, SPDXLicense.TCL, code);
7949        if ("TCP-wrappers".equals(codeString))
7950          return new Enumeration<SPDXLicense>(this, SPDXLicense.TCP_WRAPPERS, code);
7951        if ("TermReadKey".equals(codeString))
7952          return new Enumeration<SPDXLicense>(this, SPDXLicense.TERMREADKEY, code);
7953        if ("TMate".equals(codeString))
7954          return new Enumeration<SPDXLicense>(this, SPDXLicense.TMATE, code);
7955        if ("TORQUE-1.1".equals(codeString))
7956          return new Enumeration<SPDXLicense>(this, SPDXLicense.TORQUE_1_1, code);
7957        if ("TOSL".equals(codeString))
7958          return new Enumeration<SPDXLicense>(this, SPDXLicense.TOSL, code);
7959        if ("TPDL".equals(codeString))
7960          return new Enumeration<SPDXLicense>(this, SPDXLicense.TPDL, code);
7961        if ("TPL-1.0".equals(codeString))
7962          return new Enumeration<SPDXLicense>(this, SPDXLicense.TPL_1_0, code);
7963        if ("TTWL".equals(codeString))
7964          return new Enumeration<SPDXLicense>(this, SPDXLicense.TTWL, code);
7965        if ("TU-Berlin-1.0".equals(codeString))
7966          return new Enumeration<SPDXLicense>(this, SPDXLicense.TU_BERLIN_1_0, code);
7967        if ("TU-Berlin-2.0".equals(codeString))
7968          return new Enumeration<SPDXLicense>(this, SPDXLicense.TU_BERLIN_2_0, code);
7969        if ("UCAR".equals(codeString))
7970          return new Enumeration<SPDXLicense>(this, SPDXLicense.UCAR, code);
7971        if ("UCL-1.0".equals(codeString))
7972          return new Enumeration<SPDXLicense>(this, SPDXLicense.UCL_1_0, code);
7973        if ("Unicode-DFS-2015".equals(codeString))
7974          return new Enumeration<SPDXLicense>(this, SPDXLicense.UNICODE_DFS_2015, code);
7975        if ("Unicode-DFS-2016".equals(codeString))
7976          return new Enumeration<SPDXLicense>(this, SPDXLicense.UNICODE_DFS_2016, code);
7977        if ("Unicode-TOU".equals(codeString))
7978          return new Enumeration<SPDXLicense>(this, SPDXLicense.UNICODE_TOU, code);
7979        if ("UnixCrypt".equals(codeString))
7980          return new Enumeration<SPDXLicense>(this, SPDXLicense.UNIXCRYPT, code);
7981        if ("Unlicense".equals(codeString))
7982          return new Enumeration<SPDXLicense>(this, SPDXLicense.UNLICENSE, code);
7983        if ("UPL-1.0".equals(codeString))
7984          return new Enumeration<SPDXLicense>(this, SPDXLicense.UPL_1_0, code);
7985        if ("Vim".equals(codeString))
7986          return new Enumeration<SPDXLicense>(this, SPDXLicense.VIM, code);
7987        if ("VOSTROM".equals(codeString))
7988          return new Enumeration<SPDXLicense>(this, SPDXLicense.VOSTROM, code);
7989        if ("VSL-1.0".equals(codeString))
7990          return new Enumeration<SPDXLicense>(this, SPDXLicense.VSL_1_0, code);
7991        if ("W3C".equals(codeString))
7992          return new Enumeration<SPDXLicense>(this, SPDXLicense.W3C, code);
7993        if ("W3C-19980720".equals(codeString))
7994          return new Enumeration<SPDXLicense>(this, SPDXLicense.W3C_19980720, code);
7995        if ("W3C-20150513".equals(codeString))
7996          return new Enumeration<SPDXLicense>(this, SPDXLicense.W3C_20150513, code);
7997        if ("w3m".equals(codeString))
7998          return new Enumeration<SPDXLicense>(this, SPDXLicense.W3M, code);
7999        if ("Watcom-1.0".equals(codeString))
8000          return new Enumeration<SPDXLicense>(this, SPDXLicense.WATCOM_1_0, code);
8001        if ("Widget-Workshop".equals(codeString))
8002          return new Enumeration<SPDXLicense>(this, SPDXLicense.WIDGET_WORKSHOP, code);
8003        if ("Wsuipa".equals(codeString))
8004          return new Enumeration<SPDXLicense>(this, SPDXLicense.WSUIPA, code);
8005        if ("WTFPL".equals(codeString))
8006          return new Enumeration<SPDXLicense>(this, SPDXLicense.WTFPL, code);
8007        if ("wxWindows".equals(codeString))
8008          return new Enumeration<SPDXLicense>(this, SPDXLicense.WXWINDOWS, code);
8009        if ("X11".equals(codeString))
8010          return new Enumeration<SPDXLicense>(this, SPDXLicense.X11, code);
8011        if ("X11-distribute-modifications-variant".equals(codeString))
8012          return new Enumeration<SPDXLicense>(this, SPDXLicense.X11_DISTRIBUTE_MODIFICATIONS_VARIANT, code);
8013        if ("Xdebug-1.03".equals(codeString))
8014          return new Enumeration<SPDXLicense>(this, SPDXLicense.XDEBUG_1_03, code);
8015        if ("Xerox".equals(codeString))
8016          return new Enumeration<SPDXLicense>(this, SPDXLicense.XEROX, code);
8017        if ("Xfig".equals(codeString))
8018          return new Enumeration<SPDXLicense>(this, SPDXLicense.XFIG, code);
8019        if ("XFree86-1.1".equals(codeString))
8020          return new Enumeration<SPDXLicense>(this, SPDXLicense.XFREE86_1_1, code);
8021        if ("xinetd".equals(codeString))
8022          return new Enumeration<SPDXLicense>(this, SPDXLicense.XINETD, code);
8023        if ("xlock".equals(codeString))
8024          return new Enumeration<SPDXLicense>(this, SPDXLicense.XLOCK, code);
8025        if ("Xnet".equals(codeString))
8026          return new Enumeration<SPDXLicense>(this, SPDXLicense.XNET, code);
8027        if ("xpp".equals(codeString))
8028          return new Enumeration<SPDXLicense>(this, SPDXLicense.XPP, code);
8029        if ("XSkat".equals(codeString))
8030          return new Enumeration<SPDXLicense>(this, SPDXLicense.XSKAT, code);
8031        if ("YPL-1.0".equals(codeString))
8032          return new Enumeration<SPDXLicense>(this, SPDXLicense.YPL_1_0, code);
8033        if ("YPL-1.1".equals(codeString))
8034          return new Enumeration<SPDXLicense>(this, SPDXLicense.YPL_1_1, code);
8035        if ("Zed".equals(codeString))
8036          return new Enumeration<SPDXLicense>(this, SPDXLicense.ZED, code);
8037        if ("Zend-2.0".equals(codeString))
8038          return new Enumeration<SPDXLicense>(this, SPDXLicense.ZEND_2_0, code);
8039        if ("Zimbra-1.3".equals(codeString))
8040          return new Enumeration<SPDXLicense>(this, SPDXLicense.ZIMBRA_1_3, code);
8041        if ("Zimbra-1.4".equals(codeString))
8042          return new Enumeration<SPDXLicense>(this, SPDXLicense.ZIMBRA_1_4, code);
8043        if ("Zlib".equals(codeString))
8044          return new Enumeration<SPDXLicense>(this, SPDXLicense.ZLIB, code);
8045        if ("zlib-acknowledgement".equals(codeString))
8046          return new Enumeration<SPDXLicense>(this, SPDXLicense.ZLIB_ACKNOWLEDGEMENT, code);
8047        if ("ZPL-1.1".equals(codeString))
8048          return new Enumeration<SPDXLicense>(this, SPDXLicense.ZPL_1_1, code);
8049        if ("ZPL-2.0".equals(codeString))
8050          return new Enumeration<SPDXLicense>(this, SPDXLicense.ZPL_2_0, code);
8051        if ("ZPL-2.1".equals(codeString))
8052          return new Enumeration<SPDXLicense>(this, SPDXLicense.ZPL_2_1, code);
8053        throw new FHIRException("Unknown SPDXLicense code '"+codeString+"'");
8054        }
8055    public String toCode(SPDXLicense code) {
8056      if (code == SPDXLicense._0BSD)
8057        return "0BSD";
8058      if (code == SPDXLicense.AAL)
8059        return "AAL";
8060      if (code == SPDXLicense.ABSTYLES)
8061        return "Abstyles";
8062      if (code == SPDXLicense.ADACORE_DOC)
8063        return "AdaCore-doc";
8064      if (code == SPDXLicense.ADOBE_2006)
8065        return "Adobe-2006";
8066      if (code == SPDXLicense.ADOBE_GLYPH)
8067        return "Adobe-Glyph";
8068      if (code == SPDXLicense.ADSL)
8069        return "ADSL";
8070      if (code == SPDXLicense.AFL_1_1)
8071        return "AFL-1.1";
8072      if (code == SPDXLicense.AFL_1_2)
8073        return "AFL-1.2";
8074      if (code == SPDXLicense.AFL_2_0)
8075        return "AFL-2.0";
8076      if (code == SPDXLicense.AFL_2_1)
8077        return "AFL-2.1";
8078      if (code == SPDXLicense.AFL_3_0)
8079        return "AFL-3.0";
8080      if (code == SPDXLicense.AFMPARSE)
8081        return "Afmparse";
8082      if (code == SPDXLicense.AGPL_1_0)
8083        return "AGPL-1.0";
8084      if (code == SPDXLicense.AGPL_1_0_ONLY)
8085        return "AGPL-1.0-only";
8086      if (code == SPDXLicense.AGPL_1_0_OR_LATER)
8087        return "AGPL-1.0-or-later";
8088      if (code == SPDXLicense.AGPL_3_0)
8089        return "AGPL-3.0";
8090      if (code == SPDXLicense.AGPL_3_0_ONLY)
8091        return "AGPL-3.0-only";
8092      if (code == SPDXLicense.AGPL_3_0_OR_LATER)
8093        return "AGPL-3.0-or-later";
8094      if (code == SPDXLicense.ALADDIN)
8095        return "Aladdin";
8096      if (code == SPDXLicense.AMDPLPA)
8097        return "AMDPLPA";
8098      if (code == SPDXLicense.AML)
8099        return "AML";
8100      if (code == SPDXLicense.AMPAS)
8101        return "AMPAS";
8102      if (code == SPDXLicense.ANTLR_PD)
8103        return "ANTLR-PD";
8104      if (code == SPDXLicense.ANTLR_PD_FALLBACK)
8105        return "ANTLR-PD-fallback";
8106      if (code == SPDXLicense.APACHE_1_0)
8107        return "Apache-1.0";
8108      if (code == SPDXLicense.APACHE_1_1)
8109        return "Apache-1.1";
8110      if (code == SPDXLicense.APACHE_2_0)
8111        return "Apache-2.0";
8112      if (code == SPDXLicense.APAFML)
8113        return "APAFML";
8114      if (code == SPDXLicense.APL_1_0)
8115        return "APL-1.0";
8116      if (code == SPDXLicense.APP_S2P)
8117        return "App-s2p";
8118      if (code == SPDXLicense.APSL_1_0)
8119        return "APSL-1.0";
8120      if (code == SPDXLicense.APSL_1_1)
8121        return "APSL-1.1";
8122      if (code == SPDXLicense.APSL_1_2)
8123        return "APSL-1.2";
8124      if (code == SPDXLicense.APSL_2_0)
8125        return "APSL-2.0";
8126      if (code == SPDXLicense.ARPHIC_1999)
8127        return "Arphic-1999";
8128      if (code == SPDXLicense.ARTISTIC_1_0)
8129        return "Artistic-1.0";
8130      if (code == SPDXLicense.ARTISTIC_1_0_CL8)
8131        return "Artistic-1.0-cl8";
8132      if (code == SPDXLicense.ARTISTIC_1_0_PERL)
8133        return "Artistic-1.0-Perl";
8134      if (code == SPDXLicense.ARTISTIC_2_0)
8135        return "Artistic-2.0";
8136      if (code == SPDXLicense.ASWF_DIGITAL_ASSETS_1_0)
8137        return "ASWF-Digital-Assets-1.0";
8138      if (code == SPDXLicense.ASWF_DIGITAL_ASSETS_1_1)
8139        return "ASWF-Digital-Assets-1.1";
8140      if (code == SPDXLicense.BAEKMUK)
8141        return "Baekmuk";
8142      if (code == SPDXLicense.BAHYPH)
8143        return "Bahyph";
8144      if (code == SPDXLicense.BARR)
8145        return "Barr";
8146      if (code == SPDXLicense.BEERWARE)
8147        return "Beerware";
8148      if (code == SPDXLicense.BITSTREAM_CHARTER)
8149        return "Bitstream-Charter";
8150      if (code == SPDXLicense.BITSTREAM_VERA)
8151        return "Bitstream-Vera";
8152      if (code == SPDXLicense.BITTORRENT_1_0)
8153        return "BitTorrent-1.0";
8154      if (code == SPDXLicense.BITTORRENT_1_1)
8155        return "BitTorrent-1.1";
8156      if (code == SPDXLicense.BLESSING)
8157        return "blessing";
8158      if (code == SPDXLicense.BLUEOAK_1_0_0)
8159        return "BlueOak-1.0.0";
8160      if (code == SPDXLicense.BOEHM_GC)
8161        return "Boehm-GC";
8162      if (code == SPDXLicense.BORCEUX)
8163        return "Borceux";
8164      if (code == SPDXLicense.BRIAN_GLADMAN_3_CLAUSE)
8165        return "Brian-Gladman-3-Clause";
8166      if (code == SPDXLicense.BSD_1_CLAUSE)
8167        return "BSD-1-Clause";
8168      if (code == SPDXLicense.BSD_2_CLAUSE)
8169        return "BSD-2-Clause";
8170      if (code == SPDXLicense.BSD_2_CLAUSE_FREEBSD)
8171        return "BSD-2-Clause-FreeBSD";
8172      if (code == SPDXLicense.BSD_2_CLAUSE_NETBSD)
8173        return "BSD-2-Clause-NetBSD";
8174      if (code == SPDXLicense.BSD_2_CLAUSE_PATENT)
8175        return "BSD-2-Clause-Patent";
8176      if (code == SPDXLicense.BSD_2_CLAUSE_VIEWS)
8177        return "BSD-2-Clause-Views";
8178      if (code == SPDXLicense.BSD_3_CLAUSE)
8179        return "BSD-3-Clause";
8180      if (code == SPDXLicense.BSD_3_CLAUSE_ATTRIBUTION)
8181        return "BSD-3-Clause-Attribution";
8182      if (code == SPDXLicense.BSD_3_CLAUSE_CLEAR)
8183        return "BSD-3-Clause-Clear";
8184      if (code == SPDXLicense.BSD_3_CLAUSE_LBNL)
8185        return "BSD-3-Clause-LBNL";
8186      if (code == SPDXLicense.BSD_3_CLAUSE_MODIFICATION)
8187        return "BSD-3-Clause-Modification";
8188      if (code == SPDXLicense.BSD_3_CLAUSE_NO_MILITARY_LICENSE)
8189        return "BSD-3-Clause-No-Military-License";
8190      if (code == SPDXLicense.BSD_3_CLAUSE_NO_NUCLEAR_LICENSE)
8191        return "BSD-3-Clause-No-Nuclear-License";
8192      if (code == SPDXLicense.BSD_3_CLAUSE_NO_NUCLEAR_LICENSE_2014)
8193        return "BSD-3-Clause-No-Nuclear-License-2014";
8194      if (code == SPDXLicense.BSD_3_CLAUSE_NO_NUCLEAR_WARRANTY)
8195        return "BSD-3-Clause-No-Nuclear-Warranty";
8196      if (code == SPDXLicense.BSD_3_CLAUSE_OPEN_MPI)
8197        return "BSD-3-Clause-Open-MPI";
8198      if (code == SPDXLicense.BSD_4_CLAUSE)
8199        return "BSD-4-Clause";
8200      if (code == SPDXLicense.BSD_4_CLAUSE_SHORTENED)
8201        return "BSD-4-Clause-Shortened";
8202      if (code == SPDXLicense.BSD_4_CLAUSE_UC)
8203        return "BSD-4-Clause-UC";
8204      if (code == SPDXLicense.BSD_4_3RENO)
8205        return "BSD-4.3RENO";
8206      if (code == SPDXLicense.BSD_4_3TAHOE)
8207        return "BSD-4.3TAHOE";
8208      if (code == SPDXLicense.BSD_ADVERTISING_ACKNOWLEDGEMENT)
8209        return "BSD-Advertising-Acknowledgement";
8210      if (code == SPDXLicense.BSD_ATTRIBUTION_HPND_DISCLAIMER)
8211        return "BSD-Attribution-HPND-disclaimer";
8212      if (code == SPDXLicense.BSD_PROTECTION)
8213        return "BSD-Protection";
8214      if (code == SPDXLicense.BSD_SOURCE_CODE)
8215        return "BSD-Source-Code";
8216      if (code == SPDXLicense.BSL_1_0)
8217        return "BSL-1.0";
8218      if (code == SPDXLicense.BUSL_1_1)
8219        return "BUSL-1.1";
8220      if (code == SPDXLicense.BZIP2_1_0_5)
8221        return "bzip2-1.0.5";
8222      if (code == SPDXLicense.BZIP2_1_0_6)
8223        return "bzip2-1.0.6";
8224      if (code == SPDXLicense.C_UDA_1_0)
8225        return "C-UDA-1.0";
8226      if (code == SPDXLicense.CAL_1_0)
8227        return "CAL-1.0";
8228      if (code == SPDXLicense.CAL_1_0_COMBINED_WORK_EXCEPTION)
8229        return "CAL-1.0-Combined-Work-Exception";
8230      if (code == SPDXLicense.CALDERA)
8231        return "Caldera";
8232      if (code == SPDXLicense.CATOSL_1_1)
8233        return "CATOSL-1.1";
8234      if (code == SPDXLicense.CC_BY_1_0)
8235        return "CC-BY-1.0";
8236      if (code == SPDXLicense.CC_BY_2_0)
8237        return "CC-BY-2.0";
8238      if (code == SPDXLicense.CC_BY_2_5)
8239        return "CC-BY-2.5";
8240      if (code == SPDXLicense.CC_BY_2_5_AU)
8241        return "CC-BY-2.5-AU";
8242      if (code == SPDXLicense.CC_BY_3_0)
8243        return "CC-BY-3.0";
8244      if (code == SPDXLicense.CC_BY_3_0_AT)
8245        return "CC-BY-3.0-AT";
8246      if (code == SPDXLicense.CC_BY_3_0_DE)
8247        return "CC-BY-3.0-DE";
8248      if (code == SPDXLicense.CC_BY_3_0_IGO)
8249        return "CC-BY-3.0-IGO";
8250      if (code == SPDXLicense.CC_BY_3_0_NL)
8251        return "CC-BY-3.0-NL";
8252      if (code == SPDXLicense.CC_BY_3_0_US)
8253        return "CC-BY-3.0-US";
8254      if (code == SPDXLicense.CC_BY_4_0)
8255        return "CC-BY-4.0";
8256      if (code == SPDXLicense.CC_BY_NC_1_0)
8257        return "CC-BY-NC-1.0";
8258      if (code == SPDXLicense.CC_BY_NC_2_0)
8259        return "CC-BY-NC-2.0";
8260      if (code == SPDXLicense.CC_BY_NC_2_5)
8261        return "CC-BY-NC-2.5";
8262      if (code == SPDXLicense.CC_BY_NC_3_0)
8263        return "CC-BY-NC-3.0";
8264      if (code == SPDXLicense.CC_BY_NC_3_0_DE)
8265        return "CC-BY-NC-3.0-DE";
8266      if (code == SPDXLicense.CC_BY_NC_4_0)
8267        return "CC-BY-NC-4.0";
8268      if (code == SPDXLicense.CC_BY_NC_ND_1_0)
8269        return "CC-BY-NC-ND-1.0";
8270      if (code == SPDXLicense.CC_BY_NC_ND_2_0)
8271        return "CC-BY-NC-ND-2.0";
8272      if (code == SPDXLicense.CC_BY_NC_ND_2_5)
8273        return "CC-BY-NC-ND-2.5";
8274      if (code == SPDXLicense.CC_BY_NC_ND_3_0)
8275        return "CC-BY-NC-ND-3.0";
8276      if (code == SPDXLicense.CC_BY_NC_ND_3_0_DE)
8277        return "CC-BY-NC-ND-3.0-DE";
8278      if (code == SPDXLicense.CC_BY_NC_ND_3_0_IGO)
8279        return "CC-BY-NC-ND-3.0-IGO";
8280      if (code == SPDXLicense.CC_BY_NC_ND_4_0)
8281        return "CC-BY-NC-ND-4.0";
8282      if (code == SPDXLicense.CC_BY_NC_SA_1_0)
8283        return "CC-BY-NC-SA-1.0";
8284      if (code == SPDXLicense.CC_BY_NC_SA_2_0)
8285        return "CC-BY-NC-SA-2.0";
8286      if (code == SPDXLicense.CC_BY_NC_SA_2_0_DE)
8287        return "CC-BY-NC-SA-2.0-DE";
8288      if (code == SPDXLicense.CC_BY_NC_SA_2_0_FR)
8289        return "CC-BY-NC-SA-2.0-FR";
8290      if (code == SPDXLicense.CC_BY_NC_SA_2_0_UK)
8291        return "CC-BY-NC-SA-2.0-UK";
8292      if (code == SPDXLicense.CC_BY_NC_SA_2_5)
8293        return "CC-BY-NC-SA-2.5";
8294      if (code == SPDXLicense.CC_BY_NC_SA_3_0)
8295        return "CC-BY-NC-SA-3.0";
8296      if (code == SPDXLicense.CC_BY_NC_SA_3_0_DE)
8297        return "CC-BY-NC-SA-3.0-DE";
8298      if (code == SPDXLicense.CC_BY_NC_SA_3_0_IGO)
8299        return "CC-BY-NC-SA-3.0-IGO";
8300      if (code == SPDXLicense.CC_BY_NC_SA_4_0)
8301        return "CC-BY-NC-SA-4.0";
8302      if (code == SPDXLicense.CC_BY_ND_1_0)
8303        return "CC-BY-ND-1.0";
8304      if (code == SPDXLicense.CC_BY_ND_2_0)
8305        return "CC-BY-ND-2.0";
8306      if (code == SPDXLicense.CC_BY_ND_2_5)
8307        return "CC-BY-ND-2.5";
8308      if (code == SPDXLicense.CC_BY_ND_3_0)
8309        return "CC-BY-ND-3.0";
8310      if (code == SPDXLicense.CC_BY_ND_3_0_DE)
8311        return "CC-BY-ND-3.0-DE";
8312      if (code == SPDXLicense.CC_BY_ND_4_0)
8313        return "CC-BY-ND-4.0";
8314      if (code == SPDXLicense.CC_BY_SA_1_0)
8315        return "CC-BY-SA-1.0";
8316      if (code == SPDXLicense.CC_BY_SA_2_0)
8317        return "CC-BY-SA-2.0";
8318      if (code == SPDXLicense.CC_BY_SA_2_0_UK)
8319        return "CC-BY-SA-2.0-UK";
8320      if (code == SPDXLicense.CC_BY_SA_2_1_JP)
8321        return "CC-BY-SA-2.1-JP";
8322      if (code == SPDXLicense.CC_BY_SA_2_5)
8323        return "CC-BY-SA-2.5";
8324      if (code == SPDXLicense.CC_BY_SA_3_0)
8325        return "CC-BY-SA-3.0";
8326      if (code == SPDXLicense.CC_BY_SA_3_0_AT)
8327        return "CC-BY-SA-3.0-AT";
8328      if (code == SPDXLicense.CC_BY_SA_3_0_DE)
8329        return "CC-BY-SA-3.0-DE";
8330      if (code == SPDXLicense.CC_BY_SA_3_0_IGO)
8331        return "CC-BY-SA-3.0-IGO";
8332      if (code == SPDXLicense.CC_BY_SA_4_0)
8333        return "CC-BY-SA-4.0";
8334      if (code == SPDXLicense.CC_PDDC)
8335        return "CC-PDDC";
8336      if (code == SPDXLicense.CC0_1_0)
8337        return "CC0-1.0";
8338      if (code == SPDXLicense.CDDL_1_0)
8339        return "CDDL-1.0";
8340      if (code == SPDXLicense.CDDL_1_1)
8341        return "CDDL-1.1";
8342      if (code == SPDXLicense.CDL_1_0)
8343        return "CDL-1.0";
8344      if (code == SPDXLicense.CDLA_PERMISSIVE_1_0)
8345        return "CDLA-Permissive-1.0";
8346      if (code == SPDXLicense.CDLA_PERMISSIVE_2_0)
8347        return "CDLA-Permissive-2.0";
8348      if (code == SPDXLicense.CDLA_SHARING_1_0)
8349        return "CDLA-Sharing-1.0";
8350      if (code == SPDXLicense.CECILL_1_0)
8351        return "CECILL-1.0";
8352      if (code == SPDXLicense.CECILL_1_1)
8353        return "CECILL-1.1";
8354      if (code == SPDXLicense.CECILL_2_0)
8355        return "CECILL-2.0";
8356      if (code == SPDXLicense.CECILL_2_1)
8357        return "CECILL-2.1";
8358      if (code == SPDXLicense.CECILL_B)
8359        return "CECILL-B";
8360      if (code == SPDXLicense.CECILL_C)
8361        return "CECILL-C";
8362      if (code == SPDXLicense.CERN_OHL_1_1)
8363        return "CERN-OHL-1.1";
8364      if (code == SPDXLicense.CERN_OHL_1_2)
8365        return "CERN-OHL-1.2";
8366      if (code == SPDXLicense.CERN_OHL_P_2_0)
8367        return "CERN-OHL-P-2.0";
8368      if (code == SPDXLicense.CERN_OHL_S_2_0)
8369        return "CERN-OHL-S-2.0";
8370      if (code == SPDXLicense.CERN_OHL_W_2_0)
8371        return "CERN-OHL-W-2.0";
8372      if (code == SPDXLicense.CFITSIO)
8373        return "CFITSIO";
8374      if (code == SPDXLicense.CHECKMK)
8375        return "checkmk";
8376      if (code == SPDXLicense.CLARTISTIC)
8377        return "ClArtistic";
8378      if (code == SPDXLicense.CLIPS)
8379        return "Clips";
8380      if (code == SPDXLicense.CMU_MACH)
8381        return "CMU-Mach";
8382      if (code == SPDXLicense.CNRI_JYTHON)
8383        return "CNRI-Jython";
8384      if (code == SPDXLicense.CNRI_PYTHON)
8385        return "CNRI-Python";
8386      if (code == SPDXLicense.CNRI_PYTHON_GPL_COMPATIBLE)
8387        return "CNRI-Python-GPL-Compatible";
8388      if (code == SPDXLicense.COIL_1_0)
8389        return "COIL-1.0";
8390      if (code == SPDXLicense.COMMUNITY_SPEC_1_0)
8391        return "Community-Spec-1.0";
8392      if (code == SPDXLicense.CONDOR_1_1)
8393        return "Condor-1.1";
8394      if (code == SPDXLicense.COPYLEFT_NEXT_0_3_0)
8395        return "copyleft-next-0.3.0";
8396      if (code == SPDXLicense.COPYLEFT_NEXT_0_3_1)
8397        return "copyleft-next-0.3.1";
8398      if (code == SPDXLicense.CORNELL_LOSSLESS_JPEG)
8399        return "Cornell-Lossless-JPEG";
8400      if (code == SPDXLicense.CPAL_1_0)
8401        return "CPAL-1.0";
8402      if (code == SPDXLicense.CPL_1_0)
8403        return "CPL-1.0";
8404      if (code == SPDXLicense.CPOL_1_02)
8405        return "CPOL-1.02";
8406      if (code == SPDXLicense.CROSSWORD)
8407        return "Crossword";
8408      if (code == SPDXLicense.CRYSTALSTACKER)
8409        return "CrystalStacker";
8410      if (code == SPDXLicense.CUA_OPL_1_0)
8411        return "CUA-OPL-1.0";
8412      if (code == SPDXLicense.CUBE)
8413        return "Cube";
8414      if (code == SPDXLicense.CURL)
8415        return "curl";
8416      if (code == SPDXLicense.D_FSL_1_0)
8417        return "D-FSL-1.0";
8418      if (code == SPDXLicense.DIFFMARK)
8419        return "diffmark";
8420      if (code == SPDXLicense.DL_DE_BY_2_0)
8421        return "DL-DE-BY-2.0";
8422      if (code == SPDXLicense.DOC)
8423        return "DOC";
8424      if (code == SPDXLicense.DOTSEQN)
8425        return "Dotseqn";
8426      if (code == SPDXLicense.DRL_1_0)
8427        return "DRL-1.0";
8428      if (code == SPDXLicense.DSDP)
8429        return "DSDP";
8430      if (code == SPDXLicense.DTOA)
8431        return "dtoa";
8432      if (code == SPDXLicense.DVIPDFM)
8433        return "dvipdfm";
8434      if (code == SPDXLicense.ECL_1_0)
8435        return "ECL-1.0";
8436      if (code == SPDXLicense.ECL_2_0)
8437        return "ECL-2.0";
8438      if (code == SPDXLicense.ECOS_2_0)
8439        return "eCos-2.0";
8440      if (code == SPDXLicense.EFL_1_0)
8441        return "EFL-1.0";
8442      if (code == SPDXLicense.EFL_2_0)
8443        return "EFL-2.0";
8444      if (code == SPDXLicense.EGENIX)
8445        return "eGenix";
8446      if (code == SPDXLicense.ELASTIC_2_0)
8447        return "Elastic-2.0";
8448      if (code == SPDXLicense.ENTESSA)
8449        return "Entessa";
8450      if (code == SPDXLicense.EPICS)
8451        return "EPICS";
8452      if (code == SPDXLicense.EPL_1_0)
8453        return "EPL-1.0";
8454      if (code == SPDXLicense.EPL_2_0)
8455        return "EPL-2.0";
8456      if (code == SPDXLicense.ERLPL_1_1)
8457        return "ErlPL-1.1";
8458      if (code == SPDXLicense.ETALAB_2_0)
8459        return "etalab-2.0";
8460      if (code == SPDXLicense.EUDATAGRID)
8461        return "EUDatagrid";
8462      if (code == SPDXLicense.EUPL_1_0)
8463        return "EUPL-1.0";
8464      if (code == SPDXLicense.EUPL_1_1)
8465        return "EUPL-1.1";
8466      if (code == SPDXLicense.EUPL_1_2)
8467        return "EUPL-1.2";
8468      if (code == SPDXLicense.EUROSYM)
8469        return "Eurosym";
8470      if (code == SPDXLicense.FAIR)
8471        return "Fair";
8472      if (code == SPDXLicense.FDK_AAC)
8473        return "FDK-AAC";
8474      if (code == SPDXLicense.FRAMEWORX_1_0)
8475        return "Frameworx-1.0";
8476      if (code == SPDXLicense.FREEBSD_DOC)
8477        return "FreeBSD-DOC";
8478      if (code == SPDXLicense.FREEIMAGE)
8479        return "FreeImage";
8480      if (code == SPDXLicense.FSFAP)
8481        return "FSFAP";
8482      if (code == SPDXLicense.FSFUL)
8483        return "FSFUL";
8484      if (code == SPDXLicense.FSFULLR)
8485        return "FSFULLR";
8486      if (code == SPDXLicense.FSFULLRWD)
8487        return "FSFULLRWD";
8488      if (code == SPDXLicense.FTL)
8489        return "FTL";
8490      if (code == SPDXLicense.GD)
8491        return "GD";
8492      if (code == SPDXLicense.GFDL_1_1)
8493        return "GFDL-1.1";
8494      if (code == SPDXLicense.GFDL_1_1_INVARIANTS_ONLY)
8495        return "GFDL-1.1-invariants-only";
8496      if (code == SPDXLicense.GFDL_1_1_INVARIANTS_OR_LATER)
8497        return "GFDL-1.1-invariants-or-later";
8498      if (code == SPDXLicense.GFDL_1_1_NO_INVARIANTS_ONLY)
8499        return "GFDL-1.1-no-invariants-only";
8500      if (code == SPDXLicense.GFDL_1_1_NO_INVARIANTS_OR_LATER)
8501        return "GFDL-1.1-no-invariants-or-later";
8502      if (code == SPDXLicense.GFDL_1_1_ONLY)
8503        return "GFDL-1.1-only";
8504      if (code == SPDXLicense.GFDL_1_1_OR_LATER)
8505        return "GFDL-1.1-or-later";
8506      if (code == SPDXLicense.GFDL_1_2)
8507        return "GFDL-1.2";
8508      if (code == SPDXLicense.GFDL_1_2_INVARIANTS_ONLY)
8509        return "GFDL-1.2-invariants-only";
8510      if (code == SPDXLicense.GFDL_1_2_INVARIANTS_OR_LATER)
8511        return "GFDL-1.2-invariants-or-later";
8512      if (code == SPDXLicense.GFDL_1_2_NO_INVARIANTS_ONLY)
8513        return "GFDL-1.2-no-invariants-only";
8514      if (code == SPDXLicense.GFDL_1_2_NO_INVARIANTS_OR_LATER)
8515        return "GFDL-1.2-no-invariants-or-later";
8516      if (code == SPDXLicense.GFDL_1_2_ONLY)
8517        return "GFDL-1.2-only";
8518      if (code == SPDXLicense.GFDL_1_2_OR_LATER)
8519        return "GFDL-1.2-or-later";
8520      if (code == SPDXLicense.GFDL_1_3)
8521        return "GFDL-1.3";
8522      if (code == SPDXLicense.GFDL_1_3_INVARIANTS_ONLY)
8523        return "GFDL-1.3-invariants-only";
8524      if (code == SPDXLicense.GFDL_1_3_INVARIANTS_OR_LATER)
8525        return "GFDL-1.3-invariants-or-later";
8526      if (code == SPDXLicense.GFDL_1_3_NO_INVARIANTS_ONLY)
8527        return "GFDL-1.3-no-invariants-only";
8528      if (code == SPDXLicense.GFDL_1_3_NO_INVARIANTS_OR_LATER)
8529        return "GFDL-1.3-no-invariants-or-later";
8530      if (code == SPDXLicense.GFDL_1_3_ONLY)
8531        return "GFDL-1.3-only";
8532      if (code == SPDXLicense.GFDL_1_3_OR_LATER)
8533        return "GFDL-1.3-or-later";
8534      if (code == SPDXLicense.GIFTWARE)
8535        return "Giftware";
8536      if (code == SPDXLicense.GL2PS)
8537        return "GL2PS";
8538      if (code == SPDXLicense.GLIDE)
8539        return "Glide";
8540      if (code == SPDXLicense.GLULXE)
8541        return "Glulxe";
8542      if (code == SPDXLicense.GLWTPL)
8543        return "GLWTPL";
8544      if (code == SPDXLicense.GNUPLOT)
8545        return "gnuplot";
8546      if (code == SPDXLicense.GPL_1_0)
8547        return "GPL-1.0";
8548      if (code == SPDXLicense.GPL_1_0PLUS)
8549        return "GPL-1.0+";
8550      if (code == SPDXLicense.GPL_1_0_ONLY)
8551        return "GPL-1.0-only";
8552      if (code == SPDXLicense.GPL_1_0_OR_LATER)
8553        return "GPL-1.0-or-later";
8554      if (code == SPDXLicense.GPL_2_0)
8555        return "GPL-2.0";
8556      if (code == SPDXLicense.GPL_2_0PLUS)
8557        return "GPL-2.0+";
8558      if (code == SPDXLicense.GPL_2_0_ONLY)
8559        return "GPL-2.0-only";
8560      if (code == SPDXLicense.GPL_2_0_OR_LATER)
8561        return "GPL-2.0-or-later";
8562      if (code == SPDXLicense.GPL_2_0_WITH_AUTOCONF_EXCEPTION)
8563        return "GPL-2.0-with-autoconf-exception";
8564      if (code == SPDXLicense.GPL_2_0_WITH_BISON_EXCEPTION)
8565        return "GPL-2.0-with-bison-exception";
8566      if (code == SPDXLicense.GPL_2_0_WITH_CLASSPATH_EXCEPTION)
8567        return "GPL-2.0-with-classpath-exception";
8568      if (code == SPDXLicense.GPL_2_0_WITH_FONT_EXCEPTION)
8569        return "GPL-2.0-with-font-exception";
8570      if (code == SPDXLicense.GPL_2_0_WITH_GCC_EXCEPTION)
8571        return "GPL-2.0-with-GCC-exception";
8572      if (code == SPDXLicense.GPL_3_0)
8573        return "GPL-3.0";
8574      if (code == SPDXLicense.GPL_3_0PLUS)
8575        return "GPL-3.0+";
8576      if (code == SPDXLicense.GPL_3_0_ONLY)
8577        return "GPL-3.0-only";
8578      if (code == SPDXLicense.GPL_3_0_OR_LATER)
8579        return "GPL-3.0-or-later";
8580      if (code == SPDXLicense.GPL_3_0_WITH_AUTOCONF_EXCEPTION)
8581        return "GPL-3.0-with-autoconf-exception";
8582      if (code == SPDXLicense.GPL_3_0_WITH_GCC_EXCEPTION)
8583        return "GPL-3.0-with-GCC-exception";
8584      if (code == SPDXLicense.GRAPHICS_GEMS)
8585        return "Graphics-Gems";
8586      if (code == SPDXLicense.GSOAP_1_3B)
8587        return "gSOAP-1.3b";
8588      if (code == SPDXLicense.HASKELLREPORT)
8589        return "HaskellReport";
8590      if (code == SPDXLicense.HIPPOCRATIC_2_1)
8591        return "Hippocratic-2.1";
8592      if (code == SPDXLicense.HP_1986)
8593        return "HP-1986";
8594      if (code == SPDXLicense.HPND)
8595        return "HPND";
8596      if (code == SPDXLicense.HPND_EXPORT_US)
8597        return "HPND-export-US";
8598      if (code == SPDXLicense.HPND_MARKUS_KUHN)
8599        return "HPND-Markus-Kuhn";
8600      if (code == SPDXLicense.HPND_SELL_VARIANT)
8601        return "HPND-sell-variant";
8602      if (code == SPDXLicense.HPND_SELL_VARIANT_MIT_DISCLAIMER)
8603        return "HPND-sell-variant-MIT-disclaimer";
8604      if (code == SPDXLicense.HTMLTIDY)
8605        return "HTMLTIDY";
8606      if (code == SPDXLicense.IBM_PIBS)
8607        return "IBM-pibs";
8608      if (code == SPDXLicense.ICU)
8609        return "ICU";
8610      if (code == SPDXLicense.IEC_CODE_COMPONENTS_EULA)
8611        return "IEC-Code-Components-EULA";
8612      if (code == SPDXLicense.IJG)
8613        return "IJG";
8614      if (code == SPDXLicense.IJG_SHORT)
8615        return "IJG-short";
8616      if (code == SPDXLicense.IMAGEMAGICK)
8617        return "ImageMagick";
8618      if (code == SPDXLicense.IMATIX)
8619        return "iMatix";
8620      if (code == SPDXLicense.IMLIB2)
8621        return "Imlib2";
8622      if (code == SPDXLicense.INFO_ZIP)
8623        return "Info-ZIP";
8624      if (code == SPDXLicense.INNER_NET_2_0)
8625        return "Inner-Net-2.0";
8626      if (code == SPDXLicense.INTEL)
8627        return "Intel";
8628      if (code == SPDXLicense.INTEL_ACPI)
8629        return "Intel-ACPI";
8630      if (code == SPDXLicense.INTERBASE_1_0)
8631        return "Interbase-1.0";
8632      if (code == SPDXLicense.IPA)
8633        return "IPA";
8634      if (code == SPDXLicense.IPL_1_0)
8635        return "IPL-1.0";
8636      if (code == SPDXLicense.ISC)
8637        return "ISC";
8638      if (code == SPDXLicense.JAM)
8639        return "Jam";
8640      if (code == SPDXLicense.JASPER_2_0)
8641        return "JasPer-2.0";
8642      if (code == SPDXLicense.JPL_IMAGE)
8643        return "JPL-image";
8644      if (code == SPDXLicense.JPNIC)
8645        return "JPNIC";
8646      if (code == SPDXLicense.JSON)
8647        return "JSON";
8648      if (code == SPDXLicense.KAZLIB)
8649        return "Kazlib";
8650      if (code == SPDXLicense.KNUTH_CTAN)
8651        return "Knuth-CTAN";
8652      if (code == SPDXLicense.LAL_1_2)
8653        return "LAL-1.2";
8654      if (code == SPDXLicense.LAL_1_3)
8655        return "LAL-1.3";
8656      if (code == SPDXLicense.LATEX2E)
8657        return "Latex2e";
8658      if (code == SPDXLicense.LATEX2E_TRANSLATED_NOTICE)
8659        return "Latex2e-translated-notice";
8660      if (code == SPDXLicense.LEPTONICA)
8661        return "Leptonica";
8662      if (code == SPDXLicense.LGPL_2_0)
8663        return "LGPL-2.0";
8664      if (code == SPDXLicense.LGPL_2_0PLUS)
8665        return "LGPL-2.0+";
8666      if (code == SPDXLicense.LGPL_2_0_ONLY)
8667        return "LGPL-2.0-only";
8668      if (code == SPDXLicense.LGPL_2_0_OR_LATER)
8669        return "LGPL-2.0-or-later";
8670      if (code == SPDXLicense.LGPL_2_1)
8671        return "LGPL-2.1";
8672      if (code == SPDXLicense.LGPL_2_1PLUS)
8673        return "LGPL-2.1+";
8674      if (code == SPDXLicense.LGPL_2_1_ONLY)
8675        return "LGPL-2.1-only";
8676      if (code == SPDXLicense.LGPL_2_1_OR_LATER)
8677        return "LGPL-2.1-or-later";
8678      if (code == SPDXLicense.LGPL_3_0)
8679        return "LGPL-3.0";
8680      if (code == SPDXLicense.LGPL_3_0PLUS)
8681        return "LGPL-3.0+";
8682      if (code == SPDXLicense.LGPL_3_0_ONLY)
8683        return "LGPL-3.0-only";
8684      if (code == SPDXLicense.LGPL_3_0_OR_LATER)
8685        return "LGPL-3.0-or-later";
8686      if (code == SPDXLicense.LGPLLR)
8687        return "LGPLLR";
8688      if (code == SPDXLicense.LIBPNG)
8689        return "Libpng";
8690      if (code == SPDXLicense.LIBPNG_2_0)
8691        return "libpng-2.0";
8692      if (code == SPDXLicense.LIBSELINUX_1_0)
8693        return "libselinux-1.0";
8694      if (code == SPDXLicense.LIBTIFF)
8695        return "libtiff";
8696      if (code == SPDXLicense.LIBUTIL_DAVID_NUGENT)
8697        return "libutil-David-Nugent";
8698      if (code == SPDXLicense.LILIQ_P_1_1)
8699        return "LiLiQ-P-1.1";
8700      if (code == SPDXLicense.LILIQ_R_1_1)
8701        return "LiLiQ-R-1.1";
8702      if (code == SPDXLicense.LILIQ_RPLUS_1_1)
8703        return "LiLiQ-Rplus-1.1";
8704      if (code == SPDXLicense.LINUX_MAN_PAGES_1_PARA)
8705        return "Linux-man-pages-1-para";
8706      if (code == SPDXLicense.LINUX_MAN_PAGES_COPYLEFT)
8707        return "Linux-man-pages-copyleft";
8708      if (code == SPDXLicense.LINUX_MAN_PAGES_COPYLEFT_2_PARA)
8709        return "Linux-man-pages-copyleft-2-para";
8710      if (code == SPDXLicense.LINUX_MAN_PAGES_COPYLEFT_VAR)
8711        return "Linux-man-pages-copyleft-var";
8712      if (code == SPDXLicense.LINUX_OPENIB)
8713        return "Linux-OpenIB";
8714      if (code == SPDXLicense.LOOP)
8715        return "LOOP";
8716      if (code == SPDXLicense.LPL_1_0)
8717        return "LPL-1.0";
8718      if (code == SPDXLicense.LPL_1_02)
8719        return "LPL-1.02";
8720      if (code == SPDXLicense.LPPL_1_0)
8721        return "LPPL-1.0";
8722      if (code == SPDXLicense.LPPL_1_1)
8723        return "LPPL-1.1";
8724      if (code == SPDXLicense.LPPL_1_2)
8725        return "LPPL-1.2";
8726      if (code == SPDXLicense.LPPL_1_3A)
8727        return "LPPL-1.3a";
8728      if (code == SPDXLicense.LPPL_1_3C)
8729        return "LPPL-1.3c";
8730      if (code == SPDXLicense.LZMA_SDK_9_11_TO_9_20)
8731        return "LZMA-SDK-9.11-to-9.20";
8732      if (code == SPDXLicense.LZMA_SDK_9_22)
8733        return "LZMA-SDK-9.22";
8734      if (code == SPDXLicense.MAKEINDEX)
8735        return "MakeIndex";
8736      if (code == SPDXLicense.MARTIN_BIRGMEIER)
8737        return "Martin-Birgmeier";
8738      if (code == SPDXLicense.METAMAIL)
8739        return "metamail";
8740      if (code == SPDXLicense.MINPACK)
8741        return "Minpack";
8742      if (code == SPDXLicense.MIROS)
8743        return "MirOS";
8744      if (code == SPDXLicense.MIT)
8745        return "MIT";
8746      if (code == SPDXLicense.MIT_0)
8747        return "MIT-0";
8748      if (code == SPDXLicense.MIT_ADVERTISING)
8749        return "MIT-advertising";
8750      if (code == SPDXLicense.MIT_CMU)
8751        return "MIT-CMU";
8752      if (code == SPDXLicense.MIT_ENNA)
8753        return "MIT-enna";
8754      if (code == SPDXLicense.MIT_FEH)
8755        return "MIT-feh";
8756      if (code == SPDXLicense.MIT_FESTIVAL)
8757        return "MIT-Festival";
8758      if (code == SPDXLicense.MIT_MODERN_VARIANT)
8759        return "MIT-Modern-Variant";
8760      if (code == SPDXLicense.MIT_OPEN_GROUP)
8761        return "MIT-open-group";
8762      if (code == SPDXLicense.MIT_WU)
8763        return "MIT-Wu";
8764      if (code == SPDXLicense.MITNFA)
8765        return "MITNFA";
8766      if (code == SPDXLicense.MOTOSOTO)
8767        return "Motosoto";
8768      if (code == SPDXLicense.MPI_PERMISSIVE)
8769        return "mpi-permissive";
8770      if (code == SPDXLicense.MPICH2)
8771        return "mpich2";
8772      if (code == SPDXLicense.MPL_1_0)
8773        return "MPL-1.0";
8774      if (code == SPDXLicense.MPL_1_1)
8775        return "MPL-1.1";
8776      if (code == SPDXLicense.MPL_2_0)
8777        return "MPL-2.0";
8778      if (code == SPDXLicense.MPL_2_0_NO_COPYLEFT_EXCEPTION)
8779        return "MPL-2.0-no-copyleft-exception";
8780      if (code == SPDXLicense.MPLUS)
8781        return "mplus";
8782      if (code == SPDXLicense.MS_LPL)
8783        return "MS-LPL";
8784      if (code == SPDXLicense.MS_PL)
8785        return "MS-PL";
8786      if (code == SPDXLicense.MS_RL)
8787        return "MS-RL";
8788      if (code == SPDXLicense.MTLL)
8789        return "MTLL";
8790      if (code == SPDXLicense.MULANPSL_1_0)
8791        return "MulanPSL-1.0";
8792      if (code == SPDXLicense.MULANPSL_2_0)
8793        return "MulanPSL-2.0";
8794      if (code == SPDXLicense.MULTICS)
8795        return "Multics";
8796      if (code == SPDXLicense.MUP)
8797        return "Mup";
8798      if (code == SPDXLicense.NAIST_2003)
8799        return "NAIST-2003";
8800      if (code == SPDXLicense.NASA_1_3)
8801        return "NASA-1.3";
8802      if (code == SPDXLicense.NAUMEN)
8803        return "Naumen";
8804      if (code == SPDXLicense.NBPL_1_0)
8805        return "NBPL-1.0";
8806      if (code == SPDXLicense.NCGL_UK_2_0)
8807        return "NCGL-UK-2.0";
8808      if (code == SPDXLicense.NCSA)
8809        return "NCSA";
8810      if (code == SPDXLicense.NET_SNMP)
8811        return "Net-SNMP";
8812      if (code == SPDXLicense.NETCDF)
8813        return "NetCDF";
8814      if (code == SPDXLicense.NEWSLETR)
8815        return "Newsletr";
8816      if (code == SPDXLicense.NGPL)
8817        return "NGPL";
8818      if (code == SPDXLicense.NICTA_1_0)
8819        return "NICTA-1.0";
8820      if (code == SPDXLicense.NIST_PD)
8821        return "NIST-PD";
8822      if (code == SPDXLicense.NIST_PD_FALLBACK)
8823        return "NIST-PD-fallback";
8824      if (code == SPDXLicense.NIST_SOFTWARE)
8825        return "NIST-Software";
8826      if (code == SPDXLicense.NLOD_1_0)
8827        return "NLOD-1.0";
8828      if (code == SPDXLicense.NLOD_2_0)
8829        return "NLOD-2.0";
8830      if (code == SPDXLicense.NLPL)
8831        return "NLPL";
8832      if (code == SPDXLicense.NOKIA)
8833        return "Nokia";
8834      if (code == SPDXLicense.NOSL)
8835        return "NOSL";
8836      if (code == SPDXLicense.NOT_OPEN_SOURCE)
8837        return "not-open-source";
8838      if (code == SPDXLicense.NOWEB)
8839        return "Noweb";
8840      if (code == SPDXLicense.NPL_1_0)
8841        return "NPL-1.0";
8842      if (code == SPDXLicense.NPL_1_1)
8843        return "NPL-1.1";
8844      if (code == SPDXLicense.NPOSL_3_0)
8845        return "NPOSL-3.0";
8846      if (code == SPDXLicense.NRL)
8847        return "NRL";
8848      if (code == SPDXLicense.NTP)
8849        return "NTP";
8850      if (code == SPDXLicense.NTP_0)
8851        return "NTP-0";
8852      if (code == SPDXLicense.NUNIT)
8853        return "Nunit";
8854      if (code == SPDXLicense.O_UDA_1_0)
8855        return "O-UDA-1.0";
8856      if (code == SPDXLicense.OCCT_PL)
8857        return "OCCT-PL";
8858      if (code == SPDXLicense.OCLC_2_0)
8859        return "OCLC-2.0";
8860      if (code == SPDXLicense.ODBL_1_0)
8861        return "ODbL-1.0";
8862      if (code == SPDXLicense.ODC_BY_1_0)
8863        return "ODC-By-1.0";
8864      if (code == SPDXLicense.OFFIS)
8865        return "OFFIS";
8866      if (code == SPDXLicense.OFL_1_0)
8867        return "OFL-1.0";
8868      if (code == SPDXLicense.OFL_1_0_NO_RFN)
8869        return "OFL-1.0-no-RFN";
8870      if (code == SPDXLicense.OFL_1_0_RFN)
8871        return "OFL-1.0-RFN";
8872      if (code == SPDXLicense.OFL_1_1)
8873        return "OFL-1.1";
8874      if (code == SPDXLicense.OFL_1_1_NO_RFN)
8875        return "OFL-1.1-no-RFN";
8876      if (code == SPDXLicense.OFL_1_1_RFN)
8877        return "OFL-1.1-RFN";
8878      if (code == SPDXLicense.OGC_1_0)
8879        return "OGC-1.0";
8880      if (code == SPDXLicense.OGDL_TAIWAN_1_0)
8881        return "OGDL-Taiwan-1.0";
8882      if (code == SPDXLicense.OGL_CANADA_2_0)
8883        return "OGL-Canada-2.0";
8884      if (code == SPDXLicense.OGL_UK_1_0)
8885        return "OGL-UK-1.0";
8886      if (code == SPDXLicense.OGL_UK_2_0)
8887        return "OGL-UK-2.0";
8888      if (code == SPDXLicense.OGL_UK_3_0)
8889        return "OGL-UK-3.0";
8890      if (code == SPDXLicense.OGTSL)
8891        return "OGTSL";
8892      if (code == SPDXLicense.OLDAP_1_1)
8893        return "OLDAP-1.1";
8894      if (code == SPDXLicense.OLDAP_1_2)
8895        return "OLDAP-1.2";
8896      if (code == SPDXLicense.OLDAP_1_3)
8897        return "OLDAP-1.3";
8898      if (code == SPDXLicense.OLDAP_1_4)
8899        return "OLDAP-1.4";
8900      if (code == SPDXLicense.OLDAP_2_0)
8901        return "OLDAP-2.0";
8902      if (code == SPDXLicense.OLDAP_2_0_1)
8903        return "OLDAP-2.0.1";
8904      if (code == SPDXLicense.OLDAP_2_1)
8905        return "OLDAP-2.1";
8906      if (code == SPDXLicense.OLDAP_2_2)
8907        return "OLDAP-2.2";
8908      if (code == SPDXLicense.OLDAP_2_2_1)
8909        return "OLDAP-2.2.1";
8910      if (code == SPDXLicense.OLDAP_2_2_2)
8911        return "OLDAP-2.2.2";
8912      if (code == SPDXLicense.OLDAP_2_3)
8913        return "OLDAP-2.3";
8914      if (code == SPDXLicense.OLDAP_2_4)
8915        return "OLDAP-2.4";
8916      if (code == SPDXLicense.OLDAP_2_5)
8917        return "OLDAP-2.5";
8918      if (code == SPDXLicense.OLDAP_2_6)
8919        return "OLDAP-2.6";
8920      if (code == SPDXLicense.OLDAP_2_7)
8921        return "OLDAP-2.7";
8922      if (code == SPDXLicense.OLDAP_2_8)
8923        return "OLDAP-2.8";
8924      if (code == SPDXLicense.OLFL_1_3)
8925        return "OLFL-1.3";
8926      if (code == SPDXLicense.OML)
8927        return "OML";
8928      if (code == SPDXLicense.OPENPBS_2_3)
8929        return "OpenPBS-2.3";
8930      if (code == SPDXLicense.OPENSSL)
8931        return "OpenSSL";
8932      if (code == SPDXLicense.OPL_1_0)
8933        return "OPL-1.0";
8934      if (code == SPDXLicense.OPL_UK_3_0)
8935        return "OPL-UK-3.0";
8936      if (code == SPDXLicense.OPUBL_1_0)
8937        return "OPUBL-1.0";
8938      if (code == SPDXLicense.OSET_PL_2_1)
8939        return "OSET-PL-2.1";
8940      if (code == SPDXLicense.OSL_1_0)
8941        return "OSL-1.0";
8942      if (code == SPDXLicense.OSL_1_1)
8943        return "OSL-1.1";
8944      if (code == SPDXLicense.OSL_2_0)
8945        return "OSL-2.0";
8946      if (code == SPDXLicense.OSL_2_1)
8947        return "OSL-2.1";
8948      if (code == SPDXLicense.OSL_3_0)
8949        return "OSL-3.0";
8950      if (code == SPDXLicense.PARITY_6_0_0)
8951        return "Parity-6.0.0";
8952      if (code == SPDXLicense.PARITY_7_0_0)
8953        return "Parity-7.0.0";
8954      if (code == SPDXLicense.PDDL_1_0)
8955        return "PDDL-1.0";
8956      if (code == SPDXLicense.PHP_3_0)
8957        return "PHP-3.0";
8958      if (code == SPDXLicense.PHP_3_01)
8959        return "PHP-3.01";
8960      if (code == SPDXLicense.PLEXUS)
8961        return "Plexus";
8962      if (code == SPDXLicense.POLYFORM_NONCOMMERCIAL_1_0_0)
8963        return "PolyForm-Noncommercial-1.0.0";
8964      if (code == SPDXLicense.POLYFORM_SMALL_BUSINESS_1_0_0)
8965        return "PolyForm-Small-Business-1.0.0";
8966      if (code == SPDXLicense.POSTGRESQL)
8967        return "PostgreSQL";
8968      if (code == SPDXLicense.PSF_2_0)
8969        return "PSF-2.0";
8970      if (code == SPDXLicense.PSFRAG)
8971        return "psfrag";
8972      if (code == SPDXLicense.PSUTILS)
8973        return "psutils";
8974      if (code == SPDXLicense.PYTHON_2_0)
8975        return "Python-2.0";
8976      if (code == SPDXLicense.PYTHON_2_0_1)
8977        return "Python-2.0.1";
8978      if (code == SPDXLicense.QHULL)
8979        return "Qhull";
8980      if (code == SPDXLicense.QPL_1_0)
8981        return "QPL-1.0";
8982      if (code == SPDXLicense.QPL_1_0_INRIA_2004)
8983        return "QPL-1.0-INRIA-2004";
8984      if (code == SPDXLicense.RDISC)
8985        return "Rdisc";
8986      if (code == SPDXLicense.RHECOS_1_1)
8987        return "RHeCos-1.1";
8988      if (code == SPDXLicense.RPL_1_1)
8989        return "RPL-1.1";
8990      if (code == SPDXLicense.RPL_1_5)
8991        return "RPL-1.5";
8992      if (code == SPDXLicense.RPSL_1_0)
8993        return "RPSL-1.0";
8994      if (code == SPDXLicense.RSA_MD)
8995        return "RSA-MD";
8996      if (code == SPDXLicense.RSCPL)
8997        return "RSCPL";
8998      if (code == SPDXLicense.RUBY)
8999        return "Ruby";
9000      if (code == SPDXLicense.SAX_PD)
9001        return "SAX-PD";
9002      if (code == SPDXLicense.SAXPATH)
9003        return "Saxpath";
9004      if (code == SPDXLicense.SCEA)
9005        return "SCEA";
9006      if (code == SPDXLicense.SCHEMEREPORT)
9007        return "SchemeReport";
9008      if (code == SPDXLicense.SENDMAIL)
9009        return "Sendmail";
9010      if (code == SPDXLicense.SENDMAIL_8_23)
9011        return "Sendmail-8.23";
9012      if (code == SPDXLicense.SGI_B_1_0)
9013        return "SGI-B-1.0";
9014      if (code == SPDXLicense.SGI_B_1_1)
9015        return "SGI-B-1.1";
9016      if (code == SPDXLicense.SGI_B_2_0)
9017        return "SGI-B-2.0";
9018      if (code == SPDXLicense.SGP4)
9019        return "SGP4";
9020      if (code == SPDXLicense.SHL_0_5)
9021        return "SHL-0.5";
9022      if (code == SPDXLicense.SHL_0_51)
9023        return "SHL-0.51";
9024      if (code == SPDXLicense.SIMPL_2_0)
9025        return "SimPL-2.0";
9026      if (code == SPDXLicense.SISSL)
9027        return "SISSL";
9028      if (code == SPDXLicense.SISSL_1_2)
9029        return "SISSL-1.2";
9030      if (code == SPDXLicense.SLEEPYCAT)
9031        return "Sleepycat";
9032      if (code == SPDXLicense.SMLNJ)
9033        return "SMLNJ";
9034      if (code == SPDXLicense.SMPPL)
9035        return "SMPPL";
9036      if (code == SPDXLicense.SNIA)
9037        return "SNIA";
9038      if (code == SPDXLicense.SNPRINTF)
9039        return "snprintf";
9040      if (code == SPDXLicense.SPENCER_86)
9041        return "Spencer-86";
9042      if (code == SPDXLicense.SPENCER_94)
9043        return "Spencer-94";
9044      if (code == SPDXLicense.SPENCER_99)
9045        return "Spencer-99";
9046      if (code == SPDXLicense.SPL_1_0)
9047        return "SPL-1.0";
9048      if (code == SPDXLicense.SSH_OPENSSH)
9049        return "SSH-OpenSSH";
9050      if (code == SPDXLicense.SSH_SHORT)
9051        return "SSH-short";
9052      if (code == SPDXLicense.SSPL_1_0)
9053        return "SSPL-1.0";
9054      if (code == SPDXLicense.STANDARDML_NJ)
9055        return "StandardML-NJ";
9056      if (code == SPDXLicense.SUGARCRM_1_1_3)
9057        return "SugarCRM-1.1.3";
9058      if (code == SPDXLicense.SUNPRO)
9059        return "SunPro";
9060      if (code == SPDXLicense.SWL)
9061        return "SWL";
9062      if (code == SPDXLicense.SYMLINKS)
9063        return "Symlinks";
9064      if (code == SPDXLicense.TAPR_OHL_1_0)
9065        return "TAPR-OHL-1.0";
9066      if (code == SPDXLicense.TCL)
9067        return "TCL";
9068      if (code == SPDXLicense.TCP_WRAPPERS)
9069        return "TCP-wrappers";
9070      if (code == SPDXLicense.TERMREADKEY)
9071        return "TermReadKey";
9072      if (code == SPDXLicense.TMATE)
9073        return "TMate";
9074      if (code == SPDXLicense.TORQUE_1_1)
9075        return "TORQUE-1.1";
9076      if (code == SPDXLicense.TOSL)
9077        return "TOSL";
9078      if (code == SPDXLicense.TPDL)
9079        return "TPDL";
9080      if (code == SPDXLicense.TPL_1_0)
9081        return "TPL-1.0";
9082      if (code == SPDXLicense.TTWL)
9083        return "TTWL";
9084      if (code == SPDXLicense.TU_BERLIN_1_0)
9085        return "TU-Berlin-1.0";
9086      if (code == SPDXLicense.TU_BERLIN_2_0)
9087        return "TU-Berlin-2.0";
9088      if (code == SPDXLicense.UCAR)
9089        return "UCAR";
9090      if (code == SPDXLicense.UCL_1_0)
9091        return "UCL-1.0";
9092      if (code == SPDXLicense.UNICODE_DFS_2015)
9093        return "Unicode-DFS-2015";
9094      if (code == SPDXLicense.UNICODE_DFS_2016)
9095        return "Unicode-DFS-2016";
9096      if (code == SPDXLicense.UNICODE_TOU)
9097        return "Unicode-TOU";
9098      if (code == SPDXLicense.UNIXCRYPT)
9099        return "UnixCrypt";
9100      if (code == SPDXLicense.UNLICENSE)
9101        return "Unlicense";
9102      if (code == SPDXLicense.UPL_1_0)
9103        return "UPL-1.0";
9104      if (code == SPDXLicense.VIM)
9105        return "Vim";
9106      if (code == SPDXLicense.VOSTROM)
9107        return "VOSTROM";
9108      if (code == SPDXLicense.VSL_1_0)
9109        return "VSL-1.0";
9110      if (code == SPDXLicense.W3C)
9111        return "W3C";
9112      if (code == SPDXLicense.W3C_19980720)
9113        return "W3C-19980720";
9114      if (code == SPDXLicense.W3C_20150513)
9115        return "W3C-20150513";
9116      if (code == SPDXLicense.W3M)
9117        return "w3m";
9118      if (code == SPDXLicense.WATCOM_1_0)
9119        return "Watcom-1.0";
9120      if (code == SPDXLicense.WIDGET_WORKSHOP)
9121        return "Widget-Workshop";
9122      if (code == SPDXLicense.WSUIPA)
9123        return "Wsuipa";
9124      if (code == SPDXLicense.WTFPL)
9125        return "WTFPL";
9126      if (code == SPDXLicense.WXWINDOWS)
9127        return "wxWindows";
9128      if (code == SPDXLicense.X11)
9129        return "X11";
9130      if (code == SPDXLicense.X11_DISTRIBUTE_MODIFICATIONS_VARIANT)
9131        return "X11-distribute-modifications-variant";
9132      if (code == SPDXLicense.XDEBUG_1_03)
9133        return "Xdebug-1.03";
9134      if (code == SPDXLicense.XEROX)
9135        return "Xerox";
9136      if (code == SPDXLicense.XFIG)
9137        return "Xfig";
9138      if (code == SPDXLicense.XFREE86_1_1)
9139        return "XFree86-1.1";
9140      if (code == SPDXLicense.XINETD)
9141        return "xinetd";
9142      if (code == SPDXLicense.XLOCK)
9143        return "xlock";
9144      if (code == SPDXLicense.XNET)
9145        return "Xnet";
9146      if (code == SPDXLicense.XPP)
9147        return "xpp";
9148      if (code == SPDXLicense.XSKAT)
9149        return "XSkat";
9150      if (code == SPDXLicense.YPL_1_0)
9151        return "YPL-1.0";
9152      if (code == SPDXLicense.YPL_1_1)
9153        return "YPL-1.1";
9154      if (code == SPDXLicense.ZED)
9155        return "Zed";
9156      if (code == SPDXLicense.ZEND_2_0)
9157        return "Zend-2.0";
9158      if (code == SPDXLicense.ZIMBRA_1_3)
9159        return "Zimbra-1.3";
9160      if (code == SPDXLicense.ZIMBRA_1_4)
9161        return "Zimbra-1.4";
9162      if (code == SPDXLicense.ZLIB)
9163        return "Zlib";
9164      if (code == SPDXLicense.ZLIB_ACKNOWLEDGEMENT)
9165        return "zlib-acknowledgement";
9166      if (code == SPDXLicense.ZPL_1_1)
9167        return "ZPL-1.1";
9168      if (code == SPDXLicense.ZPL_2_0)
9169        return "ZPL-2.0";
9170      if (code == SPDXLicense.ZPL_2_1)
9171        return "ZPL-2.1";
9172      return "?";
9173      }
9174    public String toSystem(SPDXLicense code) {
9175      return code.getSystem();
9176      }
9177    }
9178
9179
9180
9181  @Block()
9182  public static class ImplementationGuideDependsOnComponent extends BackboneElement implements IBaseBackboneElement {
9183    /**
9184     * A canonical reference to the Implementation guide for the dependency.
9185     */
9186    @Child(name = "uri", type = {CanonicalType.class}, order=1, min=1, max=1, modifier=false, summary=true)
9187    @Description(shortDefinition="Identity of the IG that this depends on", formalDefinition="A canonical reference to the Implementation guide for the dependency." )
9188    protected CanonicalType uri;
9189
9190    /**
9191     * The NPM package name for the Implementation Guide that this IG depends on.
9192     */
9193    @Child(name = "packageId", type = {IdType.class}, order=2, min=0, max=1, modifier=false, summary=true)
9194    @Description(shortDefinition="NPM Package name for IG this depends on", formalDefinition="The NPM package name for the Implementation Guide that this IG depends on." )
9195    protected IdType packageId;
9196
9197    /**
9198     * The version of the IG that is depended on, when the correct version is required to understand the IG correctly.
9199     */
9200    @Child(name = "version", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true)
9201    @Description(shortDefinition="Version of the IG", formalDefinition="The version of the IG that is depended on, when the correct version is required to understand the IG correctly." )
9202    protected StringType version;
9203
9204    /**
9205     * A description explaining the nature of the dependency on the listed IG.
9206     */
9207    @Child(name = "reason", type = {MarkdownType.class}, order=4, min=0, max=1, modifier=false, summary=false)
9208    @Description(shortDefinition="Why dependency exists", formalDefinition="A description explaining the nature of the dependency on the listed IG." )
9209    protected MarkdownType reason;
9210
9211    private static final long serialVersionUID = 487374450L;
9212
9213    /**
9214     * Constructor
9215     */
9216    public ImplementationGuideDependsOnComponent() {
9217      super();
9218    }
9219
9220    /**
9221     * Constructor
9222     */
9223    public ImplementationGuideDependsOnComponent(String uri) {
9224      super();
9225      this.setUri(uri);
9226    }
9227
9228    /**
9229     * @return {@link #uri} (A canonical reference to the Implementation guide for the dependency.). This is the underlying object with id, value and extensions. The accessor "getUri" gives direct access to the value
9230     */
9231    public CanonicalType getUriElement() { 
9232      if (this.uri == null)
9233        if (Configuration.errorOnAutoCreate())
9234          throw new Error("Attempt to auto-create ImplementationGuideDependsOnComponent.uri");
9235        else if (Configuration.doAutoCreate())
9236          this.uri = new CanonicalType(); // bb
9237      return this.uri;
9238    }
9239
9240    public boolean hasUriElement() { 
9241      return this.uri != null && !this.uri.isEmpty();
9242    }
9243
9244    public boolean hasUri() { 
9245      return this.uri != null && !this.uri.isEmpty();
9246    }
9247
9248    /**
9249     * @param value {@link #uri} (A canonical reference to the Implementation guide for the dependency.). This is the underlying object with id, value and extensions. The accessor "getUri" gives direct access to the value
9250     */
9251    public ImplementationGuideDependsOnComponent setUriElement(CanonicalType value) { 
9252      this.uri = value;
9253      return this;
9254    }
9255
9256    /**
9257     * @return A canonical reference to the Implementation guide for the dependency.
9258     */
9259    public String getUri() { 
9260      return this.uri == null ? null : this.uri.getValue();
9261    }
9262
9263    /**
9264     * @param value A canonical reference to the Implementation guide for the dependency.
9265     */
9266    public ImplementationGuideDependsOnComponent setUri(String value) { 
9267      if (this.uri == null)
9268        this.uri = new CanonicalType();
9269      this.uri.setValue(value);
9270      return this;
9271    }
9272
9273    /**
9274     * @return {@link #packageId} (The NPM package name for the Implementation Guide that this IG depends on.). This is the underlying object with id, value and extensions. The accessor "getPackageId" gives direct access to the value
9275     */
9276    public IdType getPackageIdElement() { 
9277      if (this.packageId == null)
9278        if (Configuration.errorOnAutoCreate())
9279          throw new Error("Attempt to auto-create ImplementationGuideDependsOnComponent.packageId");
9280        else if (Configuration.doAutoCreate())
9281          this.packageId = new IdType(); // bb
9282      return this.packageId;
9283    }
9284
9285    public boolean hasPackageIdElement() { 
9286      return this.packageId != null && !this.packageId.isEmpty();
9287    }
9288
9289    public boolean hasPackageId() { 
9290      return this.packageId != null && !this.packageId.isEmpty();
9291    }
9292
9293    /**
9294     * @param value {@link #packageId} (The NPM package name for the Implementation Guide that this IG depends on.). This is the underlying object with id, value and extensions. The accessor "getPackageId" gives direct access to the value
9295     */
9296    public ImplementationGuideDependsOnComponent setPackageIdElement(IdType value) { 
9297      this.packageId = value;
9298      return this;
9299    }
9300
9301    /**
9302     * @return The NPM package name for the Implementation Guide that this IG depends on.
9303     */
9304    public String getPackageId() { 
9305      return this.packageId == null ? null : this.packageId.getValue();
9306    }
9307
9308    /**
9309     * @param value The NPM package name for the Implementation Guide that this IG depends on.
9310     */
9311    public ImplementationGuideDependsOnComponent setPackageId(String value) { 
9312      if (Utilities.noString(value))
9313        this.packageId = null;
9314      else {
9315        if (this.packageId == null)
9316          this.packageId = new IdType();
9317        this.packageId.setValue(value);
9318      }
9319      return this;
9320    }
9321
9322    /**
9323     * @return {@link #version} (The version of the IG that is depended on, when the correct version is required to understand the IG correctly.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value
9324     */
9325    public StringType getVersionElement() { 
9326      if (this.version == null)
9327        if (Configuration.errorOnAutoCreate())
9328          throw new Error("Attempt to auto-create ImplementationGuideDependsOnComponent.version");
9329        else if (Configuration.doAutoCreate())
9330          this.version = new StringType(); // bb
9331      return this.version;
9332    }
9333
9334    public boolean hasVersionElement() { 
9335      return this.version != null && !this.version.isEmpty();
9336    }
9337
9338    public boolean hasVersion() { 
9339      return this.version != null && !this.version.isEmpty();
9340    }
9341
9342    /**
9343     * @param value {@link #version} (The version of the IG that is depended on, when the correct version is required to understand the IG correctly.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value
9344     */
9345    public ImplementationGuideDependsOnComponent setVersionElement(StringType value) { 
9346      this.version = value;
9347      return this;
9348    }
9349
9350    /**
9351     * @return The version of the IG that is depended on, when the correct version is required to understand the IG correctly.
9352     */
9353    public String getVersion() { 
9354      return this.version == null ? null : this.version.getValue();
9355    }
9356
9357    /**
9358     * @param value The version of the IG that is depended on, when the correct version is required to understand the IG correctly.
9359     */
9360    public ImplementationGuideDependsOnComponent setVersion(String value) { 
9361      if (Utilities.noString(value))
9362        this.version = null;
9363      else {
9364        if (this.version == null)
9365          this.version = new StringType();
9366        this.version.setValue(value);
9367      }
9368      return this;
9369    }
9370
9371    /**
9372     * @return {@link #reason} (A description explaining the nature of the dependency on the listed IG.). This is the underlying object with id, value and extensions. The accessor "getReason" gives direct access to the value
9373     */
9374    public MarkdownType getReasonElement() { 
9375      if (this.reason == null)
9376        if (Configuration.errorOnAutoCreate())
9377          throw new Error("Attempt to auto-create ImplementationGuideDependsOnComponent.reason");
9378        else if (Configuration.doAutoCreate())
9379          this.reason = new MarkdownType(); // bb
9380      return this.reason;
9381    }
9382
9383    public boolean hasReasonElement() { 
9384      return this.reason != null && !this.reason.isEmpty();
9385    }
9386
9387    public boolean hasReason() { 
9388      return this.reason != null && !this.reason.isEmpty();
9389    }
9390
9391    /**
9392     * @param value {@link #reason} (A description explaining the nature of the dependency on the listed IG.). This is the underlying object with id, value and extensions. The accessor "getReason" gives direct access to the value
9393     */
9394    public ImplementationGuideDependsOnComponent setReasonElement(MarkdownType value) { 
9395      this.reason = value;
9396      return this;
9397    }
9398
9399    /**
9400     * @return A description explaining the nature of the dependency on the listed IG.
9401     */
9402    public String getReason() { 
9403      return this.reason == null ? null : this.reason.getValue();
9404    }
9405
9406    /**
9407     * @param value A description explaining the nature of the dependency on the listed IG.
9408     */
9409    public ImplementationGuideDependsOnComponent setReason(String value) { 
9410      if (Utilities.noString(value))
9411        this.reason = null;
9412      else {
9413        if (this.reason == null)
9414          this.reason = new MarkdownType();
9415        this.reason.setValue(value);
9416      }
9417      return this;
9418    }
9419
9420    protected void listChildren(List<Property> children) {
9421      super.listChildren(children);
9422      children.add(new Property("uri", "canonical(ImplementationGuide)", "A canonical reference to the Implementation guide for the dependency.", 0, 1, uri));
9423      children.add(new Property("packageId", "id", "The NPM package name for the Implementation Guide that this IG depends on.", 0, 1, packageId));
9424      children.add(new Property("version", "string", "The version of the IG that is depended on, when the correct version is required to understand the IG correctly.", 0, 1, version));
9425      children.add(new Property("reason", "markdown", "A description explaining the nature of the dependency on the listed IG.", 0, 1, reason));
9426    }
9427
9428    @Override
9429    public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
9430      switch (_hash) {
9431      case 116076: /*uri*/  return new Property("uri", "canonical(ImplementationGuide)", "A canonical reference to the Implementation guide for the dependency.", 0, 1, uri);
9432      case 1802060801: /*packageId*/  return new Property("packageId", "id", "The NPM package name for the Implementation Guide that this IG depends on.", 0, 1, packageId);
9433      case 351608024: /*version*/  return new Property("version", "string", "The version of the IG that is depended on, when the correct version is required to understand the IG correctly.", 0, 1, version);
9434      case -934964668: /*reason*/  return new Property("reason", "markdown", "A description explaining the nature of the dependency on the listed IG.", 0, 1, reason);
9435      default: return super.getNamedProperty(_hash, _name, _checkValid);
9436      }
9437
9438    }
9439
9440    @Override
9441    public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
9442      switch (hash) {
9443      case 116076: /*uri*/ return this.uri == null ? new Base[0] : new Base[] {this.uri}; // CanonicalType
9444      case 1802060801: /*packageId*/ return this.packageId == null ? new Base[0] : new Base[] {this.packageId}; // IdType
9445      case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType
9446      case -934964668: /*reason*/ return this.reason == null ? new Base[0] : new Base[] {this.reason}; // MarkdownType
9447      default: return super.getProperty(hash, name, checkValid);
9448      }
9449
9450    }
9451
9452    @Override
9453    public Base setProperty(int hash, String name, Base value) throws FHIRException {
9454      switch (hash) {
9455      case 116076: // uri
9456        this.uri = TypeConvertor.castToCanonical(value); // CanonicalType
9457        return value;
9458      case 1802060801: // packageId
9459        this.packageId = TypeConvertor.castToId(value); // IdType
9460        return value;
9461      case 351608024: // version
9462        this.version = TypeConvertor.castToString(value); // StringType
9463        return value;
9464      case -934964668: // reason
9465        this.reason = TypeConvertor.castToMarkdown(value); // MarkdownType
9466        return value;
9467      default: return super.setProperty(hash, name, value);
9468      }
9469
9470    }
9471
9472    @Override
9473    public Base setProperty(String name, Base value) throws FHIRException {
9474      if (name.equals("uri")) {
9475        this.uri = TypeConvertor.castToCanonical(value); // CanonicalType
9476      } else if (name.equals("packageId")) {
9477        this.packageId = TypeConvertor.castToId(value); // IdType
9478      } else if (name.equals("version")) {
9479        this.version = TypeConvertor.castToString(value); // StringType
9480      } else if (name.equals("reason")) {
9481        this.reason = TypeConvertor.castToMarkdown(value); // MarkdownType
9482      } else
9483        return super.setProperty(name, value);
9484      return value;
9485    }
9486
9487  @Override
9488  public void removeChild(String name, Base value) throws FHIRException {
9489      if (name.equals("uri")) {
9490        this.uri = null;
9491      } else if (name.equals("packageId")) {
9492        this.packageId = null;
9493      } else if (name.equals("version")) {
9494        this.version = null;
9495      } else if (name.equals("reason")) {
9496        this.reason = null;
9497      } else
9498        super.removeChild(name, value);
9499      
9500    }
9501
9502    @Override
9503    public Base makeProperty(int hash, String name) throws FHIRException {
9504      switch (hash) {
9505      case 116076:  return getUriElement();
9506      case 1802060801:  return getPackageIdElement();
9507      case 351608024:  return getVersionElement();
9508      case -934964668:  return getReasonElement();
9509      default: return super.makeProperty(hash, name);
9510      }
9511
9512    }
9513
9514    @Override
9515    public String[] getTypesForProperty(int hash, String name) throws FHIRException {
9516      switch (hash) {
9517      case 116076: /*uri*/ return new String[] {"canonical"};
9518      case 1802060801: /*packageId*/ return new String[] {"id"};
9519      case 351608024: /*version*/ return new String[] {"string"};
9520      case -934964668: /*reason*/ return new String[] {"markdown"};
9521      default: return super.getTypesForProperty(hash, name);
9522      }
9523
9524    }
9525
9526    @Override
9527    public Base addChild(String name) throws FHIRException {
9528      if (name.equals("uri")) {
9529        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.dependsOn.uri");
9530      }
9531      else if (name.equals("packageId")) {
9532        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.dependsOn.packageId");
9533      }
9534      else if (name.equals("version")) {
9535        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.dependsOn.version");
9536      }
9537      else if (name.equals("reason")) {
9538        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.dependsOn.reason");
9539      }
9540      else
9541        return super.addChild(name);
9542    }
9543
9544    public ImplementationGuideDependsOnComponent copy() {
9545      ImplementationGuideDependsOnComponent dst = new ImplementationGuideDependsOnComponent();
9546      copyValues(dst);
9547      return dst;
9548    }
9549
9550    public void copyValues(ImplementationGuideDependsOnComponent dst) {
9551      super.copyValues(dst);
9552      dst.uri = uri == null ? null : uri.copy();
9553      dst.packageId = packageId == null ? null : packageId.copy();
9554      dst.version = version == null ? null : version.copy();
9555      dst.reason = reason == null ? null : reason.copy();
9556    }
9557
9558    @Override
9559    public boolean equalsDeep(Base other_) {
9560      if (!super.equalsDeep(other_))
9561        return false;
9562      if (!(other_ instanceof ImplementationGuideDependsOnComponent))
9563        return false;
9564      ImplementationGuideDependsOnComponent o = (ImplementationGuideDependsOnComponent) other_;
9565      return compareDeep(uri, o.uri, true) && compareDeep(packageId, o.packageId, true) && compareDeep(version, o.version, true)
9566          && compareDeep(reason, o.reason, true);
9567    }
9568
9569    @Override
9570    public boolean equalsShallow(Base other_) {
9571      if (!super.equalsShallow(other_))
9572        return false;
9573      if (!(other_ instanceof ImplementationGuideDependsOnComponent))
9574        return false;
9575      ImplementationGuideDependsOnComponent o = (ImplementationGuideDependsOnComponent) other_;
9576      return compareValues(uri, o.uri, true) && compareValues(packageId, o.packageId, true) && compareValues(version, o.version, true)
9577          && compareValues(reason, o.reason, true);
9578    }
9579
9580    public boolean isEmpty() {
9581      return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(uri, packageId, version
9582          , reason);
9583    }
9584
9585    public String fhirType() {
9586      return "ImplementationGuide.dependsOn";
9587
9588    }
9589
9590  }
9591
9592  @Block()
9593  public static class ImplementationGuideGlobalComponent extends BackboneElement implements IBaseBackboneElement {
9594    /**
9595     * The type of resource that all instances must conform to.
9596     */
9597    @Child(name = "type", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=true)
9598    @Description(shortDefinition="Type this profile applies to", formalDefinition="The type of resource that all instances must conform to." )
9599    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/resource-types")
9600    protected CodeType type;
9601
9602    /**
9603     * A reference to the profile that all instances must conform to.
9604     */
9605    @Child(name = "profile", type = {CanonicalType.class}, order=2, min=1, max=1, modifier=false, summary=true)
9606    @Description(shortDefinition="Profile that all resources must conform to", formalDefinition="A reference to the profile that all instances must conform to." )
9607    protected CanonicalType profile;
9608
9609    private static final long serialVersionUID = 33894666L;
9610
9611    /**
9612     * Constructor
9613     */
9614    public ImplementationGuideGlobalComponent() {
9615      super();
9616    }
9617
9618    /**
9619     * Constructor
9620     */
9621    public ImplementationGuideGlobalComponent(String type, String profile) {
9622      super();
9623      this.setType(type);
9624      this.setProfile(profile);
9625    }
9626
9627    /**
9628     * @return {@link #type} (The type of resource that all instances must conform to.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value
9629     */
9630    public CodeType getTypeElement() { 
9631      if (this.type == null)
9632        if (Configuration.errorOnAutoCreate())
9633          throw new Error("Attempt to auto-create ImplementationGuideGlobalComponent.type");
9634        else if (Configuration.doAutoCreate())
9635          this.type = new CodeType(); // bb
9636      return this.type;
9637    }
9638
9639    public boolean hasTypeElement() { 
9640      return this.type != null && !this.type.isEmpty();
9641    }
9642
9643    public boolean hasType() { 
9644      return this.type != null && !this.type.isEmpty();
9645    }
9646
9647    /**
9648     * @param value {@link #type} (The type of resource that all instances must conform to.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value
9649     */
9650    public ImplementationGuideGlobalComponent setTypeElement(CodeType value) { 
9651      this.type = value;
9652      return this;
9653    }
9654
9655    /**
9656     * @return The type of resource that all instances must conform to.
9657     */
9658    public String getType() { 
9659      return this.type == null ? null : this.type.getValue();
9660    }
9661
9662    /**
9663     * @param value The type of resource that all instances must conform to.
9664     */
9665    public ImplementationGuideGlobalComponent setType(String value) { 
9666      if (this.type == null)
9667        this.type = new CodeType();
9668      this.type.setValue(value);
9669      return this;
9670    }
9671
9672    /**
9673     * @return {@link #profile} (A reference to the profile that all instances must conform to.). This is the underlying object with id, value and extensions. The accessor "getProfile" gives direct access to the value
9674     */
9675    public CanonicalType getProfileElement() { 
9676      if (this.profile == null)
9677        if (Configuration.errorOnAutoCreate())
9678          throw new Error("Attempt to auto-create ImplementationGuideGlobalComponent.profile");
9679        else if (Configuration.doAutoCreate())
9680          this.profile = new CanonicalType(); // bb
9681      return this.profile;
9682    }
9683
9684    public boolean hasProfileElement() { 
9685      return this.profile != null && !this.profile.isEmpty();
9686    }
9687
9688    public boolean hasProfile() { 
9689      return this.profile != null && !this.profile.isEmpty();
9690    }
9691
9692    /**
9693     * @param value {@link #profile} (A reference to the profile that all instances must conform to.). This is the underlying object with id, value and extensions. The accessor "getProfile" gives direct access to the value
9694     */
9695    public ImplementationGuideGlobalComponent setProfileElement(CanonicalType value) { 
9696      this.profile = value;
9697      return this;
9698    }
9699
9700    /**
9701     * @return A reference to the profile that all instances must conform to.
9702     */
9703    public String getProfile() { 
9704      return this.profile == null ? null : this.profile.getValue();
9705    }
9706
9707    /**
9708     * @param value A reference to the profile that all instances must conform to.
9709     */
9710    public ImplementationGuideGlobalComponent setProfile(String value) { 
9711      if (this.profile == null)
9712        this.profile = new CanonicalType();
9713      this.profile.setValue(value);
9714      return this;
9715    }
9716
9717    protected void listChildren(List<Property> children) {
9718      super.listChildren(children);
9719      children.add(new Property("type", "code", "The type of resource that all instances must conform to.", 0, 1, type));
9720      children.add(new Property("profile", "canonical(StructureDefinition)", "A reference to the profile that all instances must conform to.", 0, 1, profile));
9721    }
9722
9723    @Override
9724    public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
9725      switch (_hash) {
9726      case 3575610: /*type*/  return new Property("type", "code", "The type of resource that all instances must conform to.", 0, 1, type);
9727      case -309425751: /*profile*/  return new Property("profile", "canonical(StructureDefinition)", "A reference to the profile that all instances must conform to.", 0, 1, profile);
9728      default: return super.getNamedProperty(_hash, _name, _checkValid);
9729      }
9730
9731    }
9732
9733    @Override
9734    public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
9735      switch (hash) {
9736      case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeType
9737      case -309425751: /*profile*/ return this.profile == null ? new Base[0] : new Base[] {this.profile}; // CanonicalType
9738      default: return super.getProperty(hash, name, checkValid);
9739      }
9740
9741    }
9742
9743    @Override
9744    public Base setProperty(int hash, String name, Base value) throws FHIRException {
9745      switch (hash) {
9746      case 3575610: // type
9747        this.type = TypeConvertor.castToCode(value); // CodeType
9748        return value;
9749      case -309425751: // profile
9750        this.profile = TypeConvertor.castToCanonical(value); // CanonicalType
9751        return value;
9752      default: return super.setProperty(hash, name, value);
9753      }
9754
9755    }
9756
9757    @Override
9758    public Base setProperty(String name, Base value) throws FHIRException {
9759      if (name.equals("type")) {
9760        this.type = TypeConvertor.castToCode(value); // CodeType
9761      } else if (name.equals("profile")) {
9762        this.profile = TypeConvertor.castToCanonical(value); // CanonicalType
9763      } else
9764        return super.setProperty(name, value);
9765      return value;
9766    }
9767
9768  @Override
9769  public void removeChild(String name, Base value) throws FHIRException {
9770      if (name.equals("type")) {
9771        this.type = null;
9772      } else if (name.equals("profile")) {
9773        this.profile = null;
9774      } else
9775        super.removeChild(name, value);
9776      
9777    }
9778
9779    @Override
9780    public Base makeProperty(int hash, String name) throws FHIRException {
9781      switch (hash) {
9782      case 3575610:  return getTypeElement();
9783      case -309425751:  return getProfileElement();
9784      default: return super.makeProperty(hash, name);
9785      }
9786
9787    }
9788
9789    @Override
9790    public String[] getTypesForProperty(int hash, String name) throws FHIRException {
9791      switch (hash) {
9792      case 3575610: /*type*/ return new String[] {"code"};
9793      case -309425751: /*profile*/ return new String[] {"canonical"};
9794      default: return super.getTypesForProperty(hash, name);
9795      }
9796
9797    }
9798
9799    @Override
9800    public Base addChild(String name) throws FHIRException {
9801      if (name.equals("type")) {
9802        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.global.type");
9803      }
9804      else if (name.equals("profile")) {
9805        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.global.profile");
9806      }
9807      else
9808        return super.addChild(name);
9809    }
9810
9811    public ImplementationGuideGlobalComponent copy() {
9812      ImplementationGuideGlobalComponent dst = new ImplementationGuideGlobalComponent();
9813      copyValues(dst);
9814      return dst;
9815    }
9816
9817    public void copyValues(ImplementationGuideGlobalComponent dst) {
9818      super.copyValues(dst);
9819      dst.type = type == null ? null : type.copy();
9820      dst.profile = profile == null ? null : profile.copy();
9821    }
9822
9823    @Override
9824    public boolean equalsDeep(Base other_) {
9825      if (!super.equalsDeep(other_))
9826        return false;
9827      if (!(other_ instanceof ImplementationGuideGlobalComponent))
9828        return false;
9829      ImplementationGuideGlobalComponent o = (ImplementationGuideGlobalComponent) other_;
9830      return compareDeep(type, o.type, true) && compareDeep(profile, o.profile, true);
9831    }
9832
9833    @Override
9834    public boolean equalsShallow(Base other_) {
9835      if (!super.equalsShallow(other_))
9836        return false;
9837      if (!(other_ instanceof ImplementationGuideGlobalComponent))
9838        return false;
9839      ImplementationGuideGlobalComponent o = (ImplementationGuideGlobalComponent) other_;
9840      return compareValues(type, o.type, true) && compareValues(profile, o.profile, true);
9841    }
9842
9843    public boolean isEmpty() {
9844      return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, profile);
9845    }
9846
9847    public String fhirType() {
9848      return "ImplementationGuide.global";
9849
9850    }
9851
9852  }
9853
9854  @Block()
9855  public static class ImplementationGuideDefinitionComponent extends BackboneElement implements IBaseBackboneElement {
9856    /**
9857     * A logical group of resources. Logical groups can be used when building pages.
9858     */
9859    @Child(name = "grouping", type = {}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
9860    @Description(shortDefinition="Grouping used to present related resources in the IG", formalDefinition="A logical group of resources. Logical groups can be used when building pages." )
9861    protected List<ImplementationGuideDefinitionGroupingComponent> grouping;
9862
9863    /**
9864     * A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource.
9865     */
9866    @Child(name = "resource", type = {}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
9867    @Description(shortDefinition="Resource in the implementation guide", formalDefinition="A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource." )
9868    protected List<ImplementationGuideDefinitionResourceComponent> resource;
9869
9870    /**
9871     * A page / section in the implementation guide. The root page is the implementation guide home page.
9872     */
9873    @Child(name = "page", type = {}, order=3, min=0, max=1, modifier=false, summary=false)
9874    @Description(shortDefinition="Page/Section in the Guide", formalDefinition="A page / section in the implementation guide. The root page is the implementation guide home page." )
9875    protected ImplementationGuideDefinitionPageComponent page;
9876
9877    /**
9878     * A set of parameters that defines how the implementation guide is built. The parameters are defined by the relevant tools that build the implementation guides.
9879     */
9880    @Child(name = "parameter", type = {}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
9881    @Description(shortDefinition="Defines how IG is built by tools", formalDefinition="A set of parameters that defines how the implementation guide is built. The parameters are defined by the relevant tools that build the implementation guides." )
9882    protected List<ImplementationGuideDefinitionParameterComponent> parameter;
9883
9884    /**
9885     * A template for building resources.
9886     */
9887    @Child(name = "template", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
9888    @Description(shortDefinition="A template for building resources", formalDefinition="A template for building resources." )
9889    protected List<ImplementationGuideDefinitionTemplateComponent> template;
9890
9891    private static final long serialVersionUID = 179051968L;
9892
9893    /**
9894     * Constructor
9895     */
9896    public ImplementationGuideDefinitionComponent() {
9897      super();
9898    }
9899
9900    /**
9901     * @return {@link #grouping} (A logical group of resources. Logical groups can be used when building pages.)
9902     */
9903    public List<ImplementationGuideDefinitionGroupingComponent> getGrouping() { 
9904      if (this.grouping == null)
9905        this.grouping = new ArrayList<ImplementationGuideDefinitionGroupingComponent>();
9906      return this.grouping;
9907    }
9908
9909    /**
9910     * @return Returns a reference to <code>this</code> for easy method chaining
9911     */
9912    public ImplementationGuideDefinitionComponent setGrouping(List<ImplementationGuideDefinitionGroupingComponent> theGrouping) { 
9913      this.grouping = theGrouping;
9914      return this;
9915    }
9916
9917    public boolean hasGrouping() { 
9918      if (this.grouping == null)
9919        return false;
9920      for (ImplementationGuideDefinitionGroupingComponent item : this.grouping)
9921        if (!item.isEmpty())
9922          return true;
9923      return false;
9924    }
9925
9926    public ImplementationGuideDefinitionGroupingComponent addGrouping() { //3
9927      ImplementationGuideDefinitionGroupingComponent t = new ImplementationGuideDefinitionGroupingComponent();
9928      if (this.grouping == null)
9929        this.grouping = new ArrayList<ImplementationGuideDefinitionGroupingComponent>();
9930      this.grouping.add(t);
9931      return t;
9932    }
9933
9934    public ImplementationGuideDefinitionComponent addGrouping(ImplementationGuideDefinitionGroupingComponent t) { //3
9935      if (t == null)
9936        return this;
9937      if (this.grouping == null)
9938        this.grouping = new ArrayList<ImplementationGuideDefinitionGroupingComponent>();
9939      this.grouping.add(t);
9940      return this;
9941    }
9942
9943    /**
9944     * @return The first repetition of repeating field {@link #grouping}, creating it if it does not already exist {3}
9945     */
9946    public ImplementationGuideDefinitionGroupingComponent getGroupingFirstRep() { 
9947      if (getGrouping().isEmpty()) {
9948        addGrouping();
9949      }
9950      return getGrouping().get(0);
9951    }
9952
9953    /**
9954     * @return {@link #resource} (A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource.)
9955     */
9956    public List<ImplementationGuideDefinitionResourceComponent> getResource() { 
9957      if (this.resource == null)
9958        this.resource = new ArrayList<ImplementationGuideDefinitionResourceComponent>();
9959      return this.resource;
9960    }
9961
9962    /**
9963     * @return Returns a reference to <code>this</code> for easy method chaining
9964     */
9965    public ImplementationGuideDefinitionComponent setResource(List<ImplementationGuideDefinitionResourceComponent> theResource) { 
9966      this.resource = theResource;
9967      return this;
9968    }
9969
9970    public boolean hasResource() { 
9971      if (this.resource == null)
9972        return false;
9973      for (ImplementationGuideDefinitionResourceComponent item : this.resource)
9974        if (!item.isEmpty())
9975          return true;
9976      return false;
9977    }
9978
9979    public ImplementationGuideDefinitionResourceComponent addResource() { //3
9980      ImplementationGuideDefinitionResourceComponent t = new ImplementationGuideDefinitionResourceComponent();
9981      if (this.resource == null)
9982        this.resource = new ArrayList<ImplementationGuideDefinitionResourceComponent>();
9983      this.resource.add(t);
9984      return t;
9985    }
9986
9987    public ImplementationGuideDefinitionComponent addResource(ImplementationGuideDefinitionResourceComponent t) { //3
9988      if (t == null)
9989        return this;
9990      if (this.resource == null)
9991        this.resource = new ArrayList<ImplementationGuideDefinitionResourceComponent>();
9992      this.resource.add(t);
9993      return this;
9994    }
9995
9996    /**
9997     * @return The first repetition of repeating field {@link #resource}, creating it if it does not already exist {3}
9998     */
9999    public ImplementationGuideDefinitionResourceComponent getResourceFirstRep() { 
10000      if (getResource().isEmpty()) {
10001        addResource();
10002      }
10003      return getResource().get(0);
10004    }
10005
10006    /**
10007     * @return {@link #page} (A page / section in the implementation guide. The root page is the implementation guide home page.)
10008     */
10009    public ImplementationGuideDefinitionPageComponent getPage() { 
10010      if (this.page == null)
10011        if (Configuration.errorOnAutoCreate())
10012          throw new Error("Attempt to auto-create ImplementationGuideDefinitionComponent.page");
10013        else if (Configuration.doAutoCreate())
10014          this.page = new ImplementationGuideDefinitionPageComponent(); // cc
10015      return this.page;
10016    }
10017
10018    public boolean hasPage() { 
10019      return this.page != null && !this.page.isEmpty();
10020    }
10021
10022    /**
10023     * @param value {@link #page} (A page / section in the implementation guide. The root page is the implementation guide home page.)
10024     */
10025    public ImplementationGuideDefinitionComponent setPage(ImplementationGuideDefinitionPageComponent value) { 
10026      this.page = value;
10027      return this;
10028    }
10029
10030    /**
10031     * @return {@link #parameter} (A set of parameters that defines how the implementation guide is built. The parameters are defined by the relevant tools that build the implementation guides.)
10032     */
10033    public List<ImplementationGuideDefinitionParameterComponent> getParameter() { 
10034      if (this.parameter == null)
10035        this.parameter = new ArrayList<ImplementationGuideDefinitionParameterComponent>();
10036      return this.parameter;
10037    }
10038
10039    /**
10040     * @return Returns a reference to <code>this</code> for easy method chaining
10041     */
10042    public ImplementationGuideDefinitionComponent setParameter(List<ImplementationGuideDefinitionParameterComponent> theParameter) { 
10043      this.parameter = theParameter;
10044      return this;
10045    }
10046
10047    public boolean hasParameter() { 
10048      if (this.parameter == null)
10049        return false;
10050      for (ImplementationGuideDefinitionParameterComponent item : this.parameter)
10051        if (!item.isEmpty())
10052          return true;
10053      return false;
10054    }
10055
10056    public ImplementationGuideDefinitionParameterComponent addParameter() { //3
10057      ImplementationGuideDefinitionParameterComponent t = new ImplementationGuideDefinitionParameterComponent();
10058      if (this.parameter == null)
10059        this.parameter = new ArrayList<ImplementationGuideDefinitionParameterComponent>();
10060      this.parameter.add(t);
10061      return t;
10062    }
10063
10064    public ImplementationGuideDefinitionComponent addParameter(ImplementationGuideDefinitionParameterComponent t) { //3
10065      if (t == null)
10066        return this;
10067      if (this.parameter == null)
10068        this.parameter = new ArrayList<ImplementationGuideDefinitionParameterComponent>();
10069      this.parameter.add(t);
10070      return this;
10071    }
10072
10073    /**
10074     * @return The first repetition of repeating field {@link #parameter}, creating it if it does not already exist {3}
10075     */
10076    public ImplementationGuideDefinitionParameterComponent getParameterFirstRep() { 
10077      if (getParameter().isEmpty()) {
10078        addParameter();
10079      }
10080      return getParameter().get(0);
10081    }
10082
10083    /**
10084     * @return {@link #template} (A template for building resources.)
10085     */
10086    public List<ImplementationGuideDefinitionTemplateComponent> getTemplate() { 
10087      if (this.template == null)
10088        this.template = new ArrayList<ImplementationGuideDefinitionTemplateComponent>();
10089      return this.template;
10090    }
10091
10092    /**
10093     * @return Returns a reference to <code>this</code> for easy method chaining
10094     */
10095    public ImplementationGuideDefinitionComponent setTemplate(List<ImplementationGuideDefinitionTemplateComponent> theTemplate) { 
10096      this.template = theTemplate;
10097      return this;
10098    }
10099
10100    public boolean hasTemplate() { 
10101      if (this.template == null)
10102        return false;
10103      for (ImplementationGuideDefinitionTemplateComponent item : this.template)
10104        if (!item.isEmpty())
10105          return true;
10106      return false;
10107    }
10108
10109    public ImplementationGuideDefinitionTemplateComponent addTemplate() { //3
10110      ImplementationGuideDefinitionTemplateComponent t = new ImplementationGuideDefinitionTemplateComponent();
10111      if (this.template == null)
10112        this.template = new ArrayList<ImplementationGuideDefinitionTemplateComponent>();
10113      this.template.add(t);
10114      return t;
10115    }
10116
10117    public ImplementationGuideDefinitionComponent addTemplate(ImplementationGuideDefinitionTemplateComponent t) { //3
10118      if (t == null)
10119        return this;
10120      if (this.template == null)
10121        this.template = new ArrayList<ImplementationGuideDefinitionTemplateComponent>();
10122      this.template.add(t);
10123      return this;
10124    }
10125
10126    /**
10127     * @return The first repetition of repeating field {@link #template}, creating it if it does not already exist {3}
10128     */
10129    public ImplementationGuideDefinitionTemplateComponent getTemplateFirstRep() { 
10130      if (getTemplate().isEmpty()) {
10131        addTemplate();
10132      }
10133      return getTemplate().get(0);
10134    }
10135
10136    protected void listChildren(List<Property> children) {
10137      super.listChildren(children);
10138      children.add(new Property("grouping", "", "A logical group of resources. Logical groups can be used when building pages.", 0, java.lang.Integer.MAX_VALUE, grouping));
10139      children.add(new Property("resource", "", "A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource.", 0, java.lang.Integer.MAX_VALUE, resource));
10140      children.add(new Property("page", "", "A page / section in the implementation guide. The root page is the implementation guide home page.", 0, 1, page));
10141      children.add(new Property("parameter", "", "A set of parameters that defines how the implementation guide is built. The parameters are defined by the relevant tools that build the implementation guides.", 0, java.lang.Integer.MAX_VALUE, parameter));
10142      children.add(new Property("template", "", "A template for building resources.", 0, java.lang.Integer.MAX_VALUE, template));
10143    }
10144
10145    @Override
10146    public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
10147      switch (_hash) {
10148      case 506371331: /*grouping*/  return new Property("grouping", "", "A logical group of resources. Logical groups can be used when building pages.", 0, java.lang.Integer.MAX_VALUE, grouping);
10149      case -341064690: /*resource*/  return new Property("resource", "", "A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource.", 0, java.lang.Integer.MAX_VALUE, resource);
10150      case 3433103: /*page*/  return new Property("page", "", "A page / section in the implementation guide. The root page is the implementation guide home page.", 0, 1, page);
10151      case 1954460585: /*parameter*/  return new Property("parameter", "", "A set of parameters that defines how the implementation guide is built. The parameters are defined by the relevant tools that build the implementation guides.", 0, java.lang.Integer.MAX_VALUE, parameter);
10152      case -1321546630: /*template*/  return new Property("template", "", "A template for building resources.", 0, java.lang.Integer.MAX_VALUE, template);
10153      default: return super.getNamedProperty(_hash, _name, _checkValid);
10154      }
10155
10156    }
10157
10158    @Override
10159    public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
10160      switch (hash) {
10161      case 506371331: /*grouping*/ return this.grouping == null ? new Base[0] : this.grouping.toArray(new Base[this.grouping.size()]); // ImplementationGuideDefinitionGroupingComponent
10162      case -341064690: /*resource*/ return this.resource == null ? new Base[0] : this.resource.toArray(new Base[this.resource.size()]); // ImplementationGuideDefinitionResourceComponent
10163      case 3433103: /*page*/ return this.page == null ? new Base[0] : new Base[] {this.page}; // ImplementationGuideDefinitionPageComponent
10164      case 1954460585: /*parameter*/ return this.parameter == null ? new Base[0] : this.parameter.toArray(new Base[this.parameter.size()]); // ImplementationGuideDefinitionParameterComponent
10165      case -1321546630: /*template*/ return this.template == null ? new Base[0] : this.template.toArray(new Base[this.template.size()]); // ImplementationGuideDefinitionTemplateComponent
10166      default: return super.getProperty(hash, name, checkValid);
10167      }
10168
10169    }
10170
10171    @Override
10172    public Base setProperty(int hash, String name, Base value) throws FHIRException {
10173      switch (hash) {
10174      case 506371331: // grouping
10175        this.getGrouping().add((ImplementationGuideDefinitionGroupingComponent) value); // ImplementationGuideDefinitionGroupingComponent
10176        return value;
10177      case -341064690: // resource
10178        this.getResource().add((ImplementationGuideDefinitionResourceComponent) value); // ImplementationGuideDefinitionResourceComponent
10179        return value;
10180      case 3433103: // page
10181        this.page = (ImplementationGuideDefinitionPageComponent) value; // ImplementationGuideDefinitionPageComponent
10182        return value;
10183      case 1954460585: // parameter
10184        this.getParameter().add((ImplementationGuideDefinitionParameterComponent) value); // ImplementationGuideDefinitionParameterComponent
10185        return value;
10186      case -1321546630: // template
10187        this.getTemplate().add((ImplementationGuideDefinitionTemplateComponent) value); // ImplementationGuideDefinitionTemplateComponent
10188        return value;
10189      default: return super.setProperty(hash, name, value);
10190      }
10191
10192    }
10193
10194    @Override
10195    public Base setProperty(String name, Base value) throws FHIRException {
10196      if (name.equals("grouping")) {
10197        this.getGrouping().add((ImplementationGuideDefinitionGroupingComponent) value);
10198      } else if (name.equals("resource")) {
10199        this.getResource().add((ImplementationGuideDefinitionResourceComponent) value);
10200      } else if (name.equals("page")) {
10201        this.page = (ImplementationGuideDefinitionPageComponent) value; // ImplementationGuideDefinitionPageComponent
10202      } else if (name.equals("parameter")) {
10203        this.getParameter().add((ImplementationGuideDefinitionParameterComponent) value);
10204      } else if (name.equals("template")) {
10205        this.getTemplate().add((ImplementationGuideDefinitionTemplateComponent) value);
10206      } else
10207        return super.setProperty(name, value);
10208      return value;
10209    }
10210
10211  @Override
10212  public void removeChild(String name, Base value) throws FHIRException {
10213      if (name.equals("grouping")) {
10214        this.getGrouping().remove((ImplementationGuideDefinitionGroupingComponent) value);
10215      } else if (name.equals("resource")) {
10216        this.getResource().remove((ImplementationGuideDefinitionResourceComponent) value);
10217      } else if (name.equals("page")) {
10218        this.page = (ImplementationGuideDefinitionPageComponent) value; // ImplementationGuideDefinitionPageComponent
10219      } else if (name.equals("parameter")) {
10220        this.getParameter().remove((ImplementationGuideDefinitionParameterComponent) value);
10221      } else if (name.equals("template")) {
10222        this.getTemplate().remove((ImplementationGuideDefinitionTemplateComponent) value);
10223      } else
10224        super.removeChild(name, value);
10225      
10226    }
10227
10228    @Override
10229    public Base makeProperty(int hash, String name) throws FHIRException {
10230      switch (hash) {
10231      case 506371331:  return addGrouping(); 
10232      case -341064690:  return addResource(); 
10233      case 3433103:  return getPage();
10234      case 1954460585:  return addParameter(); 
10235      case -1321546630:  return addTemplate(); 
10236      default: return super.makeProperty(hash, name);
10237      }
10238
10239    }
10240
10241    @Override
10242    public String[] getTypesForProperty(int hash, String name) throws FHIRException {
10243      switch (hash) {
10244      case 506371331: /*grouping*/ return new String[] {};
10245      case -341064690: /*resource*/ return new String[] {};
10246      case 3433103: /*page*/ return new String[] {};
10247      case 1954460585: /*parameter*/ return new String[] {};
10248      case -1321546630: /*template*/ return new String[] {};
10249      default: return super.getTypesForProperty(hash, name);
10250      }
10251
10252    }
10253
10254    @Override
10255    public Base addChild(String name) throws FHIRException {
10256      if (name.equals("grouping")) {
10257        return addGrouping();
10258      }
10259      else if (name.equals("resource")) {
10260        return addResource();
10261      }
10262      else if (name.equals("page")) {
10263        this.page = new ImplementationGuideDefinitionPageComponent();
10264        return this.page;
10265      }
10266      else if (name.equals("parameter")) {
10267        return addParameter();
10268      }
10269      else if (name.equals("template")) {
10270        return addTemplate();
10271      }
10272      else
10273        return super.addChild(name);
10274    }
10275
10276    public ImplementationGuideDefinitionComponent copy() {
10277      ImplementationGuideDefinitionComponent dst = new ImplementationGuideDefinitionComponent();
10278      copyValues(dst);
10279      return dst;
10280    }
10281
10282    public void copyValues(ImplementationGuideDefinitionComponent dst) {
10283      super.copyValues(dst);
10284      if (grouping != null) {
10285        dst.grouping = new ArrayList<ImplementationGuideDefinitionGroupingComponent>();
10286        for (ImplementationGuideDefinitionGroupingComponent i : grouping)
10287          dst.grouping.add(i.copy());
10288      };
10289      if (resource != null) {
10290        dst.resource = new ArrayList<ImplementationGuideDefinitionResourceComponent>();
10291        for (ImplementationGuideDefinitionResourceComponent i : resource)
10292          dst.resource.add(i.copy());
10293      };
10294      dst.page = page == null ? null : page.copy();
10295      if (parameter != null) {
10296        dst.parameter = new ArrayList<ImplementationGuideDefinitionParameterComponent>();
10297        for (ImplementationGuideDefinitionParameterComponent i : parameter)
10298          dst.parameter.add(i.copy());
10299      };
10300      if (template != null) {
10301        dst.template = new ArrayList<ImplementationGuideDefinitionTemplateComponent>();
10302        for (ImplementationGuideDefinitionTemplateComponent i : template)
10303          dst.template.add(i.copy());
10304      };
10305    }
10306
10307    @Override
10308    public boolean equalsDeep(Base other_) {
10309      if (!super.equalsDeep(other_))
10310        return false;
10311      if (!(other_ instanceof ImplementationGuideDefinitionComponent))
10312        return false;
10313      ImplementationGuideDefinitionComponent o = (ImplementationGuideDefinitionComponent) other_;
10314      return compareDeep(grouping, o.grouping, true) && compareDeep(resource, o.resource, true) && compareDeep(page, o.page, true)
10315          && compareDeep(parameter, o.parameter, true) && compareDeep(template, o.template, true);
10316    }
10317
10318    @Override
10319    public boolean equalsShallow(Base other_) {
10320      if (!super.equalsShallow(other_))
10321        return false;
10322      if (!(other_ instanceof ImplementationGuideDefinitionComponent))
10323        return false;
10324      ImplementationGuideDefinitionComponent o = (ImplementationGuideDefinitionComponent) other_;
10325      return true;
10326    }
10327
10328    public boolean isEmpty() {
10329      return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(grouping, resource, page
10330          , parameter, template);
10331    }
10332
10333    public String fhirType() {
10334      return "ImplementationGuide.definition";
10335
10336    }
10337
10338  }
10339
10340  @Block()
10341  public static class ImplementationGuideDefinitionGroupingComponent extends BackboneElement implements IBaseBackboneElement {
10342    /**
10343     * The human-readable title to display for the package of resources when rendering the implementation guide.
10344     */
10345    @Child(name = "name", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false)
10346    @Description(shortDefinition="Descriptive name for the package", formalDefinition="The human-readable title to display for the package of resources when rendering the implementation guide." )
10347    protected StringType name;
10348
10349    /**
10350     * Human readable text describing the package.
10351     */
10352    @Child(name = "description", type = {MarkdownType.class}, order=2, min=0, max=1, modifier=false, summary=false)
10353    @Description(shortDefinition="Human readable text describing the package", formalDefinition="Human readable text describing the package." )
10354    protected MarkdownType description;
10355
10356    private static final long serialVersionUID = 2116554295L;
10357
10358    /**
10359     * Constructor
10360     */
10361    public ImplementationGuideDefinitionGroupingComponent() {
10362      super();
10363    }
10364
10365    /**
10366     * Constructor
10367     */
10368    public ImplementationGuideDefinitionGroupingComponent(String name) {
10369      super();
10370      this.setName(name);
10371    }
10372
10373    /**
10374     * @return {@link #name} (The human-readable title to display for the package of resources when rendering the implementation guide.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value
10375     */
10376    public StringType getNameElement() { 
10377      if (this.name == null)
10378        if (Configuration.errorOnAutoCreate())
10379          throw new Error("Attempt to auto-create ImplementationGuideDefinitionGroupingComponent.name");
10380        else if (Configuration.doAutoCreate())
10381          this.name = new StringType(); // bb
10382      return this.name;
10383    }
10384
10385    public boolean hasNameElement() { 
10386      return this.name != null && !this.name.isEmpty();
10387    }
10388
10389    public boolean hasName() { 
10390      return this.name != null && !this.name.isEmpty();
10391    }
10392
10393    /**
10394     * @param value {@link #name} (The human-readable title to display for the package of resources when rendering the implementation guide.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value
10395     */
10396    public ImplementationGuideDefinitionGroupingComponent setNameElement(StringType value) { 
10397      this.name = value;
10398      return this;
10399    }
10400
10401    /**
10402     * @return The human-readable title to display for the package of resources when rendering the implementation guide.
10403     */
10404    public String getName() { 
10405      return this.name == null ? null : this.name.getValue();
10406    }
10407
10408    /**
10409     * @param value The human-readable title to display for the package of resources when rendering the implementation guide.
10410     */
10411    public ImplementationGuideDefinitionGroupingComponent setName(String value) { 
10412      if (this.name == null)
10413        this.name = new StringType();
10414      this.name.setValue(value);
10415      return this;
10416    }
10417
10418    /**
10419     * @return {@link #description} (Human readable text describing the package.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value
10420     */
10421    public MarkdownType getDescriptionElement() { 
10422      if (this.description == null)
10423        if (Configuration.errorOnAutoCreate())
10424          throw new Error("Attempt to auto-create ImplementationGuideDefinitionGroupingComponent.description");
10425        else if (Configuration.doAutoCreate())
10426          this.description = new MarkdownType(); // bb
10427      return this.description;
10428    }
10429
10430    public boolean hasDescriptionElement() { 
10431      return this.description != null && !this.description.isEmpty();
10432    }
10433
10434    public boolean hasDescription() { 
10435      return this.description != null && !this.description.isEmpty();
10436    }
10437
10438    /**
10439     * @param value {@link #description} (Human readable text describing the package.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value
10440     */
10441    public ImplementationGuideDefinitionGroupingComponent setDescriptionElement(MarkdownType value) { 
10442      this.description = value;
10443      return this;
10444    }
10445
10446    /**
10447     * @return Human readable text describing the package.
10448     */
10449    public String getDescription() { 
10450      return this.description == null ? null : this.description.getValue();
10451    }
10452
10453    /**
10454     * @param value Human readable text describing the package.
10455     */
10456    public ImplementationGuideDefinitionGroupingComponent setDescription(String value) { 
10457      if (Utilities.noString(value))
10458        this.description = null;
10459      else {
10460        if (this.description == null)
10461          this.description = new MarkdownType();
10462        this.description.setValue(value);
10463      }
10464      return this;
10465    }
10466
10467    protected void listChildren(List<Property> children) {
10468      super.listChildren(children);
10469      children.add(new Property("name", "string", "The human-readable title to display for the package of resources when rendering the implementation guide.", 0, 1, name));
10470      children.add(new Property("description", "markdown", "Human readable text describing the package.", 0, 1, description));
10471    }
10472
10473    @Override
10474    public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
10475      switch (_hash) {
10476      case 3373707: /*name*/  return new Property("name", "string", "The human-readable title to display for the package of resources when rendering the implementation guide.", 0, 1, name);
10477      case -1724546052: /*description*/  return new Property("description", "markdown", "Human readable text describing the package.", 0, 1, description);
10478      default: return super.getNamedProperty(_hash, _name, _checkValid);
10479      }
10480
10481    }
10482
10483    @Override
10484    public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
10485      switch (hash) {
10486      case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType
10487      case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType
10488      default: return super.getProperty(hash, name, checkValid);
10489      }
10490
10491    }
10492
10493    @Override
10494    public Base setProperty(int hash, String name, Base value) throws FHIRException {
10495      switch (hash) {
10496      case 3373707: // name
10497        this.name = TypeConvertor.castToString(value); // StringType
10498        return value;
10499      case -1724546052: // description
10500        this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
10501        return value;
10502      default: return super.setProperty(hash, name, value);
10503      }
10504
10505    }
10506
10507    @Override
10508    public Base setProperty(String name, Base value) throws FHIRException {
10509      if (name.equals("name")) {
10510        this.name = TypeConvertor.castToString(value); // StringType
10511      } else if (name.equals("description")) {
10512        this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
10513      } else
10514        return super.setProperty(name, value);
10515      return value;
10516    }
10517
10518  @Override
10519  public void removeChild(String name, Base value) throws FHIRException {
10520      if (name.equals("name")) {
10521        this.name = null;
10522      } else if (name.equals("description")) {
10523        this.description = null;
10524      } else
10525        super.removeChild(name, value);
10526      
10527    }
10528
10529    @Override
10530    public Base makeProperty(int hash, String name) throws FHIRException {
10531      switch (hash) {
10532      case 3373707:  return getNameElement();
10533      case -1724546052:  return getDescriptionElement();
10534      default: return super.makeProperty(hash, name);
10535      }
10536
10537    }
10538
10539    @Override
10540    public String[] getTypesForProperty(int hash, String name) throws FHIRException {
10541      switch (hash) {
10542      case 3373707: /*name*/ return new String[] {"string"};
10543      case -1724546052: /*description*/ return new String[] {"markdown"};
10544      default: return super.getTypesForProperty(hash, name);
10545      }
10546
10547    }
10548
10549    @Override
10550    public Base addChild(String name) throws FHIRException {
10551      if (name.equals("name")) {
10552        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.grouping.name");
10553      }
10554      else if (name.equals("description")) {
10555        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.grouping.description");
10556      }
10557      else
10558        return super.addChild(name);
10559    }
10560
10561    public ImplementationGuideDefinitionGroupingComponent copy() {
10562      ImplementationGuideDefinitionGroupingComponent dst = new ImplementationGuideDefinitionGroupingComponent();
10563      copyValues(dst);
10564      return dst;
10565    }
10566
10567    public void copyValues(ImplementationGuideDefinitionGroupingComponent dst) {
10568      super.copyValues(dst);
10569      dst.name = name == null ? null : name.copy();
10570      dst.description = description == null ? null : description.copy();
10571    }
10572
10573    @Override
10574    public boolean equalsDeep(Base other_) {
10575      if (!super.equalsDeep(other_))
10576        return false;
10577      if (!(other_ instanceof ImplementationGuideDefinitionGroupingComponent))
10578        return false;
10579      ImplementationGuideDefinitionGroupingComponent o = (ImplementationGuideDefinitionGroupingComponent) other_;
10580      return compareDeep(name, o.name, true) && compareDeep(description, o.description, true);
10581    }
10582
10583    @Override
10584    public boolean equalsShallow(Base other_) {
10585      if (!super.equalsShallow(other_))
10586        return false;
10587      if (!(other_ instanceof ImplementationGuideDefinitionGroupingComponent))
10588        return false;
10589      ImplementationGuideDefinitionGroupingComponent o = (ImplementationGuideDefinitionGroupingComponent) other_;
10590      return compareValues(name, o.name, true) && compareValues(description, o.description, true);
10591    }
10592
10593    public boolean isEmpty() {
10594      return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(name, description);
10595    }
10596
10597    public String fhirType() {
10598      return "ImplementationGuide.definition.grouping";
10599
10600    }
10601
10602  }
10603
10604  @Block()
10605  public static class ImplementationGuideDefinitionResourceComponent extends BackboneElement implements IBaseBackboneElement {
10606    /**
10607     * Where this resource is found.
10608     */
10609    @Child(name = "reference", type = {Reference.class}, order=1, min=1, max=1, modifier=false, summary=false)
10610    @Description(shortDefinition="Location of the resource", formalDefinition="Where this resource is found." )
10611    protected Reference reference;
10612
10613    @Override
10614    public String toString() {
10615      return "ImplementationGuideDefinitionResourceComponent [name=" + name + ", reference=" + reference
10616          + ", profile=" + profile + "]";
10617    }
10618
10619    /**
10620     * Indicates the FHIR Version(s) this artifact is intended to apply to. If no versions are specified, the resource is assumed to apply to all the versions stated in ImplementationGuide.fhirVersion.
10621     */
10622    @Child(name = "fhirVersion", type = {CodeType.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
10623    @Description(shortDefinition="Versions this applies to (if different to IG)", formalDefinition="Indicates the FHIR Version(s) this artifact is intended to apply to. If no versions are specified, the resource is assumed to apply to all the versions stated in ImplementationGuide.fhirVersion." )
10624    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/FHIR-version")
10625    protected List<Enumeration<FHIRVersion>> fhirVersion;
10626
10627    /**
10628     * A human assigned name for the resource. All resources SHOULD have a name, but the name may be extracted from the resource (e.g. ValueSet.name).
10629     */
10630    @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false)
10631    @Description(shortDefinition="Human readable name for the resource", formalDefinition="A human assigned name for the resource. All resources SHOULD have a name, but the name may be extracted from the resource (e.g. ValueSet.name)." )
10632    protected StringType name;
10633
10634    /**
10635     * A description of the reason that a resource has been included in the implementation guide.
10636     */
10637    @Child(name = "description", type = {MarkdownType.class}, order=4, min=0, max=1, modifier=false, summary=false)
10638    @Description(shortDefinition="Reason why included in guide", formalDefinition="A description of the reason that a resource has been included in the implementation guide." )
10639    protected MarkdownType description;
10640
10641    /**
10642     * If true, indicates the resource is an example instance.
10643     */
10644    @Child(name = "isExample", type = {BooleanType.class}, order=5, min=0, max=1, modifier=false, summary=false)
10645    @Description(shortDefinition="Is this an example", formalDefinition="If true, indicates the resource is an example instance." )
10646    protected BooleanType isExample;
10647
10648    /**
10649     * If present, indicates profile(s) the instance is valid against.
10650     */
10651    @Child(name = "profile", type = {CanonicalType.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
10652    @Description(shortDefinition="Profile(s) this is an example of", formalDefinition="If present, indicates profile(s) the instance is valid against." )
10653    protected List<CanonicalType> profile;
10654
10655    /**
10656     * Reference to the id of the grouping this resource appears in.
10657     */
10658    @Child(name = "groupingId", type = {IdType.class}, order=7, min=0, max=1, modifier=false, summary=false)
10659    @Description(shortDefinition="Grouping this is part of", formalDefinition="Reference to the id of the grouping this resource appears in." )
10660    protected IdType groupingId;
10661
10662    private static final long serialVersionUID = 804050536L;
10663
10664    /**
10665     * Constructor
10666     */
10667    public ImplementationGuideDefinitionResourceComponent() {
10668      super();
10669    }
10670
10671    /**
10672     * Constructor
10673     */
10674    public ImplementationGuideDefinitionResourceComponent(Reference reference) {
10675      super();
10676      this.setReference(reference);
10677    }
10678
10679    /**
10680     * @return {@link #reference} (Where this resource is found.)
10681     */
10682    public Reference getReference() { 
10683      if (this.reference == null)
10684        if (Configuration.errorOnAutoCreate())
10685          throw new Error("Attempt to auto-create ImplementationGuideDefinitionResourceComponent.reference");
10686        else if (Configuration.doAutoCreate())
10687          this.reference = new Reference(); // cc
10688      return this.reference;
10689    }
10690
10691    public boolean hasReference() { 
10692      return this.reference != null && !this.reference.isEmpty();
10693    }
10694
10695    /**
10696     * @param value {@link #reference} (Where this resource is found.)
10697     */
10698    public ImplementationGuideDefinitionResourceComponent setReference(Reference value) { 
10699      this.reference = value;
10700      return this;
10701    }
10702
10703    /**
10704     * @return {@link #fhirVersion} (Indicates the FHIR Version(s) this artifact is intended to apply to. If no versions are specified, the resource is assumed to apply to all the versions stated in ImplementationGuide.fhirVersion.)
10705     */
10706    public List<Enumeration<FHIRVersion>> getFhirVersion() { 
10707      if (this.fhirVersion == null)
10708        this.fhirVersion = new ArrayList<Enumeration<FHIRVersion>>();
10709      return this.fhirVersion;
10710    }
10711
10712    /**
10713     * @return Returns a reference to <code>this</code> for easy method chaining
10714     */
10715    public ImplementationGuideDefinitionResourceComponent setFhirVersion(List<Enumeration<FHIRVersion>> theFhirVersion) { 
10716      this.fhirVersion = theFhirVersion;
10717      return this;
10718    }
10719
10720    public boolean hasFhirVersion() { 
10721      if (this.fhirVersion == null)
10722        return false;
10723      for (Enumeration<FHIRVersion> item : this.fhirVersion)
10724        if (!item.isEmpty())
10725          return true;
10726      return false;
10727    }
10728
10729    /**
10730     * @return {@link #fhirVersion} (Indicates the FHIR Version(s) this artifact is intended to apply to. If no versions are specified, the resource is assumed to apply to all the versions stated in ImplementationGuide.fhirVersion.)
10731     */
10732    public Enumeration<FHIRVersion> addFhirVersionElement() {//2 
10733      Enumeration<FHIRVersion> t = new Enumeration<FHIRVersion>(new FHIRVersionEnumFactory());
10734      if (this.fhirVersion == null)
10735        this.fhirVersion = new ArrayList<Enumeration<FHIRVersion>>();
10736      this.fhirVersion.add(t);
10737      return t;
10738    }
10739
10740    /**
10741     * @param value {@link #fhirVersion} (Indicates the FHIR Version(s) this artifact is intended to apply to. If no versions are specified, the resource is assumed to apply to all the versions stated in ImplementationGuide.fhirVersion.)
10742     */
10743    public ImplementationGuideDefinitionResourceComponent addFhirVersion(FHIRVersion value) { //1
10744      Enumeration<FHIRVersion> t = new Enumeration<FHIRVersion>(new FHIRVersionEnumFactory());
10745      t.setValue(value);
10746      if (this.fhirVersion == null)
10747        this.fhirVersion = new ArrayList<Enumeration<FHIRVersion>>();
10748      this.fhirVersion.add(t);
10749      return this;
10750    }
10751
10752    /**
10753     * @param value {@link #fhirVersion} (Indicates the FHIR Version(s) this artifact is intended to apply to. If no versions are specified, the resource is assumed to apply to all the versions stated in ImplementationGuide.fhirVersion.)
10754     */
10755    public boolean hasFhirVersion(FHIRVersion value) { 
10756      if (this.fhirVersion == null)
10757        return false;
10758      for (Enumeration<FHIRVersion> v : this.fhirVersion)
10759        if (v.getValue().equals(value)) // code
10760          return true;
10761      return false;
10762    }
10763
10764    /**
10765     * @return {@link #name} (A human assigned name for the resource. All resources SHOULD have a name, but the name may be extracted from the resource (e.g. ValueSet.name).). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value
10766     */
10767    public StringType getNameElement() { 
10768      if (this.name == null)
10769        if (Configuration.errorOnAutoCreate())
10770          throw new Error("Attempt to auto-create ImplementationGuideDefinitionResourceComponent.name");
10771        else if (Configuration.doAutoCreate())
10772          this.name = new StringType(); // bb
10773      return this.name;
10774    }
10775
10776    public boolean hasNameElement() { 
10777      return this.name != null && !this.name.isEmpty();
10778    }
10779
10780    public boolean hasName() { 
10781      return this.name != null && !this.name.isEmpty();
10782    }
10783
10784    /**
10785     * @param value {@link #name} (A human assigned name for the resource. All resources SHOULD have a name, but the name may be extracted from the resource (e.g. ValueSet.name).). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value
10786     */
10787    public ImplementationGuideDefinitionResourceComponent setNameElement(StringType value) { 
10788      this.name = value;
10789      return this;
10790    }
10791
10792    /**
10793     * @return A human assigned name for the resource. All resources SHOULD have a name, but the name may be extracted from the resource (e.g. ValueSet.name).
10794     */
10795    public String getName() { 
10796      return this.name == null ? null : this.name.getValue();
10797    }
10798
10799    /**
10800     * @param value A human assigned name for the resource. All resources SHOULD have a name, but the name may be extracted from the resource (e.g. ValueSet.name).
10801     */
10802    public ImplementationGuideDefinitionResourceComponent setName(String value) { 
10803      if (Utilities.noString(value))
10804        this.name = null;
10805      else {
10806        if (this.name == null)
10807          this.name = new StringType();
10808        this.name.setValue(value);
10809      }
10810      return this;
10811    }
10812
10813    /**
10814     * @return {@link #description} (A description of the reason that a resource has been included in the implementation guide.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value
10815     */
10816    public MarkdownType getDescriptionElement() { 
10817      if (this.description == null)
10818        if (Configuration.errorOnAutoCreate())
10819          throw new Error("Attempt to auto-create ImplementationGuideDefinitionResourceComponent.description");
10820        else if (Configuration.doAutoCreate())
10821          this.description = new MarkdownType(); // bb
10822      return this.description;
10823    }
10824
10825    public boolean hasDescriptionElement() { 
10826      return this.description != null && !this.description.isEmpty();
10827    }
10828
10829    public boolean hasDescription() { 
10830      return this.description != null && !this.description.isEmpty();
10831    }
10832
10833    /**
10834     * @param value {@link #description} (A description of the reason that a resource has been included in the implementation guide.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value
10835     */
10836    public ImplementationGuideDefinitionResourceComponent setDescriptionElement(MarkdownType value) { 
10837      this.description = value;
10838      return this;
10839    }
10840
10841    /**
10842     * @return A description of the reason that a resource has been included in the implementation guide.
10843     */
10844    public String getDescription() { 
10845      return this.description == null ? null : this.description.getValue();
10846    }
10847
10848    /**
10849     * @param value A description of the reason that a resource has been included in the implementation guide.
10850     */
10851    public ImplementationGuideDefinitionResourceComponent setDescription(String value) { 
10852      if (Utilities.noString(value))
10853        this.description = null;
10854      else {
10855        if (this.description == null)
10856          this.description = new MarkdownType();
10857        this.description.setValue(value);
10858      }
10859      return this;
10860    }
10861
10862    /**
10863     * @return {@link #isExample} (If true, indicates the resource is an example instance.). This is the underlying object with id, value and extensions. The accessor "getIsExample" gives direct access to the value
10864     */
10865    public BooleanType getIsExampleElement() { 
10866      if (this.isExample == null)
10867        if (Configuration.errorOnAutoCreate())
10868          throw new Error("Attempt to auto-create ImplementationGuideDefinitionResourceComponent.isExample");
10869        else if (Configuration.doAutoCreate())
10870          this.isExample = new BooleanType(); // bb
10871      return this.isExample;
10872    }
10873
10874    public boolean hasIsExampleElement() { 
10875      return this.isExample != null && !this.isExample.isEmpty();
10876    }
10877
10878    public boolean hasIsExample() { 
10879      return this.isExample != null && !this.isExample.isEmpty();
10880    }
10881
10882    /**
10883     * @param value {@link #isExample} (If true, indicates the resource is an example instance.). This is the underlying object with id, value and extensions. The accessor "getIsExample" gives direct access to the value
10884     */
10885    public ImplementationGuideDefinitionResourceComponent setIsExampleElement(BooleanType value) { 
10886      this.isExample = value;
10887      return this;
10888    }
10889
10890    /**
10891     * @return If true, indicates the resource is an example instance.
10892     */
10893    public boolean getIsExample() { 
10894      return this.isExample == null || this.isExample.isEmpty() ? false : this.isExample.getValue();
10895    }
10896
10897    /**
10898     * @param value If true, indicates the resource is an example instance.
10899     */
10900    public ImplementationGuideDefinitionResourceComponent setIsExample(boolean value) { 
10901      if (this.isExample == null)
10902        this.isExample = new BooleanType();
10903      this.isExample.setValue(value);
10904      return this;
10905    }
10906
10907    /**
10908     * @return {@link #profile} (If present, indicates profile(s) the instance is valid against.)
10909     */
10910    public List<CanonicalType> getProfile() { 
10911      if (this.profile == null)
10912        this.profile = new ArrayList<CanonicalType>();
10913      return this.profile;
10914    }
10915
10916    /**
10917     * @return Returns a reference to <code>this</code> for easy method chaining
10918     */
10919    public ImplementationGuideDefinitionResourceComponent setProfile(List<CanonicalType> theProfile) { 
10920      this.profile = theProfile;
10921      return this;
10922    }
10923
10924    public boolean hasProfile() { 
10925      if (this.profile == null)
10926        return false;
10927      for (CanonicalType item : this.profile)
10928        if (!item.isEmpty())
10929          return true;
10930      return false;
10931    }
10932
10933    /**
10934     * @return {@link #profile} (If present, indicates profile(s) the instance is valid against.)
10935     */
10936    public CanonicalType addProfileElement() {//2 
10937      CanonicalType t = new CanonicalType();
10938      if (this.profile == null)
10939        this.profile = new ArrayList<CanonicalType>();
10940      this.profile.add(t);
10941      return t;
10942    }
10943
10944    /**
10945     * @param value {@link #profile} (If present, indicates profile(s) the instance is valid against.)
10946     */
10947    public ImplementationGuideDefinitionResourceComponent addProfile(String value) { //1
10948      CanonicalType t = new CanonicalType();
10949      t.setValue(value);
10950      if (this.profile == null)
10951        this.profile = new ArrayList<CanonicalType>();
10952      this.profile.add(t);
10953      return this;
10954    }
10955
10956    /**
10957     * @param value {@link #profile} (If present, indicates profile(s) the instance is valid against.)
10958     */
10959    public boolean hasProfile(String value) { 
10960      if (this.profile == null)
10961        return false;
10962      for (CanonicalType v : this.profile)
10963        if (v.getValue().equals(value)) // canonical
10964          return true;
10965      return false;
10966    }
10967
10968    /**
10969     * @return {@link #groupingId} (Reference to the id of the grouping this resource appears in.). This is the underlying object with id, value and extensions. The accessor "getGroupingId" gives direct access to the value
10970     */
10971    public IdType getGroupingIdElement() { 
10972      if (this.groupingId == null)
10973        if (Configuration.errorOnAutoCreate())
10974          throw new Error("Attempt to auto-create ImplementationGuideDefinitionResourceComponent.groupingId");
10975        else if (Configuration.doAutoCreate())
10976          this.groupingId = new IdType(); // bb
10977      return this.groupingId;
10978    }
10979
10980    public boolean hasGroupingIdElement() { 
10981      return this.groupingId != null && !this.groupingId.isEmpty();
10982    }
10983
10984    public boolean hasGroupingId() { 
10985      return this.groupingId != null && !this.groupingId.isEmpty();
10986    }
10987
10988    /**
10989     * @param value {@link #groupingId} (Reference to the id of the grouping this resource appears in.). This is the underlying object with id, value and extensions. The accessor "getGroupingId" gives direct access to the value
10990     */
10991    public ImplementationGuideDefinitionResourceComponent setGroupingIdElement(IdType value) { 
10992      this.groupingId = value;
10993      return this;
10994    }
10995
10996    /**
10997     * @return Reference to the id of the grouping this resource appears in.
10998     */
10999    public String getGroupingId() { 
11000      return this.groupingId == null ? null : this.groupingId.getValue();
11001    }
11002
11003    /**
11004     * @param value Reference to the id of the grouping this resource appears in.
11005     */
11006    public ImplementationGuideDefinitionResourceComponent setGroupingId(String value) { 
11007      if (Utilities.noString(value))
11008        this.groupingId = null;
11009      else {
11010        if (this.groupingId == null)
11011          this.groupingId = new IdType();
11012        this.groupingId.setValue(value);
11013      }
11014      return this;
11015    }
11016
11017    protected void listChildren(List<Property> children) {
11018      super.listChildren(children);
11019      children.add(new Property("reference", "Reference(Any)", "Where this resource is found.", 0, 1, reference));
11020      children.add(new Property("fhirVersion", "code", "Indicates the FHIR Version(s) this artifact is intended to apply to. If no versions are specified, the resource is assumed to apply to all the versions stated in ImplementationGuide.fhirVersion.", 0, java.lang.Integer.MAX_VALUE, fhirVersion));
11021      children.add(new Property("name", "string", "A human assigned name for the resource. All resources SHOULD have a name, but the name may be extracted from the resource (e.g. ValueSet.name).", 0, 1, name));
11022      children.add(new Property("description", "markdown", "A description of the reason that a resource has been included in the implementation guide.", 0, 1, description));
11023      children.add(new Property("isExample", "boolean", "If true, indicates the resource is an example instance.", 0, 1, isExample));
11024      children.add(new Property("profile", "canonical(StructureDefinition)", "If present, indicates profile(s) the instance is valid against.", 0, java.lang.Integer.MAX_VALUE, profile));
11025      children.add(new Property("groupingId", "id", "Reference to the id of the grouping this resource appears in.", 0, 1, groupingId));
11026    }
11027
11028    @Override
11029    public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
11030      switch (_hash) {
11031      case -925155509: /*reference*/  return new Property("reference", "Reference(Any)", "Where this resource is found.", 0, 1, reference);
11032      case 461006061: /*fhirVersion*/  return new Property("fhirVersion", "code", "Indicates the FHIR Version(s) this artifact is intended to apply to. If no versions are specified, the resource is assumed to apply to all the versions stated in ImplementationGuide.fhirVersion.", 0, java.lang.Integer.MAX_VALUE, fhirVersion);
11033      case 3373707: /*name*/  return new Property("name", "string", "A human assigned name for the resource. All resources SHOULD have a name, but the name may be extracted from the resource (e.g. ValueSet.name).", 0, 1, name);
11034      case -1724546052: /*description*/  return new Property("description", "markdown", "A description of the reason that a resource has been included in the implementation guide.", 0, 1, description);
11035      case -1902749472: /*isExample*/  return new Property("isExample", "boolean", "If true, indicates the resource is an example instance.", 0, 1, isExample);
11036      case -309425751: /*profile*/  return new Property("profile", "canonical(StructureDefinition)", "If present, indicates profile(s) the instance is valid against.", 0, java.lang.Integer.MAX_VALUE, profile);
11037      case 1291547006: /*groupingId*/  return new Property("groupingId", "id", "Reference to the id of the grouping this resource appears in.", 0, 1, groupingId);
11038      default: return super.getNamedProperty(_hash, _name, _checkValid);
11039      }
11040
11041    }
11042
11043    @Override
11044    public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
11045      switch (hash) {
11046      case -925155509: /*reference*/ return this.reference == null ? new Base[0] : new Base[] {this.reference}; // Reference
11047      case 461006061: /*fhirVersion*/ return this.fhirVersion == null ? new Base[0] : this.fhirVersion.toArray(new Base[this.fhirVersion.size()]); // Enumeration<FHIRVersion>
11048      case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType
11049      case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType
11050      case -1902749472: /*isExample*/ return this.isExample == null ? new Base[0] : new Base[] {this.isExample}; // BooleanType
11051      case -309425751: /*profile*/ return this.profile == null ? new Base[0] : this.profile.toArray(new Base[this.profile.size()]); // CanonicalType
11052      case 1291547006: /*groupingId*/ return this.groupingId == null ? new Base[0] : new Base[] {this.groupingId}; // IdType
11053      default: return super.getProperty(hash, name, checkValid);
11054      }
11055
11056    }
11057
11058    @Override
11059    public Base setProperty(int hash, String name, Base value) throws FHIRException {
11060      switch (hash) {
11061      case -925155509: // reference
11062        this.reference = TypeConvertor.castToReference(value); // Reference
11063        return value;
11064      case 461006061: // fhirVersion
11065        value = new FHIRVersionEnumFactory().fromType(TypeConvertor.castToCode(value));
11066        this.getFhirVersion().add((Enumeration) value); // Enumeration<FHIRVersion>
11067        return value;
11068      case 3373707: // name
11069        this.name = TypeConvertor.castToString(value); // StringType
11070        return value;
11071      case -1724546052: // description
11072        this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
11073        return value;
11074      case -1902749472: // isExample
11075        this.isExample = TypeConvertor.castToBoolean(value); // BooleanType
11076        return value;
11077      case -309425751: // profile
11078        this.getProfile().add(TypeConvertor.castToCanonical(value)); // CanonicalType
11079        return value;
11080      case 1291547006: // groupingId
11081        this.groupingId = TypeConvertor.castToId(value); // IdType
11082        return value;
11083      default: return super.setProperty(hash, name, value);
11084      }
11085
11086    }
11087
11088    @Override
11089    public Base setProperty(String name, Base value) throws FHIRException {
11090      if (name.equals("reference")) {
11091        this.reference = TypeConvertor.castToReference(value); // Reference
11092      } else if (name.equals("fhirVersion")) {
11093        value = new FHIRVersionEnumFactory().fromType(TypeConvertor.castToCode(value));
11094        this.getFhirVersion().add((Enumeration) value);
11095      } else if (name.equals("name")) {
11096        this.name = TypeConvertor.castToString(value); // StringType
11097      } else if (name.equals("description")) {
11098        this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
11099      } else if (name.equals("isExample")) {
11100        this.isExample = TypeConvertor.castToBoolean(value); // BooleanType
11101      } else if (name.equals("profile")) {
11102        this.getProfile().add(TypeConvertor.castToCanonical(value));
11103      } else if (name.equals("groupingId")) {
11104        this.groupingId = TypeConvertor.castToId(value); // IdType
11105      } else
11106        return super.setProperty(name, value);
11107      return value;
11108    }
11109
11110  @Override
11111  public void removeChild(String name, Base value) throws FHIRException {
11112      if (name.equals("reference")) {
11113        this.reference = null;
11114      } else if (name.equals("fhirVersion")) {
11115        value = new FHIRVersionEnumFactory().fromType(TypeConvertor.castToCode(value));
11116        this.getFhirVersion().remove((Enumeration) value);
11117      } else if (name.equals("name")) {
11118        this.name = null;
11119      } else if (name.equals("description")) {
11120        this.description = null;
11121      } else if (name.equals("isExample")) {
11122        this.isExample = null;
11123      } else if (name.equals("profile")) {
11124        this.getProfile().remove(value);
11125      } else if (name.equals("groupingId")) {
11126        this.groupingId = null;
11127      } else
11128        super.removeChild(name, value);
11129      
11130    }
11131
11132    @Override
11133    public Base makeProperty(int hash, String name) throws FHIRException {
11134      switch (hash) {
11135      case -925155509:  return getReference();
11136      case 461006061:  return addFhirVersionElement();
11137      case 3373707:  return getNameElement();
11138      case -1724546052:  return getDescriptionElement();
11139      case -1902749472:  return getIsExampleElement();
11140      case -309425751:  return addProfileElement();
11141      case 1291547006:  return getGroupingIdElement();
11142      default: return super.makeProperty(hash, name);
11143      }
11144
11145    }
11146
11147    @Override
11148    public String[] getTypesForProperty(int hash, String name) throws FHIRException {
11149      switch (hash) {
11150      case -925155509: /*reference*/ return new String[] {"Reference"};
11151      case 461006061: /*fhirVersion*/ return new String[] {"code"};
11152      case 3373707: /*name*/ return new String[] {"string"};
11153      case -1724546052: /*description*/ return new String[] {"markdown"};
11154      case -1902749472: /*isExample*/ return new String[] {"boolean"};
11155      case -309425751: /*profile*/ return new String[] {"canonical"};
11156      case 1291547006: /*groupingId*/ return new String[] {"id"};
11157      default: return super.getTypesForProperty(hash, name);
11158      }
11159
11160    }
11161
11162    @Override
11163    public Base addChild(String name) throws FHIRException {
11164      if (name.equals("reference")) {
11165        this.reference = new Reference();
11166        return this.reference;
11167      }
11168      else if (name.equals("fhirVersion")) {
11169        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.resource.fhirVersion");
11170      }
11171      else if (name.equals("name")) {
11172        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.resource.name");
11173      }
11174      else if (name.equals("description")) {
11175        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.resource.description");
11176      }
11177      else if (name.equals("isExample")) {
11178        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.resource.isExample");
11179      }
11180      else if (name.equals("profile")) {
11181        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.resource.profile");
11182      }
11183      else if (name.equals("groupingId")) {
11184        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.resource.groupingId");
11185      }
11186      else
11187        return super.addChild(name);
11188    }
11189
11190    public ImplementationGuideDefinitionResourceComponent copy() {
11191      ImplementationGuideDefinitionResourceComponent dst = new ImplementationGuideDefinitionResourceComponent();
11192      copyValues(dst);
11193      return dst;
11194    }
11195
11196    public void copyValues(ImplementationGuideDefinitionResourceComponent dst) {
11197      super.copyValues(dst);
11198      dst.reference = reference == null ? null : reference.copy();
11199      if (fhirVersion != null) {
11200        dst.fhirVersion = new ArrayList<Enumeration<FHIRVersion>>();
11201        for (Enumeration<FHIRVersion> i : fhirVersion)
11202          dst.fhirVersion.add(i.copy());
11203      };
11204      dst.name = name == null ? null : name.copy();
11205      dst.description = description == null ? null : description.copy();
11206      dst.isExample = isExample == null ? null : isExample.copy();
11207      if (profile != null) {
11208        dst.profile = new ArrayList<CanonicalType>();
11209        for (CanonicalType i : profile)
11210          dst.profile.add(i.copy());
11211      };
11212      dst.groupingId = groupingId == null ? null : groupingId.copy();
11213    }
11214
11215    @Override
11216    public boolean equalsDeep(Base other_) {
11217      if (!super.equalsDeep(other_))
11218        return false;
11219      if (!(other_ instanceof ImplementationGuideDefinitionResourceComponent))
11220        return false;
11221      ImplementationGuideDefinitionResourceComponent o = (ImplementationGuideDefinitionResourceComponent) other_;
11222      return compareDeep(reference, o.reference, true) && compareDeep(fhirVersion, o.fhirVersion, true)
11223          && compareDeep(name, o.name, true) && compareDeep(description, o.description, true) && compareDeep(isExample, o.isExample, true)
11224          && compareDeep(profile, o.profile, true) && compareDeep(groupingId, o.groupingId, true);
11225    }
11226
11227    @Override
11228    public boolean equalsShallow(Base other_) {
11229      if (!super.equalsShallow(other_))
11230        return false;
11231      if (!(other_ instanceof ImplementationGuideDefinitionResourceComponent))
11232        return false;
11233      ImplementationGuideDefinitionResourceComponent o = (ImplementationGuideDefinitionResourceComponent) other_;
11234      return compareValues(fhirVersion, o.fhirVersion, true) && compareValues(name, o.name, true) && compareValues(description, o.description, true)
11235          && compareValues(isExample, o.isExample, true) && compareValues(profile, o.profile, true) && compareValues(groupingId, o.groupingId, true)
11236          ;
11237    }
11238
11239    public boolean isEmpty() {
11240      return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(reference, fhirVersion, name
11241          , description, isExample, profile, groupingId);
11242    }
11243
11244    public String fhirType() {
11245      return "ImplementationGuide.definition.resource";
11246
11247    }
11248
11249    // added from java-adornments.txt:
11250
11251    // end addition
11252  }
11253
11254  @Block()
11255  public static class ImplementationGuideDefinitionPageComponent extends BackboneElement implements IBaseBackboneElement {
11256    /**
11257     * Indicates the URL or the actual content to provide for the page.
11258     */
11259    @Child(name = "source", type = {UrlType.class, StringType.class, MarkdownType.class}, order=1, min=0, max=1, modifier=false, summary=false)
11260    @Description(shortDefinition="Source for page", formalDefinition="Indicates the URL or the actual content to provide for the page." )
11261    protected DataType source;
11262
11263    /**
11264     * The url by which the page should be known when published.
11265     */
11266    @Child(name = "name", type = {UrlType.class}, order=2, min=1, max=1, modifier=false, summary=false)
11267    @Description(shortDefinition="Name of the page when published", formalDefinition="The url by which the page should be known when published." )
11268    protected UrlType name;
11269
11270    /**
11271     * A short title used to represent this page in navigational structures such as table of contents, bread crumbs, etc.
11272     */
11273    @Child(name = "title", type = {StringType.class}, order=3, min=1, max=1, modifier=false, summary=false)
11274    @Description(shortDefinition="Short title shown for navigational assistance", formalDefinition="A short title used to represent this page in navigational structures such as table of contents, bread crumbs, etc." )
11275    protected StringType title;
11276
11277    /**
11278     * A code that indicates how the page is generated.
11279     */
11280    @Child(name = "generation", type = {CodeType.class}, order=4, min=1, max=1, modifier=false, summary=false)
11281    @Description(shortDefinition="html | markdown | xml | generated", formalDefinition="A code that indicates how the page is generated." )
11282    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/guide-page-generation")
11283    protected Enumeration<GuidePageGeneration> generation;
11284
11285    /**
11286     * Nested Pages/Sections under this page.
11287     */
11288    @Child(name = "page", type = {ImplementationGuideDefinitionPageComponent.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
11289    @Description(shortDefinition="Nested Pages / Sections", formalDefinition="Nested Pages/Sections under this page." )
11290    protected List<ImplementationGuideDefinitionPageComponent> page;
11291
11292    private static final long serialVersionUID = 57473246L;
11293
11294    /**
11295     * Constructor
11296     */
11297    public ImplementationGuideDefinitionPageComponent() {
11298      super();
11299    }
11300
11301    /**
11302     * Constructor
11303     */
11304    public ImplementationGuideDefinitionPageComponent(String name, String title, GuidePageGeneration generation) {
11305      super();
11306      this.setName(name);
11307      this.setTitle(title);
11308      this.setGeneration(generation);
11309    }
11310
11311    /**
11312     * @return {@link #source} (Indicates the URL or the actual content to provide for the page.)
11313     */
11314    public DataType getSource() { 
11315      return this.source;
11316    }
11317
11318    /**
11319     * @return {@link #source} (Indicates the URL or the actual content to provide for the page.)
11320     */
11321    public UrlType getSourceUrlType() throws FHIRException { 
11322      if (this.source == null)
11323        this.source = new UrlType();
11324      if (!(this.source instanceof UrlType))
11325        throw new FHIRException("Type mismatch: the type UrlType was expected, but "+this.source.getClass().getName()+" was encountered");
11326      return (UrlType) this.source;
11327    }
11328
11329    public boolean hasSourceUrlType() { 
11330      return this != null && this.source instanceof UrlType;
11331    }
11332
11333    /**
11334     * @return {@link #source} (Indicates the URL or the actual content to provide for the page.)
11335     */
11336    public StringType getSourceStringType() throws FHIRException { 
11337      if (this.source == null)
11338        this.source = new StringType();
11339      if (!(this.source instanceof StringType))
11340        throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.source.getClass().getName()+" was encountered");
11341      return (StringType) this.source;
11342    }
11343
11344    public boolean hasSourceStringType() { 
11345      return this != null && this.source instanceof StringType;
11346    }
11347
11348    /**
11349     * @return {@link #source} (Indicates the URL or the actual content to provide for the page.)
11350     */
11351    public MarkdownType getSourceMarkdownType() throws FHIRException { 
11352      if (this.source == null)
11353        this.source = new MarkdownType();
11354      if (!(this.source instanceof MarkdownType))
11355        throw new FHIRException("Type mismatch: the type MarkdownType was expected, but "+this.source.getClass().getName()+" was encountered");
11356      return (MarkdownType) this.source;
11357    }
11358
11359    public boolean hasSourceMarkdownType() { 
11360      return this != null && this.source instanceof MarkdownType;
11361    }
11362
11363    public boolean hasSource() { 
11364      return this.source != null && !this.source.isEmpty();
11365    }
11366
11367    /**
11368     * @param value {@link #source} (Indicates the URL or the actual content to provide for the page.)
11369     */
11370    public ImplementationGuideDefinitionPageComponent setSource(DataType value) { 
11371      if (value != null && !(value instanceof UrlType || value instanceof StringType || value instanceof MarkdownType))
11372        throw new FHIRException("Not the right type for ImplementationGuide.definition.page.source[x]: "+value.fhirType());
11373      this.source = value;
11374      return this;
11375    }
11376
11377    /**
11378     * @return {@link #name} (The url by which the page should be known when published.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value
11379     */
11380    public UrlType getNameElement() { 
11381      if (this.name == null)
11382        if (Configuration.errorOnAutoCreate())
11383          throw new Error("Attempt to auto-create ImplementationGuideDefinitionPageComponent.name");
11384        else if (Configuration.doAutoCreate())
11385          this.name = new UrlType(); // bb
11386      return this.name;
11387    }
11388
11389    public boolean hasNameElement() { 
11390      return this.name != null && !this.name.isEmpty();
11391    }
11392
11393    public boolean hasName() { 
11394      return this.name != null && !this.name.isEmpty();
11395    }
11396
11397    /**
11398     * @param value {@link #name} (The url by which the page should be known when published.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value
11399     */
11400    public ImplementationGuideDefinitionPageComponent setNameElement(UrlType value) { 
11401      this.name = value;
11402      return this;
11403    }
11404
11405    /**
11406     * @return The url by which the page should be known when published.
11407     */
11408    public String getName() { 
11409      return this.name == null ? null : this.name.getValue();
11410    }
11411
11412    /**
11413     * @param value The url by which the page should be known when published.
11414     */
11415    public ImplementationGuideDefinitionPageComponent setName(String value) { 
11416      if (this.name == null)
11417        this.name = new UrlType();
11418      this.name.setValue(value);
11419      return this;
11420    }
11421
11422    /**
11423     * @return {@link #title} (A short title used to represent this page in navigational structures such as table of contents, bread crumbs, etc.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value
11424     */
11425    public StringType getTitleElement() { 
11426      if (this.title == null)
11427        if (Configuration.errorOnAutoCreate())
11428          throw new Error("Attempt to auto-create ImplementationGuideDefinitionPageComponent.title");
11429        else if (Configuration.doAutoCreate())
11430          this.title = new StringType(); // bb
11431      return this.title;
11432    }
11433
11434    public boolean hasTitleElement() { 
11435      return this.title != null && !this.title.isEmpty();
11436    }
11437
11438    public boolean hasTitle() { 
11439      return this.title != null && !this.title.isEmpty();
11440    }
11441
11442    /**
11443     * @param value {@link #title} (A short title used to represent this page in navigational structures such as table of contents, bread crumbs, etc.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value
11444     */
11445    public ImplementationGuideDefinitionPageComponent setTitleElement(StringType value) { 
11446      this.title = value;
11447      return this;
11448    }
11449
11450    /**
11451     * @return A short title used to represent this page in navigational structures such as table of contents, bread crumbs, etc.
11452     */
11453    public String getTitle() { 
11454      return this.title == null ? null : this.title.getValue();
11455    }
11456
11457    /**
11458     * @param value A short title used to represent this page in navigational structures such as table of contents, bread crumbs, etc.
11459     */
11460    public ImplementationGuideDefinitionPageComponent setTitle(String value) { 
11461      if (this.title == null)
11462        this.title = new StringType();
11463      this.title.setValue(value);
11464      return this;
11465    }
11466
11467    /**
11468     * @return {@link #generation} (A code that indicates how the page is generated.). This is the underlying object with id, value and extensions. The accessor "getGeneration" gives direct access to the value
11469     */
11470    public Enumeration<GuidePageGeneration> getGenerationElement() { 
11471      if (this.generation == null)
11472        if (Configuration.errorOnAutoCreate())
11473          throw new Error("Attempt to auto-create ImplementationGuideDefinitionPageComponent.generation");
11474        else if (Configuration.doAutoCreate())
11475          this.generation = new Enumeration<GuidePageGeneration>(new GuidePageGenerationEnumFactory()); // bb
11476      return this.generation;
11477    }
11478
11479    public boolean hasGenerationElement() { 
11480      return this.generation != null && !this.generation.isEmpty();
11481    }
11482
11483    public boolean hasGeneration() { 
11484      return this.generation != null && !this.generation.isEmpty();
11485    }
11486
11487    /**
11488     * @param value {@link #generation} (A code that indicates how the page is generated.). This is the underlying object with id, value and extensions. The accessor "getGeneration" gives direct access to the value
11489     */
11490    public ImplementationGuideDefinitionPageComponent setGenerationElement(Enumeration<GuidePageGeneration> value) { 
11491      this.generation = value;
11492      return this;
11493    }
11494
11495    /**
11496     * @return A code that indicates how the page is generated.
11497     */
11498    public GuidePageGeneration getGeneration() { 
11499      return this.generation == null ? null : this.generation.getValue();
11500    }
11501
11502    /**
11503     * @param value A code that indicates how the page is generated.
11504     */
11505    public ImplementationGuideDefinitionPageComponent setGeneration(GuidePageGeneration value) { 
11506      if (this.generation == null)
11507        this.generation = new Enumeration<GuidePageGeneration>(new GuidePageGenerationEnumFactory());
11508      this.generation.setValue(value);
11509      return this;
11510    }
11511
11512    /**
11513     * @return {@link #page} (Nested Pages/Sections under this page.)
11514     */
11515    public List<ImplementationGuideDefinitionPageComponent> getPage() { 
11516      if (this.page == null)
11517        this.page = new ArrayList<ImplementationGuideDefinitionPageComponent>();
11518      return this.page;
11519    }
11520
11521    /**
11522     * @return Returns a reference to <code>this</code> for easy method chaining
11523     */
11524    public ImplementationGuideDefinitionPageComponent setPage(List<ImplementationGuideDefinitionPageComponent> thePage) { 
11525      this.page = thePage;
11526      return this;
11527    }
11528
11529    public boolean hasPage() { 
11530      if (this.page == null)
11531        return false;
11532      for (ImplementationGuideDefinitionPageComponent item : this.page)
11533        if (!item.isEmpty())
11534          return true;
11535      return false;
11536    }
11537
11538    public ImplementationGuideDefinitionPageComponent addPage() { //3
11539      ImplementationGuideDefinitionPageComponent t = new ImplementationGuideDefinitionPageComponent();
11540      if (this.page == null)
11541        this.page = new ArrayList<ImplementationGuideDefinitionPageComponent>();
11542      this.page.add(t);
11543      return t;
11544    }
11545
11546    public ImplementationGuideDefinitionPageComponent addPage(ImplementationGuideDefinitionPageComponent t) { //3
11547      if (t == null)
11548        return this;
11549      if (this.page == null)
11550        this.page = new ArrayList<ImplementationGuideDefinitionPageComponent>();
11551      this.page.add(t);
11552      return this;
11553    }
11554
11555    /**
11556     * @return The first repetition of repeating field {@link #page}, creating it if it does not already exist {3}
11557     */
11558    public ImplementationGuideDefinitionPageComponent getPageFirstRep() { 
11559      if (getPage().isEmpty()) {
11560        addPage();
11561      }
11562      return getPage().get(0);
11563    }
11564
11565    protected void listChildren(List<Property> children) {
11566      super.listChildren(children);
11567      children.add(new Property("source[x]", "url|string|markdown", "Indicates the URL or the actual content to provide for the page.", 0, 1, source));
11568      children.add(new Property("name", "url", "The url by which the page should be known when published.", 0, 1, name));
11569      children.add(new Property("title", "string", "A short title used to represent this page in navigational structures such as table of contents, bread crumbs, etc.", 0, 1, title));
11570      children.add(new Property("generation", "code", "A code that indicates how the page is generated.", 0, 1, generation));
11571      children.add(new Property("page", "@ImplementationGuide.definition.page", "Nested Pages/Sections under this page.", 0, java.lang.Integer.MAX_VALUE, page));
11572    }
11573
11574    @Override
11575    public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
11576      switch (_hash) {
11577      case -1698413947: /*source[x]*/  return new Property("source[x]", "url|string|markdown", "Indicates the URL or the actual content to provide for the page.", 0, 1, source);
11578      case -896505829: /*source*/  return new Property("source[x]", "url|string|markdown", "Indicates the URL or the actual content to provide for the page.", 0, 1, source);
11579      case -1698419884: /*sourceUrl*/  return new Property("source[x]", "url", "Indicates the URL or the actual content to provide for the page.", 0, 1, source);
11580      case 1327821836: /*sourceString*/  return new Property("source[x]", "string", "Indicates the URL or the actual content to provide for the page.", 0, 1, source);
11581      case -1116570070: /*sourceMarkdown*/  return new Property("source[x]", "markdown", "Indicates the URL or the actual content to provide for the page.", 0, 1, source);
11582      case 3373707: /*name*/  return new Property("name", "url", "The url by which the page should be known when published.", 0, 1, name);
11583      case 110371416: /*title*/  return new Property("title", "string", "A short title used to represent this page in navigational structures such as table of contents, bread crumbs, etc.", 0, 1, title);
11584      case 305703192: /*generation*/  return new Property("generation", "code", "A code that indicates how the page is generated.", 0, 1, generation);
11585      case 3433103: /*page*/  return new Property("page", "@ImplementationGuide.definition.page", "Nested Pages/Sections under this page.", 0, java.lang.Integer.MAX_VALUE, page);
11586      default: return super.getNamedProperty(_hash, _name, _checkValid);
11587      }
11588
11589    }
11590
11591    @Override
11592    public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
11593      switch (hash) {
11594      case -896505829: /*source*/ return this.source == null ? new Base[0] : new Base[] {this.source}; // DataType
11595      case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // UrlType
11596      case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType
11597      case 305703192: /*generation*/ return this.generation == null ? new Base[0] : new Base[] {this.generation}; // Enumeration<GuidePageGeneration>
11598      case 3433103: /*page*/ return this.page == null ? new Base[0] : this.page.toArray(new Base[this.page.size()]); // ImplementationGuideDefinitionPageComponent
11599      default: return super.getProperty(hash, name, checkValid);
11600      }
11601
11602    }
11603
11604    @Override
11605    public Base setProperty(int hash, String name, Base value) throws FHIRException {
11606      switch (hash) {
11607      case -896505829: // source
11608        this.source = TypeConvertor.castToType(value); // DataType
11609        return value;
11610      case 3373707: // name
11611        this.name = TypeConvertor.castToUrl(value); // UrlType
11612        return value;
11613      case 110371416: // title
11614        this.title = TypeConvertor.castToString(value); // StringType
11615        return value;
11616      case 305703192: // generation
11617        value = new GuidePageGenerationEnumFactory().fromType(TypeConvertor.castToCode(value));
11618        this.generation = (Enumeration) value; // Enumeration<GuidePageGeneration>
11619        return value;
11620      case 3433103: // page
11621        this.getPage().add((ImplementationGuideDefinitionPageComponent) value); // ImplementationGuideDefinitionPageComponent
11622        return value;
11623      default: return super.setProperty(hash, name, value);
11624      }
11625
11626    }
11627
11628    @Override
11629    public Base setProperty(String name, Base value) throws FHIRException {
11630      if (name.equals("source[x]")) {
11631        this.source = TypeConvertor.castToType(value); // DataType
11632      } else if (name.equals("name")) {
11633        this.name = TypeConvertor.castToUrl(value); // UrlType
11634      } else if (name.equals("title")) {
11635        this.title = TypeConvertor.castToString(value); // StringType
11636      } else if (name.equals("generation")) {
11637        value = new GuidePageGenerationEnumFactory().fromType(TypeConvertor.castToCode(value));
11638        this.generation = (Enumeration) value; // Enumeration<GuidePageGeneration>
11639      } else if (name.equals("page")) {
11640        this.getPage().add((ImplementationGuideDefinitionPageComponent) value);
11641      } else
11642        return super.setProperty(name, value);
11643      return value;
11644    }
11645
11646  @Override
11647  public void removeChild(String name, Base value) throws FHIRException {
11648      if (name.equals("source[x]")) {
11649        this.source = null;
11650      } else if (name.equals("name")) {
11651        this.name = null;
11652      } else if (name.equals("title")) {
11653        this.title = null;
11654      } else if (name.equals("generation")) {
11655        value = new GuidePageGenerationEnumFactory().fromType(TypeConvertor.castToCode(value));
11656        this.generation = (Enumeration) value; // Enumeration<GuidePageGeneration>
11657      } else if (name.equals("page")) {
11658        this.getPage().remove((ImplementationGuideDefinitionPageComponent) value);
11659      } else
11660        super.removeChild(name, value);
11661      
11662    }
11663
11664    @Override
11665    public Base makeProperty(int hash, String name) throws FHIRException {
11666      switch (hash) {
11667      case -1698413947:  return getSource();
11668      case -896505829:  return getSource();
11669      case 3373707:  return getNameElement();
11670      case 110371416:  return getTitleElement();
11671      case 305703192:  return getGenerationElement();
11672      case 3433103:  return addPage(); 
11673      default: return super.makeProperty(hash, name);
11674      }
11675
11676    }
11677
11678    @Override
11679    public String[] getTypesForProperty(int hash, String name) throws FHIRException {
11680      switch (hash) {
11681      case -896505829: /*source*/ return new String[] {"url", "string", "markdown"};
11682      case 3373707: /*name*/ return new String[] {"url"};
11683      case 110371416: /*title*/ return new String[] {"string"};
11684      case 305703192: /*generation*/ return new String[] {"code"};
11685      case 3433103: /*page*/ return new String[] {"@ImplementationGuide.definition.page"};
11686      default: return super.getTypesForProperty(hash, name);
11687      }
11688
11689    }
11690
11691    @Override
11692    public Base addChild(String name) throws FHIRException {
11693      if (name.equals("sourceUrl")) {
11694        this.source = new UrlType();
11695        return this.source;
11696      }
11697      else if (name.equals("sourceString")) {
11698        this.source = new StringType();
11699        return this.source;
11700      }
11701      else if (name.equals("sourceMarkdown")) {
11702        this.source = new MarkdownType();
11703        return this.source;
11704      }
11705      else if (name.equals("name")) {
11706        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.page.name");
11707      }
11708      else if (name.equals("title")) {
11709        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.page.title");
11710      }
11711      else if (name.equals("generation")) {
11712        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.page.generation");
11713      }
11714      else if (name.equals("page")) {
11715        return addPage();
11716      }
11717      else
11718        return super.addChild(name);
11719    }
11720
11721    public ImplementationGuideDefinitionPageComponent copy() {
11722      ImplementationGuideDefinitionPageComponent dst = new ImplementationGuideDefinitionPageComponent();
11723      copyValues(dst);
11724      return dst;
11725    }
11726
11727    public void copyValues(ImplementationGuideDefinitionPageComponent dst) {
11728      super.copyValues(dst);
11729      dst.source = source == null ? null : source.copy();
11730      dst.name = name == null ? null : name.copy();
11731      dst.title = title == null ? null : title.copy();
11732      dst.generation = generation == null ? null : generation.copy();
11733      if (page != null) {
11734        dst.page = new ArrayList<ImplementationGuideDefinitionPageComponent>();
11735        for (ImplementationGuideDefinitionPageComponent i : page)
11736          dst.page.add(i.copy());
11737      };
11738    }
11739
11740    @Override
11741    public boolean equalsDeep(Base other_) {
11742      if (!super.equalsDeep(other_))
11743        return false;
11744      if (!(other_ instanceof ImplementationGuideDefinitionPageComponent))
11745        return false;
11746      ImplementationGuideDefinitionPageComponent o = (ImplementationGuideDefinitionPageComponent) other_;
11747      return compareDeep(source, o.source, true) && compareDeep(name, o.name, true) && compareDeep(title, o.title, true)
11748          && compareDeep(generation, o.generation, true) && compareDeep(page, o.page, true);
11749    }
11750
11751    @Override
11752    public boolean equalsShallow(Base other_) {
11753      if (!super.equalsShallow(other_))
11754        return false;
11755      if (!(other_ instanceof ImplementationGuideDefinitionPageComponent))
11756        return false;
11757      ImplementationGuideDefinitionPageComponent o = (ImplementationGuideDefinitionPageComponent) other_;
11758      return compareValues(name, o.name, true) && compareValues(title, o.title, true) && compareValues(generation, o.generation, true)
11759          ;
11760    }
11761
11762    public boolean isEmpty() {
11763      return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(source, name, title, generation
11764          , page);
11765    }
11766
11767    public String fhirType() {
11768      return "ImplementationGuide.definition.page";
11769
11770    }
11771
11772  }
11773
11774  @Block()
11775  public static class ImplementationGuideDefinitionParameterComponent extends BackboneElement implements IBaseBackboneElement {
11776    /**
11777     * A tool-specific code that defines the parameter.
11778     */
11779    @Child(name = "code", type = {Coding.class}, order=1, min=1, max=1, modifier=false, summary=false)
11780    @Description(shortDefinition="Code that identifies parameter", formalDefinition="A tool-specific code that defines the parameter." )
11781    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/guide-parameter-code")
11782    protected Coding code;
11783
11784    /**
11785     * Value for named type.
11786     */
11787    @Child(name = "value", type = {StringType.class}, order=2, min=1, max=1, modifier=false, summary=false)
11788    @Description(shortDefinition="Value for named type", formalDefinition="Value for named type." )
11789    protected StringType value;
11790
11791    private static final long serialVersionUID = -1728909245L;
11792
11793    /**
11794     * Constructor
11795     */
11796    public ImplementationGuideDefinitionParameterComponent() {
11797      super();
11798    }
11799
11800    /**
11801     * Constructor
11802     */
11803    public ImplementationGuideDefinitionParameterComponent(Coding code, String value) {
11804      super();
11805      this.setCode(code);
11806      this.setValue(value);
11807    }
11808
11809    /**
11810     * @return {@link #code} (A tool-specific code that defines the parameter.)
11811     */
11812    public Coding getCode() { 
11813      if (this.code == null)
11814        if (Configuration.errorOnAutoCreate())
11815          throw new Error("Attempt to auto-create ImplementationGuideDefinitionParameterComponent.code");
11816        else if (Configuration.doAutoCreate())
11817          this.code = new Coding(); // cc
11818      return this.code;
11819    }
11820
11821    public boolean hasCode() { 
11822      return this.code != null && !this.code.isEmpty();
11823    }
11824
11825    /**
11826     * @param value {@link #code} (A tool-specific code that defines the parameter.)
11827     */
11828    public ImplementationGuideDefinitionParameterComponent setCode(Coding value) { 
11829      this.code = value;
11830      return this;
11831    }
11832
11833    /**
11834     * @return {@link #value} (Value for named type.). This is the underlying object with id, value and extensions. The accessor "getValue" gives direct access to the value
11835     */
11836    public StringType getValueElement() { 
11837      if (this.value == null)
11838        if (Configuration.errorOnAutoCreate())
11839          throw new Error("Attempt to auto-create ImplementationGuideDefinitionParameterComponent.value");
11840        else if (Configuration.doAutoCreate())
11841          this.value = new StringType(); // bb
11842      return this.value;
11843    }
11844
11845    public boolean hasValueElement() { 
11846      return this.value != null && !this.value.isEmpty();
11847    }
11848
11849    public boolean hasValue() { 
11850      return this.value != null && !this.value.isEmpty();
11851    }
11852
11853    /**
11854     * @param value {@link #value} (Value for named type.). This is the underlying object with id, value and extensions. The accessor "getValue" gives direct access to the value
11855     */
11856    public ImplementationGuideDefinitionParameterComponent setValueElement(StringType value) { 
11857      this.value = value;
11858      return this;
11859    }
11860
11861    /**
11862     * @return Value for named type.
11863     */
11864    public String getValue() { 
11865      return this.value == null ? null : this.value.getValue();
11866    }
11867
11868    /**
11869     * @param value Value for named type.
11870     */
11871    public ImplementationGuideDefinitionParameterComponent setValue(String value) { 
11872      if (this.value == null)
11873        this.value = new StringType();
11874      this.value.setValue(value);
11875      return this;
11876    }
11877
11878    protected void listChildren(List<Property> children) {
11879      super.listChildren(children);
11880      children.add(new Property("code", "Coding", "A tool-specific code that defines the parameter.", 0, 1, code));
11881      children.add(new Property("value", "string", "Value for named type.", 0, 1, value));
11882    }
11883
11884    @Override
11885    public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
11886      switch (_hash) {
11887      case 3059181: /*code*/  return new Property("code", "Coding", "A tool-specific code that defines the parameter.", 0, 1, code);
11888      case 111972721: /*value*/  return new Property("value", "string", "Value for named type.", 0, 1, value);
11889      default: return super.getNamedProperty(_hash, _name, _checkValid);
11890      }
11891
11892    }
11893
11894    @Override
11895    public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
11896      switch (hash) {
11897      case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // Coding
11898      case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // StringType
11899      default: return super.getProperty(hash, name, checkValid);
11900      }
11901
11902    }
11903
11904    @Override
11905    public Base setProperty(int hash, String name, Base value) throws FHIRException {
11906      switch (hash) {
11907      case 3059181: // code
11908        this.code = TypeConvertor.castToCoding(value); // Coding
11909        return value;
11910      case 111972721: // value
11911        this.value = TypeConvertor.castToString(value); // StringType
11912        return value;
11913      default: return super.setProperty(hash, name, value);
11914      }
11915
11916    }
11917
11918    @Override
11919    public Base setProperty(String name, Base value) throws FHIRException {
11920      if (name.equals("code")) {
11921        this.code = TypeConvertor.castToCoding(value); // Coding
11922      } else if (name.equals("value")) {
11923        this.value = TypeConvertor.castToString(value); // StringType
11924      } else
11925        return super.setProperty(name, value);
11926      return value;
11927    }
11928
11929  @Override
11930  public void removeChild(String name, Base value) throws FHIRException {
11931      if (name.equals("code")) {
11932        this.code = null;
11933      } else if (name.equals("value")) {
11934        this.value = null;
11935      } else
11936        super.removeChild(name, value);
11937      
11938    }
11939
11940    @Override
11941    public Base makeProperty(int hash, String name) throws FHIRException {
11942      switch (hash) {
11943      case 3059181:  return getCode();
11944      case 111972721:  return getValueElement();
11945      default: return super.makeProperty(hash, name);
11946      }
11947
11948    }
11949
11950    @Override
11951    public String[] getTypesForProperty(int hash, String name) throws FHIRException {
11952      switch (hash) {
11953      case 3059181: /*code*/ return new String[] {"Coding"};
11954      case 111972721: /*value*/ return new String[] {"string"};
11955      default: return super.getTypesForProperty(hash, name);
11956      }
11957
11958    }
11959
11960    @Override
11961    public Base addChild(String name) throws FHIRException {
11962      if (name.equals("code")) {
11963        this.code = new Coding();
11964        return this.code;
11965      }
11966      else if (name.equals("value")) {
11967        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.parameter.value");
11968      }
11969      else
11970        return super.addChild(name);
11971    }
11972
11973    public ImplementationGuideDefinitionParameterComponent copy() {
11974      ImplementationGuideDefinitionParameterComponent dst = new ImplementationGuideDefinitionParameterComponent();
11975      copyValues(dst);
11976      return dst;
11977    }
11978
11979    public void copyValues(ImplementationGuideDefinitionParameterComponent dst) {
11980      super.copyValues(dst);
11981      dst.code = code == null ? null : code.copy();
11982      dst.value = value == null ? null : value.copy();
11983    }
11984
11985    @Override
11986    public boolean equalsDeep(Base other_) {
11987      if (!super.equalsDeep(other_))
11988        return false;
11989      if (!(other_ instanceof ImplementationGuideDefinitionParameterComponent))
11990        return false;
11991      ImplementationGuideDefinitionParameterComponent o = (ImplementationGuideDefinitionParameterComponent) other_;
11992      return compareDeep(code, o.code, true) && compareDeep(value, o.value, true);
11993    }
11994
11995    @Override
11996    public boolean equalsShallow(Base other_) {
11997      if (!super.equalsShallow(other_))
11998        return false;
11999      if (!(other_ instanceof ImplementationGuideDefinitionParameterComponent))
12000        return false;
12001      ImplementationGuideDefinitionParameterComponent o = (ImplementationGuideDefinitionParameterComponent) other_;
12002      return compareValues(value, o.value, true);
12003    }
12004
12005    public boolean isEmpty() {
12006      return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, value);
12007    }
12008
12009    public String fhirType() {
12010      return "ImplementationGuide.definition.parameter";
12011
12012    }
12013
12014  }
12015
12016  @Block()
12017  public static class ImplementationGuideDefinitionTemplateComponent extends BackboneElement implements IBaseBackboneElement {
12018    /**
12019     * Type of template specified.
12020     */
12021    @Child(name = "code", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false)
12022    @Description(shortDefinition="Type of template specified", formalDefinition="Type of template specified." )
12023    protected CodeType code;
12024
12025    /**
12026     * The source location for the template.
12027     */
12028    @Child(name = "source", type = {StringType.class}, order=2, min=1, max=1, modifier=false, summary=false)
12029    @Description(shortDefinition="The source location for the template", formalDefinition="The source location for the template." )
12030    protected StringType source;
12031
12032    /**
12033     * The scope in which the template applies.
12034     */
12035    @Child(name = "scope", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false)
12036    @Description(shortDefinition="The scope in which the template applies", formalDefinition="The scope in which the template applies." )
12037    protected StringType scope;
12038
12039    private static final long serialVersionUID = 923832457L;
12040
12041    /**
12042     * Constructor
12043     */
12044    public ImplementationGuideDefinitionTemplateComponent() {
12045      super();
12046    }
12047
12048    /**
12049     * Constructor
12050     */
12051    public ImplementationGuideDefinitionTemplateComponent(String code, String source) {
12052      super();
12053      this.setCode(code);
12054      this.setSource(source);
12055    }
12056
12057    /**
12058     * @return {@link #code} (Type of template specified.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value
12059     */
12060    public CodeType getCodeElement() { 
12061      if (this.code == null)
12062        if (Configuration.errorOnAutoCreate())
12063          throw new Error("Attempt to auto-create ImplementationGuideDefinitionTemplateComponent.code");
12064        else if (Configuration.doAutoCreate())
12065          this.code = new CodeType(); // bb
12066      return this.code;
12067    }
12068
12069    public boolean hasCodeElement() { 
12070      return this.code != null && !this.code.isEmpty();
12071    }
12072
12073    public boolean hasCode() { 
12074      return this.code != null && !this.code.isEmpty();
12075    }
12076
12077    /**
12078     * @param value {@link #code} (Type of template specified.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value
12079     */
12080    public ImplementationGuideDefinitionTemplateComponent setCodeElement(CodeType value) { 
12081      this.code = value;
12082      return this;
12083    }
12084
12085    /**
12086     * @return Type of template specified.
12087     */
12088    public String getCode() { 
12089      return this.code == null ? null : this.code.getValue();
12090    }
12091
12092    /**
12093     * @param value Type of template specified.
12094     */
12095    public ImplementationGuideDefinitionTemplateComponent setCode(String value) { 
12096      if (this.code == null)
12097        this.code = new CodeType();
12098      this.code.setValue(value);
12099      return this;
12100    }
12101
12102    /**
12103     * @return {@link #source} (The source location for the template.). This is the underlying object with id, value and extensions. The accessor "getSource" gives direct access to the value
12104     */
12105    public StringType getSourceElement() { 
12106      if (this.source == null)
12107        if (Configuration.errorOnAutoCreate())
12108          throw new Error("Attempt to auto-create ImplementationGuideDefinitionTemplateComponent.source");
12109        else if (Configuration.doAutoCreate())
12110          this.source = new StringType(); // bb
12111      return this.source;
12112    }
12113
12114    public boolean hasSourceElement() { 
12115      return this.source != null && !this.source.isEmpty();
12116    }
12117
12118    public boolean hasSource() { 
12119      return this.source != null && !this.source.isEmpty();
12120    }
12121
12122    /**
12123     * @param value {@link #source} (The source location for the template.). This is the underlying object with id, value and extensions. The accessor "getSource" gives direct access to the value
12124     */
12125    public ImplementationGuideDefinitionTemplateComponent setSourceElement(StringType value) { 
12126      this.source = value;
12127      return this;
12128    }
12129
12130    /**
12131     * @return The source location for the template.
12132     */
12133    public String getSource() { 
12134      return this.source == null ? null : this.source.getValue();
12135    }
12136
12137    /**
12138     * @param value The source location for the template.
12139     */
12140    public ImplementationGuideDefinitionTemplateComponent setSource(String value) { 
12141      if (this.source == null)
12142        this.source = new StringType();
12143      this.source.setValue(value);
12144      return this;
12145    }
12146
12147    /**
12148     * @return {@link #scope} (The scope in which the template applies.). This is the underlying object with id, value and extensions. The accessor "getScope" gives direct access to the value
12149     */
12150    public StringType getScopeElement() { 
12151      if (this.scope == null)
12152        if (Configuration.errorOnAutoCreate())
12153          throw new Error("Attempt to auto-create ImplementationGuideDefinitionTemplateComponent.scope");
12154        else if (Configuration.doAutoCreate())
12155          this.scope = new StringType(); // bb
12156      return this.scope;
12157    }
12158
12159    public boolean hasScopeElement() { 
12160      return this.scope != null && !this.scope.isEmpty();
12161    }
12162
12163    public boolean hasScope() { 
12164      return this.scope != null && !this.scope.isEmpty();
12165    }
12166
12167    /**
12168     * @param value {@link #scope} (The scope in which the template applies.). This is the underlying object with id, value and extensions. The accessor "getScope" gives direct access to the value
12169     */
12170    public ImplementationGuideDefinitionTemplateComponent setScopeElement(StringType value) { 
12171      this.scope = value;
12172      return this;
12173    }
12174
12175    /**
12176     * @return The scope in which the template applies.
12177     */
12178    public String getScope() { 
12179      return this.scope == null ? null : this.scope.getValue();
12180    }
12181
12182    /**
12183     * @param value The scope in which the template applies.
12184     */
12185    public ImplementationGuideDefinitionTemplateComponent setScope(String value) { 
12186      if (Utilities.noString(value))
12187        this.scope = null;
12188      else {
12189        if (this.scope == null)
12190          this.scope = new StringType();
12191        this.scope.setValue(value);
12192      }
12193      return this;
12194    }
12195
12196    protected void listChildren(List<Property> children) {
12197      super.listChildren(children);
12198      children.add(new Property("code", "code", "Type of template specified.", 0, 1, code));
12199      children.add(new Property("source", "string", "The source location for the template.", 0, 1, source));
12200      children.add(new Property("scope", "string", "The scope in which the template applies.", 0, 1, scope));
12201    }
12202
12203    @Override
12204    public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
12205      switch (_hash) {
12206      case 3059181: /*code*/  return new Property("code", "code", "Type of template specified.", 0, 1, code);
12207      case -896505829: /*source*/  return new Property("source", "string", "The source location for the template.", 0, 1, source);
12208      case 109264468: /*scope*/  return new Property("scope", "string", "The scope in which the template applies.", 0, 1, scope);
12209      default: return super.getNamedProperty(_hash, _name, _checkValid);
12210      }
12211
12212    }
12213
12214    @Override
12215    public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
12216      switch (hash) {
12217      case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType
12218      case -896505829: /*source*/ return this.source == null ? new Base[0] : new Base[] {this.source}; // StringType
12219      case 109264468: /*scope*/ return this.scope == null ? new Base[0] : new Base[] {this.scope}; // StringType
12220      default: return super.getProperty(hash, name, checkValid);
12221      }
12222
12223    }
12224
12225    @Override
12226    public Base setProperty(int hash, String name, Base value) throws FHIRException {
12227      switch (hash) {
12228      case 3059181: // code
12229        this.code = TypeConvertor.castToCode(value); // CodeType
12230        return value;
12231      case -896505829: // source
12232        this.source = TypeConvertor.castToString(value); // StringType
12233        return value;
12234      case 109264468: // scope
12235        this.scope = TypeConvertor.castToString(value); // StringType
12236        return value;
12237      default: return super.setProperty(hash, name, value);
12238      }
12239
12240    }
12241
12242    @Override
12243    public Base setProperty(String name, Base value) throws FHIRException {
12244      if (name.equals("code")) {
12245        this.code = TypeConvertor.castToCode(value); // CodeType
12246      } else if (name.equals("source")) {
12247        this.source = TypeConvertor.castToString(value); // StringType
12248      } else if (name.equals("scope")) {
12249        this.scope = TypeConvertor.castToString(value); // StringType
12250      } else
12251        return super.setProperty(name, value);
12252      return value;
12253    }
12254
12255  @Override
12256  public void removeChild(String name, Base value) throws FHIRException {
12257      if (name.equals("code")) {
12258        this.code = null;
12259      } else if (name.equals("source")) {
12260        this.source = null;
12261      } else if (name.equals("scope")) {
12262        this.scope = null;
12263      } else
12264        super.removeChild(name, value);
12265      
12266    }
12267
12268    @Override
12269    public Base makeProperty(int hash, String name) throws FHIRException {
12270      switch (hash) {
12271      case 3059181:  return getCodeElement();
12272      case -896505829:  return getSourceElement();
12273      case 109264468:  return getScopeElement();
12274      default: return super.makeProperty(hash, name);
12275      }
12276
12277    }
12278
12279    @Override
12280    public String[] getTypesForProperty(int hash, String name) throws FHIRException {
12281      switch (hash) {
12282      case 3059181: /*code*/ return new String[] {"code"};
12283      case -896505829: /*source*/ return new String[] {"string"};
12284      case 109264468: /*scope*/ return new String[] {"string"};
12285      default: return super.getTypesForProperty(hash, name);
12286      }
12287
12288    }
12289
12290    @Override
12291    public Base addChild(String name) throws FHIRException {
12292      if (name.equals("code")) {
12293        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.template.code");
12294      }
12295      else if (name.equals("source")) {
12296        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.template.source");
12297      }
12298      else if (name.equals("scope")) {
12299        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.template.scope");
12300      }
12301      else
12302        return super.addChild(name);
12303    }
12304
12305    public ImplementationGuideDefinitionTemplateComponent copy() {
12306      ImplementationGuideDefinitionTemplateComponent dst = new ImplementationGuideDefinitionTemplateComponent();
12307      copyValues(dst);
12308      return dst;
12309    }
12310
12311    public void copyValues(ImplementationGuideDefinitionTemplateComponent dst) {
12312      super.copyValues(dst);
12313      dst.code = code == null ? null : code.copy();
12314      dst.source = source == null ? null : source.copy();
12315      dst.scope = scope == null ? null : scope.copy();
12316    }
12317
12318    @Override
12319    public boolean equalsDeep(Base other_) {
12320      if (!super.equalsDeep(other_))
12321        return false;
12322      if (!(other_ instanceof ImplementationGuideDefinitionTemplateComponent))
12323        return false;
12324      ImplementationGuideDefinitionTemplateComponent o = (ImplementationGuideDefinitionTemplateComponent) other_;
12325      return compareDeep(code, o.code, true) && compareDeep(source, o.source, true) && compareDeep(scope, o.scope, true)
12326          ;
12327    }
12328
12329    @Override
12330    public boolean equalsShallow(Base other_) {
12331      if (!super.equalsShallow(other_))
12332        return false;
12333      if (!(other_ instanceof ImplementationGuideDefinitionTemplateComponent))
12334        return false;
12335      ImplementationGuideDefinitionTemplateComponent o = (ImplementationGuideDefinitionTemplateComponent) other_;
12336      return compareValues(code, o.code, true) && compareValues(source, o.source, true) && compareValues(scope, o.scope, true)
12337          ;
12338    }
12339
12340    public boolean isEmpty() {
12341      return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, source, scope);
12342    }
12343
12344    public String fhirType() {
12345      return "ImplementationGuide.definition.template";
12346
12347    }
12348
12349  }
12350
12351  @Block()
12352  public static class ImplementationGuideManifestComponent extends BackboneElement implements IBaseBackboneElement {
12353    /**
12354     * A pointer to official web page, PDF or other rendering of the implementation guide.
12355     */
12356    @Child(name = "rendering", type = {UrlType.class}, order=1, min=0, max=1, modifier=false, summary=true)
12357    @Description(shortDefinition="Location of rendered implementation guide", formalDefinition="A pointer to official web page, PDF or other rendering of the implementation guide." )
12358    protected UrlType rendering;
12359
12360    /**
12361     * A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource.
12362     */
12363    @Child(name = "resource", type = {}, order=2, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
12364    @Description(shortDefinition="Resource in the implementation guide", formalDefinition="A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource." )
12365    protected List<ManifestResourceComponent> resource;
12366
12367    /**
12368     * Information about a page within the IG.
12369     */
12370    @Child(name = "page", type = {}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
12371    @Description(shortDefinition="HTML page within the parent IG", formalDefinition="Information about a page within the IG." )
12372    protected List<ManifestPageComponent> page;
12373
12374    /**
12375     * Indicates a relative path to an image that exists within the IG.
12376     */
12377    @Child(name = "image", type = {StringType.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
12378    @Description(shortDefinition="Image within the IG", formalDefinition="Indicates a relative path to an image that exists within the IG." )
12379    protected List<StringType> image;
12380
12381    /**
12382     * Indicates the relative path of an additional non-page, non-image file that is part of the IG - e.g. zip, jar and similar files that could be the target of a hyperlink in a derived IG.
12383     */
12384    @Child(name = "other", type = {StringType.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
12385    @Description(shortDefinition="Additional linkable file in IG", formalDefinition="Indicates the relative path of an additional non-page, non-image file that is part of the IG - e.g. zip, jar and similar files that could be the target of a hyperlink in a derived IG." )
12386    protected List<StringType> other;
12387
12388    private static final long serialVersionUID = 1881327712L;
12389
12390    /**
12391     * Constructor
12392     */
12393    public ImplementationGuideManifestComponent() {
12394      super();
12395    }
12396
12397    /**
12398     * Constructor
12399     */
12400    public ImplementationGuideManifestComponent(ManifestResourceComponent resource) {
12401      super();
12402      this.addResource(resource);
12403    }
12404
12405    /**
12406     * @return {@link #rendering} (A pointer to official web page, PDF or other rendering of the implementation guide.). This is the underlying object with id, value and extensions. The accessor "getRendering" gives direct access to the value
12407     */
12408    public UrlType getRenderingElement() { 
12409      if (this.rendering == null)
12410        if (Configuration.errorOnAutoCreate())
12411          throw new Error("Attempt to auto-create ImplementationGuideManifestComponent.rendering");
12412        else if (Configuration.doAutoCreate())
12413          this.rendering = new UrlType(); // bb
12414      return this.rendering;
12415    }
12416
12417    public boolean hasRenderingElement() { 
12418      return this.rendering != null && !this.rendering.isEmpty();
12419    }
12420
12421    public boolean hasRendering() { 
12422      return this.rendering != null && !this.rendering.isEmpty();
12423    }
12424
12425    /**
12426     * @param value {@link #rendering} (A pointer to official web page, PDF or other rendering of the implementation guide.). This is the underlying object with id, value and extensions. The accessor "getRendering" gives direct access to the value
12427     */
12428    public ImplementationGuideManifestComponent setRenderingElement(UrlType value) { 
12429      this.rendering = value;
12430      return this;
12431    }
12432
12433    /**
12434     * @return A pointer to official web page, PDF or other rendering of the implementation guide.
12435     */
12436    public String getRendering() { 
12437      return this.rendering == null ? null : this.rendering.getValue();
12438    }
12439
12440    /**
12441     * @param value A pointer to official web page, PDF or other rendering of the implementation guide.
12442     */
12443    public ImplementationGuideManifestComponent setRendering(String value) { 
12444      if (Utilities.noString(value))
12445        this.rendering = null;
12446      else {
12447        if (this.rendering == null)
12448          this.rendering = new UrlType();
12449        this.rendering.setValue(value);
12450      }
12451      return this;
12452    }
12453
12454    /**
12455     * @return {@link #resource} (A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource.)
12456     */
12457    public List<ManifestResourceComponent> getResource() { 
12458      if (this.resource == null)
12459        this.resource = new ArrayList<ManifestResourceComponent>();
12460      return this.resource;
12461    }
12462
12463    /**
12464     * @return Returns a reference to <code>this</code> for easy method chaining
12465     */
12466    public ImplementationGuideManifestComponent setResource(List<ManifestResourceComponent> theResource) { 
12467      this.resource = theResource;
12468      return this;
12469    }
12470
12471    public boolean hasResource() { 
12472      if (this.resource == null)
12473        return false;
12474      for (ManifestResourceComponent item : this.resource)
12475        if (!item.isEmpty())
12476          return true;
12477      return false;
12478    }
12479
12480    public ManifestResourceComponent addResource() { //3
12481      ManifestResourceComponent t = new ManifestResourceComponent();
12482      if (this.resource == null)
12483        this.resource = new ArrayList<ManifestResourceComponent>();
12484      this.resource.add(t);
12485      return t;
12486    }
12487
12488    public ImplementationGuideManifestComponent addResource(ManifestResourceComponent t) { //3
12489      if (t == null)
12490        return this;
12491      if (this.resource == null)
12492        this.resource = new ArrayList<ManifestResourceComponent>();
12493      this.resource.add(t);
12494      return this;
12495    }
12496
12497    /**
12498     * @return The first repetition of repeating field {@link #resource}, creating it if it does not already exist {3}
12499     */
12500    public ManifestResourceComponent getResourceFirstRep() { 
12501      if (getResource().isEmpty()) {
12502        addResource();
12503      }
12504      return getResource().get(0);
12505    }
12506
12507    /**
12508     * @return {@link #page} (Information about a page within the IG.)
12509     */
12510    public List<ManifestPageComponent> getPage() { 
12511      if (this.page == null)
12512        this.page = new ArrayList<ManifestPageComponent>();
12513      return this.page;
12514    }
12515
12516    /**
12517     * @return Returns a reference to <code>this</code> for easy method chaining
12518     */
12519    public ImplementationGuideManifestComponent setPage(List<ManifestPageComponent> thePage) { 
12520      this.page = thePage;
12521      return this;
12522    }
12523
12524    public boolean hasPage() { 
12525      if (this.page == null)
12526        return false;
12527      for (ManifestPageComponent item : this.page)
12528        if (!item.isEmpty())
12529          return true;
12530      return false;
12531    }
12532
12533    public ManifestPageComponent addPage() { //3
12534      ManifestPageComponent t = new ManifestPageComponent();
12535      if (this.page == null)
12536        this.page = new ArrayList<ManifestPageComponent>();
12537      this.page.add(t);
12538      return t;
12539    }
12540
12541    public ImplementationGuideManifestComponent addPage(ManifestPageComponent t) { //3
12542      if (t == null)
12543        return this;
12544      if (this.page == null)
12545        this.page = new ArrayList<ManifestPageComponent>();
12546      this.page.add(t);
12547      return this;
12548    }
12549
12550    /**
12551     * @return The first repetition of repeating field {@link #page}, creating it if it does not already exist {3}
12552     */
12553    public ManifestPageComponent getPageFirstRep() { 
12554      if (getPage().isEmpty()) {
12555        addPage();
12556      }
12557      return getPage().get(0);
12558    }
12559
12560    /**
12561     * @return {@link #image} (Indicates a relative path to an image that exists within the IG.)
12562     */
12563    public List<StringType> getImage() { 
12564      if (this.image == null)
12565        this.image = new ArrayList<StringType>();
12566      return this.image;
12567    }
12568
12569    /**
12570     * @return Returns a reference to <code>this</code> for easy method chaining
12571     */
12572    public ImplementationGuideManifestComponent setImage(List<StringType> theImage) { 
12573      this.image = theImage;
12574      return this;
12575    }
12576
12577    public boolean hasImage() { 
12578      if (this.image == null)
12579        return false;
12580      for (StringType item : this.image)
12581        if (!item.isEmpty())
12582          return true;
12583      return false;
12584    }
12585
12586    /**
12587     * @return {@link #image} (Indicates a relative path to an image that exists within the IG.)
12588     */
12589    public StringType addImageElement() {//2 
12590      StringType t = new StringType();
12591      if (this.image == null)
12592        this.image = new ArrayList<StringType>();
12593      this.image.add(t);
12594      return t;
12595    }
12596
12597    /**
12598     * @param value {@link #image} (Indicates a relative path to an image that exists within the IG.)
12599     */
12600    public ImplementationGuideManifestComponent addImage(String value) { //1
12601      StringType t = new StringType();
12602      t.setValue(value);
12603      if (this.image == null)
12604        this.image = new ArrayList<StringType>();
12605      this.image.add(t);
12606      return this;
12607    }
12608
12609    /**
12610     * @param value {@link #image} (Indicates a relative path to an image that exists within the IG.)
12611     */
12612    public boolean hasImage(String value) { 
12613      if (this.image == null)
12614        return false;
12615      for (StringType v : this.image)
12616        if (v.getValue().equals(value)) // string
12617          return true;
12618      return false;
12619    }
12620
12621    /**
12622     * @return {@link #other} (Indicates the relative path of an additional non-page, non-image file that is part of the IG - e.g. zip, jar and similar files that could be the target of a hyperlink in a derived IG.)
12623     */
12624    public List<StringType> getOther() { 
12625      if (this.other == null)
12626        this.other = new ArrayList<StringType>();
12627      return this.other;
12628    }
12629
12630    /**
12631     * @return Returns a reference to <code>this</code> for easy method chaining
12632     */
12633    public ImplementationGuideManifestComponent setOther(List<StringType> theOther) { 
12634      this.other = theOther;
12635      return this;
12636    }
12637
12638    public boolean hasOther() { 
12639      if (this.other == null)
12640        return false;
12641      for (StringType item : this.other)
12642        if (!item.isEmpty())
12643          return true;
12644      return false;
12645    }
12646
12647    /**
12648     * @return {@link #other} (Indicates the relative path of an additional non-page, non-image file that is part of the IG - e.g. zip, jar and similar files that could be the target of a hyperlink in a derived IG.)
12649     */
12650    public StringType addOtherElement() {//2 
12651      StringType t = new StringType();
12652      if (this.other == null)
12653        this.other = new ArrayList<StringType>();
12654      this.other.add(t);
12655      return t;
12656    }
12657
12658    /**
12659     * @param value {@link #other} (Indicates the relative path of an additional non-page, non-image file that is part of the IG - e.g. zip, jar and similar files that could be the target of a hyperlink in a derived IG.)
12660     */
12661    public ImplementationGuideManifestComponent addOther(String value) { //1
12662      StringType t = new StringType();
12663      t.setValue(value);
12664      if (this.other == null)
12665        this.other = new ArrayList<StringType>();
12666      this.other.add(t);
12667      return this;
12668    }
12669
12670    /**
12671     * @param value {@link #other} (Indicates the relative path of an additional non-page, non-image file that is part of the IG - e.g. zip, jar and similar files that could be the target of a hyperlink in a derived IG.)
12672     */
12673    public boolean hasOther(String value) { 
12674      if (this.other == null)
12675        return false;
12676      for (StringType v : this.other)
12677        if (v.getValue().equals(value)) // string
12678          return true;
12679      return false;
12680    }
12681
12682    protected void listChildren(List<Property> children) {
12683      super.listChildren(children);
12684      children.add(new Property("rendering", "url", "A pointer to official web page, PDF or other rendering of the implementation guide.", 0, 1, rendering));
12685      children.add(new Property("resource", "", "A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource.", 0, java.lang.Integer.MAX_VALUE, resource));
12686      children.add(new Property("page", "", "Information about a page within the IG.", 0, java.lang.Integer.MAX_VALUE, page));
12687      children.add(new Property("image", "string", "Indicates a relative path to an image that exists within the IG.", 0, java.lang.Integer.MAX_VALUE, image));
12688      children.add(new Property("other", "string", "Indicates the relative path of an additional non-page, non-image file that is part of the IG - e.g. zip, jar and similar files that could be the target of a hyperlink in a derived IG.", 0, java.lang.Integer.MAX_VALUE, other));
12689    }
12690
12691    @Override
12692    public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
12693      switch (_hash) {
12694      case 1839654540: /*rendering*/  return new Property("rendering", "url", "A pointer to official web page, PDF or other rendering of the implementation guide.", 0, 1, rendering);
12695      case -341064690: /*resource*/  return new Property("resource", "", "A resource that is part of the implementation guide. Conformance resources (value set, structure definition, capability statements etc.) are obvious candidates for inclusion, but any kind of resource can be included as an example resource.", 0, java.lang.Integer.MAX_VALUE, resource);
12696      case 3433103: /*page*/  return new Property("page", "", "Information about a page within the IG.", 0, java.lang.Integer.MAX_VALUE, page);
12697      case 100313435: /*image*/  return new Property("image", "string", "Indicates a relative path to an image that exists within the IG.", 0, java.lang.Integer.MAX_VALUE, image);
12698      case 106069776: /*other*/  return new Property("other", "string", "Indicates the relative path of an additional non-page, non-image file that is part of the IG - e.g. zip, jar and similar files that could be the target of a hyperlink in a derived IG.", 0, java.lang.Integer.MAX_VALUE, other);
12699      default: return super.getNamedProperty(_hash, _name, _checkValid);
12700      }
12701
12702    }
12703
12704    @Override
12705    public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
12706      switch (hash) {
12707      case 1839654540: /*rendering*/ return this.rendering == null ? new Base[0] : new Base[] {this.rendering}; // UrlType
12708      case -341064690: /*resource*/ return this.resource == null ? new Base[0] : this.resource.toArray(new Base[this.resource.size()]); // ManifestResourceComponent
12709      case 3433103: /*page*/ return this.page == null ? new Base[0] : this.page.toArray(new Base[this.page.size()]); // ManifestPageComponent
12710      case 100313435: /*image*/ return this.image == null ? new Base[0] : this.image.toArray(new Base[this.image.size()]); // StringType
12711      case 106069776: /*other*/ return this.other == null ? new Base[0] : this.other.toArray(new Base[this.other.size()]); // StringType
12712      default: return super.getProperty(hash, name, checkValid);
12713      }
12714
12715    }
12716
12717    @Override
12718    public Base setProperty(int hash, String name, Base value) throws FHIRException {
12719      switch (hash) {
12720      case 1839654540: // rendering
12721        this.rendering = TypeConvertor.castToUrl(value); // UrlType
12722        return value;
12723      case -341064690: // resource
12724        this.getResource().add((ManifestResourceComponent) value); // ManifestResourceComponent
12725        return value;
12726      case 3433103: // page
12727        this.getPage().add((ManifestPageComponent) value); // ManifestPageComponent
12728        return value;
12729      case 100313435: // image
12730        this.getImage().add(TypeConvertor.castToString(value)); // StringType
12731        return value;
12732      case 106069776: // other
12733        this.getOther().add(TypeConvertor.castToString(value)); // StringType
12734        return value;
12735      default: return super.setProperty(hash, name, value);
12736      }
12737
12738    }
12739
12740    @Override
12741    public Base setProperty(String name, Base value) throws FHIRException {
12742      if (name.equals("rendering")) {
12743        this.rendering = TypeConvertor.castToUrl(value); // UrlType
12744      } else if (name.equals("resource")) {
12745        this.getResource().add((ManifestResourceComponent) value);
12746      } else if (name.equals("page")) {
12747        this.getPage().add((ManifestPageComponent) value);
12748      } else if (name.equals("image")) {
12749        this.getImage().add(TypeConvertor.castToString(value));
12750      } else if (name.equals("other")) {
12751        this.getOther().add(TypeConvertor.castToString(value));
12752      } else
12753        return super.setProperty(name, value);
12754      return value;
12755    }
12756
12757  @Override
12758  public void removeChild(String name, Base value) throws FHIRException {
12759      if (name.equals("rendering")) {
12760        this.rendering = null;
12761      } else if (name.equals("resource")) {
12762        this.getResource().remove((ManifestResourceComponent) value);
12763      } else if (name.equals("page")) {
12764        this.getPage().remove((ManifestPageComponent) value);
12765      } else if (name.equals("image")) {
12766        this.getImage().remove(value);
12767      } else if (name.equals("other")) {
12768        this.getOther().remove(value);
12769      } else
12770        super.removeChild(name, value);
12771      
12772    }
12773
12774    @Override
12775    public Base makeProperty(int hash, String name) throws FHIRException {
12776      switch (hash) {
12777      case 1839654540:  return getRenderingElement();
12778      case -341064690:  return addResource(); 
12779      case 3433103:  return addPage(); 
12780      case 100313435:  return addImageElement();
12781      case 106069776:  return addOtherElement();
12782      default: return super.makeProperty(hash, name);
12783      }
12784
12785    }
12786
12787    @Override
12788    public String[] getTypesForProperty(int hash, String name) throws FHIRException {
12789      switch (hash) {
12790      case 1839654540: /*rendering*/ return new String[] {"url"};
12791      case -341064690: /*resource*/ return new String[] {};
12792      case 3433103: /*page*/ return new String[] {};
12793      case 100313435: /*image*/ return new String[] {"string"};
12794      case 106069776: /*other*/ return new String[] {"string"};
12795      default: return super.getTypesForProperty(hash, name);
12796      }
12797
12798    }
12799
12800    @Override
12801    public Base addChild(String name) throws FHIRException {
12802      if (name.equals("rendering")) {
12803        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.manifest.rendering");
12804      }
12805      else if (name.equals("resource")) {
12806        return addResource();
12807      }
12808      else if (name.equals("page")) {
12809        return addPage();
12810      }
12811      else if (name.equals("image")) {
12812        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.manifest.image");
12813      }
12814      else if (name.equals("other")) {
12815        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.manifest.other");
12816      }
12817      else
12818        return super.addChild(name);
12819    }
12820
12821    public ImplementationGuideManifestComponent copy() {
12822      ImplementationGuideManifestComponent dst = new ImplementationGuideManifestComponent();
12823      copyValues(dst);
12824      return dst;
12825    }
12826
12827    public void copyValues(ImplementationGuideManifestComponent dst) {
12828      super.copyValues(dst);
12829      dst.rendering = rendering == null ? null : rendering.copy();
12830      if (resource != null) {
12831        dst.resource = new ArrayList<ManifestResourceComponent>();
12832        for (ManifestResourceComponent i : resource)
12833          dst.resource.add(i.copy());
12834      };
12835      if (page != null) {
12836        dst.page = new ArrayList<ManifestPageComponent>();
12837        for (ManifestPageComponent i : page)
12838          dst.page.add(i.copy());
12839      };
12840      if (image != null) {
12841        dst.image = new ArrayList<StringType>();
12842        for (StringType i : image)
12843          dst.image.add(i.copy());
12844      };
12845      if (other != null) {
12846        dst.other = new ArrayList<StringType>();
12847        for (StringType i : other)
12848          dst.other.add(i.copy());
12849      };
12850    }
12851
12852    @Override
12853    public boolean equalsDeep(Base other_) {
12854      if (!super.equalsDeep(other_))
12855        return false;
12856      if (!(other_ instanceof ImplementationGuideManifestComponent))
12857        return false;
12858      ImplementationGuideManifestComponent o = (ImplementationGuideManifestComponent) other_;
12859      return compareDeep(rendering, o.rendering, true) && compareDeep(resource, o.resource, true) && compareDeep(page, o.page, true)
12860          && compareDeep(image, o.image, true) && compareDeep(other, o.other, true);
12861    }
12862
12863    @Override
12864    public boolean equalsShallow(Base other_) {
12865      if (!super.equalsShallow(other_))
12866        return false;
12867      if (!(other_ instanceof ImplementationGuideManifestComponent))
12868        return false;
12869      ImplementationGuideManifestComponent o = (ImplementationGuideManifestComponent) other_;
12870      return compareValues(rendering, o.rendering, true) && compareValues(image, o.image, true) && compareValues(other, o.other, true)
12871          ;
12872    }
12873
12874    public boolean isEmpty() {
12875      return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(rendering, resource, page
12876          , image, other);
12877    }
12878
12879    public String fhirType() {
12880      return "ImplementationGuide.manifest";
12881
12882    }
12883
12884  }
12885
12886  @Block()
12887  public static class ManifestResourceComponent extends BackboneElement implements IBaseBackboneElement {
12888    /**
12889     * Where this resource is found.
12890     */
12891    @Child(name = "reference", type = {Reference.class}, order=1, min=1, max=1, modifier=false, summary=true)
12892    @Description(shortDefinition="Location of the resource", formalDefinition="Where this resource is found." )
12893    protected Reference reference;
12894
12895    /**
12896     * If true, indicates the resource is an example instance.
12897     */
12898    @Child(name = "isExample", type = {BooleanType.class}, order=2, min=0, max=1, modifier=false, summary=false)
12899    @Description(shortDefinition="Is this an example", formalDefinition="If true, indicates the resource is an example instance." )
12900    protected BooleanType isExample;
12901
12902    /**
12903     * If present, indicates profile(s) the instance is valid against.
12904     */
12905    @Child(name = "profile", type = {CanonicalType.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
12906    @Description(shortDefinition="Profile(s) this is an example of", formalDefinition="If present, indicates profile(s) the instance is valid against." )
12907    protected List<CanonicalType> profile;
12908
12909    /**
12910     * The relative path for primary page for this resource within the IG.
12911     */
12912    @Child(name = "relativePath", type = {UrlType.class}, order=4, min=0, max=1, modifier=false, summary=false)
12913    @Description(shortDefinition="Relative path for page in IG", formalDefinition="The relative path for primary page for this resource within the IG." )
12914    protected UrlType relativePath;
12915
12916    private static final long serialVersionUID = 66726063L;
12917
12918    /**
12919     * Constructor
12920     */
12921    public ManifestResourceComponent() {
12922      super();
12923    }
12924
12925    /**
12926     * Constructor
12927     */
12928    public ManifestResourceComponent(Reference reference) {
12929      super();
12930      this.setReference(reference);
12931    }
12932
12933    /**
12934     * @return {@link #reference} (Where this resource is found.)
12935     */
12936    public Reference getReference() { 
12937      if (this.reference == null)
12938        if (Configuration.errorOnAutoCreate())
12939          throw new Error("Attempt to auto-create ManifestResourceComponent.reference");
12940        else if (Configuration.doAutoCreate())
12941          this.reference = new Reference(); // cc
12942      return this.reference;
12943    }
12944
12945    public boolean hasReference() { 
12946      return this.reference != null && !this.reference.isEmpty();
12947    }
12948
12949    /**
12950     * @param value {@link #reference} (Where this resource is found.)
12951     */
12952    public ManifestResourceComponent setReference(Reference value) { 
12953      this.reference = value;
12954      return this;
12955    }
12956
12957    /**
12958     * @return {@link #isExample} (If true, indicates the resource is an example instance.). This is the underlying object with id, value and extensions. The accessor "getIsExample" gives direct access to the value
12959     */
12960    public BooleanType getIsExampleElement() { 
12961      if (this.isExample == null)
12962        if (Configuration.errorOnAutoCreate())
12963          throw new Error("Attempt to auto-create ManifestResourceComponent.isExample");
12964        else if (Configuration.doAutoCreate())
12965          this.isExample = new BooleanType(); // bb
12966      return this.isExample;
12967    }
12968
12969    public boolean hasIsExampleElement() { 
12970      return this.isExample != null && !this.isExample.isEmpty();
12971    }
12972
12973    public boolean hasIsExample() { 
12974      return this.isExample != null && !this.isExample.isEmpty();
12975    }
12976
12977    /**
12978     * @param value {@link #isExample} (If true, indicates the resource is an example instance.). This is the underlying object with id, value and extensions. The accessor "getIsExample" gives direct access to the value
12979     */
12980    public ManifestResourceComponent setIsExampleElement(BooleanType value) { 
12981      this.isExample = value;
12982      return this;
12983    }
12984
12985    /**
12986     * @return If true, indicates the resource is an example instance.
12987     */
12988    public boolean getIsExample() { 
12989      return this.isExample == null || this.isExample.isEmpty() ? false : this.isExample.getValue();
12990    }
12991
12992    /**
12993     * @param value If true, indicates the resource is an example instance.
12994     */
12995    public ManifestResourceComponent setIsExample(boolean value) { 
12996      if (this.isExample == null)
12997        this.isExample = new BooleanType();
12998      this.isExample.setValue(value);
12999      return this;
13000    }
13001
13002    /**
13003     * @return {@link #profile} (If present, indicates profile(s) the instance is valid against.)
13004     */
13005    public List<CanonicalType> getProfile() { 
13006      if (this.profile == null)
13007        this.profile = new ArrayList<CanonicalType>();
13008      return this.profile;
13009    }
13010
13011    /**
13012     * @return Returns a reference to <code>this</code> for easy method chaining
13013     */
13014    public ManifestResourceComponent setProfile(List<CanonicalType> theProfile) { 
13015      this.profile = theProfile;
13016      return this;
13017    }
13018
13019    public boolean hasProfile() { 
13020      if (this.profile == null)
13021        return false;
13022      for (CanonicalType item : this.profile)
13023        if (!item.isEmpty())
13024          return true;
13025      return false;
13026    }
13027
13028    /**
13029     * @return {@link #profile} (If present, indicates profile(s) the instance is valid against.)
13030     */
13031    public CanonicalType addProfileElement() {//2 
13032      CanonicalType t = new CanonicalType();
13033      if (this.profile == null)
13034        this.profile = new ArrayList<CanonicalType>();
13035      this.profile.add(t);
13036      return t;
13037    }
13038
13039    /**
13040     * @param value {@link #profile} (If present, indicates profile(s) the instance is valid against.)
13041     */
13042    public ManifestResourceComponent addProfile(String value) { //1
13043      CanonicalType t = new CanonicalType();
13044      t.setValue(value);
13045      if (this.profile == null)
13046        this.profile = new ArrayList<CanonicalType>();
13047      this.profile.add(t);
13048      return this;
13049    }
13050
13051    /**
13052     * @param value {@link #profile} (If present, indicates profile(s) the instance is valid against.)
13053     */
13054    public boolean hasProfile(String value) { 
13055      if (this.profile == null)
13056        return false;
13057      for (CanonicalType v : this.profile)
13058        if (v.getValue().equals(value)) // canonical
13059          return true;
13060      return false;
13061    }
13062
13063    /**
13064     * @return {@link #relativePath} (The relative path for primary page for this resource within the IG.). This is the underlying object with id, value and extensions. The accessor "getRelativePath" gives direct access to the value
13065     */
13066    public UrlType getRelativePathElement() { 
13067      if (this.relativePath == null)
13068        if (Configuration.errorOnAutoCreate())
13069          throw new Error("Attempt to auto-create ManifestResourceComponent.relativePath");
13070        else if (Configuration.doAutoCreate())
13071          this.relativePath = new UrlType(); // bb
13072      return this.relativePath;
13073    }
13074
13075    public boolean hasRelativePathElement() { 
13076      return this.relativePath != null && !this.relativePath.isEmpty();
13077    }
13078
13079    public boolean hasRelativePath() { 
13080      return this.relativePath != null && !this.relativePath.isEmpty();
13081    }
13082
13083    /**
13084     * @param value {@link #relativePath} (The relative path for primary page for this resource within the IG.). This is the underlying object with id, value and extensions. The accessor "getRelativePath" gives direct access to the value
13085     */
13086    public ManifestResourceComponent setRelativePathElement(UrlType value) { 
13087      this.relativePath = value;
13088      return this;
13089    }
13090
13091    /**
13092     * @return The relative path for primary page for this resource within the IG.
13093     */
13094    public String getRelativePath() { 
13095      return this.relativePath == null ? null : this.relativePath.getValue();
13096    }
13097
13098    /**
13099     * @param value The relative path for primary page for this resource within the IG.
13100     */
13101    public ManifestResourceComponent setRelativePath(String value) { 
13102      if (Utilities.noString(value))
13103        this.relativePath = null;
13104      else {
13105        if (this.relativePath == null)
13106          this.relativePath = new UrlType();
13107        this.relativePath.setValue(value);
13108      }
13109      return this;
13110    }
13111
13112    protected void listChildren(List<Property> children) {
13113      super.listChildren(children);
13114      children.add(new Property("reference", "Reference(Any)", "Where this resource is found.", 0, 1, reference));
13115      children.add(new Property("isExample", "boolean", "If true, indicates the resource is an example instance.", 0, 1, isExample));
13116      children.add(new Property("profile", "canonical(StructureDefinition)", "If present, indicates profile(s) the instance is valid against.", 0, java.lang.Integer.MAX_VALUE, profile));
13117      children.add(new Property("relativePath", "url", "The relative path for primary page for this resource within the IG.", 0, 1, relativePath));
13118    }
13119
13120    @Override
13121    public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
13122      switch (_hash) {
13123      case -925155509: /*reference*/  return new Property("reference", "Reference(Any)", "Where this resource is found.", 0, 1, reference);
13124      case -1902749472: /*isExample*/  return new Property("isExample", "boolean", "If true, indicates the resource is an example instance.", 0, 1, isExample);
13125      case -309425751: /*profile*/  return new Property("profile", "canonical(StructureDefinition)", "If present, indicates profile(s) the instance is valid against.", 0, java.lang.Integer.MAX_VALUE, profile);
13126      case -70808303: /*relativePath*/  return new Property("relativePath", "url", "The relative path for primary page for this resource within the IG.", 0, 1, relativePath);
13127      default: return super.getNamedProperty(_hash, _name, _checkValid);
13128      }
13129
13130    }
13131
13132    @Override
13133    public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
13134      switch (hash) {
13135      case -925155509: /*reference*/ return this.reference == null ? new Base[0] : new Base[] {this.reference}; // Reference
13136      case -1902749472: /*isExample*/ return this.isExample == null ? new Base[0] : new Base[] {this.isExample}; // BooleanType
13137      case -309425751: /*profile*/ return this.profile == null ? new Base[0] : this.profile.toArray(new Base[this.profile.size()]); // CanonicalType
13138      case -70808303: /*relativePath*/ return this.relativePath == null ? new Base[0] : new Base[] {this.relativePath}; // UrlType
13139      default: return super.getProperty(hash, name, checkValid);
13140      }
13141
13142    }
13143
13144    @Override
13145    public Base setProperty(int hash, String name, Base value) throws FHIRException {
13146      switch (hash) {
13147      case -925155509: // reference
13148        this.reference = TypeConvertor.castToReference(value); // Reference
13149        return value;
13150      case -1902749472: // isExample
13151        this.isExample = TypeConvertor.castToBoolean(value); // BooleanType
13152        return value;
13153      case -309425751: // profile
13154        this.getProfile().add(TypeConvertor.castToCanonical(value)); // CanonicalType
13155        return value;
13156      case -70808303: // relativePath
13157        this.relativePath = TypeConvertor.castToUrl(value); // UrlType
13158        return value;
13159      default: return super.setProperty(hash, name, value);
13160      }
13161
13162    }
13163
13164    @Override
13165    public Base setProperty(String name, Base value) throws FHIRException {
13166      if (name.equals("reference")) {
13167        this.reference = TypeConvertor.castToReference(value); // Reference
13168      } else if (name.equals("isExample")) {
13169        this.isExample = TypeConvertor.castToBoolean(value); // BooleanType
13170      } else if (name.equals("profile")) {
13171        this.getProfile().add(TypeConvertor.castToCanonical(value));
13172      } else if (name.equals("relativePath")) {
13173        this.relativePath = TypeConvertor.castToUrl(value); // UrlType
13174      } else
13175        return super.setProperty(name, value);
13176      return value;
13177    }
13178
13179  @Override
13180  public void removeChild(String name, Base value) throws FHIRException {
13181      if (name.equals("reference")) {
13182        this.reference = null;
13183      } else if (name.equals("isExample")) {
13184        this.isExample = null;
13185      } else if (name.equals("profile")) {
13186        this.getProfile().remove(value);
13187      } else if (name.equals("relativePath")) {
13188        this.relativePath = null;
13189      } else
13190        super.removeChild(name, value);
13191      
13192    }
13193
13194    @Override
13195    public Base makeProperty(int hash, String name) throws FHIRException {
13196      switch (hash) {
13197      case -925155509:  return getReference();
13198      case -1902749472:  return getIsExampleElement();
13199      case -309425751:  return addProfileElement();
13200      case -70808303:  return getRelativePathElement();
13201      default: return super.makeProperty(hash, name);
13202      }
13203
13204    }
13205
13206    @Override
13207    public String[] getTypesForProperty(int hash, String name) throws FHIRException {
13208      switch (hash) {
13209      case -925155509: /*reference*/ return new String[] {"Reference"};
13210      case -1902749472: /*isExample*/ return new String[] {"boolean"};
13211      case -309425751: /*profile*/ return new String[] {"canonical"};
13212      case -70808303: /*relativePath*/ return new String[] {"url"};
13213      default: return super.getTypesForProperty(hash, name);
13214      }
13215
13216    }
13217
13218    @Override
13219    public Base addChild(String name) throws FHIRException {
13220      if (name.equals("reference")) {
13221        this.reference = new Reference();
13222        return this.reference;
13223      }
13224      else if (name.equals("isExample")) {
13225        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.manifest.resource.isExample");
13226      }
13227      else if (name.equals("profile")) {
13228        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.manifest.resource.profile");
13229      }
13230      else if (name.equals("relativePath")) {
13231        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.manifest.resource.relativePath");
13232      }
13233      else
13234        return super.addChild(name);
13235    }
13236
13237    public ManifestResourceComponent copy() {
13238      ManifestResourceComponent dst = new ManifestResourceComponent();
13239      copyValues(dst);
13240      return dst;
13241    }
13242
13243    public void copyValues(ManifestResourceComponent dst) {
13244      super.copyValues(dst);
13245      dst.reference = reference == null ? null : reference.copy();
13246      dst.isExample = isExample == null ? null : isExample.copy();
13247      if (profile != null) {
13248        dst.profile = new ArrayList<CanonicalType>();
13249        for (CanonicalType i : profile)
13250          dst.profile.add(i.copy());
13251      };
13252      dst.relativePath = relativePath == null ? null : relativePath.copy();
13253    }
13254
13255    @Override
13256    public boolean equalsDeep(Base other_) {
13257      if (!super.equalsDeep(other_))
13258        return false;
13259      if (!(other_ instanceof ManifestResourceComponent))
13260        return false;
13261      ManifestResourceComponent o = (ManifestResourceComponent) other_;
13262      return compareDeep(reference, o.reference, true) && compareDeep(isExample, o.isExample, true) && compareDeep(profile, o.profile, true)
13263          && compareDeep(relativePath, o.relativePath, true);
13264    }
13265
13266    @Override
13267    public boolean equalsShallow(Base other_) {
13268      if (!super.equalsShallow(other_))
13269        return false;
13270      if (!(other_ instanceof ManifestResourceComponent))
13271        return false;
13272      ManifestResourceComponent o = (ManifestResourceComponent) other_;
13273      return compareValues(isExample, o.isExample, true) && compareValues(profile, o.profile, true) && compareValues(relativePath, o.relativePath, true)
13274          ;
13275    }
13276
13277    public boolean isEmpty() {
13278      return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(reference, isExample, profile
13279          , relativePath);
13280    }
13281
13282    public String fhirType() {
13283      return "ImplementationGuide.manifest.resource";
13284
13285    }
13286
13287    // added from java-adornments.txt:
13288
13289    // end addition
13290  }
13291
13292  @Block()
13293  public static class ManifestPageComponent extends BackboneElement implements IBaseBackboneElement {
13294    /**
13295     * Relative path to the page.
13296     */
13297    @Child(name = "name", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false)
13298    @Description(shortDefinition="HTML page name", formalDefinition="Relative path to the page." )
13299    protected StringType name;
13300
13301    /**
13302     * Label for the page intended for human display.
13303     */
13304    @Child(name = "title", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false)
13305    @Description(shortDefinition="Title of the page, for references", formalDefinition="Label for the page intended for human display." )
13306    protected StringType title;
13307
13308    /**
13309     * The name of an anchor available on the page.
13310     */
13311    @Child(name = "anchor", type = {StringType.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
13312    @Description(shortDefinition="Anchor available on the page", formalDefinition="The name of an anchor available on the page." )
13313    protected List<StringType> anchor;
13314
13315    private static final long serialVersionUID = 1920576611L;
13316
13317    /**
13318     * Constructor
13319     */
13320    public ManifestPageComponent() {
13321      super();
13322    }
13323
13324    /**
13325     * Constructor
13326     */
13327    public ManifestPageComponent(String name) {
13328      super();
13329      this.setName(name);
13330    }
13331
13332    /**
13333     * @return {@link #name} (Relative path to the page.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value
13334     */
13335    public StringType getNameElement() { 
13336      if (this.name == null)
13337        if (Configuration.errorOnAutoCreate())
13338          throw new Error("Attempt to auto-create ManifestPageComponent.name");
13339        else if (Configuration.doAutoCreate())
13340          this.name = new StringType(); // bb
13341      return this.name;
13342    }
13343
13344    public boolean hasNameElement() { 
13345      return this.name != null && !this.name.isEmpty();
13346    }
13347
13348    public boolean hasName() { 
13349      return this.name != null && !this.name.isEmpty();
13350    }
13351
13352    /**
13353     * @param value {@link #name} (Relative path to the page.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value
13354     */
13355    public ManifestPageComponent setNameElement(StringType value) { 
13356      this.name = value;
13357      return this;
13358    }
13359
13360    /**
13361     * @return Relative path to the page.
13362     */
13363    public String getName() { 
13364      return this.name == null ? null : this.name.getValue();
13365    }
13366
13367    /**
13368     * @param value Relative path to the page.
13369     */
13370    public ManifestPageComponent setName(String value) { 
13371      if (this.name == null)
13372        this.name = new StringType();
13373      this.name.setValue(value);
13374      return this;
13375    }
13376
13377    /**
13378     * @return {@link #title} (Label for the page intended for human display.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value
13379     */
13380    public StringType getTitleElement() { 
13381      if (this.title == null)
13382        if (Configuration.errorOnAutoCreate())
13383          throw new Error("Attempt to auto-create ManifestPageComponent.title");
13384        else if (Configuration.doAutoCreate())
13385          this.title = new StringType(); // bb
13386      return this.title;
13387    }
13388
13389    public boolean hasTitleElement() { 
13390      return this.title != null && !this.title.isEmpty();
13391    }
13392
13393    public boolean hasTitle() { 
13394      return this.title != null && !this.title.isEmpty();
13395    }
13396
13397    /**
13398     * @param value {@link #title} (Label for the page intended for human display.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value
13399     */
13400    public ManifestPageComponent setTitleElement(StringType value) { 
13401      this.title = value;
13402      return this;
13403    }
13404
13405    /**
13406     * @return Label for the page intended for human display.
13407     */
13408    public String getTitle() { 
13409      return this.title == null ? null : this.title.getValue();
13410    }
13411
13412    /**
13413     * @param value Label for the page intended for human display.
13414     */
13415    public ManifestPageComponent setTitle(String value) { 
13416      if (Utilities.noString(value))
13417        this.title = null;
13418      else {
13419        if (this.title == null)
13420          this.title = new StringType();
13421        this.title.setValue(value);
13422      }
13423      return this;
13424    }
13425
13426    /**
13427     * @return {@link #anchor} (The name of an anchor available on the page.)
13428     */
13429    public List<StringType> getAnchor() { 
13430      if (this.anchor == null)
13431        this.anchor = new ArrayList<StringType>();
13432      return this.anchor;
13433    }
13434
13435    /**
13436     * @return Returns a reference to <code>this</code> for easy method chaining
13437     */
13438    public ManifestPageComponent setAnchor(List<StringType> theAnchor) { 
13439      this.anchor = theAnchor;
13440      return this;
13441    }
13442
13443    public boolean hasAnchor() { 
13444      if (this.anchor == null)
13445        return false;
13446      for (StringType item : this.anchor)
13447        if (!item.isEmpty())
13448          return true;
13449      return false;
13450    }
13451
13452    /**
13453     * @return {@link #anchor} (The name of an anchor available on the page.)
13454     */
13455    public StringType addAnchorElement() {//2 
13456      StringType t = new StringType();
13457      if (this.anchor == null)
13458        this.anchor = new ArrayList<StringType>();
13459      this.anchor.add(t);
13460      return t;
13461    }
13462
13463    /**
13464     * @param value {@link #anchor} (The name of an anchor available on the page.)
13465     */
13466    public ManifestPageComponent addAnchor(String value) { //1
13467      StringType t = new StringType();
13468      t.setValue(value);
13469      if (this.anchor == null)
13470        this.anchor = new ArrayList<StringType>();
13471      this.anchor.add(t);
13472      return this;
13473    }
13474
13475    /**
13476     * @param value {@link #anchor} (The name of an anchor available on the page.)
13477     */
13478    public boolean hasAnchor(String value) { 
13479      if (this.anchor == null)
13480        return false;
13481      for (StringType v : this.anchor)
13482        if (v.getValue().equals(value)) // string
13483          return true;
13484      return false;
13485    }
13486
13487    protected void listChildren(List<Property> children) {
13488      super.listChildren(children);
13489      children.add(new Property("name", "string", "Relative path to the page.", 0, 1, name));
13490      children.add(new Property("title", "string", "Label for the page intended for human display.", 0, 1, title));
13491      children.add(new Property("anchor", "string", "The name of an anchor available on the page.", 0, java.lang.Integer.MAX_VALUE, anchor));
13492    }
13493
13494    @Override
13495    public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
13496      switch (_hash) {
13497      case 3373707: /*name*/  return new Property("name", "string", "Relative path to the page.", 0, 1, name);
13498      case 110371416: /*title*/  return new Property("title", "string", "Label for the page intended for human display.", 0, 1, title);
13499      case -1413299531: /*anchor*/  return new Property("anchor", "string", "The name of an anchor available on the page.", 0, java.lang.Integer.MAX_VALUE, anchor);
13500      default: return super.getNamedProperty(_hash, _name, _checkValid);
13501      }
13502
13503    }
13504
13505    @Override
13506    public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
13507      switch (hash) {
13508      case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType
13509      case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType
13510      case -1413299531: /*anchor*/ return this.anchor == null ? new Base[0] : this.anchor.toArray(new Base[this.anchor.size()]); // StringType
13511      default: return super.getProperty(hash, name, checkValid);
13512      }
13513
13514    }
13515
13516    @Override
13517    public Base setProperty(int hash, String name, Base value) throws FHIRException {
13518      switch (hash) {
13519      case 3373707: // name
13520        this.name = TypeConvertor.castToString(value); // StringType
13521        return value;
13522      case 110371416: // title
13523        this.title = TypeConvertor.castToString(value); // StringType
13524        return value;
13525      case -1413299531: // anchor
13526        this.getAnchor().add(TypeConvertor.castToString(value)); // StringType
13527        return value;
13528      default: return super.setProperty(hash, name, value);
13529      }
13530
13531    }
13532
13533    @Override
13534    public Base setProperty(String name, Base value) throws FHIRException {
13535      if (name.equals("name")) {
13536        this.name = TypeConvertor.castToString(value); // StringType
13537      } else if (name.equals("title")) {
13538        this.title = TypeConvertor.castToString(value); // StringType
13539      } else if (name.equals("anchor")) {
13540        this.getAnchor().add(TypeConvertor.castToString(value));
13541      } else
13542        return super.setProperty(name, value);
13543      return value;
13544    }
13545
13546  @Override
13547  public void removeChild(String name, Base value) throws FHIRException {
13548      if (name.equals("name")) {
13549        this.name = null;
13550      } else if (name.equals("title")) {
13551        this.title = null;
13552      } else if (name.equals("anchor")) {
13553        this.getAnchor().remove(value);
13554      } else
13555        super.removeChild(name, value);
13556      
13557    }
13558
13559    @Override
13560    public Base makeProperty(int hash, String name) throws FHIRException {
13561      switch (hash) {
13562      case 3373707:  return getNameElement();
13563      case 110371416:  return getTitleElement();
13564      case -1413299531:  return addAnchorElement();
13565      default: return super.makeProperty(hash, name);
13566      }
13567
13568    }
13569
13570    @Override
13571    public String[] getTypesForProperty(int hash, String name) throws FHIRException {
13572      switch (hash) {
13573      case 3373707: /*name*/ return new String[] {"string"};
13574      case 110371416: /*title*/ return new String[] {"string"};
13575      case -1413299531: /*anchor*/ return new String[] {"string"};
13576      default: return super.getTypesForProperty(hash, name);
13577      }
13578
13579    }
13580
13581    @Override
13582    public Base addChild(String name) throws FHIRException {
13583      if (name.equals("name")) {
13584        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.manifest.page.name");
13585      }
13586      else if (name.equals("title")) {
13587        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.manifest.page.title");
13588      }
13589      else if (name.equals("anchor")) {
13590        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.manifest.page.anchor");
13591      }
13592      else
13593        return super.addChild(name);
13594    }
13595
13596    public ManifestPageComponent copy() {
13597      ManifestPageComponent dst = new ManifestPageComponent();
13598      copyValues(dst);
13599      return dst;
13600    }
13601
13602    public void copyValues(ManifestPageComponent dst) {
13603      super.copyValues(dst);
13604      dst.name = name == null ? null : name.copy();
13605      dst.title = title == null ? null : title.copy();
13606      if (anchor != null) {
13607        dst.anchor = new ArrayList<StringType>();
13608        for (StringType i : anchor)
13609          dst.anchor.add(i.copy());
13610      };
13611    }
13612
13613    @Override
13614    public boolean equalsDeep(Base other_) {
13615      if (!super.equalsDeep(other_))
13616        return false;
13617      if (!(other_ instanceof ManifestPageComponent))
13618        return false;
13619      ManifestPageComponent o = (ManifestPageComponent) other_;
13620      return compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(anchor, o.anchor, true)
13621          ;
13622    }
13623
13624    @Override
13625    public boolean equalsShallow(Base other_) {
13626      if (!super.equalsShallow(other_))
13627        return false;
13628      if (!(other_ instanceof ManifestPageComponent))
13629        return false;
13630      ManifestPageComponent o = (ManifestPageComponent) other_;
13631      return compareValues(name, o.name, true) && compareValues(title, o.title, true) && compareValues(anchor, o.anchor, true)
13632          ;
13633    }
13634
13635    public boolean isEmpty() {
13636      return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(name, title, anchor);
13637    }
13638
13639    public String fhirType() {
13640      return "ImplementationGuide.manifest.page";
13641
13642    }
13643
13644  }
13645
13646  /**
13647   * An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this implementation guide is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the implementation guide is stored on different servers.
13648   */
13649  @Child(name = "url", type = {UriType.class}, order=0, min=1, max=1, modifier=false, summary=true)
13650  @Description(shortDefinition="Canonical identifier for this implementation guide, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this implementation guide is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the implementation guide is stored on different servers." )
13651  protected UriType url;
13652
13653  /**
13654   * A formal identifier that is used to identify this implementation guide when it is represented in other formats, or referenced in a specification, model, design or an instance.
13655   */
13656  @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
13657  @Description(shortDefinition="Additional identifier for the implementation guide (business identifier)", formalDefinition="A formal identifier that is used to identify this implementation guide when it is represented in other formats, or referenced in a specification, model, design or an instance." )
13658  protected List<Identifier> identifier;
13659
13660  /**
13661   * The identifier that is used to identify this version of the implementation guide when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the implementation guide author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.
13662   */
13663  @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true)
13664  @Description(shortDefinition="Business version of the implementation guide", formalDefinition="The identifier that is used to identify this version of the implementation guide when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the implementation guide author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence." )
13665  protected StringType version;
13666
13667  /**
13668   * Indicates the mechanism used to compare versions to determine which is more current.
13669   */
13670  @Child(name = "versionAlgorithm", type = {StringType.class, Coding.class}, order=3, min=0, max=1, modifier=false, summary=true)
13671  @Description(shortDefinition="How to compare versions", formalDefinition="Indicates the mechanism used to compare versions to determine which is more current." )
13672  @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/version-algorithm")
13673  protected DataType versionAlgorithm;
13674
13675  /**
13676   * A natural language name identifying the implementation guide. This name should be usable as an identifier for the module by machine processing applications such as code generation.
13677   */
13678  @Child(name = "name", type = {StringType.class}, order=4, min=1, max=1, modifier=false, summary=true)
13679  @Description(shortDefinition="Name for this implementation guide (computer friendly)", formalDefinition="A natural language name identifying the implementation guide. This name should be usable as an identifier for the module by machine processing applications such as code generation." )
13680  protected StringType name;
13681
13682  /**
13683   * A short, descriptive, user-friendly title for the implementation guide.
13684   */
13685  @Child(name = "title", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=true)
13686  @Description(shortDefinition="Name for this implementation guide (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the implementation guide." )
13687  protected StringType title;
13688
13689  /**
13690   * The status of this implementation guide. Enables tracking the life-cycle of the content.
13691   */
13692  @Child(name = "status", type = {CodeType.class}, order=6, min=1, max=1, modifier=true, summary=true)
13693  @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this implementation guide. Enables tracking the life-cycle of the content." )
13694  @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status")
13695  protected Enumeration<PublicationStatus> status;
13696
13697  /**
13698   * A Boolean value to indicate that this implementation guide is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
13699   */
13700  @Child(name = "experimental", type = {BooleanType.class}, order=7, min=0, max=1, modifier=false, summary=true)
13701  @Description(shortDefinition="For testing purposes, not real usage", formalDefinition="A Boolean value to indicate that this implementation guide is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage." )
13702  protected BooleanType experimental;
13703
13704  /**
13705   * The date  (and optionally time) when the implementation guide was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the implementation guide changes.
13706   */
13707  @Child(name = "date", type = {DateTimeType.class}, order=8, min=0, max=1, modifier=false, summary=true)
13708  @Description(shortDefinition="Date last changed", formalDefinition="The date  (and optionally time) when the implementation guide was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the implementation guide changes." )
13709  protected DateTimeType date;
13710
13711  /**
13712   * The name of the organization or individual responsible for the release and ongoing maintenance of the implementation guide.
13713   */
13714  @Child(name = "publisher", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=true)
13715  @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the implementation guide." )
13716  protected StringType publisher;
13717
13718  /**
13719   * Contact details to assist a user in finding and communicating with the publisher.
13720   */
13721  @Child(name = "contact", type = {ContactDetail.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
13722  @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." )
13723  protected List<ContactDetail> contact;
13724
13725  /**
13726   * A free text natural language description of the implementation guide from a consumer's perspective.
13727   */
13728  @Child(name = "description", type = {MarkdownType.class}, order=11, min=0, max=1, modifier=false, summary=false)
13729  @Description(shortDefinition="Natural language description of the implementation guide", formalDefinition="A free text natural language description of the implementation guide from a consumer's perspective." )
13730  protected MarkdownType description;
13731
13732  /**
13733   * The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate implementation guide instances.
13734   */
13735  @Child(name = "useContext", type = {UsageContext.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
13736  @Description(shortDefinition="The context that the content is intended to support", formalDefinition="The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate implementation guide instances." )
13737  protected List<UsageContext> useContext;
13738
13739  /**
13740   * A legal or geographic region in which the implementation guide is intended to be used.
13741   */
13742  @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
13743  @Description(shortDefinition="Intended jurisdiction for implementation guide (if applicable)", formalDefinition="A legal or geographic region in which the implementation guide is intended to be used." )
13744  @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction")
13745  protected List<CodeableConcept> jurisdiction;
13746
13747  /**
13748   * Explanation of why this implementation guide is needed and why it has been designed as it has.
13749   */
13750  @Child(name = "purpose", type = {MarkdownType.class}, order=14, min=0, max=1, modifier=false, summary=false)
13751  @Description(shortDefinition="Why this implementation guide is defined", formalDefinition="Explanation of why this implementation guide is needed and why it has been designed as it has." )
13752  protected MarkdownType purpose;
13753
13754  /**
13755   * A copyright statement relating to the implementation guide and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the implementation guide.
13756   */
13757  @Child(name = "copyright", type = {MarkdownType.class}, order=15, min=0, max=1, modifier=false, summary=false)
13758  @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the implementation guide and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the implementation guide." )
13759  protected MarkdownType copyright;
13760
13761  /**
13762   * A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').
13763   */
13764  @Child(name = "copyrightLabel", type = {StringType.class}, order=16, min=0, max=1, modifier=false, summary=false)
13765  @Description(shortDefinition="Copyright holder and year(s)", formalDefinition="A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved')." )
13766  protected StringType copyrightLabel;
13767
13768  /**
13769   * The NPM package name for this Implementation Guide, used in the NPM package distribution, which is the primary mechanism by which FHIR based tooling manages IG dependencies. This value must be globally unique, and should be assigned with care.
13770   */
13771  @Child(name = "packageId", type = {IdType.class}, order=17, min=1, max=1, modifier=false, summary=true)
13772  @Description(shortDefinition="NPM Package name for IG", formalDefinition="The NPM package name for this Implementation Guide, used in the NPM package distribution, which is the primary mechanism by which FHIR based tooling manages IG dependencies. This value must be globally unique, and should be assigned with care." )
13773  protected IdType packageId;
13774
13775  /**
13776   * The license that applies to this Implementation Guide, using an SPDX license code, or 'not-open-source'.
13777   */
13778  @Child(name = "license", type = {CodeType.class}, order=18, min=0, max=1, modifier=false, summary=true)
13779  @Description(shortDefinition="SPDX license code for this IG (or not-open-source)", formalDefinition="The license that applies to this Implementation Guide, using an SPDX license code, or 'not-open-source'." )
13780  @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/spdx-license")
13781  protected Enumeration<SPDXLicense> license;
13782
13783  /**
13784   * The version(s) of the FHIR specification that this ImplementationGuide targets - e.g. describes how to use. The value of this element is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is 4.6.0. for this version.
13785   */
13786  @Child(name = "fhirVersion", type = {CodeType.class}, order=19, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
13787  @Description(shortDefinition="FHIR Version(s) this Implementation Guide targets", formalDefinition="The version(s) of the FHIR specification that this ImplementationGuide targets - e.g. describes how to use. The value of this element is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is 4.6.0. for this version." )
13788  @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/FHIR-version")
13789  protected List<Enumeration<FHIRVersion>> fhirVersion;
13790
13791  /**
13792   * Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guides.
13793   */
13794  @Child(name = "dependsOn", type = {}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
13795  @Description(shortDefinition="Another Implementation guide this depends on", formalDefinition="Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guides." )
13796  protected List<ImplementationGuideDependsOnComponent> dependsOn;
13797
13798  /**
13799   * A set of profiles that all resources covered by this implementation guide must conform to.
13800   */
13801  @Child(name = "global", type = {}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
13802  @Description(shortDefinition="Profiles that apply globally", formalDefinition="A set of profiles that all resources covered by this implementation guide must conform to." )
13803  protected List<ImplementationGuideGlobalComponent> global;
13804
13805  /**
13806   * The information needed by an IG publisher tool to publish the whole implementation guide.
13807   */
13808  @Child(name = "definition", type = {}, order=22, min=0, max=1, modifier=false, summary=false)
13809  @Description(shortDefinition="Information needed to build the IG", formalDefinition="The information needed by an IG publisher tool to publish the whole implementation guide." )
13810  protected ImplementationGuideDefinitionComponent definition;
13811
13812  /**
13813   * Information about an assembled implementation guide, created by the publication tooling.
13814   */
13815  @Child(name = "manifest", type = {}, order=23, min=0, max=1, modifier=false, summary=false)
13816  @Description(shortDefinition="Information about an assembled IG", formalDefinition="Information about an assembled implementation guide, created by the publication tooling." )
13817  protected ImplementationGuideManifestComponent manifest;
13818
13819  private static final long serialVersionUID = 183592979L;
13820
13821  /**
13822   * Constructor
13823   */
13824  public ImplementationGuide() {
13825    super();
13826  }
13827
13828  /**
13829   * Constructor
13830   */
13831  public ImplementationGuide(String url, String name, PublicationStatus status, String packageId, FHIRVersion fhirVersion) {
13832    super();
13833    this.setUrl(url);
13834    this.setName(name);
13835    this.setStatus(status);
13836    this.setPackageId(packageId);
13837    this.addFhirVersion(fhirVersion);
13838  }
13839
13840  /**
13841   * @return {@link #url} (An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this implementation guide is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the implementation guide is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value
13842   */
13843  public UriType getUrlElement() { 
13844    if (this.url == null)
13845      if (Configuration.errorOnAutoCreate())
13846        throw new Error("Attempt to auto-create ImplementationGuide.url");
13847      else if (Configuration.doAutoCreate())
13848        this.url = new UriType(); // bb
13849    return this.url;
13850  }
13851
13852  public boolean hasUrlElement() { 
13853    return this.url != null && !this.url.isEmpty();
13854  }
13855
13856  public boolean hasUrl() { 
13857    return this.url != null && !this.url.isEmpty();
13858  }
13859
13860  /**
13861   * @param value {@link #url} (An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this implementation guide is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the implementation guide is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value
13862   */
13863  public ImplementationGuide setUrlElement(UriType value) { 
13864    this.url = value;
13865    return this;
13866  }
13867
13868  /**
13869   * @return An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this implementation guide is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the implementation guide is stored on different servers.
13870   */
13871  public String getUrl() { 
13872    return this.url == null ? null : this.url.getValue();
13873  }
13874
13875  /**
13876   * @param value An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this implementation guide is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the implementation guide is stored on different servers.
13877   */
13878  public ImplementationGuide setUrl(String value) { 
13879    if (this.url == null)
13880      this.url = new UriType();
13881    this.url.setValue(value);
13882    return this;
13883  }
13884
13885  /**
13886   * @return {@link #identifier} (A formal identifier that is used to identify this implementation guide when it is represented in other formats, or referenced in a specification, model, design or an instance.)
13887   */
13888  public List<Identifier> getIdentifier() { 
13889    if (this.identifier == null)
13890      this.identifier = new ArrayList<Identifier>();
13891    return this.identifier;
13892  }
13893
13894  /**
13895   * @return Returns a reference to <code>this</code> for easy method chaining
13896   */
13897  public ImplementationGuide setIdentifier(List<Identifier> theIdentifier) { 
13898    this.identifier = theIdentifier;
13899    return this;
13900  }
13901
13902  public boolean hasIdentifier() { 
13903    if (this.identifier == null)
13904      return false;
13905    for (Identifier item : this.identifier)
13906      if (!item.isEmpty())
13907        return true;
13908    return false;
13909  }
13910
13911  public Identifier addIdentifier() { //3
13912    Identifier t = new Identifier();
13913    if (this.identifier == null)
13914      this.identifier = new ArrayList<Identifier>();
13915    this.identifier.add(t);
13916    return t;
13917  }
13918
13919  public ImplementationGuide addIdentifier(Identifier t) { //3
13920    if (t == null)
13921      return this;
13922    if (this.identifier == null)
13923      this.identifier = new ArrayList<Identifier>();
13924    this.identifier.add(t);
13925    return this;
13926  }
13927
13928  /**
13929   * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3}
13930   */
13931  public Identifier getIdentifierFirstRep() { 
13932    if (getIdentifier().isEmpty()) {
13933      addIdentifier();
13934    }
13935    return getIdentifier().get(0);
13936  }
13937
13938  /**
13939   * @return {@link #version} (The identifier that is used to identify this version of the implementation guide when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the implementation guide author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value
13940   */
13941  public StringType getVersionElement() { 
13942    if (this.version == null)
13943      if (Configuration.errorOnAutoCreate())
13944        throw new Error("Attempt to auto-create ImplementationGuide.version");
13945      else if (Configuration.doAutoCreate())
13946        this.version = new StringType(); // bb
13947    return this.version;
13948  }
13949
13950  public boolean hasVersionElement() { 
13951    return this.version != null && !this.version.isEmpty();
13952  }
13953
13954  public boolean hasVersion() { 
13955    return this.version != null && !this.version.isEmpty();
13956  }
13957
13958  /**
13959   * @param value {@link #version} (The identifier that is used to identify this version of the implementation guide when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the implementation guide author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value
13960   */
13961  public ImplementationGuide setVersionElement(StringType value) { 
13962    this.version = value;
13963    return this;
13964  }
13965
13966  /**
13967   * @return The identifier that is used to identify this version of the implementation guide when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the implementation guide author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.
13968   */
13969  public String getVersion() { 
13970    return this.version == null ? null : this.version.getValue();
13971  }
13972
13973  /**
13974   * @param value The identifier that is used to identify this version of the implementation guide when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the implementation guide author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.
13975   */
13976  public ImplementationGuide setVersion(String value) { 
13977    if (Utilities.noString(value))
13978      this.version = null;
13979    else {
13980      if (this.version == null)
13981        this.version = new StringType();
13982      this.version.setValue(value);
13983    }
13984    return this;
13985  }
13986
13987  /**
13988   * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.)
13989   */
13990  public DataType getVersionAlgorithm() { 
13991    return this.versionAlgorithm;
13992  }
13993
13994  /**
13995   * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.)
13996   */
13997  public StringType getVersionAlgorithmStringType() throws FHIRException { 
13998    if (this.versionAlgorithm == null)
13999      this.versionAlgorithm = new StringType();
14000    if (!(this.versionAlgorithm instanceof StringType))
14001      throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered");
14002    return (StringType) this.versionAlgorithm;
14003  }
14004
14005  public boolean hasVersionAlgorithmStringType() { 
14006    return this != null && this.versionAlgorithm instanceof StringType;
14007  }
14008
14009  /**
14010   * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.)
14011   */
14012  public Coding getVersionAlgorithmCoding() throws FHIRException { 
14013    if (this.versionAlgorithm == null)
14014      this.versionAlgorithm = new Coding();
14015    if (!(this.versionAlgorithm instanceof Coding))
14016      throw new FHIRException("Type mismatch: the type Coding was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered");
14017    return (Coding) this.versionAlgorithm;
14018  }
14019
14020  public boolean hasVersionAlgorithmCoding() { 
14021    return this != null && this.versionAlgorithm instanceof Coding;
14022  }
14023
14024  public boolean hasVersionAlgorithm() { 
14025    return this.versionAlgorithm != null && !this.versionAlgorithm.isEmpty();
14026  }
14027
14028  /**
14029   * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.)
14030   */
14031  public ImplementationGuide setVersionAlgorithm(DataType value) { 
14032    if (value != null && !(value instanceof StringType || value instanceof Coding))
14033      throw new FHIRException("Not the right type for ImplementationGuide.versionAlgorithm[x]: "+value.fhirType());
14034    this.versionAlgorithm = value;
14035    return this;
14036  }
14037
14038  /**
14039   * @return {@link #name} (A natural language name identifying the implementation guide. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value
14040   */
14041  public StringType getNameElement() { 
14042    if (this.name == null)
14043      if (Configuration.errorOnAutoCreate())
14044        throw new Error("Attempt to auto-create ImplementationGuide.name");
14045      else if (Configuration.doAutoCreate())
14046        this.name = new StringType(); // bb
14047    return this.name;
14048  }
14049
14050  public boolean hasNameElement() { 
14051    return this.name != null && !this.name.isEmpty();
14052  }
14053
14054  public boolean hasName() { 
14055    return this.name != null && !this.name.isEmpty();
14056  }
14057
14058  /**
14059   * @param value {@link #name} (A natural language name identifying the implementation guide. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value
14060   */
14061  public ImplementationGuide setNameElement(StringType value) { 
14062    this.name = value;
14063    return this;
14064  }
14065
14066  /**
14067   * @return A natural language name identifying the implementation guide. This name should be usable as an identifier for the module by machine processing applications such as code generation.
14068   */
14069  public String getName() { 
14070    return this.name == null ? null : this.name.getValue();
14071  }
14072
14073  /**
14074   * @param value A natural language name identifying the implementation guide. This name should be usable as an identifier for the module by machine processing applications such as code generation.
14075   */
14076  public ImplementationGuide setName(String value) { 
14077    if (this.name == null)
14078      this.name = new StringType();
14079    this.name.setValue(value);
14080    return this;
14081  }
14082
14083  /**
14084   * @return {@link #title} (A short, descriptive, user-friendly title for the implementation guide.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value
14085   */
14086  public StringType getTitleElement() { 
14087    if (this.title == null)
14088      if (Configuration.errorOnAutoCreate())
14089        throw new Error("Attempt to auto-create ImplementationGuide.title");
14090      else if (Configuration.doAutoCreate())
14091        this.title = new StringType(); // bb
14092    return this.title;
14093  }
14094
14095  public boolean hasTitleElement() { 
14096    return this.title != null && !this.title.isEmpty();
14097  }
14098
14099  public boolean hasTitle() { 
14100    return this.title != null && !this.title.isEmpty();
14101  }
14102
14103  /**
14104   * @param value {@link #title} (A short, descriptive, user-friendly title for the implementation guide.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value
14105   */
14106  public ImplementationGuide setTitleElement(StringType value) { 
14107    this.title = value;
14108    return this;
14109  }
14110
14111  /**
14112   * @return A short, descriptive, user-friendly title for the implementation guide.
14113   */
14114  public String getTitle() { 
14115    return this.title == null ? null : this.title.getValue();
14116  }
14117
14118  /**
14119   * @param value A short, descriptive, user-friendly title for the implementation guide.
14120   */
14121  public ImplementationGuide setTitle(String value) { 
14122    if (Utilities.noString(value))
14123      this.title = null;
14124    else {
14125      if (this.title == null)
14126        this.title = new StringType();
14127      this.title.setValue(value);
14128    }
14129    return this;
14130  }
14131
14132  /**
14133   * @return {@link #status} (The status of this implementation guide. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value
14134   */
14135  public Enumeration<PublicationStatus> getStatusElement() { 
14136    if (this.status == null)
14137      if (Configuration.errorOnAutoCreate())
14138        throw new Error("Attempt to auto-create ImplementationGuide.status");
14139      else if (Configuration.doAutoCreate())
14140        this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb
14141    return this.status;
14142  }
14143
14144  public boolean hasStatusElement() { 
14145    return this.status != null && !this.status.isEmpty();
14146  }
14147
14148  public boolean hasStatus() { 
14149    return this.status != null && !this.status.isEmpty();
14150  }
14151
14152  /**
14153   * @param value {@link #status} (The status of this implementation guide. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value
14154   */
14155  public ImplementationGuide setStatusElement(Enumeration<PublicationStatus> value) { 
14156    this.status = value;
14157    return this;
14158  }
14159
14160  /**
14161   * @return The status of this implementation guide. Enables tracking the life-cycle of the content.
14162   */
14163  public PublicationStatus getStatus() { 
14164    return this.status == null ? null : this.status.getValue();
14165  }
14166
14167  /**
14168   * @param value The status of this implementation guide. Enables tracking the life-cycle of the content.
14169   */
14170  public ImplementationGuide setStatus(PublicationStatus value) { 
14171    if (this.status == null)
14172      this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory());
14173    this.status.setValue(value);
14174    return this;
14175  }
14176
14177  /**
14178   * @return {@link #experimental} (A Boolean value to indicate that this implementation guide is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value
14179   */
14180  public BooleanType getExperimentalElement() { 
14181    if (this.experimental == null)
14182      if (Configuration.errorOnAutoCreate())
14183        throw new Error("Attempt to auto-create ImplementationGuide.experimental");
14184      else if (Configuration.doAutoCreate())
14185        this.experimental = new BooleanType(); // bb
14186    return this.experimental;
14187  }
14188
14189  public boolean hasExperimentalElement() { 
14190    return this.experimental != null && !this.experimental.isEmpty();
14191  }
14192
14193  public boolean hasExperimental() { 
14194    return this.experimental != null && !this.experimental.isEmpty();
14195  }
14196
14197  /**
14198   * @param value {@link #experimental} (A Boolean value to indicate that this implementation guide is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value
14199   */
14200  public ImplementationGuide setExperimentalElement(BooleanType value) { 
14201    this.experimental = value;
14202    return this;
14203  }
14204
14205  /**
14206   * @return A Boolean value to indicate that this implementation guide is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
14207   */
14208  public boolean getExperimental() { 
14209    return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue();
14210  }
14211
14212  /**
14213   * @param value A Boolean value to indicate that this implementation guide is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
14214   */
14215  public ImplementationGuide setExperimental(boolean value) { 
14216    if (this.experimental == null)
14217      this.experimental = new BooleanType();
14218    this.experimental.setValue(value);
14219    return this;
14220  }
14221
14222  /**
14223   * @return {@link #date} (The date  (and optionally time) when the implementation guide was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the implementation guide changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value
14224   */
14225  public DateTimeType getDateElement() { 
14226    if (this.date == null)
14227      if (Configuration.errorOnAutoCreate())
14228        throw new Error("Attempt to auto-create ImplementationGuide.date");
14229      else if (Configuration.doAutoCreate())
14230        this.date = new DateTimeType(); // bb
14231    return this.date;
14232  }
14233
14234  public boolean hasDateElement() { 
14235    return this.date != null && !this.date.isEmpty();
14236  }
14237
14238  public boolean hasDate() { 
14239    return this.date != null && !this.date.isEmpty();
14240  }
14241
14242  /**
14243   * @param value {@link #date} (The date  (and optionally time) when the implementation guide was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the implementation guide changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value
14244   */
14245  public ImplementationGuide setDateElement(DateTimeType value) { 
14246    this.date = value;
14247    return this;
14248  }
14249
14250  /**
14251   * @return The date  (and optionally time) when the implementation guide was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the implementation guide changes.
14252   */
14253  public Date getDate() { 
14254    return this.date == null ? null : this.date.getValue();
14255  }
14256
14257  /**
14258   * @param value The date  (and optionally time) when the implementation guide was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the implementation guide changes.
14259   */
14260  public ImplementationGuide setDate(Date value) { 
14261    if (value == null)
14262      this.date = null;
14263    else {
14264      if (this.date == null)
14265        this.date = new DateTimeType();
14266      this.date.setValue(value);
14267    }
14268    return this;
14269  }
14270
14271  /**
14272   * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the implementation guide.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value
14273   */
14274  public StringType getPublisherElement() { 
14275    if (this.publisher == null)
14276      if (Configuration.errorOnAutoCreate())
14277        throw new Error("Attempt to auto-create ImplementationGuide.publisher");
14278      else if (Configuration.doAutoCreate())
14279        this.publisher = new StringType(); // bb
14280    return this.publisher;
14281  }
14282
14283  public boolean hasPublisherElement() { 
14284    return this.publisher != null && !this.publisher.isEmpty();
14285  }
14286
14287  public boolean hasPublisher() { 
14288    return this.publisher != null && !this.publisher.isEmpty();
14289  }
14290
14291  /**
14292   * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the implementation guide.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value
14293   */
14294  public ImplementationGuide setPublisherElement(StringType value) { 
14295    this.publisher = value;
14296    return this;
14297  }
14298
14299  /**
14300   * @return The name of the organization or individual responsible for the release and ongoing maintenance of the implementation guide.
14301   */
14302  public String getPublisher() { 
14303    return this.publisher == null ? null : this.publisher.getValue();
14304  }
14305
14306  /**
14307   * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the implementation guide.
14308   */
14309  public ImplementationGuide setPublisher(String value) { 
14310    if (Utilities.noString(value))
14311      this.publisher = null;
14312    else {
14313      if (this.publisher == null)
14314        this.publisher = new StringType();
14315      this.publisher.setValue(value);
14316    }
14317    return this;
14318  }
14319
14320  /**
14321   * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.)
14322   */
14323  public List<ContactDetail> getContact() { 
14324    if (this.contact == null)
14325      this.contact = new ArrayList<ContactDetail>();
14326    return this.contact;
14327  }
14328
14329  /**
14330   * @return Returns a reference to <code>this</code> for easy method chaining
14331   */
14332  public ImplementationGuide setContact(List<ContactDetail> theContact) { 
14333    this.contact = theContact;
14334    return this;
14335  }
14336
14337  public boolean hasContact() { 
14338    if (this.contact == null)
14339      return false;
14340    for (ContactDetail item : this.contact)
14341      if (!item.isEmpty())
14342        return true;
14343    return false;
14344  }
14345
14346  public ContactDetail addContact() { //3
14347    ContactDetail t = new ContactDetail();
14348    if (this.contact == null)
14349      this.contact = new ArrayList<ContactDetail>();
14350    this.contact.add(t);
14351    return t;
14352  }
14353
14354  public ImplementationGuide addContact(ContactDetail t) { //3
14355    if (t == null)
14356      return this;
14357    if (this.contact == null)
14358      this.contact = new ArrayList<ContactDetail>();
14359    this.contact.add(t);
14360    return this;
14361  }
14362
14363  /**
14364   * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist {3}
14365   */
14366  public ContactDetail getContactFirstRep() { 
14367    if (getContact().isEmpty()) {
14368      addContact();
14369    }
14370    return getContact().get(0);
14371  }
14372
14373  /**
14374   * @return {@link #description} (A free text natural language description of the implementation guide from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value
14375   */
14376  public MarkdownType getDescriptionElement() { 
14377    if (this.description == null)
14378      if (Configuration.errorOnAutoCreate())
14379        throw new Error("Attempt to auto-create ImplementationGuide.description");
14380      else if (Configuration.doAutoCreate())
14381        this.description = new MarkdownType(); // bb
14382    return this.description;
14383  }
14384
14385  public boolean hasDescriptionElement() { 
14386    return this.description != null && !this.description.isEmpty();
14387  }
14388
14389  public boolean hasDescription() { 
14390    return this.description != null && !this.description.isEmpty();
14391  }
14392
14393  /**
14394   * @param value {@link #description} (A free text natural language description of the implementation guide from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value
14395   */
14396  public ImplementationGuide setDescriptionElement(MarkdownType value) { 
14397    this.description = value;
14398    return this;
14399  }
14400
14401  /**
14402   * @return A free text natural language description of the implementation guide from a consumer's perspective.
14403   */
14404  public String getDescription() { 
14405    return this.description == null ? null : this.description.getValue();
14406  }
14407
14408  /**
14409   * @param value A free text natural language description of the implementation guide from a consumer's perspective.
14410   */
14411  public ImplementationGuide setDescription(String value) { 
14412    if (Utilities.noString(value))
14413      this.description = null;
14414    else {
14415      if (this.description == null)
14416        this.description = new MarkdownType();
14417      this.description.setValue(value);
14418    }
14419    return this;
14420  }
14421
14422  /**
14423   * @return {@link #useContext} (The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate implementation guide instances.)
14424   */
14425  public List<UsageContext> getUseContext() { 
14426    if (this.useContext == null)
14427      this.useContext = new ArrayList<UsageContext>();
14428    return this.useContext;
14429  }
14430
14431  /**
14432   * @return Returns a reference to <code>this</code> for easy method chaining
14433   */
14434  public ImplementationGuide setUseContext(List<UsageContext> theUseContext) { 
14435    this.useContext = theUseContext;
14436    return this;
14437  }
14438
14439  public boolean hasUseContext() { 
14440    if (this.useContext == null)
14441      return false;
14442    for (UsageContext item : this.useContext)
14443      if (!item.isEmpty())
14444        return true;
14445    return false;
14446  }
14447
14448  public UsageContext addUseContext() { //3
14449    UsageContext t = new UsageContext();
14450    if (this.useContext == null)
14451      this.useContext = new ArrayList<UsageContext>();
14452    this.useContext.add(t);
14453    return t;
14454  }
14455
14456  public ImplementationGuide addUseContext(UsageContext t) { //3
14457    if (t == null)
14458      return this;
14459    if (this.useContext == null)
14460      this.useContext = new ArrayList<UsageContext>();
14461    this.useContext.add(t);
14462    return this;
14463  }
14464
14465  /**
14466   * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist {3}
14467   */
14468  public UsageContext getUseContextFirstRep() { 
14469    if (getUseContext().isEmpty()) {
14470      addUseContext();
14471    }
14472    return getUseContext().get(0);
14473  }
14474
14475  /**
14476   * @return {@link #jurisdiction} (A legal or geographic region in which the implementation guide is intended to be used.)
14477   */
14478  public List<CodeableConcept> getJurisdiction() { 
14479    if (this.jurisdiction == null)
14480      this.jurisdiction = new ArrayList<CodeableConcept>();
14481    return this.jurisdiction;
14482  }
14483
14484  /**
14485   * @return Returns a reference to <code>this</code> for easy method chaining
14486   */
14487  public ImplementationGuide setJurisdiction(List<CodeableConcept> theJurisdiction) { 
14488    this.jurisdiction = theJurisdiction;
14489    return this;
14490  }
14491
14492  public boolean hasJurisdiction() { 
14493    if (this.jurisdiction == null)
14494      return false;
14495    for (CodeableConcept item : this.jurisdiction)
14496      if (!item.isEmpty())
14497        return true;
14498    return false;
14499  }
14500
14501  public CodeableConcept addJurisdiction() { //3
14502    CodeableConcept t = new CodeableConcept();
14503    if (this.jurisdiction == null)
14504      this.jurisdiction = new ArrayList<CodeableConcept>();
14505    this.jurisdiction.add(t);
14506    return t;
14507  }
14508
14509  public ImplementationGuide addJurisdiction(CodeableConcept t) { //3
14510    if (t == null)
14511      return this;
14512    if (this.jurisdiction == null)
14513      this.jurisdiction = new ArrayList<CodeableConcept>();
14514    this.jurisdiction.add(t);
14515    return this;
14516  }
14517
14518  /**
14519   * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {3}
14520   */
14521  public CodeableConcept getJurisdictionFirstRep() { 
14522    if (getJurisdiction().isEmpty()) {
14523      addJurisdiction();
14524    }
14525    return getJurisdiction().get(0);
14526  }
14527
14528  /**
14529   * @return {@link #purpose} (Explanation of why this implementation guide is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value
14530   */
14531  public MarkdownType getPurposeElement() { 
14532    if (this.purpose == null)
14533      if (Configuration.errorOnAutoCreate())
14534        throw new Error("Attempt to auto-create ImplementationGuide.purpose");
14535      else if (Configuration.doAutoCreate())
14536        this.purpose = new MarkdownType(); // bb
14537    return this.purpose;
14538  }
14539
14540  public boolean hasPurposeElement() { 
14541    return this.purpose != null && !this.purpose.isEmpty();
14542  }
14543
14544  public boolean hasPurpose() { 
14545    return this.purpose != null && !this.purpose.isEmpty();
14546  }
14547
14548  /**
14549   * @param value {@link #purpose} (Explanation of why this implementation guide is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value
14550   */
14551  public ImplementationGuide setPurposeElement(MarkdownType value) { 
14552    this.purpose = value;
14553    return this;
14554  }
14555
14556  /**
14557   * @return Explanation of why this implementation guide is needed and why it has been designed as it has.
14558   */
14559  public String getPurpose() { 
14560    return this.purpose == null ? null : this.purpose.getValue();
14561  }
14562
14563  /**
14564   * @param value Explanation of why this implementation guide is needed and why it has been designed as it has.
14565   */
14566  public ImplementationGuide setPurpose(String value) { 
14567    if (Utilities.noString(value))
14568      this.purpose = null;
14569    else {
14570      if (this.purpose == null)
14571        this.purpose = new MarkdownType();
14572      this.purpose.setValue(value);
14573    }
14574    return this;
14575  }
14576
14577  /**
14578   * @return {@link #copyright} (A copyright statement relating to the implementation guide and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the implementation guide.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value
14579   */
14580  public MarkdownType getCopyrightElement() { 
14581    if (this.copyright == null)
14582      if (Configuration.errorOnAutoCreate())
14583        throw new Error("Attempt to auto-create ImplementationGuide.copyright");
14584      else if (Configuration.doAutoCreate())
14585        this.copyright = new MarkdownType(); // bb
14586    return this.copyright;
14587  }
14588
14589  public boolean hasCopyrightElement() { 
14590    return this.copyright != null && !this.copyright.isEmpty();
14591  }
14592
14593  public boolean hasCopyright() { 
14594    return this.copyright != null && !this.copyright.isEmpty();
14595  }
14596
14597  /**
14598   * @param value {@link #copyright} (A copyright statement relating to the implementation guide and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the implementation guide.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value
14599   */
14600  public ImplementationGuide setCopyrightElement(MarkdownType value) { 
14601    this.copyright = value;
14602    return this;
14603  }
14604
14605  /**
14606   * @return A copyright statement relating to the implementation guide and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the implementation guide.
14607   */
14608  public String getCopyright() { 
14609    return this.copyright == null ? null : this.copyright.getValue();
14610  }
14611
14612  /**
14613   * @param value A copyright statement relating to the implementation guide and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the implementation guide.
14614   */
14615  public ImplementationGuide setCopyright(String value) { 
14616    if (Utilities.noString(value))
14617      this.copyright = null;
14618    else {
14619      if (this.copyright == null)
14620        this.copyright = new MarkdownType();
14621      this.copyright.setValue(value);
14622    }
14623    return this;
14624  }
14625
14626  /**
14627   * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value
14628   */
14629  public StringType getCopyrightLabelElement() { 
14630    if (this.copyrightLabel == null)
14631      if (Configuration.errorOnAutoCreate())
14632        throw new Error("Attempt to auto-create ImplementationGuide.copyrightLabel");
14633      else if (Configuration.doAutoCreate())
14634        this.copyrightLabel = new StringType(); // bb
14635    return this.copyrightLabel;
14636  }
14637
14638  public boolean hasCopyrightLabelElement() { 
14639    return this.copyrightLabel != null && !this.copyrightLabel.isEmpty();
14640  }
14641
14642  public boolean hasCopyrightLabel() { 
14643    return this.copyrightLabel != null && !this.copyrightLabel.isEmpty();
14644  }
14645
14646  /**
14647   * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value
14648   */
14649  public ImplementationGuide setCopyrightLabelElement(StringType value) { 
14650    this.copyrightLabel = value;
14651    return this;
14652  }
14653
14654  /**
14655   * @return A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').
14656   */
14657  public String getCopyrightLabel() { 
14658    return this.copyrightLabel == null ? null : this.copyrightLabel.getValue();
14659  }
14660
14661  /**
14662   * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').
14663   */
14664  public ImplementationGuide setCopyrightLabel(String value) { 
14665    if (Utilities.noString(value))
14666      this.copyrightLabel = null;
14667    else {
14668      if (this.copyrightLabel == null)
14669        this.copyrightLabel = new StringType();
14670      this.copyrightLabel.setValue(value);
14671    }
14672    return this;
14673  }
14674
14675  /**
14676   * @return {@link #packageId} (The NPM package name for this Implementation Guide, used in the NPM package distribution, which is the primary mechanism by which FHIR based tooling manages IG dependencies. This value must be globally unique, and should be assigned with care.). This is the underlying object with id, value and extensions. The accessor "getPackageId" gives direct access to the value
14677   */
14678  public IdType getPackageIdElement() { 
14679    if (this.packageId == null)
14680      if (Configuration.errorOnAutoCreate())
14681        throw new Error("Attempt to auto-create ImplementationGuide.packageId");
14682      else if (Configuration.doAutoCreate())
14683        this.packageId = new IdType(); // bb
14684    return this.packageId;
14685  }
14686
14687  public boolean hasPackageIdElement() { 
14688    return this.packageId != null && !this.packageId.isEmpty();
14689  }
14690
14691  public boolean hasPackageId() { 
14692    return this.packageId != null && !this.packageId.isEmpty();
14693  }
14694
14695  /**
14696   * @param value {@link #packageId} (The NPM package name for this Implementation Guide, used in the NPM package distribution, which is the primary mechanism by which FHIR based tooling manages IG dependencies. This value must be globally unique, and should be assigned with care.). This is the underlying object with id, value and extensions. The accessor "getPackageId" gives direct access to the value
14697   */
14698  public ImplementationGuide setPackageIdElement(IdType value) { 
14699    this.packageId = value;
14700    return this;
14701  }
14702
14703  /**
14704   * @return The NPM package name for this Implementation Guide, used in the NPM package distribution, which is the primary mechanism by which FHIR based tooling manages IG dependencies. This value must be globally unique, and should be assigned with care.
14705   */
14706  public String getPackageId() { 
14707    return this.packageId == null ? null : this.packageId.getValue();
14708  }
14709
14710  /**
14711   * @param value The NPM package name for this Implementation Guide, used in the NPM package distribution, which is the primary mechanism by which FHIR based tooling manages IG dependencies. This value must be globally unique, and should be assigned with care.
14712   */
14713  public ImplementationGuide setPackageId(String value) { 
14714    if (this.packageId == null)
14715      this.packageId = new IdType();
14716    this.packageId.setValue(value);
14717    return this;
14718  }
14719
14720  /**
14721   * @return {@link #license} (The license that applies to this Implementation Guide, using an SPDX license code, or 'not-open-source'.). This is the underlying object with id, value and extensions. The accessor "getLicense" gives direct access to the value
14722   */
14723  public Enumeration<SPDXLicense> getLicenseElement() { 
14724    if (this.license == null)
14725      if (Configuration.errorOnAutoCreate())
14726        throw new Error("Attempt to auto-create ImplementationGuide.license");
14727      else if (Configuration.doAutoCreate())
14728        this.license = new Enumeration<SPDXLicense>(new SPDXLicenseEnumFactory()); // bb
14729    return this.license;
14730  }
14731
14732  public boolean hasLicenseElement() { 
14733    return this.license != null && !this.license.isEmpty();
14734  }
14735
14736  public boolean hasLicense() { 
14737    return this.license != null && !this.license.isEmpty();
14738  }
14739
14740  /**
14741   * @param value {@link #license} (The license that applies to this Implementation Guide, using an SPDX license code, or 'not-open-source'.). This is the underlying object with id, value and extensions. The accessor "getLicense" gives direct access to the value
14742   */
14743  public ImplementationGuide setLicenseElement(Enumeration<SPDXLicense> value) { 
14744    this.license = value;
14745    return this;
14746  }
14747
14748  /**
14749   * @return The license that applies to this Implementation Guide, using an SPDX license code, or 'not-open-source'.
14750   */
14751  public SPDXLicense getLicense() { 
14752    return this.license == null ? null : this.license.getValue();
14753  }
14754
14755  /**
14756   * @param value The license that applies to this Implementation Guide, using an SPDX license code, or 'not-open-source'.
14757   */
14758  public ImplementationGuide setLicense(SPDXLicense value) { 
14759    if (value == null)
14760      this.license = null;
14761    else {
14762      if (this.license == null)
14763        this.license = new Enumeration<SPDXLicense>(new SPDXLicenseEnumFactory());
14764      this.license.setValue(value);
14765    }
14766    return this;
14767  }
14768
14769  /**
14770   * @return {@link #fhirVersion} (The version(s) of the FHIR specification that this ImplementationGuide targets - e.g. describes how to use. The value of this element is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is 4.6.0. for this version.)
14771   */
14772  public List<Enumeration<FHIRVersion>> getFhirVersion() { 
14773    if (this.fhirVersion == null)
14774      this.fhirVersion = new ArrayList<Enumeration<FHIRVersion>>();
14775    return this.fhirVersion;
14776  }
14777
14778  /**
14779   * @return Returns a reference to <code>this</code> for easy method chaining
14780   */
14781  public ImplementationGuide setFhirVersion(List<Enumeration<FHIRVersion>> theFhirVersion) { 
14782    this.fhirVersion = theFhirVersion;
14783    return this;
14784  }
14785
14786  public boolean hasFhirVersion() { 
14787    if (this.fhirVersion == null)
14788      return false;
14789    for (Enumeration<FHIRVersion> item : this.fhirVersion)
14790      if (!item.isEmpty())
14791        return true;
14792    return false;
14793  }
14794
14795  /**
14796   * @return {@link #fhirVersion} (The version(s) of the FHIR specification that this ImplementationGuide targets - e.g. describes how to use. The value of this element is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is 4.6.0. for this version.)
14797   */
14798  public Enumeration<FHIRVersion> addFhirVersionElement() {//2 
14799    Enumeration<FHIRVersion> t = new Enumeration<FHIRVersion>(new FHIRVersionEnumFactory());
14800    if (this.fhirVersion == null)
14801      this.fhirVersion = new ArrayList<Enumeration<FHIRVersion>>();
14802    this.fhirVersion.add(t);
14803    return t;
14804  }
14805
14806  /**
14807   * @param value {@link #fhirVersion} (The version(s) of the FHIR specification that this ImplementationGuide targets - e.g. describes how to use. The value of this element is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is 4.6.0. for this version.)
14808   */
14809  public ImplementationGuide addFhirVersion(FHIRVersion value) { //1
14810    Enumeration<FHIRVersion> t = new Enumeration<FHIRVersion>(new FHIRVersionEnumFactory());
14811    t.setValue(value);
14812    if (this.fhirVersion == null)
14813      this.fhirVersion = new ArrayList<Enumeration<FHIRVersion>>();
14814    this.fhirVersion.add(t);
14815    return this;
14816  }
14817
14818  /**
14819   * @param value {@link #fhirVersion} (The version(s) of the FHIR specification that this ImplementationGuide targets - e.g. describes how to use. The value of this element is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is 4.6.0. for this version.)
14820   */
14821  public boolean hasFhirVersion(FHIRVersion value) { 
14822    if (this.fhirVersion == null)
14823      return false;
14824    for (Enumeration<FHIRVersion> v : this.fhirVersion)
14825      if (v.getValue().equals(value)) // code
14826        return true;
14827    return false;
14828  }
14829
14830  /**
14831   * @return {@link #dependsOn} (Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guides.)
14832   */
14833  public List<ImplementationGuideDependsOnComponent> getDependsOn() { 
14834    if (this.dependsOn == null)
14835      this.dependsOn = new ArrayList<ImplementationGuideDependsOnComponent>();
14836    return this.dependsOn;
14837  }
14838
14839  /**
14840   * @return Returns a reference to <code>this</code> for easy method chaining
14841   */
14842  public ImplementationGuide setDependsOn(List<ImplementationGuideDependsOnComponent> theDependsOn) { 
14843    this.dependsOn = theDependsOn;
14844    return this;
14845  }
14846
14847  public boolean hasDependsOn() { 
14848    if (this.dependsOn == null)
14849      return false;
14850    for (ImplementationGuideDependsOnComponent item : this.dependsOn)
14851      if (!item.isEmpty())
14852        return true;
14853    return false;
14854  }
14855
14856  public ImplementationGuideDependsOnComponent addDependsOn() { //3
14857    ImplementationGuideDependsOnComponent t = new ImplementationGuideDependsOnComponent();
14858    if (this.dependsOn == null)
14859      this.dependsOn = new ArrayList<ImplementationGuideDependsOnComponent>();
14860    this.dependsOn.add(t);
14861    return t;
14862  }
14863
14864  public ImplementationGuide addDependsOn(ImplementationGuideDependsOnComponent t) { //3
14865    if (t == null)
14866      return this;
14867    if (this.dependsOn == null)
14868      this.dependsOn = new ArrayList<ImplementationGuideDependsOnComponent>();
14869    this.dependsOn.add(t);
14870    return this;
14871  }
14872
14873  /**
14874   * @return The first repetition of repeating field {@link #dependsOn}, creating it if it does not already exist {3}
14875   */
14876  public ImplementationGuideDependsOnComponent getDependsOnFirstRep() { 
14877    if (getDependsOn().isEmpty()) {
14878      addDependsOn();
14879    }
14880    return getDependsOn().get(0);
14881  }
14882
14883  /**
14884   * @return {@link #global} (A set of profiles that all resources covered by this implementation guide must conform to.)
14885   */
14886  public List<ImplementationGuideGlobalComponent> getGlobal() { 
14887    if (this.global == null)
14888      this.global = new ArrayList<ImplementationGuideGlobalComponent>();
14889    return this.global;
14890  }
14891
14892  /**
14893   * @return Returns a reference to <code>this</code> for easy method chaining
14894   */
14895  public ImplementationGuide setGlobal(List<ImplementationGuideGlobalComponent> theGlobal) { 
14896    this.global = theGlobal;
14897    return this;
14898  }
14899
14900  public boolean hasGlobal() { 
14901    if (this.global == null)
14902      return false;
14903    for (ImplementationGuideGlobalComponent item : this.global)
14904      if (!item.isEmpty())
14905        return true;
14906    return false;
14907  }
14908
14909  public ImplementationGuideGlobalComponent addGlobal() { //3
14910    ImplementationGuideGlobalComponent t = new ImplementationGuideGlobalComponent();
14911    if (this.global == null)
14912      this.global = new ArrayList<ImplementationGuideGlobalComponent>();
14913    this.global.add(t);
14914    return t;
14915  }
14916
14917  public ImplementationGuide addGlobal(ImplementationGuideGlobalComponent t) { //3
14918    if (t == null)
14919      return this;
14920    if (this.global == null)
14921      this.global = new ArrayList<ImplementationGuideGlobalComponent>();
14922    this.global.add(t);
14923    return this;
14924  }
14925
14926  /**
14927   * @return The first repetition of repeating field {@link #global}, creating it if it does not already exist {3}
14928   */
14929  public ImplementationGuideGlobalComponent getGlobalFirstRep() { 
14930    if (getGlobal().isEmpty()) {
14931      addGlobal();
14932    }
14933    return getGlobal().get(0);
14934  }
14935
14936  /**
14937   * @return {@link #definition} (The information needed by an IG publisher tool to publish the whole implementation guide.)
14938   */
14939  public ImplementationGuideDefinitionComponent getDefinition() { 
14940    if (this.definition == null)
14941      if (Configuration.errorOnAutoCreate())
14942        throw new Error("Attempt to auto-create ImplementationGuide.definition");
14943      else if (Configuration.doAutoCreate())
14944        this.definition = new ImplementationGuideDefinitionComponent(); // cc
14945    return this.definition;
14946  }
14947
14948  public boolean hasDefinition() { 
14949    return this.definition != null && !this.definition.isEmpty();
14950  }
14951
14952  /**
14953   * @param value {@link #definition} (The information needed by an IG publisher tool to publish the whole implementation guide.)
14954   */
14955  public ImplementationGuide setDefinition(ImplementationGuideDefinitionComponent value) { 
14956    this.definition = value;
14957    return this;
14958  }
14959
14960  /**
14961   * @return {@link #manifest} (Information about an assembled implementation guide, created by the publication tooling.)
14962   */
14963  public ImplementationGuideManifestComponent getManifest() { 
14964    if (this.manifest == null)
14965      if (Configuration.errorOnAutoCreate())
14966        throw new Error("Attempt to auto-create ImplementationGuide.manifest");
14967      else if (Configuration.doAutoCreate())
14968        this.manifest = new ImplementationGuideManifestComponent(); // cc
14969    return this.manifest;
14970  }
14971
14972  public boolean hasManifest() { 
14973    return this.manifest != null && !this.manifest.isEmpty();
14974  }
14975
14976  /**
14977   * @param value {@link #manifest} (Information about an assembled implementation guide, created by the publication tooling.)
14978   */
14979  public ImplementationGuide setManifest(ImplementationGuideManifestComponent value) { 
14980    this.manifest = value;
14981    return this;
14982  }
14983
14984  protected void listChildren(List<Property> children) {
14985    super.listChildren(children);
14986    children.add(new Property("url", "uri", "An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this implementation guide is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the implementation guide is stored on different servers.", 0, 1, url));
14987    children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this implementation guide when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier));
14988    children.add(new Property("version", "string", "The identifier that is used to identify this version of the implementation guide when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the implementation guide author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version));
14989    children.add(new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm));
14990    children.add(new Property("name", "string", "A natural language name identifying the implementation guide. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name));
14991    children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the implementation guide.", 0, 1, title));
14992    children.add(new Property("status", "code", "The status of this implementation guide. Enables tracking the life-cycle of the content.", 0, 1, status));
14993    children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this implementation guide is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental));
14994    children.add(new Property("date", "dateTime", "The date  (and optionally time) when the implementation guide was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the implementation guide changes.", 0, 1, date));
14995    children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the implementation guide.", 0, 1, publisher));
14996    children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact));
14997    children.add(new Property("description", "markdown", "A free text natural language description of the implementation guide from a consumer's perspective.", 0, 1, description));
14998    children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate implementation guide instances.", 0, java.lang.Integer.MAX_VALUE, useContext));
14999    children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the implementation guide is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction));
15000    children.add(new Property("purpose", "markdown", "Explanation of why this implementation guide is needed and why it has been designed as it has.", 0, 1, purpose));
15001    children.add(new Property("copyright", "markdown", "A copyright statement relating to the implementation guide and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the implementation guide.", 0, 1, copyright));
15002    children.add(new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel));
15003    children.add(new Property("packageId", "id", "The NPM package name for this Implementation Guide, used in the NPM package distribution, which is the primary mechanism by which FHIR based tooling manages IG dependencies. This value must be globally unique, and should be assigned with care.", 0, 1, packageId));
15004    children.add(new Property("license", "code", "The license that applies to this Implementation Guide, using an SPDX license code, or 'not-open-source'.", 0, 1, license));
15005    children.add(new Property("fhirVersion", "code", "The version(s) of the FHIR specification that this ImplementationGuide targets - e.g. describes how to use. The value of this element is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is 4.6.0. for this version.", 0, java.lang.Integer.MAX_VALUE, fhirVersion));
15006    children.add(new Property("dependsOn", "", "Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guides.", 0, java.lang.Integer.MAX_VALUE, dependsOn));
15007    children.add(new Property("global", "", "A set of profiles that all resources covered by this implementation guide must conform to.", 0, java.lang.Integer.MAX_VALUE, global));
15008    children.add(new Property("definition", "", "The information needed by an IG publisher tool to publish the whole implementation guide.", 0, 1, definition));
15009    children.add(new Property("manifest", "", "Information about an assembled implementation guide, created by the publication tooling.", 0, 1, manifest));
15010  }
15011
15012  @Override
15013  public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
15014    switch (_hash) {
15015    case 116079: /*url*/  return new Property("url", "uri", "An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this implementation guide is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the implementation guide is stored on different servers.", 0, 1, url);
15016    case -1618432855: /*identifier*/  return new Property("identifier", "Identifier", "A formal identifier that is used to identify this implementation guide when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier);
15017    case 351608024: /*version*/  return new Property("version", "string", "The identifier that is used to identify this version of the implementation guide when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the implementation guide author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version);
15018    case -115699031: /*versionAlgorithm[x]*/  return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm);
15019    case 1508158071: /*versionAlgorithm*/  return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm);
15020    case 1836908904: /*versionAlgorithmString*/  return new Property("versionAlgorithm[x]", "string", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm);
15021    case 1373807809: /*versionAlgorithmCoding*/  return new Property("versionAlgorithm[x]", "Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm);
15022    case 3373707: /*name*/  return new Property("name", "string", "A natural language name identifying the implementation guide. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name);
15023    case 110371416: /*title*/  return new Property("title", "string", "A short, descriptive, user-friendly title for the implementation guide.", 0, 1, title);
15024    case -892481550: /*status*/  return new Property("status", "code", "The status of this implementation guide. Enables tracking the life-cycle of the content.", 0, 1, status);
15025    case -404562712: /*experimental*/  return new Property("experimental", "boolean", "A Boolean value to indicate that this implementation guide is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental);
15026    case 3076014: /*date*/  return new Property("date", "dateTime", "The date  (and optionally time) when the implementation guide was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the implementation guide changes.", 0, 1, date);
15027    case 1447404028: /*publisher*/  return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the implementation guide.", 0, 1, publisher);
15028    case 951526432: /*contact*/  return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact);
15029    case -1724546052: /*description*/  return new Property("description", "markdown", "A free text natural language description of the implementation guide from a consumer's perspective.", 0, 1, description);
15030    case -669707736: /*useContext*/  return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate implementation guide instances.", 0, java.lang.Integer.MAX_VALUE, useContext);
15031    case -507075711: /*jurisdiction*/  return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the implementation guide is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction);
15032    case -220463842: /*purpose*/  return new Property("purpose", "markdown", "Explanation of why this implementation guide is needed and why it has been designed as it has.", 0, 1, purpose);
15033    case 1522889671: /*copyright*/  return new Property("copyright", "markdown", "A copyright statement relating to the implementation guide and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the implementation guide.", 0, 1, copyright);
15034    case 765157229: /*copyrightLabel*/  return new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel);
15035    case 1802060801: /*packageId*/  return new Property("packageId", "id", "The NPM package name for this Implementation Guide, used in the NPM package distribution, which is the primary mechanism by which FHIR based tooling manages IG dependencies. This value must be globally unique, and should be assigned with care.", 0, 1, packageId);
15036    case 166757441: /*license*/  return new Property("license", "code", "The license that applies to this Implementation Guide, using an SPDX license code, or 'not-open-source'.", 0, 1, license);
15037    case 461006061: /*fhirVersion*/  return new Property("fhirVersion", "code", "The version(s) of the FHIR specification that this ImplementationGuide targets - e.g. describes how to use. The value of this element is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is 4.6.0. for this version.", 0, java.lang.Integer.MAX_VALUE, fhirVersion);
15038    case -1109214266: /*dependsOn*/  return new Property("dependsOn", "", "Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guides.", 0, java.lang.Integer.MAX_VALUE, dependsOn);
15039    case -1243020381: /*global*/  return new Property("global", "", "A set of profiles that all resources covered by this implementation guide must conform to.", 0, java.lang.Integer.MAX_VALUE, global);
15040    case -1014418093: /*definition*/  return new Property("definition", "", "The information needed by an IG publisher tool to publish the whole implementation guide.", 0, 1, definition);
15041    case 130625071: /*manifest*/  return new Property("manifest", "", "Information about an assembled implementation guide, created by the publication tooling.", 0, 1, manifest);
15042    default: return super.getNamedProperty(_hash, _name, _checkValid);
15043    }
15044
15045  }
15046
15047  @Override
15048  public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
15049    switch (hash) {
15050    case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType
15051    case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier
15052    case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType
15053    case 1508158071: /*versionAlgorithm*/ return this.versionAlgorithm == null ? new Base[0] : new Base[] {this.versionAlgorithm}; // DataType
15054    case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType
15055    case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType
15056    case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus>
15057    case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType
15058    case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType
15059    case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType
15060    case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail
15061    case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType
15062    case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext
15063    case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept
15064    case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType
15065    case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType
15066    case 765157229: /*copyrightLabel*/ return this.copyrightLabel == null ? new Base[0] : new Base[] {this.copyrightLabel}; // StringType
15067    case 1802060801: /*packageId*/ return this.packageId == null ? new Base[0] : new Base[] {this.packageId}; // IdType
15068    case 166757441: /*license*/ return this.license == null ? new Base[0] : new Base[] {this.license}; // Enumeration<SPDXLicense>
15069    case 461006061: /*fhirVersion*/ return this.fhirVersion == null ? new Base[0] : this.fhirVersion.toArray(new Base[this.fhirVersion.size()]); // Enumeration<FHIRVersion>
15070    case -1109214266: /*dependsOn*/ return this.dependsOn == null ? new Base[0] : this.dependsOn.toArray(new Base[this.dependsOn.size()]); // ImplementationGuideDependsOnComponent
15071    case -1243020381: /*global*/ return this.global == null ? new Base[0] : this.global.toArray(new Base[this.global.size()]); // ImplementationGuideGlobalComponent
15072    case -1014418093: /*definition*/ return this.definition == null ? new Base[0] : new Base[] {this.definition}; // ImplementationGuideDefinitionComponent
15073    case 130625071: /*manifest*/ return this.manifest == null ? new Base[0] : new Base[] {this.manifest}; // ImplementationGuideManifestComponent
15074    default: return super.getProperty(hash, name, checkValid);
15075    }
15076
15077  }
15078
15079  @Override
15080  public Base setProperty(int hash, String name, Base value) throws FHIRException {
15081    switch (hash) {
15082    case 116079: // url
15083      this.url = TypeConvertor.castToUri(value); // UriType
15084      return value;
15085    case -1618432855: // identifier
15086      this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier
15087      return value;
15088    case 351608024: // version
15089      this.version = TypeConvertor.castToString(value); // StringType
15090      return value;
15091    case 1508158071: // versionAlgorithm
15092      this.versionAlgorithm = TypeConvertor.castToType(value); // DataType
15093      return value;
15094    case 3373707: // name
15095      this.name = TypeConvertor.castToString(value); // StringType
15096      return value;
15097    case 110371416: // title
15098      this.title = TypeConvertor.castToString(value); // StringType
15099      return value;
15100    case -892481550: // status
15101      value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value));
15102      this.status = (Enumeration) value; // Enumeration<PublicationStatus>
15103      return value;
15104    case -404562712: // experimental
15105      this.experimental = TypeConvertor.castToBoolean(value); // BooleanType
15106      return value;
15107    case 3076014: // date
15108      this.date = TypeConvertor.castToDateTime(value); // DateTimeType
15109      return value;
15110    case 1447404028: // publisher
15111      this.publisher = TypeConvertor.castToString(value); // StringType
15112      return value;
15113    case 951526432: // contact
15114      this.getContact().add(TypeConvertor.castToContactDetail(value)); // ContactDetail
15115      return value;
15116    case -1724546052: // description
15117      this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
15118      return value;
15119    case -669707736: // useContext
15120      this.getUseContext().add(TypeConvertor.castToUsageContext(value)); // UsageContext
15121      return value;
15122    case -507075711: // jurisdiction
15123      this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept
15124      return value;
15125    case -220463842: // purpose
15126      this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType
15127      return value;
15128    case 1522889671: // copyright
15129      this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType
15130      return value;
15131    case 765157229: // copyrightLabel
15132      this.copyrightLabel = TypeConvertor.castToString(value); // StringType
15133      return value;
15134    case 1802060801: // packageId
15135      this.packageId = TypeConvertor.castToId(value); // IdType
15136      return value;
15137    case 166757441: // license
15138      value = new SPDXLicenseEnumFactory().fromType(TypeConvertor.castToCode(value));
15139      this.license = (Enumeration) value; // Enumeration<SPDXLicense>
15140      return value;
15141    case 461006061: // fhirVersion
15142      value = new FHIRVersionEnumFactory().fromType(TypeConvertor.castToCode(value));
15143      this.getFhirVersion().add((Enumeration) value); // Enumeration<FHIRVersion>
15144      return value;
15145    case -1109214266: // dependsOn
15146      this.getDependsOn().add((ImplementationGuideDependsOnComponent) value); // ImplementationGuideDependsOnComponent
15147      return value;
15148    case -1243020381: // global
15149      this.getGlobal().add((ImplementationGuideGlobalComponent) value); // ImplementationGuideGlobalComponent
15150      return value;
15151    case -1014418093: // definition
15152      this.definition = (ImplementationGuideDefinitionComponent) value; // ImplementationGuideDefinitionComponent
15153      return value;
15154    case 130625071: // manifest
15155      this.manifest = (ImplementationGuideManifestComponent) value; // ImplementationGuideManifestComponent
15156      return value;
15157    default: return super.setProperty(hash, name, value);
15158    }
15159
15160  }
15161
15162  @Override
15163  public Base setProperty(String name, Base value) throws FHIRException {
15164    if (name.equals("url")) {
15165      this.url = TypeConvertor.castToUri(value); // UriType
15166    } else if (name.equals("identifier")) {
15167      this.getIdentifier().add(TypeConvertor.castToIdentifier(value));
15168    } else if (name.equals("version")) {
15169      this.version = TypeConvertor.castToString(value); // StringType
15170    } else if (name.equals("versionAlgorithm[x]")) {
15171      this.versionAlgorithm = TypeConvertor.castToType(value); // DataType
15172    } else if (name.equals("name")) {
15173      this.name = TypeConvertor.castToString(value); // StringType
15174    } else if (name.equals("title")) {
15175      this.title = TypeConvertor.castToString(value); // StringType
15176    } else if (name.equals("status")) {
15177      value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value));
15178      this.status = (Enumeration) value; // Enumeration<PublicationStatus>
15179    } else if (name.equals("experimental")) {
15180      this.experimental = TypeConvertor.castToBoolean(value); // BooleanType
15181    } else if (name.equals("date")) {
15182      this.date = TypeConvertor.castToDateTime(value); // DateTimeType
15183    } else if (name.equals("publisher")) {
15184      this.publisher = TypeConvertor.castToString(value); // StringType
15185    } else if (name.equals("contact")) {
15186      this.getContact().add(TypeConvertor.castToContactDetail(value));
15187    } else if (name.equals("description")) {
15188      this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
15189    } else if (name.equals("useContext")) {
15190      this.getUseContext().add(TypeConvertor.castToUsageContext(value));
15191    } else if (name.equals("jurisdiction")) {
15192      this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value));
15193    } else if (name.equals("purpose")) {
15194      this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType
15195    } else if (name.equals("copyright")) {
15196      this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType
15197    } else if (name.equals("copyrightLabel")) {
15198      this.copyrightLabel = TypeConvertor.castToString(value); // StringType
15199    } else if (name.equals("packageId")) {
15200      this.packageId = TypeConvertor.castToId(value); // IdType
15201    } else if (name.equals("license")) {
15202      value = new SPDXLicenseEnumFactory().fromType(TypeConvertor.castToCode(value));
15203      this.license = (Enumeration) value; // Enumeration<SPDXLicense>
15204    } else if (name.equals("fhirVersion")) {
15205      value = new FHIRVersionEnumFactory().fromType(TypeConvertor.castToCode(value));
15206      this.getFhirVersion().add((Enumeration) value);
15207    } else if (name.equals("dependsOn")) {
15208      this.getDependsOn().add((ImplementationGuideDependsOnComponent) value);
15209    } else if (name.equals("global")) {
15210      this.getGlobal().add((ImplementationGuideGlobalComponent) value);
15211    } else if (name.equals("definition")) {
15212      this.definition = (ImplementationGuideDefinitionComponent) value; // ImplementationGuideDefinitionComponent
15213    } else if (name.equals("manifest")) {
15214      this.manifest = (ImplementationGuideManifestComponent) value; // ImplementationGuideManifestComponent
15215    } else
15216      return super.setProperty(name, value);
15217    return value;
15218  }
15219
15220  @Override
15221  public void removeChild(String name, Base value) throws FHIRException {
15222    if (name.equals("url")) {
15223      this.url = null;
15224    } else if (name.equals("identifier")) {
15225      this.getIdentifier().remove(value);
15226    } else if (name.equals("version")) {
15227      this.version = null;
15228    } else if (name.equals("versionAlgorithm[x]")) {
15229      this.versionAlgorithm = null;
15230    } else if (name.equals("name")) {
15231      this.name = null;
15232    } else if (name.equals("title")) {
15233      this.title = null;
15234    } else if (name.equals("status")) {
15235      value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value));
15236      this.status = (Enumeration) value; // Enumeration<PublicationStatus>
15237    } else if (name.equals("experimental")) {
15238      this.experimental = null;
15239    } else if (name.equals("date")) {
15240      this.date = null;
15241    } else if (name.equals("publisher")) {
15242      this.publisher = null;
15243    } else if (name.equals("contact")) {
15244      this.getContact().remove(value);
15245    } else if (name.equals("description")) {
15246      this.description = null;
15247    } else if (name.equals("useContext")) {
15248      this.getUseContext().remove(value);
15249    } else if (name.equals("jurisdiction")) {
15250      this.getJurisdiction().remove(value);
15251    } else if (name.equals("purpose")) {
15252      this.purpose = null;
15253    } else if (name.equals("copyright")) {
15254      this.copyright = null;
15255    } else if (name.equals("copyrightLabel")) {
15256      this.copyrightLabel = null;
15257    } else if (name.equals("packageId")) {
15258      this.packageId = null;
15259    } else if (name.equals("license")) {
15260      value = new SPDXLicenseEnumFactory().fromType(TypeConvertor.castToCode(value));
15261      this.license = (Enumeration) value; // Enumeration<SPDXLicense>
15262    } else if (name.equals("fhirVersion")) {
15263      value = new FHIRVersionEnumFactory().fromType(TypeConvertor.castToCode(value));
15264      this.getFhirVersion().remove((Enumeration) value);
15265    } else if (name.equals("dependsOn")) {
15266      this.getDependsOn().remove((ImplementationGuideDependsOnComponent) value);
15267    } else if (name.equals("global")) {
15268      this.getGlobal().remove((ImplementationGuideGlobalComponent) value);
15269    } else if (name.equals("definition")) {
15270      this.definition = (ImplementationGuideDefinitionComponent) value; // ImplementationGuideDefinitionComponent
15271    } else if (name.equals("manifest")) {
15272      this.manifest = (ImplementationGuideManifestComponent) value; // ImplementationGuideManifestComponent
15273    } else
15274      super.removeChild(name, value);
15275    
15276  }
15277
15278  @Override
15279  public Base makeProperty(int hash, String name) throws FHIRException {
15280    switch (hash) {
15281    case 116079:  return getUrlElement();
15282    case -1618432855:  return addIdentifier(); 
15283    case 351608024:  return getVersionElement();
15284    case -115699031:  return getVersionAlgorithm();
15285    case 1508158071:  return getVersionAlgorithm();
15286    case 3373707:  return getNameElement();
15287    case 110371416:  return getTitleElement();
15288    case -892481550:  return getStatusElement();
15289    case -404562712:  return getExperimentalElement();
15290    case 3076014:  return getDateElement();
15291    case 1447404028:  return getPublisherElement();
15292    case 951526432:  return addContact(); 
15293    case -1724546052:  return getDescriptionElement();
15294    case -669707736:  return addUseContext(); 
15295    case -507075711:  return addJurisdiction(); 
15296    case -220463842:  return getPurposeElement();
15297    case 1522889671:  return getCopyrightElement();
15298    case 765157229:  return getCopyrightLabelElement();
15299    case 1802060801:  return getPackageIdElement();
15300    case 166757441:  return getLicenseElement();
15301    case 461006061:  return addFhirVersionElement();
15302    case -1109214266:  return addDependsOn(); 
15303    case -1243020381:  return addGlobal(); 
15304    case -1014418093:  return getDefinition();
15305    case 130625071:  return getManifest();
15306    default: return super.makeProperty(hash, name);
15307    }
15308
15309  }
15310
15311  @Override
15312  public String[] getTypesForProperty(int hash, String name) throws FHIRException {
15313    switch (hash) {
15314    case 116079: /*url*/ return new String[] {"uri"};
15315    case -1618432855: /*identifier*/ return new String[] {"Identifier"};
15316    case 351608024: /*version*/ return new String[] {"string"};
15317    case 1508158071: /*versionAlgorithm*/ return new String[] {"string", "Coding"};
15318    case 3373707: /*name*/ return new String[] {"string"};
15319    case 110371416: /*title*/ return new String[] {"string"};
15320    case -892481550: /*status*/ return new String[] {"code"};
15321    case -404562712: /*experimental*/ return new String[] {"boolean"};
15322    case 3076014: /*date*/ return new String[] {"dateTime"};
15323    case 1447404028: /*publisher*/ return new String[] {"string"};
15324    case 951526432: /*contact*/ return new String[] {"ContactDetail"};
15325    case -1724546052: /*description*/ return new String[] {"markdown"};
15326    case -669707736: /*useContext*/ return new String[] {"UsageContext"};
15327    case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"};
15328    case -220463842: /*purpose*/ return new String[] {"markdown"};
15329    case 1522889671: /*copyright*/ return new String[] {"markdown"};
15330    case 765157229: /*copyrightLabel*/ return new String[] {"string"};
15331    case 1802060801: /*packageId*/ return new String[] {"id"};
15332    case 166757441: /*license*/ return new String[] {"code"};
15333    case 461006061: /*fhirVersion*/ return new String[] {"code"};
15334    case -1109214266: /*dependsOn*/ return new String[] {};
15335    case -1243020381: /*global*/ return new String[] {};
15336    case -1014418093: /*definition*/ return new String[] {};
15337    case 130625071: /*manifest*/ return new String[] {};
15338    default: return super.getTypesForProperty(hash, name);
15339    }
15340
15341  }
15342
15343  @Override
15344  public Base addChild(String name) throws FHIRException {
15345    if (name.equals("url")) {
15346      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.url");
15347    }
15348    else if (name.equals("identifier")) {
15349      return addIdentifier();
15350    }
15351    else if (name.equals("version")) {
15352      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.version");
15353    }
15354    else if (name.equals("versionAlgorithmString")) {
15355      this.versionAlgorithm = new StringType();
15356      return this.versionAlgorithm;
15357    }
15358    else if (name.equals("versionAlgorithmCoding")) {
15359      this.versionAlgorithm = new Coding();
15360      return this.versionAlgorithm;
15361    }
15362    else if (name.equals("name")) {
15363      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.name");
15364    }
15365    else if (name.equals("title")) {
15366      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.title");
15367    }
15368    else if (name.equals("status")) {
15369      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.status");
15370    }
15371    else if (name.equals("experimental")) {
15372      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.experimental");
15373    }
15374    else if (name.equals("date")) {
15375      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.date");
15376    }
15377    else if (name.equals("publisher")) {
15378      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.publisher");
15379    }
15380    else if (name.equals("contact")) {
15381      return addContact();
15382    }
15383    else if (name.equals("description")) {
15384      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.description");
15385    }
15386    else if (name.equals("useContext")) {
15387      return addUseContext();
15388    }
15389    else if (name.equals("jurisdiction")) {
15390      return addJurisdiction();
15391    }
15392    else if (name.equals("purpose")) {
15393      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.purpose");
15394    }
15395    else if (name.equals("copyright")) {
15396      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.copyright");
15397    }
15398    else if (name.equals("copyrightLabel")) {
15399      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.copyrightLabel");
15400    }
15401    else if (name.equals("packageId")) {
15402      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.packageId");
15403    }
15404    else if (name.equals("license")) {
15405      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.license");
15406    }
15407    else if (name.equals("fhirVersion")) {
15408      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.fhirVersion");
15409    }
15410    else if (name.equals("dependsOn")) {
15411      return addDependsOn();
15412    }
15413    else if (name.equals("global")) {
15414      return addGlobal();
15415    }
15416    else if (name.equals("definition")) {
15417      this.definition = new ImplementationGuideDefinitionComponent();
15418      return this.definition;
15419    }
15420    else if (name.equals("manifest")) {
15421      this.manifest = new ImplementationGuideManifestComponent();
15422      return this.manifest;
15423    }
15424    else
15425      return super.addChild(name);
15426  }
15427
15428  public String fhirType() {
15429    return "ImplementationGuide";
15430
15431  }
15432
15433  public ImplementationGuide copy() {
15434    ImplementationGuide dst = new ImplementationGuide();
15435    copyValues(dst);
15436    return dst;
15437  }
15438
15439  public void copyValues(ImplementationGuide dst) {
15440    super.copyValues(dst);
15441    dst.url = url == null ? null : url.copy();
15442    if (identifier != null) {
15443      dst.identifier = new ArrayList<Identifier>();
15444      for (Identifier i : identifier)
15445        dst.identifier.add(i.copy());
15446    };
15447    dst.version = version == null ? null : version.copy();
15448    dst.versionAlgorithm = versionAlgorithm == null ? null : versionAlgorithm.copy();
15449    dst.name = name == null ? null : name.copy();
15450    dst.title = title == null ? null : title.copy();
15451    dst.status = status == null ? null : status.copy();
15452    dst.experimental = experimental == null ? null : experimental.copy();
15453    dst.date = date == null ? null : date.copy();
15454    dst.publisher = publisher == null ? null : publisher.copy();
15455    if (contact != null) {
15456      dst.contact = new ArrayList<ContactDetail>();
15457      for (ContactDetail i : contact)
15458        dst.contact.add(i.copy());
15459    };
15460    dst.description = description == null ? null : description.copy();
15461    if (useContext != null) {
15462      dst.useContext = new ArrayList<UsageContext>();
15463      for (UsageContext i : useContext)
15464        dst.useContext.add(i.copy());
15465    };
15466    if (jurisdiction != null) {
15467      dst.jurisdiction = new ArrayList<CodeableConcept>();
15468      for (CodeableConcept i : jurisdiction)
15469        dst.jurisdiction.add(i.copy());
15470    };
15471    dst.purpose = purpose == null ? null : purpose.copy();
15472    dst.copyright = copyright == null ? null : copyright.copy();
15473    dst.copyrightLabel = copyrightLabel == null ? null : copyrightLabel.copy();
15474    dst.packageId = packageId == null ? null : packageId.copy();
15475    dst.license = license == null ? null : license.copy();
15476    if (fhirVersion != null) {
15477      dst.fhirVersion = new ArrayList<Enumeration<FHIRVersion>>();
15478      for (Enumeration<FHIRVersion> i : fhirVersion)
15479        dst.fhirVersion.add(i.copy());
15480    };
15481    if (dependsOn != null) {
15482      dst.dependsOn = new ArrayList<ImplementationGuideDependsOnComponent>();
15483      for (ImplementationGuideDependsOnComponent i : dependsOn)
15484        dst.dependsOn.add(i.copy());
15485    };
15486    if (global != null) {
15487      dst.global = new ArrayList<ImplementationGuideGlobalComponent>();
15488      for (ImplementationGuideGlobalComponent i : global)
15489        dst.global.add(i.copy());
15490    };
15491    dst.definition = definition == null ? null : definition.copy();
15492    dst.manifest = manifest == null ? null : manifest.copy();
15493  }
15494
15495  protected ImplementationGuide typedCopy() {
15496    return copy();
15497  }
15498
15499  @Override
15500  public boolean equalsDeep(Base other_) {
15501    if (!super.equalsDeep(other_))
15502      return false;
15503    if (!(other_ instanceof ImplementationGuide))
15504      return false;
15505    ImplementationGuide o = (ImplementationGuide) other_;
15506    return compareDeep(url, o.url, true) && compareDeep(identifier, o.identifier, true) && compareDeep(version, o.version, true)
15507        && compareDeep(versionAlgorithm, o.versionAlgorithm, true) && compareDeep(name, o.name, true) && compareDeep(title, o.title, true)
15508        && compareDeep(status, o.status, true) && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true)
15509        && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true)
15510        && compareDeep(useContext, o.useContext, true) && compareDeep(jurisdiction, o.jurisdiction, true)
15511        && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) && compareDeep(copyrightLabel, o.copyrightLabel, true)
15512        && compareDeep(packageId, o.packageId, true) && compareDeep(license, o.license, true) && compareDeep(fhirVersion, o.fhirVersion, true)
15513        && compareDeep(dependsOn, o.dependsOn, true) && compareDeep(global, o.global, true) && compareDeep(definition, o.definition, true)
15514        && compareDeep(manifest, o.manifest, true);
15515  }
15516
15517  @Override
15518  public boolean equalsShallow(Base other_) {
15519    if (!super.equalsShallow(other_))
15520      return false;
15521    if (!(other_ instanceof ImplementationGuide))
15522      return false;
15523    ImplementationGuide o = (ImplementationGuide) other_;
15524    return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true)
15525        && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true)
15526        && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true)
15527        && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(copyrightLabel, o.copyrightLabel, true)
15528        && compareValues(packageId, o.packageId, true) && compareValues(license, o.license, true) && compareValues(fhirVersion, o.fhirVersion, true)
15529        ;
15530  }
15531
15532  public boolean isEmpty() {
15533    return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version
15534        , versionAlgorithm, name, title, status, experimental, date, publisher, contact
15535        , description, useContext, jurisdiction, purpose, copyright, copyrightLabel, packageId
15536        , license, fhirVersion, dependsOn, global, definition, manifest);
15537  }
15538
15539  @Override
15540  public ResourceType getResourceType() {
15541    return ResourceType.ImplementationGuide;
15542  }
15543
15544  /**
15545   * Search parameter: <b>context-quantity</b>
15546   * <p>
15547   * Description: <b>Multiple Resources: 
15548
15549   * [ActivityDefinition](activitydefinition.html): A quantity- or range-valued use context assigned to the activity definition
15550   * [ActorDefinition](actordefinition.html): A quantity- or range-valued use context assigned to the Actor Definition
15551   * [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement
15552   * [ChargeItemDefinition](chargeitemdefinition.html): A quantity- or range-valued use context assigned to the charge item definition
15553   * [Citation](citation.html): A quantity- or range-valued use context assigned to the citation
15554   * [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system
15555   * [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition
15556   * [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map
15557   * [ConditionDefinition](conditiondefinition.html): A quantity- or range-valued use context assigned to the condition definition
15558   * [EventDefinition](eventdefinition.html): A quantity- or range-valued use context assigned to the event definition
15559   * [Evidence](evidence.html): A quantity- or range-valued use context assigned to the evidence
15560   * [EvidenceReport](evidencereport.html): A quantity- or range-valued use context assigned to the evidence report
15561   * [EvidenceVariable](evidencevariable.html): A quantity- or range-valued use context assigned to the evidence variable
15562   * [ExampleScenario](examplescenario.html): A quantity- or range-valued use context assigned to the example scenario
15563   * [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition
15564   * [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide
15565   * [Library](library.html): A quantity- or range-valued use context assigned to the library
15566   * [Measure](measure.html): A quantity- or range-valued use context assigned to the measure
15567   * [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition
15568   * [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system
15569   * [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition
15570   * [PlanDefinition](plandefinition.html): A quantity- or range-valued use context assigned to the plan definition
15571   * [Questionnaire](questionnaire.html): A quantity- or range-valued use context assigned to the questionnaire
15572   * [Requirements](requirements.html): A quantity- or range-valued use context assigned to the requirements
15573   * [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter
15574   * [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition
15575   * [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map
15576   * [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities
15577   * [TestScript](testscript.html): A quantity- or range-valued use context assigned to the test script
15578   * [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set
15579</b><br>
15580   * Type: <b>quantity</b><br>
15581   * Path: <b>(ActivityDefinition.useContext.value.ofType(Quantity)) | (ActivityDefinition.useContext.value.ofType(Range)) | (ActorDefinition.useContext.value.ofType(Quantity)) | (ActorDefinition.useContext.value.ofType(Range)) | (CapabilityStatement.useContext.value.ofType(Quantity)) | (CapabilityStatement.useContext.value.ofType(Range)) | (ChargeItemDefinition.useContext.value.ofType(Quantity)) | (ChargeItemDefinition.useContext.value.ofType(Range)) | (Citation.useContext.value.ofType(Quantity)) | (Citation.useContext.value.ofType(Range)) | (CodeSystem.useContext.value.ofType(Quantity)) | (CodeSystem.useContext.value.ofType(Range)) | (CompartmentDefinition.useContext.value.ofType(Quantity)) | (CompartmentDefinition.useContext.value.ofType(Range)) | (ConceptMap.useContext.value.ofType(Quantity)) | (ConceptMap.useContext.value.ofType(Range)) | (ConditionDefinition.useContext.value.ofType(Quantity)) | (ConditionDefinition.useContext.value.ofType(Range)) | (EventDefinition.useContext.value.ofType(Quantity)) | (EventDefinition.useContext.value.ofType(Range)) | (Evidence.useContext.value.ofType(Quantity)) | (Evidence.useContext.value.ofType(Range)) | (EvidenceReport.useContext.value.ofType(Quantity)) | (EvidenceReport.useContext.value.ofType(Range)) | (EvidenceVariable.useContext.value.ofType(Quantity)) | (EvidenceVariable.useContext.value.ofType(Range)) | (ExampleScenario.useContext.value.ofType(Quantity)) | (ExampleScenario.useContext.value.ofType(Range)) | (GraphDefinition.useContext.value.ofType(Quantity)) | (GraphDefinition.useContext.value.ofType(Range)) | (ImplementationGuide.useContext.value.ofType(Quantity)) | (ImplementationGuide.useContext.value.ofType(Range)) | (Library.useContext.value.ofType(Quantity)) | (Library.useContext.value.ofType(Range)) | (Measure.useContext.value.ofType(Quantity)) | (Measure.useContext.value.ofType(Range)) | (MessageDefinition.useContext.value.ofType(Quantity)) | (MessageDefinition.useContext.value.ofType(Range)) | (NamingSystem.useContext.value.ofType(Quantity)) | (NamingSystem.useContext.value.ofType(Range)) | (OperationDefinition.useContext.value.ofType(Quantity)) | (OperationDefinition.useContext.value.ofType(Range)) | (PlanDefinition.useContext.value.ofType(Quantity)) | (PlanDefinition.useContext.value.ofType(Range)) | (Questionnaire.useContext.value.ofType(Quantity)) | (Questionnaire.useContext.value.ofType(Range)) | (Requirements.useContext.value.ofType(Quantity)) | (Requirements.useContext.value.ofType(Range)) | (SearchParameter.useContext.value.ofType(Quantity)) | (SearchParameter.useContext.value.ofType(Range)) | (StructureDefinition.useContext.value.ofType(Quantity)) | (StructureDefinition.useContext.value.ofType(Range)) | (StructureMap.useContext.value.ofType(Quantity)) | (StructureMap.useContext.value.ofType(Range)) | (TerminologyCapabilities.useContext.value.ofType(Quantity)) | (TerminologyCapabilities.useContext.value.ofType(Range)) | (TestScript.useContext.value.ofType(Quantity)) | (TestScript.useContext.value.ofType(Range)) | (ValueSet.useContext.value.ofType(Quantity)) | (ValueSet.useContext.value.ofType(Range))</b><br>
15582   * </p>
15583   */
15584  @SearchParamDefinition(name="context-quantity", path="(ActivityDefinition.useContext.value.ofType(Quantity)) | (ActivityDefinition.useContext.value.ofType(Range)) | (ActorDefinition.useContext.value.ofType(Quantity)) | (ActorDefinition.useContext.value.ofType(Range)) | (CapabilityStatement.useContext.value.ofType(Quantity)) | (CapabilityStatement.useContext.value.ofType(Range)) | (ChargeItemDefinition.useContext.value.ofType(Quantity)) | (ChargeItemDefinition.useContext.value.ofType(Range)) | (Citation.useContext.value.ofType(Quantity)) | (Citation.useContext.value.ofType(Range)) | (CodeSystem.useContext.value.ofType(Quantity)) | (CodeSystem.useContext.value.ofType(Range)) | (CompartmentDefinition.useContext.value.ofType(Quantity)) | (CompartmentDefinition.useContext.value.ofType(Range)) | (ConceptMap.useContext.value.ofType(Quantity)) | (ConceptMap.useContext.value.ofType(Range)) | (ConditionDefinition.useContext.value.ofType(Quantity)) | (ConditionDefinition.useContext.value.ofType(Range)) | (EventDefinition.useContext.value.ofType(Quantity)) | (EventDefinition.useContext.value.ofType(Range)) | (Evidence.useContext.value.ofType(Quantity)) | (Evidence.useContext.value.ofType(Range)) | (EvidenceReport.useContext.value.ofType(Quantity)) | (EvidenceReport.useContext.value.ofType(Range)) | (EvidenceVariable.useContext.value.ofType(Quantity)) | (EvidenceVariable.useContext.value.ofType(Range)) | (ExampleScenario.useContext.value.ofType(Quantity)) | (ExampleScenario.useContext.value.ofType(Range)) | (GraphDefinition.useContext.value.ofType(Quantity)) | (GraphDefinition.useContext.value.ofType(Range)) | (ImplementationGuide.useContext.value.ofType(Quantity)) | (ImplementationGuide.useContext.value.ofType(Range)) | (Library.useContext.value.ofType(Quantity)) | (Library.useContext.value.ofType(Range)) | (Measure.useContext.value.ofType(Quantity)) | (Measure.useContext.value.ofType(Range)) | (MessageDefinition.useContext.value.ofType(Quantity)) | (MessageDefinition.useContext.value.ofType(Range)) | (NamingSystem.useContext.value.ofType(Quantity)) | (NamingSystem.useContext.value.ofType(Range)) | (OperationDefinition.useContext.value.ofType(Quantity)) | (OperationDefinition.useContext.value.ofType(Range)) | (PlanDefinition.useContext.value.ofType(Quantity)) | (PlanDefinition.useContext.value.ofType(Range)) | (Questionnaire.useContext.value.ofType(Quantity)) | (Questionnaire.useContext.value.ofType(Range)) | (Requirements.useContext.value.ofType(Quantity)) | (Requirements.useContext.value.ofType(Range)) | (SearchParameter.useContext.value.ofType(Quantity)) | (SearchParameter.useContext.value.ofType(Range)) | (StructureDefinition.useContext.value.ofType(Quantity)) | (StructureDefinition.useContext.value.ofType(Range)) | (StructureMap.useContext.value.ofType(Quantity)) | (StructureMap.useContext.value.ofType(Range)) | (TerminologyCapabilities.useContext.value.ofType(Quantity)) | (TerminologyCapabilities.useContext.value.ofType(Range)) | (TestScript.useContext.value.ofType(Quantity)) | (TestScript.useContext.value.ofType(Range)) | (ValueSet.useContext.value.ofType(Quantity)) | (ValueSet.useContext.value.ofType(Range))", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): A quantity- or range-valued use context assigned to the activity definition\r\n* [ActorDefinition](actordefinition.html): A quantity- or range-valued use context assigned to the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): A quantity- or range-valued use context assigned to the charge item definition\r\n* [Citation](citation.html): A quantity- or range-valued use context assigned to the citation\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [ConditionDefinition](conditiondefinition.html): A quantity- or range-valued use context assigned to the condition definition\r\n* [EventDefinition](eventdefinition.html): A quantity- or range-valued use context assigned to the event definition\r\n* [Evidence](evidence.html): A quantity- or range-valued use context assigned to the evidence\r\n* [EvidenceReport](evidencereport.html): A quantity- or range-valued use context assigned to the evidence report\r\n* [EvidenceVariable](evidencevariable.html): A quantity- or range-valued use context assigned to the evidence variable\r\n* [ExampleScenario](examplescenario.html): A quantity- or range-valued use context assigned to the example scenario\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [Library](library.html): A quantity- or range-valued use context assigned to the library\r\n* [Measure](measure.html): A quantity- or range-valued use context assigned to the measure\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [PlanDefinition](plandefinition.html): A quantity- or range-valued use context assigned to the plan definition\r\n* [Questionnaire](questionnaire.html): A quantity- or range-valued use context assigned to the questionnaire\r\n* [Requirements](requirements.html): A quantity- or range-valued use context assigned to the requirements\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [TestScript](testscript.html): A quantity- or range-valued use context assigned to the test script\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", type="quantity" )
15585  public static final String SP_CONTEXT_QUANTITY = "context-quantity";
15586  /**
15587   * <b>Fluent Client</b> search parameter constant for <b>context-quantity</b>
15588   * <p>
15589   * Description: <b>Multiple Resources: 
15590
15591   * [ActivityDefinition](activitydefinition.html): A quantity- or range-valued use context assigned to the activity definition
15592   * [ActorDefinition](actordefinition.html): A quantity- or range-valued use context assigned to the Actor Definition
15593   * [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement
15594   * [ChargeItemDefinition](chargeitemdefinition.html): A quantity- or range-valued use context assigned to the charge item definition
15595   * [Citation](citation.html): A quantity- or range-valued use context assigned to the citation
15596   * [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system
15597   * [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition
15598   * [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map
15599   * [ConditionDefinition](conditiondefinition.html): A quantity- or range-valued use context assigned to the condition definition
15600   * [EventDefinition](eventdefinition.html): A quantity- or range-valued use context assigned to the event definition
15601   * [Evidence](evidence.html): A quantity- or range-valued use context assigned to the evidence
15602   * [EvidenceReport](evidencereport.html): A quantity- or range-valued use context assigned to the evidence report
15603   * [EvidenceVariable](evidencevariable.html): A quantity- or range-valued use context assigned to the evidence variable
15604   * [ExampleScenario](examplescenario.html): A quantity- or range-valued use context assigned to the example scenario
15605   * [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition
15606   * [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide
15607   * [Library](library.html): A quantity- or range-valued use context assigned to the library
15608   * [Measure](measure.html): A quantity- or range-valued use context assigned to the measure
15609   * [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition
15610   * [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system
15611   * [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition
15612   * [PlanDefinition](plandefinition.html): A quantity- or range-valued use context assigned to the plan definition
15613   * [Questionnaire](questionnaire.html): A quantity- or range-valued use context assigned to the questionnaire
15614   * [Requirements](requirements.html): A quantity- or range-valued use context assigned to the requirements
15615   * [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter
15616   * [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition
15617   * [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map
15618   * [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities
15619   * [TestScript](testscript.html): A quantity- or range-valued use context assigned to the test script
15620   * [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set
15621</b><br>
15622   * Type: <b>quantity</b><br>
15623   * Path: <b>(ActivityDefinition.useContext.value.ofType(Quantity)) | (ActivityDefinition.useContext.value.ofType(Range)) | (ActorDefinition.useContext.value.ofType(Quantity)) | (ActorDefinition.useContext.value.ofType(Range)) | (CapabilityStatement.useContext.value.ofType(Quantity)) | (CapabilityStatement.useContext.value.ofType(Range)) | (ChargeItemDefinition.useContext.value.ofType(Quantity)) | (ChargeItemDefinition.useContext.value.ofType(Range)) | (Citation.useContext.value.ofType(Quantity)) | (Citation.useContext.value.ofType(Range)) | (CodeSystem.useContext.value.ofType(Quantity)) | (CodeSystem.useContext.value.ofType(Range)) | (CompartmentDefinition.useContext.value.ofType(Quantity)) | (CompartmentDefinition.useContext.value.ofType(Range)) | (ConceptMap.useContext.value.ofType(Quantity)) | (ConceptMap.useContext.value.ofType(Range)) | (ConditionDefinition.useContext.value.ofType(Quantity)) | (ConditionDefinition.useContext.value.ofType(Range)) | (EventDefinition.useContext.value.ofType(Quantity)) | (EventDefinition.useContext.value.ofType(Range)) | (Evidence.useContext.value.ofType(Quantity)) | (Evidence.useContext.value.ofType(Range)) | (EvidenceReport.useContext.value.ofType(Quantity)) | (EvidenceReport.useContext.value.ofType(Range)) | (EvidenceVariable.useContext.value.ofType(Quantity)) | (EvidenceVariable.useContext.value.ofType(Range)) | (ExampleScenario.useContext.value.ofType(Quantity)) | (ExampleScenario.useContext.value.ofType(Range)) | (GraphDefinition.useContext.value.ofType(Quantity)) | (GraphDefinition.useContext.value.ofType(Range)) | (ImplementationGuide.useContext.value.ofType(Quantity)) | (ImplementationGuide.useContext.value.ofType(Range)) | (Library.useContext.value.ofType(Quantity)) | (Library.useContext.value.ofType(Range)) | (Measure.useContext.value.ofType(Quantity)) | (Measure.useContext.value.ofType(Range)) | (MessageDefinition.useContext.value.ofType(Quantity)) | (MessageDefinition.useContext.value.ofType(Range)) | (NamingSystem.useContext.value.ofType(Quantity)) | (NamingSystem.useContext.value.ofType(Range)) | (OperationDefinition.useContext.value.ofType(Quantity)) | (OperationDefinition.useContext.value.ofType(Range)) | (PlanDefinition.useContext.value.ofType(Quantity)) | (PlanDefinition.useContext.value.ofType(Range)) | (Questionnaire.useContext.value.ofType(Quantity)) | (Questionnaire.useContext.value.ofType(Range)) | (Requirements.useContext.value.ofType(Quantity)) | (Requirements.useContext.value.ofType(Range)) | (SearchParameter.useContext.value.ofType(Quantity)) | (SearchParameter.useContext.value.ofType(Range)) | (StructureDefinition.useContext.value.ofType(Quantity)) | (StructureDefinition.useContext.value.ofType(Range)) | (StructureMap.useContext.value.ofType(Quantity)) | (StructureMap.useContext.value.ofType(Range)) | (TerminologyCapabilities.useContext.value.ofType(Quantity)) | (TerminologyCapabilities.useContext.value.ofType(Range)) | (TestScript.useContext.value.ofType(Quantity)) | (TestScript.useContext.value.ofType(Range)) | (ValueSet.useContext.value.ofType(Quantity)) | (ValueSet.useContext.value.ofType(Range))</b><br>
15624   * </p>
15625   */
15626  public static final ca.uhn.fhir.rest.gclient.QuantityClientParam CONTEXT_QUANTITY = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_CONTEXT_QUANTITY);
15627
15628  /**
15629   * Search parameter: <b>context-type-quantity</b>
15630   * <p>
15631   * Description: <b>Multiple Resources: 
15632
15633   * [ActivityDefinition](activitydefinition.html): A use context type and quantity- or range-based value assigned to the activity definition
15634   * [ActorDefinition](actordefinition.html): A use context type and quantity- or range-based value assigned to the Actor Definition
15635   * [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement
15636   * [ChargeItemDefinition](chargeitemdefinition.html): A use context type and quantity- or range-based value assigned to the charge item definition
15637   * [Citation](citation.html): A use context type and quantity- or range-based value assigned to the citation
15638   * [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system
15639   * [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition
15640   * [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map
15641   * [ConditionDefinition](conditiondefinition.html): A use context type and quantity- or range-based value assigned to the condition definition
15642   * [EventDefinition](eventdefinition.html): A use context type and quantity- or range-based value assigned to the event definition
15643   * [Evidence](evidence.html): A use context type and quantity- or range-based value assigned to the evidence
15644   * [EvidenceReport](evidencereport.html): A use context type and quantity- or range-based value assigned to the evidence report
15645   * [EvidenceVariable](evidencevariable.html): A use context type and quantity- or range-based value assigned to the evidence variable
15646   * [ExampleScenario](examplescenario.html): A use context type and quantity- or range-based value assigned to the example scenario
15647   * [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition
15648   * [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide
15649   * [Library](library.html): A use context type and quantity- or range-based value assigned to the library
15650   * [Measure](measure.html): A use context type and quantity- or range-based value assigned to the measure
15651   * [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition
15652   * [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system
15653   * [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition
15654   * [PlanDefinition](plandefinition.html): A use context type and quantity- or range-based value assigned to the plan definition
15655   * [Questionnaire](questionnaire.html): A use context type and quantity- or range-based value assigned to the questionnaire
15656   * [Requirements](requirements.html): A use context type and quantity- or range-based value assigned to the requirements
15657   * [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter
15658   * [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition
15659   * [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map
15660   * [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities
15661   * [TestScript](testscript.html): A use context type and quantity- or range-based value assigned to the test script
15662   * [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set
15663</b><br>
15664   * Type: <b>composite</b><br>
15665   * Path: <b>ActivityDefinition.useContext | ActorDefinition.useContext | CapabilityStatement.useContext | ChargeItemDefinition.useContext | Citation.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | ConditionDefinition.useContext | EventDefinition.useContext | Evidence.useContext | EvidenceReport.useContext | EvidenceVariable.useContext | ExampleScenario.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | Library.useContext | Measure.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | PlanDefinition.useContext | Questionnaire.useContext | Requirements.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | TestScript.useContext | ValueSet.useContext</b><br>
15666   * </p>
15667   */
15668  @SearchParamDefinition(name="context-type-quantity", path="ActivityDefinition.useContext | ActorDefinition.useContext | CapabilityStatement.useContext | ChargeItemDefinition.useContext | Citation.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | ConditionDefinition.useContext | EventDefinition.useContext | Evidence.useContext | EvidenceReport.useContext | EvidenceVariable.useContext | ExampleScenario.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | Library.useContext | Measure.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | PlanDefinition.useContext | Questionnaire.useContext | Requirements.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | TestScript.useContext | ValueSet.useContext", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): A use context type and quantity- or range-based value assigned to the activity definition\r\n* [ActorDefinition](actordefinition.html): A use context type and quantity- or range-based value assigned to the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and quantity- or range-based value assigned to the charge item definition\r\n* [Citation](citation.html): A use context type and quantity- or range-based value assigned to the citation\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [ConditionDefinition](conditiondefinition.html): A use context type and quantity- or range-based value assigned to the condition definition\r\n* [EventDefinition](eventdefinition.html): A use context type and quantity- or range-based value assigned to the event definition\r\n* [Evidence](evidence.html): A use context type and quantity- or range-based value assigned to the evidence\r\n* [EvidenceReport](evidencereport.html): A use context type and quantity- or range-based value assigned to the evidence report\r\n* [EvidenceVariable](evidencevariable.html): A use context type and quantity- or range-based value assigned to the evidence variable\r\n* [ExampleScenario](examplescenario.html): A use context type and quantity- or range-based value assigned to the example scenario\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [Library](library.html): A use context type and quantity- or range-based value assigned to the library\r\n* [Measure](measure.html): A use context type and quantity- or range-based value assigned to the measure\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [PlanDefinition](plandefinition.html): A use context type and quantity- or range-based value assigned to the plan definition\r\n* [Questionnaire](questionnaire.html): A use context type and quantity- or range-based value assigned to the questionnaire\r\n* [Requirements](requirements.html): A use context type and quantity- or range-based value assigned to the requirements\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [TestScript](testscript.html): A use context type and quantity- or range-based value assigned to the test script\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", type="composite", compositeOf={"context-type", "context-quantity"} )
15669  public static final String SP_CONTEXT_TYPE_QUANTITY = "context-type-quantity";
15670  /**
15671   * <b>Fluent Client</b> search parameter constant for <b>context-type-quantity</b>
15672   * <p>
15673   * Description: <b>Multiple Resources: 
15674
15675   * [ActivityDefinition](activitydefinition.html): A use context type and quantity- or range-based value assigned to the activity definition
15676   * [ActorDefinition](actordefinition.html): A use context type and quantity- or range-based value assigned to the Actor Definition
15677   * [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement
15678   * [ChargeItemDefinition](chargeitemdefinition.html): A use context type and quantity- or range-based value assigned to the charge item definition
15679   * [Citation](citation.html): A use context type and quantity- or range-based value assigned to the citation
15680   * [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system
15681   * [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition
15682   * [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map
15683   * [ConditionDefinition](conditiondefinition.html): A use context type and quantity- or range-based value assigned to the condition definition
15684   * [EventDefinition](eventdefinition.html): A use context type and quantity- or range-based value assigned to the event definition
15685   * [Evidence](evidence.html): A use context type and quantity- or range-based value assigned to the evidence
15686   * [EvidenceReport](evidencereport.html): A use context type and quantity- or range-based value assigned to the evidence report
15687   * [EvidenceVariable](evidencevariable.html): A use context type and quantity- or range-based value assigned to the evidence variable
15688   * [ExampleScenario](examplescenario.html): A use context type and quantity- or range-based value assigned to the example scenario
15689   * [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition
15690   * [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide
15691   * [Library](library.html): A use context type and quantity- or range-based value assigned to the library
15692   * [Measure](measure.html): A use context type and quantity- or range-based value assigned to the measure
15693   * [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition
15694   * [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system
15695   * [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition
15696   * [PlanDefinition](plandefinition.html): A use context type and quantity- or range-based value assigned to the plan definition
15697   * [Questionnaire](questionnaire.html): A use context type and quantity- or range-based value assigned to the questionnaire
15698   * [Requirements](requirements.html): A use context type and quantity- or range-based value assigned to the requirements
15699   * [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter
15700   * [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition
15701   * [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map
15702   * [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities
15703   * [TestScript](testscript.html): A use context type and quantity- or range-based value assigned to the test script
15704   * [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set
15705</b><br>
15706   * Type: <b>composite</b><br>
15707   * Path: <b>ActivityDefinition.useContext | ActorDefinition.useContext | CapabilityStatement.useContext | ChargeItemDefinition.useContext | Citation.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | ConditionDefinition.useContext | EventDefinition.useContext | Evidence.useContext | EvidenceReport.useContext | EvidenceVariable.useContext | ExampleScenario.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | Library.useContext | Measure.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | PlanDefinition.useContext | Questionnaire.useContext | Requirements.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | TestScript.useContext | ValueSet.useContext</b><br>
15708   * </p>
15709   */
15710  public static final ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.QuantityClientParam> CONTEXT_TYPE_QUANTITY = new ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.QuantityClientParam>(SP_CONTEXT_TYPE_QUANTITY);
15711
15712  /**
15713   * Search parameter: <b>context-type-value</b>
15714   * <p>
15715   * Description: <b>Multiple Resources: 
15716
15717   * [ActivityDefinition](activitydefinition.html): A use context type and value assigned to the activity definition
15718   * [ActorDefinition](actordefinition.html): A use context type and value assigned to the Actor Definition
15719   * [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement
15720   * [ChargeItemDefinition](chargeitemdefinition.html): A use context type and value assigned to the charge item definition
15721   * [Citation](citation.html): A use context type and value assigned to the citation
15722   * [CodeSystem](codesystem.html): A use context type and value assigned to the code system
15723   * [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition
15724   * [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map
15725   * [ConditionDefinition](conditiondefinition.html): A use context type and value assigned to the condition definition
15726   * [EventDefinition](eventdefinition.html): A use context type and value assigned to the event definition
15727   * [Evidence](evidence.html): A use context type and value assigned to the evidence
15728   * [EvidenceReport](evidencereport.html): A use context type and value assigned to the evidence report
15729   * [EvidenceVariable](evidencevariable.html): A use context type and value assigned to the evidence variable
15730   * [ExampleScenario](examplescenario.html): A use context type and value assigned to the example scenario
15731   * [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition
15732   * [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide
15733   * [Library](library.html): A use context type and value assigned to the library
15734   * [Measure](measure.html): A use context type and value assigned to the measure
15735   * [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition
15736   * [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system
15737   * [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition
15738   * [PlanDefinition](plandefinition.html): A use context type and value assigned to the plan definition
15739   * [Questionnaire](questionnaire.html): A use context type and value assigned to the questionnaire
15740   * [Requirements](requirements.html): A use context type and value assigned to the requirements
15741   * [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter
15742   * [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition
15743   * [StructureMap](structuremap.html): A use context type and value assigned to the structure map
15744   * [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities
15745   * [TestScript](testscript.html): A use context type and value assigned to the test script
15746   * [ValueSet](valueset.html): A use context type and value assigned to the value set
15747</b><br>
15748   * Type: <b>composite</b><br>
15749   * Path: <b>ActivityDefinition.useContext | ActorDefinition.useContext | CapabilityStatement.useContext | ChargeItemDefinition.useContext | Citation.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | ConditionDefinition.useContext | EventDefinition.useContext | Evidence.useContext | EvidenceReport.useContext | EvidenceVariable.useContext | ExampleScenario.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | Library.useContext | Measure.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | PlanDefinition.useContext | Questionnaire.useContext | Requirements.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | TestScript.useContext | ValueSet.useContext</b><br>
15750   * </p>
15751   */
15752  @SearchParamDefinition(name="context-type-value", path="ActivityDefinition.useContext | ActorDefinition.useContext | CapabilityStatement.useContext | ChargeItemDefinition.useContext | Citation.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | ConditionDefinition.useContext | EventDefinition.useContext | Evidence.useContext | EvidenceReport.useContext | EvidenceVariable.useContext | ExampleScenario.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | Library.useContext | Measure.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | PlanDefinition.useContext | Questionnaire.useContext | Requirements.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | TestScript.useContext | ValueSet.useContext", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): A use context type and value assigned to the activity definition\r\n* [ActorDefinition](actordefinition.html): A use context type and value assigned to the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and value assigned to the charge item definition\r\n* [Citation](citation.html): A use context type and value assigned to the citation\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [ConditionDefinition](conditiondefinition.html): A use context type and value assigned to the condition definition\r\n* [EventDefinition](eventdefinition.html): A use context type and value assigned to the event definition\r\n* [Evidence](evidence.html): A use context type and value assigned to the evidence\r\n* [EvidenceReport](evidencereport.html): A use context type and value assigned to the evidence report\r\n* [EvidenceVariable](evidencevariable.html): A use context type and value assigned to the evidence variable\r\n* [ExampleScenario](examplescenario.html): A use context type and value assigned to the example scenario\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [Library](library.html): A use context type and value assigned to the library\r\n* [Measure](measure.html): A use context type and value assigned to the measure\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [PlanDefinition](plandefinition.html): A use context type and value assigned to the plan definition\r\n* [Questionnaire](questionnaire.html): A use context type and value assigned to the questionnaire\r\n* [Requirements](requirements.html): A use context type and value assigned to the requirements\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [TestScript](testscript.html): A use context type and value assigned to the test script\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", type="composite", compositeOf={"context-type", "context"} )
15753  public static final String SP_CONTEXT_TYPE_VALUE = "context-type-value";
15754  /**
15755   * <b>Fluent Client</b> search parameter constant for <b>context-type-value</b>
15756   * <p>
15757   * Description: <b>Multiple Resources: 
15758
15759   * [ActivityDefinition](activitydefinition.html): A use context type and value assigned to the activity definition
15760   * [ActorDefinition](actordefinition.html): A use context type and value assigned to the Actor Definition
15761   * [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement
15762   * [ChargeItemDefinition](chargeitemdefinition.html): A use context type and value assigned to the charge item definition
15763   * [Citation](citation.html): A use context type and value assigned to the citation
15764   * [CodeSystem](codesystem.html): A use context type and value assigned to the code system
15765   * [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition
15766   * [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map
15767   * [ConditionDefinition](conditiondefinition.html): A use context type and value assigned to the condition definition
15768   * [EventDefinition](eventdefinition.html): A use context type and value assigned to the event definition
15769   * [Evidence](evidence.html): A use context type and value assigned to the evidence
15770   * [EvidenceReport](evidencereport.html): A use context type and value assigned to the evidence report
15771   * [EvidenceVariable](evidencevariable.html): A use context type and value assigned to the evidence variable
15772   * [ExampleScenario](examplescenario.html): A use context type and value assigned to the example scenario
15773   * [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition
15774   * [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide
15775   * [Library](library.html): A use context type and value assigned to the library
15776   * [Measure](measure.html): A use context type and value assigned to the measure
15777   * [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition
15778   * [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system
15779   * [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition
15780   * [PlanDefinition](plandefinition.html): A use context type and value assigned to the plan definition
15781   * [Questionnaire](questionnaire.html): A use context type and value assigned to the questionnaire
15782   * [Requirements](requirements.html): A use context type and value assigned to the requirements
15783   * [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter
15784   * [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition
15785   * [StructureMap](structuremap.html): A use context type and value assigned to the structure map
15786   * [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities
15787   * [TestScript](testscript.html): A use context type and value assigned to the test script
15788   * [ValueSet](valueset.html): A use context type and value assigned to the value set
15789</b><br>
15790   * Type: <b>composite</b><br>
15791   * Path: <b>ActivityDefinition.useContext | ActorDefinition.useContext | CapabilityStatement.useContext | ChargeItemDefinition.useContext | Citation.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | ConditionDefinition.useContext | EventDefinition.useContext | Evidence.useContext | EvidenceReport.useContext | EvidenceVariable.useContext | ExampleScenario.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | Library.useContext | Measure.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | PlanDefinition.useContext | Questionnaire.useContext | Requirements.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | TestScript.useContext | ValueSet.useContext</b><br>
15792   * </p>
15793   */
15794  public static final ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam> CONTEXT_TYPE_VALUE = new ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam>(SP_CONTEXT_TYPE_VALUE);
15795
15796  /**
15797   * Search parameter: <b>context-type</b>
15798   * <p>
15799   * Description: <b>Multiple Resources: 
15800
15801   * [ActivityDefinition](activitydefinition.html): A type of use context assigned to the activity definition
15802   * [ActorDefinition](actordefinition.html): A type of use context assigned to the Actor Definition
15803   * [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement
15804   * [ChargeItemDefinition](chargeitemdefinition.html): A type of use context assigned to the charge item definition
15805   * [Citation](citation.html): A type of use context assigned to the citation
15806   * [CodeSystem](codesystem.html): A type of use context assigned to the code system
15807   * [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition
15808   * [ConceptMap](conceptmap.html): A type of use context assigned to the concept map
15809   * [ConditionDefinition](conditiondefinition.html): A type of use context assigned to the condition definition
15810   * [EventDefinition](eventdefinition.html): A type of use context assigned to the event definition
15811   * [Evidence](evidence.html): A type of use context assigned to the evidence
15812   * [EvidenceReport](evidencereport.html): A type of use context assigned to the evidence report
15813   * [EvidenceVariable](evidencevariable.html): A type of use context assigned to the evidence variable
15814   * [ExampleScenario](examplescenario.html): A type of use context assigned to the example scenario
15815   * [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition
15816   * [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide
15817   * [Library](library.html): A type of use context assigned to the library
15818   * [Measure](measure.html): A type of use context assigned to the measure
15819   * [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition
15820   * [NamingSystem](namingsystem.html): A type of use context assigned to the naming system
15821   * [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition
15822   * [PlanDefinition](plandefinition.html): A type of use context assigned to the plan definition
15823   * [Questionnaire](questionnaire.html): A type of use context assigned to the questionnaire
15824   * [Requirements](requirements.html): A type of use context assigned to the requirements
15825   * [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter
15826   * [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition
15827   * [StructureMap](structuremap.html): A type of use context assigned to the structure map
15828   * [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities
15829   * [TestScript](testscript.html): A type of use context assigned to the test script
15830   * [ValueSet](valueset.html): A type of use context assigned to the value set
15831</b><br>
15832   * Type: <b>token</b><br>
15833   * Path: <b>ActivityDefinition.useContext.code | ActorDefinition.useContext.code | CapabilityStatement.useContext.code | ChargeItemDefinition.useContext.code | Citation.useContext.code | CodeSystem.useContext.code | CompartmentDefinition.useContext.code | ConceptMap.useContext.code | ConditionDefinition.useContext.code | EventDefinition.useContext.code | Evidence.useContext.code | EvidenceReport.useContext.code | EvidenceVariable.useContext.code | ExampleScenario.useContext.code | GraphDefinition.useContext.code | ImplementationGuide.useContext.code | Library.useContext.code | Measure.useContext.code | MessageDefinition.useContext.code | NamingSystem.useContext.code | OperationDefinition.useContext.code | PlanDefinition.useContext.code | Questionnaire.useContext.code | Requirements.useContext.code | SearchParameter.useContext.code | StructureDefinition.useContext.code | StructureMap.useContext.code | TerminologyCapabilities.useContext.code | TestScript.useContext.code | ValueSet.useContext.code</b><br>
15834   * </p>
15835   */
15836  @SearchParamDefinition(name="context-type", path="ActivityDefinition.useContext.code | ActorDefinition.useContext.code | CapabilityStatement.useContext.code | ChargeItemDefinition.useContext.code | Citation.useContext.code | CodeSystem.useContext.code | CompartmentDefinition.useContext.code | ConceptMap.useContext.code | ConditionDefinition.useContext.code | EventDefinition.useContext.code | Evidence.useContext.code | EvidenceReport.useContext.code | EvidenceVariable.useContext.code | ExampleScenario.useContext.code | GraphDefinition.useContext.code | ImplementationGuide.useContext.code | Library.useContext.code | Measure.useContext.code | MessageDefinition.useContext.code | NamingSystem.useContext.code | OperationDefinition.useContext.code | PlanDefinition.useContext.code | Questionnaire.useContext.code | Requirements.useContext.code | SearchParameter.useContext.code | StructureDefinition.useContext.code | StructureMap.useContext.code | TerminologyCapabilities.useContext.code | TestScript.useContext.code | ValueSet.useContext.code", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): A type of use context assigned to the activity definition\r\n* [ActorDefinition](actordefinition.html): A type of use context assigned to the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): A type of use context assigned to the charge item definition\r\n* [Citation](citation.html): A type of use context assigned to the citation\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [ConditionDefinition](conditiondefinition.html): A type of use context assigned to the condition definition\r\n* [EventDefinition](eventdefinition.html): A type of use context assigned to the event definition\r\n* [Evidence](evidence.html): A type of use context assigned to the evidence\r\n* [EvidenceReport](evidencereport.html): A type of use context assigned to the evidence report\r\n* [EvidenceVariable](evidencevariable.html): A type of use context assigned to the evidence variable\r\n* [ExampleScenario](examplescenario.html): A type of use context assigned to the example scenario\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [Library](library.html): A type of use context assigned to the library\r\n* [Measure](measure.html): A type of use context assigned to the measure\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [PlanDefinition](plandefinition.html): A type of use context assigned to the plan definition\r\n* [Questionnaire](questionnaire.html): A type of use context assigned to the questionnaire\r\n* [Requirements](requirements.html): A type of use context assigned to the requirements\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [TestScript](testscript.html): A type of use context assigned to the test script\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", type="token" )
15837  public static final String SP_CONTEXT_TYPE = "context-type";
15838  /**
15839   * <b>Fluent Client</b> search parameter constant for <b>context-type</b>
15840   * <p>
15841   * Description: <b>Multiple Resources: 
15842
15843   * [ActivityDefinition](activitydefinition.html): A type of use context assigned to the activity definition
15844   * [ActorDefinition](actordefinition.html): A type of use context assigned to the Actor Definition
15845   * [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement
15846   * [ChargeItemDefinition](chargeitemdefinition.html): A type of use context assigned to the charge item definition
15847   * [Citation](citation.html): A type of use context assigned to the citation
15848   * [CodeSystem](codesystem.html): A type of use context assigned to the code system
15849   * [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition
15850   * [ConceptMap](conceptmap.html): A type of use context assigned to the concept map
15851   * [ConditionDefinition](conditiondefinition.html): A type of use context assigned to the condition definition
15852   * [EventDefinition](eventdefinition.html): A type of use context assigned to the event definition
15853   * [Evidence](evidence.html): A type of use context assigned to the evidence
15854   * [EvidenceReport](evidencereport.html): A type of use context assigned to the evidence report
15855   * [EvidenceVariable](evidencevariable.html): A type of use context assigned to the evidence variable
15856   * [ExampleScenario](examplescenario.html): A type of use context assigned to the example scenario
15857   * [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition
15858   * [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide
15859   * [Library](library.html): A type of use context assigned to the library
15860   * [Measure](measure.html): A type of use context assigned to the measure
15861   * [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition
15862   * [NamingSystem](namingsystem.html): A type of use context assigned to the naming system
15863   * [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition
15864   * [PlanDefinition](plandefinition.html): A type of use context assigned to the plan definition
15865   * [Questionnaire](questionnaire.html): A type of use context assigned to the questionnaire
15866   * [Requirements](requirements.html): A type of use context assigned to the requirements
15867   * [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter
15868   * [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition
15869   * [StructureMap](structuremap.html): A type of use context assigned to the structure map
15870   * [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities
15871   * [TestScript](testscript.html): A type of use context assigned to the test script
15872   * [ValueSet](valueset.html): A type of use context assigned to the value set
15873</b><br>
15874   * Type: <b>token</b><br>
15875   * Path: <b>ActivityDefinition.useContext.code | ActorDefinition.useContext.code | CapabilityStatement.useContext.code | ChargeItemDefinition.useContext.code | Citation.useContext.code | CodeSystem.useContext.code | CompartmentDefinition.useContext.code | ConceptMap.useContext.code | ConditionDefinition.useContext.code | EventDefinition.useContext.code | Evidence.useContext.code | EvidenceReport.useContext.code | EvidenceVariable.useContext.code | ExampleScenario.useContext.code | GraphDefinition.useContext.code | ImplementationGuide.useContext.code | Library.useContext.code | Measure.useContext.code | MessageDefinition.useContext.code | NamingSystem.useContext.code | OperationDefinition.useContext.code | PlanDefinition.useContext.code | Questionnaire.useContext.code | Requirements.useContext.code | SearchParameter.useContext.code | StructureDefinition.useContext.code | StructureMap.useContext.code | TerminologyCapabilities.useContext.code | TestScript.useContext.code | ValueSet.useContext.code</b><br>
15876   * </p>
15877   */
15878  public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT_TYPE);
15879
15880  /**
15881   * Search parameter: <b>context</b>
15882   * <p>
15883   * Description: <b>Multiple Resources: 
15884
15885   * [ActivityDefinition](activitydefinition.html): A use context assigned to the activity definition
15886   * [ActorDefinition](actordefinition.html): A use context assigned to the Actor Definition
15887   * [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement
15888   * [ChargeItemDefinition](chargeitemdefinition.html): A use context assigned to the charge item definition
15889   * [Citation](citation.html): A use context assigned to the citation
15890   * [CodeSystem](codesystem.html): A use context assigned to the code system
15891   * [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition
15892   * [ConceptMap](conceptmap.html): A use context assigned to the concept map
15893   * [ConditionDefinition](conditiondefinition.html): A use context assigned to the condition definition
15894   * [EventDefinition](eventdefinition.html): A use context assigned to the event definition
15895   * [Evidence](evidence.html): A use context assigned to the evidence
15896   * [EvidenceReport](evidencereport.html): A use context assigned to the evidence report
15897   * [EvidenceVariable](evidencevariable.html): A use context assigned to the evidence variable
15898   * [ExampleScenario](examplescenario.html): A use context assigned to the example scenario
15899   * [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition
15900   * [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide
15901   * [Library](library.html): A use context assigned to the library
15902   * [Measure](measure.html): A use context assigned to the measure
15903   * [MessageDefinition](messagedefinition.html): A use context assigned to the message definition
15904   * [NamingSystem](namingsystem.html): A use context assigned to the naming system
15905   * [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition
15906   * [PlanDefinition](plandefinition.html): A use context assigned to the plan definition
15907   * [Questionnaire](questionnaire.html): A use context assigned to the questionnaire
15908   * [Requirements](requirements.html): A use context assigned to the requirements
15909   * [SearchParameter](searchparameter.html): A use context assigned to the search parameter
15910   * [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition
15911   * [StructureMap](structuremap.html): A use context assigned to the structure map
15912   * [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities
15913   * [TestScript](testscript.html): A use context assigned to the test script
15914   * [ValueSet](valueset.html): A use context assigned to the value set
15915</b><br>
15916   * Type: <b>token</b><br>
15917   * Path: <b>(ActivityDefinition.useContext.value.ofType(CodeableConcept)) | (ActorDefinition.useContext.value.ofType(CodeableConcept)) | (CapabilityStatement.useContext.value.ofType(CodeableConcept)) | (ChargeItemDefinition.useContext.value.ofType(CodeableConcept)) | (Citation.useContext.value.ofType(CodeableConcept)) | (CodeSystem.useContext.value.ofType(CodeableConcept)) | (CompartmentDefinition.useContext.value.ofType(CodeableConcept)) | (ConceptMap.useContext.value.ofType(CodeableConcept)) | (ConditionDefinition.useContext.value.ofType(CodeableConcept)) | (EventDefinition.useContext.value.ofType(CodeableConcept)) | (Evidence.useContext.value.ofType(CodeableConcept)) | (EvidenceReport.useContext.value.ofType(CodeableConcept)) | (EvidenceVariable.useContext.value.ofType(CodeableConcept)) | (ExampleScenario.useContext.value.ofType(CodeableConcept)) | (GraphDefinition.useContext.value.ofType(CodeableConcept)) | (ImplementationGuide.useContext.value.ofType(CodeableConcept)) | (Library.useContext.value.ofType(CodeableConcept)) | (Measure.useContext.value.ofType(CodeableConcept)) | (MessageDefinition.useContext.value.ofType(CodeableConcept)) | (NamingSystem.useContext.value.ofType(CodeableConcept)) | (OperationDefinition.useContext.value.ofType(CodeableConcept)) | (PlanDefinition.useContext.value.ofType(CodeableConcept)) | (Questionnaire.useContext.value.ofType(CodeableConcept)) | (Requirements.useContext.value.ofType(CodeableConcept)) | (SearchParameter.useContext.value.ofType(CodeableConcept)) | (StructureDefinition.useContext.value.ofType(CodeableConcept)) | (StructureMap.useContext.value.ofType(CodeableConcept)) | (TerminologyCapabilities.useContext.value.ofType(CodeableConcept)) | (TestScript.useContext.value.ofType(CodeableConcept)) | (ValueSet.useContext.value.ofType(CodeableConcept))</b><br>
15918   * </p>
15919   */
15920  @SearchParamDefinition(name="context", path="(ActivityDefinition.useContext.value.ofType(CodeableConcept)) | (ActorDefinition.useContext.value.ofType(CodeableConcept)) | (CapabilityStatement.useContext.value.ofType(CodeableConcept)) | (ChargeItemDefinition.useContext.value.ofType(CodeableConcept)) | (Citation.useContext.value.ofType(CodeableConcept)) | (CodeSystem.useContext.value.ofType(CodeableConcept)) | (CompartmentDefinition.useContext.value.ofType(CodeableConcept)) | (ConceptMap.useContext.value.ofType(CodeableConcept)) | (ConditionDefinition.useContext.value.ofType(CodeableConcept)) | (EventDefinition.useContext.value.ofType(CodeableConcept)) | (Evidence.useContext.value.ofType(CodeableConcept)) | (EvidenceReport.useContext.value.ofType(CodeableConcept)) | (EvidenceVariable.useContext.value.ofType(CodeableConcept)) | (ExampleScenario.useContext.value.ofType(CodeableConcept)) | (GraphDefinition.useContext.value.ofType(CodeableConcept)) | (ImplementationGuide.useContext.value.ofType(CodeableConcept)) | (Library.useContext.value.ofType(CodeableConcept)) | (Measure.useContext.value.ofType(CodeableConcept)) | (MessageDefinition.useContext.value.ofType(CodeableConcept)) | (NamingSystem.useContext.value.ofType(CodeableConcept)) | (OperationDefinition.useContext.value.ofType(CodeableConcept)) | (PlanDefinition.useContext.value.ofType(CodeableConcept)) | (Questionnaire.useContext.value.ofType(CodeableConcept)) | (Requirements.useContext.value.ofType(CodeableConcept)) | (SearchParameter.useContext.value.ofType(CodeableConcept)) | (StructureDefinition.useContext.value.ofType(CodeableConcept)) | (StructureMap.useContext.value.ofType(CodeableConcept)) | (TerminologyCapabilities.useContext.value.ofType(CodeableConcept)) | (TestScript.useContext.value.ofType(CodeableConcept)) | (ValueSet.useContext.value.ofType(CodeableConcept))", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): A use context assigned to the activity definition\r\n* [ActorDefinition](actordefinition.html): A use context assigned to the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): A use context assigned to the charge item definition\r\n* [Citation](citation.html): A use context assigned to the citation\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [ConditionDefinition](conditiondefinition.html): A use context assigned to the condition definition\r\n* [EventDefinition](eventdefinition.html): A use context assigned to the event definition\r\n* [Evidence](evidence.html): A use context assigned to the evidence\r\n* [EvidenceReport](evidencereport.html): A use context assigned to the evidence report\r\n* [EvidenceVariable](evidencevariable.html): A use context assigned to the evidence variable\r\n* [ExampleScenario](examplescenario.html): A use context assigned to the example scenario\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [Library](library.html): A use context assigned to the library\r\n* [Measure](measure.html): A use context assigned to the measure\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [PlanDefinition](plandefinition.html): A use context assigned to the plan definition\r\n* [Questionnaire](questionnaire.html): A use context assigned to the questionnaire\r\n* [Requirements](requirements.html): A use context assigned to the requirements\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [TestScript](testscript.html): A use context assigned to the test script\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", type="token" )
15921  public static final String SP_CONTEXT = "context";
15922  /**
15923   * <b>Fluent Client</b> search parameter constant for <b>context</b>
15924   * <p>
15925   * Description: <b>Multiple Resources: 
15926
15927   * [ActivityDefinition](activitydefinition.html): A use context assigned to the activity definition
15928   * [ActorDefinition](actordefinition.html): A use context assigned to the Actor Definition
15929   * [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement
15930   * [ChargeItemDefinition](chargeitemdefinition.html): A use context assigned to the charge item definition
15931   * [Citation](citation.html): A use context assigned to the citation
15932   * [CodeSystem](codesystem.html): A use context assigned to the code system
15933   * [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition
15934   * [ConceptMap](conceptmap.html): A use context assigned to the concept map
15935   * [ConditionDefinition](conditiondefinition.html): A use context assigned to the condition definition
15936   * [EventDefinition](eventdefinition.html): A use context assigned to the event definition
15937   * [Evidence](evidence.html): A use context assigned to the evidence
15938   * [EvidenceReport](evidencereport.html): A use context assigned to the evidence report
15939   * [EvidenceVariable](evidencevariable.html): A use context assigned to the evidence variable
15940   * [ExampleScenario](examplescenario.html): A use context assigned to the example scenario
15941   * [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition
15942   * [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide
15943   * [Library](library.html): A use context assigned to the library
15944   * [Measure](measure.html): A use context assigned to the measure
15945   * [MessageDefinition](messagedefinition.html): A use context assigned to the message definition
15946   * [NamingSystem](namingsystem.html): A use context assigned to the naming system
15947   * [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition
15948   * [PlanDefinition](plandefinition.html): A use context assigned to the plan definition
15949   * [Questionnaire](questionnaire.html): A use context assigned to the questionnaire
15950   * [Requirements](requirements.html): A use context assigned to the requirements
15951   * [SearchParameter](searchparameter.html): A use context assigned to the search parameter
15952   * [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition
15953   * [StructureMap](structuremap.html): A use context assigned to the structure map
15954   * [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities
15955   * [TestScript](testscript.html): A use context assigned to the test script
15956   * [ValueSet](valueset.html): A use context assigned to the value set
15957</b><br>
15958   * Type: <b>token</b><br>
15959   * Path: <b>(ActivityDefinition.useContext.value.ofType(CodeableConcept)) | (ActorDefinition.useContext.value.ofType(CodeableConcept)) | (CapabilityStatement.useContext.value.ofType(CodeableConcept)) | (ChargeItemDefinition.useContext.value.ofType(CodeableConcept)) | (Citation.useContext.value.ofType(CodeableConcept)) | (CodeSystem.useContext.value.ofType(CodeableConcept)) | (CompartmentDefinition.useContext.value.ofType(CodeableConcept)) | (ConceptMap.useContext.value.ofType(CodeableConcept)) | (ConditionDefinition.useContext.value.ofType(CodeableConcept)) | (EventDefinition.useContext.value.ofType(CodeableConcept)) | (Evidence.useContext.value.ofType(CodeableConcept)) | (EvidenceReport.useContext.value.ofType(CodeableConcept)) | (EvidenceVariable.useContext.value.ofType(CodeableConcept)) | (ExampleScenario.useContext.value.ofType(CodeableConcept)) | (GraphDefinition.useContext.value.ofType(CodeableConcept)) | (ImplementationGuide.useContext.value.ofType(CodeableConcept)) | (Library.useContext.value.ofType(CodeableConcept)) | (Measure.useContext.value.ofType(CodeableConcept)) | (MessageDefinition.useContext.value.ofType(CodeableConcept)) | (NamingSystem.useContext.value.ofType(CodeableConcept)) | (OperationDefinition.useContext.value.ofType(CodeableConcept)) | (PlanDefinition.useContext.value.ofType(CodeableConcept)) | (Questionnaire.useContext.value.ofType(CodeableConcept)) | (Requirements.useContext.value.ofType(CodeableConcept)) | (SearchParameter.useContext.value.ofType(CodeableConcept)) | (StructureDefinition.useContext.value.ofType(CodeableConcept)) | (StructureMap.useContext.value.ofType(CodeableConcept)) | (TerminologyCapabilities.useContext.value.ofType(CodeableConcept)) | (TestScript.useContext.value.ofType(CodeableConcept)) | (ValueSet.useContext.value.ofType(CodeableConcept))</b><br>
15960   * </p>
15961   */
15962  public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT);
15963
15964  /**
15965   * Search parameter: <b>date</b>
15966   * <p>
15967   * Description: <b>Multiple Resources: 
15968
15969   * [ActivityDefinition](activitydefinition.html): The activity definition publication date
15970   * [ActorDefinition](actordefinition.html): The Actor Definition publication date
15971   * [CapabilityStatement](capabilitystatement.html): The capability statement publication date
15972   * [ChargeItemDefinition](chargeitemdefinition.html): The charge item definition publication date
15973   * [Citation](citation.html): The citation publication date
15974   * [CodeSystem](codesystem.html): The code system publication date
15975   * [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date
15976   * [ConceptMap](conceptmap.html): The concept map publication date
15977   * [ConditionDefinition](conditiondefinition.html): The condition definition publication date
15978   * [EventDefinition](eventdefinition.html): The event definition publication date
15979   * [Evidence](evidence.html): The evidence publication date
15980   * [EvidenceVariable](evidencevariable.html): The evidence variable publication date
15981   * [ExampleScenario](examplescenario.html): The example scenario publication date
15982   * [GraphDefinition](graphdefinition.html): The graph definition publication date
15983   * [ImplementationGuide](implementationguide.html): The implementation guide publication date
15984   * [Library](library.html): The library publication date
15985   * [Measure](measure.html): The measure publication date
15986   * [MessageDefinition](messagedefinition.html): The message definition publication date
15987   * [NamingSystem](namingsystem.html): The naming system publication date
15988   * [OperationDefinition](operationdefinition.html): The operation definition publication date
15989   * [PlanDefinition](plandefinition.html): The plan definition publication date
15990   * [Questionnaire](questionnaire.html): The questionnaire publication date
15991   * [Requirements](requirements.html): The requirements publication date
15992   * [SearchParameter](searchparameter.html): The search parameter publication date
15993   * [StructureDefinition](structuredefinition.html): The structure definition publication date
15994   * [StructureMap](structuremap.html): The structure map publication date
15995   * [SubscriptionTopic](subscriptiontopic.html): Date status first applied
15996   * [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date
15997   * [TestScript](testscript.html): The test script publication date
15998   * [ValueSet](valueset.html): The value set publication date
15999</b><br>
16000   * Type: <b>date</b><br>
16001   * Path: <b>ActivityDefinition.date | ActorDefinition.date | CapabilityStatement.date | ChargeItemDefinition.date | Citation.date | CodeSystem.date | CompartmentDefinition.date | ConceptMap.date | ConditionDefinition.date | EventDefinition.date | Evidence.date | EvidenceVariable.date | ExampleScenario.date | GraphDefinition.date | ImplementationGuide.date | Library.date | Measure.date | MessageDefinition.date | NamingSystem.date | OperationDefinition.date | PlanDefinition.date | Questionnaire.date | Requirements.date | SearchParameter.date | StructureDefinition.date | StructureMap.date | SubscriptionTopic.date | TerminologyCapabilities.date | TestScript.date | ValueSet.date</b><br>
16002   * </p>
16003   */
16004  @SearchParamDefinition(name="date", path="ActivityDefinition.date | ActorDefinition.date | CapabilityStatement.date | ChargeItemDefinition.date | Citation.date | CodeSystem.date | CompartmentDefinition.date | ConceptMap.date | ConditionDefinition.date | EventDefinition.date | Evidence.date | EvidenceVariable.date | ExampleScenario.date | GraphDefinition.date | ImplementationGuide.date | Library.date | Measure.date | MessageDefinition.date | NamingSystem.date | OperationDefinition.date | PlanDefinition.date | Questionnaire.date | Requirements.date | SearchParameter.date | StructureDefinition.date | StructureMap.date | SubscriptionTopic.date | TerminologyCapabilities.date | TestScript.date | ValueSet.date", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): The activity definition publication date\r\n* [ActorDefinition](actordefinition.html): The Actor Definition publication date\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [ChargeItemDefinition](chargeitemdefinition.html): The charge item definition publication date\r\n* [Citation](citation.html): The citation publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [ConditionDefinition](conditiondefinition.html): The condition definition publication date\r\n* [EventDefinition](eventdefinition.html): The event definition publication date\r\n* [Evidence](evidence.html): The evidence publication date\r\n* [EvidenceVariable](evidencevariable.html): The evidence variable publication date\r\n* [ExampleScenario](examplescenario.html): The example scenario publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [Library](library.html): The library publication date\r\n* [Measure](measure.html): The measure publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [PlanDefinition](plandefinition.html): The plan definition publication date\r\n* [Questionnaire](questionnaire.html): The questionnaire publication date\r\n* [Requirements](requirements.html): The requirements publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [SubscriptionTopic](subscriptiontopic.html): Date status first applied\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [TestScript](testscript.html): The test script publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", type="date" )
16005  public static final String SP_DATE = "date";
16006  /**
16007   * <b>Fluent Client</b> search parameter constant for <b>date</b>
16008   * <p>
16009   * Description: <b>Multiple Resources: 
16010
16011   * [ActivityDefinition](activitydefinition.html): The activity definition publication date
16012   * [ActorDefinition](actordefinition.html): The Actor Definition publication date
16013   * [CapabilityStatement](capabilitystatement.html): The capability statement publication date
16014   * [ChargeItemDefinition](chargeitemdefinition.html): The charge item definition publication date
16015   * [Citation](citation.html): The citation publication date
16016   * [CodeSystem](codesystem.html): The code system publication date
16017   * [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date
16018   * [ConceptMap](conceptmap.html): The concept map publication date
16019   * [ConditionDefinition](conditiondefinition.html): The condition definition publication date
16020   * [EventDefinition](eventdefinition.html): The event definition publication date
16021   * [Evidence](evidence.html): The evidence publication date
16022   * [EvidenceVariable](evidencevariable.html): The evidence variable publication date
16023   * [ExampleScenario](examplescenario.html): The example scenario publication date
16024   * [GraphDefinition](graphdefinition.html): The graph definition publication date
16025   * [ImplementationGuide](implementationguide.html): The implementation guide publication date
16026   * [Library](library.html): The library publication date
16027   * [Measure](measure.html): The measure publication date
16028   * [MessageDefinition](messagedefinition.html): The message definition publication date
16029   * [NamingSystem](namingsystem.html): The naming system publication date
16030   * [OperationDefinition](operationdefinition.html): The operation definition publication date
16031   * [PlanDefinition](plandefinition.html): The plan definition publication date
16032   * [Questionnaire](questionnaire.html): The questionnaire publication date
16033   * [Requirements](requirements.html): The requirements publication date
16034   * [SearchParameter](searchparameter.html): The search parameter publication date
16035   * [StructureDefinition](structuredefinition.html): The structure definition publication date
16036   * [StructureMap](structuremap.html): The structure map publication date
16037   * [SubscriptionTopic](subscriptiontopic.html): Date status first applied
16038   * [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date
16039   * [TestScript](testscript.html): The test script publication date
16040   * [ValueSet](valueset.html): The value set publication date
16041</b><br>
16042   * Type: <b>date</b><br>
16043   * Path: <b>ActivityDefinition.date | ActorDefinition.date | CapabilityStatement.date | ChargeItemDefinition.date | Citation.date | CodeSystem.date | CompartmentDefinition.date | ConceptMap.date | ConditionDefinition.date | EventDefinition.date | Evidence.date | EvidenceVariable.date | ExampleScenario.date | GraphDefinition.date | ImplementationGuide.date | Library.date | Measure.date | MessageDefinition.date | NamingSystem.date | OperationDefinition.date | PlanDefinition.date | Questionnaire.date | Requirements.date | SearchParameter.date | StructureDefinition.date | StructureMap.date | SubscriptionTopic.date | TerminologyCapabilities.date | TestScript.date | ValueSet.date</b><br>
16044   * </p>
16045   */
16046  public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE);
16047
16048  /**
16049   * Search parameter: <b>description</b>
16050   * <p>
16051   * Description: <b>Multiple Resources: 
16052
16053   * [ActivityDefinition](activitydefinition.html): The description of the activity definition
16054   * [ActorDefinition](actordefinition.html): The description of the Actor Definition
16055   * [CapabilityStatement](capabilitystatement.html): The description of the capability statement
16056   * [ChargeItemDefinition](chargeitemdefinition.html): The description of the charge item definition
16057   * [Citation](citation.html): The description of the citation
16058   * [CodeSystem](codesystem.html): The description of the code system
16059   * [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition
16060   * [ConceptMap](conceptmap.html): The description of the concept map
16061   * [ConditionDefinition](conditiondefinition.html): The description of the condition definition
16062   * [EventDefinition](eventdefinition.html): The description of the event definition
16063   * [Evidence](evidence.html): The description of the evidence
16064   * [EvidenceVariable](evidencevariable.html): The description of the evidence variable
16065   * [GraphDefinition](graphdefinition.html): The description of the graph definition
16066   * [ImplementationGuide](implementationguide.html): The description of the implementation guide
16067   * [Library](library.html): The description of the library
16068   * [Measure](measure.html): The description of the measure
16069   * [MessageDefinition](messagedefinition.html): The description of the message definition
16070   * [NamingSystem](namingsystem.html): The description of the naming system
16071   * [OperationDefinition](operationdefinition.html): The description of the operation definition
16072   * [PlanDefinition](plandefinition.html): The description of the plan definition
16073   * [Questionnaire](questionnaire.html): The description of the questionnaire
16074   * [Requirements](requirements.html): The description of the requirements
16075   * [SearchParameter](searchparameter.html): The description of the search parameter
16076   * [StructureDefinition](structuredefinition.html): The description of the structure definition
16077   * [StructureMap](structuremap.html): The description of the structure map
16078   * [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities
16079   * [TestScript](testscript.html): The description of the test script
16080   * [ValueSet](valueset.html): The description of the value set
16081</b><br>
16082   * Type: <b>string</b><br>
16083   * Path: <b>ActivityDefinition.description | ActorDefinition.description | CapabilityStatement.description | ChargeItemDefinition.description | Citation.description | CodeSystem.description | CompartmentDefinition.description | ConceptMap.description | ConditionDefinition.description | EventDefinition.description | Evidence.description | EvidenceVariable.description | GraphDefinition.description | ImplementationGuide.description | Library.description | Measure.description | MessageDefinition.description | NamingSystem.description | OperationDefinition.description | PlanDefinition.description | Questionnaire.description | Requirements.description | SearchParameter.description | StructureDefinition.description | StructureMap.description | TerminologyCapabilities.description | TestScript.description | ValueSet.description</b><br>
16084   * </p>
16085   */
16086  @SearchParamDefinition(name="description", path="ActivityDefinition.description | ActorDefinition.description | CapabilityStatement.description | ChargeItemDefinition.description | Citation.description | CodeSystem.description | CompartmentDefinition.description | ConceptMap.description | ConditionDefinition.description | EventDefinition.description | Evidence.description | EvidenceVariable.description | GraphDefinition.description | ImplementationGuide.description | Library.description | Measure.description | MessageDefinition.description | NamingSystem.description | OperationDefinition.description | PlanDefinition.description | Questionnaire.description | Requirements.description | SearchParameter.description | StructureDefinition.description | StructureMap.description | TerminologyCapabilities.description | TestScript.description | ValueSet.description", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): The description of the activity definition\r\n* [ActorDefinition](actordefinition.html): The description of the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): The description of the charge item definition\r\n* [Citation](citation.html): The description of the citation\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [ConditionDefinition](conditiondefinition.html): The description of the condition definition\r\n* [EventDefinition](eventdefinition.html): The description of the event definition\r\n* [Evidence](evidence.html): The description of the evidence\r\n* [EvidenceVariable](evidencevariable.html): The description of the evidence variable\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [Library](library.html): The description of the library\r\n* [Measure](measure.html): The description of the measure\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [PlanDefinition](plandefinition.html): The description of the plan definition\r\n* [Questionnaire](questionnaire.html): The description of the questionnaire\r\n* [Requirements](requirements.html): The description of the requirements\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [TestScript](testscript.html): The description of the test script\r\n* [ValueSet](valueset.html): The description of the value set\r\n", type="string" )
16087  public static final String SP_DESCRIPTION = "description";
16088  /**
16089   * <b>Fluent Client</b> search parameter constant for <b>description</b>
16090   * <p>
16091   * Description: <b>Multiple Resources: 
16092
16093   * [ActivityDefinition](activitydefinition.html): The description of the activity definition
16094   * [ActorDefinition](actordefinition.html): The description of the Actor Definition
16095   * [CapabilityStatement](capabilitystatement.html): The description of the capability statement
16096   * [ChargeItemDefinition](chargeitemdefinition.html): The description of the charge item definition
16097   * [Citation](citation.html): The description of the citation
16098   * [CodeSystem](codesystem.html): The description of the code system
16099   * [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition
16100   * [ConceptMap](conceptmap.html): The description of the concept map
16101   * [ConditionDefinition](conditiondefinition.html): The description of the condition definition
16102   * [EventDefinition](eventdefinition.html): The description of the event definition
16103   * [Evidence](evidence.html): The description of the evidence
16104   * [EvidenceVariable](evidencevariable.html): The description of the evidence variable
16105   * [GraphDefinition](graphdefinition.html): The description of the graph definition
16106   * [ImplementationGuide](implementationguide.html): The description of the implementation guide
16107   * [Library](library.html): The description of the library
16108   * [Measure](measure.html): The description of the measure
16109   * [MessageDefinition](messagedefinition.html): The description of the message definition
16110   * [NamingSystem](namingsystem.html): The description of the naming system
16111   * [OperationDefinition](operationdefinition.html): The description of the operation definition
16112   * [PlanDefinition](plandefinition.html): The description of the plan definition
16113   * [Questionnaire](questionnaire.html): The description of the questionnaire
16114   * [Requirements](requirements.html): The description of the requirements
16115   * [SearchParameter](searchparameter.html): The description of the search parameter
16116   * [StructureDefinition](structuredefinition.html): The description of the structure definition
16117   * [StructureMap](structuremap.html): The description of the structure map
16118   * [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities
16119   * [TestScript](testscript.html): The description of the test script
16120   * [ValueSet](valueset.html): The description of the value set
16121</b><br>
16122   * Type: <b>string</b><br>
16123   * Path: <b>ActivityDefinition.description | ActorDefinition.description | CapabilityStatement.description | ChargeItemDefinition.description | Citation.description | CodeSystem.description | CompartmentDefinition.description | ConceptMap.description | ConditionDefinition.description | EventDefinition.description | Evidence.description | EvidenceVariable.description | GraphDefinition.description | ImplementationGuide.description | Library.description | Measure.description | MessageDefinition.description | NamingSystem.description | OperationDefinition.description | PlanDefinition.description | Questionnaire.description | Requirements.description | SearchParameter.description | StructureDefinition.description | StructureMap.description | TerminologyCapabilities.description | TestScript.description | ValueSet.description</b><br>
16124   * </p>
16125   */
16126  public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION);
16127
16128  /**
16129   * Search parameter: <b>identifier</b>
16130   * <p>
16131   * Description: <b>Multiple Resources: 
16132
16133   * [ActivityDefinition](activitydefinition.html): External identifier for the activity definition
16134   * [ActorDefinition](actordefinition.html): External identifier for the Actor Definition
16135   * [CapabilityStatement](capabilitystatement.html): External identifier for the capability statement
16136   * [ChargeItemDefinition](chargeitemdefinition.html): External identifier for the charge item definition
16137   * [Citation](citation.html): External identifier for the citation
16138   * [CodeSystem](codesystem.html): External identifier for the code system
16139   * [ConceptMap](conceptmap.html): External identifier for the concept map
16140   * [ConditionDefinition](conditiondefinition.html): External identifier for the condition definition
16141   * [EventDefinition](eventdefinition.html): External identifier for the event definition
16142   * [Evidence](evidence.html): External identifier for the evidence
16143   * [EvidenceReport](evidencereport.html): External identifier for the evidence report
16144   * [EvidenceVariable](evidencevariable.html): External identifier for the evidence variable
16145   * [ExampleScenario](examplescenario.html): External identifier for the example scenario
16146   * [GraphDefinition](graphdefinition.html): External identifier for the graph definition
16147   * [ImplementationGuide](implementationguide.html): External identifier for the implementation guide
16148   * [Library](library.html): External identifier for the library
16149   * [Measure](measure.html): External identifier for the measure
16150   * [MedicationKnowledge](medicationknowledge.html): Business identifier for this medication
16151   * [MessageDefinition](messagedefinition.html): External identifier for the message definition
16152   * [NamingSystem](namingsystem.html): External identifier for the naming system
16153   * [ObservationDefinition](observationdefinition.html): The unique identifier associated with the specimen definition
16154   * [OperationDefinition](operationdefinition.html): External identifier for the search parameter
16155   * [PlanDefinition](plandefinition.html): External identifier for the plan definition
16156   * [Questionnaire](questionnaire.html): External identifier for the questionnaire
16157   * [Requirements](requirements.html): External identifier for the requirements
16158   * [SearchParameter](searchparameter.html): External identifier for the search parameter
16159   * [SpecimenDefinition](specimendefinition.html): The unique identifier associated with the SpecimenDefinition
16160   * [StructureDefinition](structuredefinition.html): External identifier for the structure definition
16161   * [StructureMap](structuremap.html): External identifier for the structure map
16162   * [SubscriptionTopic](subscriptiontopic.html): Business Identifier for SubscriptionTopic
16163   * [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities
16164   * [TestPlan](testplan.html): An identifier for the test plan
16165   * [TestScript](testscript.html): External identifier for the test script
16166   * [ValueSet](valueset.html): External identifier for the value set
16167</b><br>
16168   * Type: <b>token</b><br>
16169   * Path: <b>ActivityDefinition.identifier | ActorDefinition.identifier | CapabilityStatement.identifier | ChargeItemDefinition.identifier | Citation.identifier | CodeSystem.identifier | ConceptMap.identifier | ConditionDefinition.identifier | EventDefinition.identifier | Evidence.identifier | EvidenceReport.identifier | EvidenceVariable.identifier | ExampleScenario.identifier | GraphDefinition.identifier | ImplementationGuide.identifier | Library.identifier | Measure.identifier | MedicationKnowledge.identifier | MessageDefinition.identifier | NamingSystem.identifier | ObservationDefinition.identifier | OperationDefinition.identifier | PlanDefinition.identifier | Questionnaire.identifier | Requirements.identifier | SearchParameter.identifier | SpecimenDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | SubscriptionTopic.identifier | TerminologyCapabilities.identifier | TestPlan.identifier | TestScript.identifier | ValueSet.identifier</b><br>
16170   * </p>
16171   */
16172  @SearchParamDefinition(name="identifier", path="ActivityDefinition.identifier | ActorDefinition.identifier | CapabilityStatement.identifier | ChargeItemDefinition.identifier | Citation.identifier | CodeSystem.identifier | ConceptMap.identifier | ConditionDefinition.identifier | EventDefinition.identifier | Evidence.identifier | EvidenceReport.identifier | EvidenceVariable.identifier | ExampleScenario.identifier | GraphDefinition.identifier | ImplementationGuide.identifier | Library.identifier | Measure.identifier | MedicationKnowledge.identifier | MessageDefinition.identifier | NamingSystem.identifier | ObservationDefinition.identifier | OperationDefinition.identifier | PlanDefinition.identifier | Questionnaire.identifier | Requirements.identifier | SearchParameter.identifier | SpecimenDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | SubscriptionTopic.identifier | TerminologyCapabilities.identifier | TestPlan.identifier | TestScript.identifier | ValueSet.identifier", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): External identifier for the activity definition\r\n* [ActorDefinition](actordefinition.html): External identifier for the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): External identifier for the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): External identifier for the charge item definition\r\n* [Citation](citation.html): External identifier for the citation\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [ConditionDefinition](conditiondefinition.html): External identifier for the condition definition\r\n* [EventDefinition](eventdefinition.html): External identifier for the event definition\r\n* [Evidence](evidence.html): External identifier for the evidence\r\n* [EvidenceReport](evidencereport.html): External identifier for the evidence report\r\n* [EvidenceVariable](evidencevariable.html): External identifier for the evidence variable\r\n* [ExampleScenario](examplescenario.html): External identifier for the example scenario\r\n* [GraphDefinition](graphdefinition.html): External identifier for the graph definition\r\n* [ImplementationGuide](implementationguide.html): External identifier for the implementation guide\r\n* [Library](library.html): External identifier for the library\r\n* [Measure](measure.html): External identifier for the measure\r\n* [MedicationKnowledge](medicationknowledge.html): Business identifier for this medication\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [NamingSystem](namingsystem.html): External identifier for the naming system\r\n* [ObservationDefinition](observationdefinition.html): The unique identifier associated with the specimen definition\r\n* [OperationDefinition](operationdefinition.html): External identifier for the search parameter\r\n* [PlanDefinition](plandefinition.html): External identifier for the plan definition\r\n* [Questionnaire](questionnaire.html): External identifier for the questionnaire\r\n* [Requirements](requirements.html): External identifier for the requirements\r\n* [SearchParameter](searchparameter.html): External identifier for the search parameter\r\n* [SpecimenDefinition](specimendefinition.html): The unique identifier associated with the SpecimenDefinition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [SubscriptionTopic](subscriptiontopic.html): Business Identifier for SubscriptionTopic\r\n* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities\r\n* [TestPlan](testplan.html): An identifier for the test plan\r\n* [TestScript](testscript.html): External identifier for the test script\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", type="token" )
16173  public static final String SP_IDENTIFIER = "identifier";
16174  /**
16175   * <b>Fluent Client</b> search parameter constant for <b>identifier</b>
16176   * <p>
16177   * Description: <b>Multiple Resources: 
16178
16179   * [ActivityDefinition](activitydefinition.html): External identifier for the activity definition
16180   * [ActorDefinition](actordefinition.html): External identifier for the Actor Definition
16181   * [CapabilityStatement](capabilitystatement.html): External identifier for the capability statement
16182   * [ChargeItemDefinition](chargeitemdefinition.html): External identifier for the charge item definition
16183   * [Citation](citation.html): External identifier for the citation
16184   * [CodeSystem](codesystem.html): External identifier for the code system
16185   * [ConceptMap](conceptmap.html): External identifier for the concept map
16186   * [ConditionDefinition](conditiondefinition.html): External identifier for the condition definition
16187   * [EventDefinition](eventdefinition.html): External identifier for the event definition
16188   * [Evidence](evidence.html): External identifier for the evidence
16189   * [EvidenceReport](evidencereport.html): External identifier for the evidence report
16190   * [EvidenceVariable](evidencevariable.html): External identifier for the evidence variable
16191   * [ExampleScenario](examplescenario.html): External identifier for the example scenario
16192   * [GraphDefinition](graphdefinition.html): External identifier for the graph definition
16193   * [ImplementationGuide](implementationguide.html): External identifier for the implementation guide
16194   * [Library](library.html): External identifier for the library
16195   * [Measure](measure.html): External identifier for the measure
16196   * [MedicationKnowledge](medicationknowledge.html): Business identifier for this medication
16197   * [MessageDefinition](messagedefinition.html): External identifier for the message definition
16198   * [NamingSystem](namingsystem.html): External identifier for the naming system
16199   * [ObservationDefinition](observationdefinition.html): The unique identifier associated with the specimen definition
16200   * [OperationDefinition](operationdefinition.html): External identifier for the search parameter
16201   * [PlanDefinition](plandefinition.html): External identifier for the plan definition
16202   * [Questionnaire](questionnaire.html): External identifier for the questionnaire
16203   * [Requirements](requirements.html): External identifier for the requirements
16204   * [SearchParameter](searchparameter.html): External identifier for the search parameter
16205   * [SpecimenDefinition](specimendefinition.html): The unique identifier associated with the SpecimenDefinition
16206   * [StructureDefinition](structuredefinition.html): External identifier for the structure definition
16207   * [StructureMap](structuremap.html): External identifier for the structure map
16208   * [SubscriptionTopic](subscriptiontopic.html): Business Identifier for SubscriptionTopic
16209   * [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities
16210   * [TestPlan](testplan.html): An identifier for the test plan
16211   * [TestScript](testscript.html): External identifier for the test script
16212   * [ValueSet](valueset.html): External identifier for the value set
16213</b><br>
16214   * Type: <b>token</b><br>
16215   * Path: <b>ActivityDefinition.identifier | ActorDefinition.identifier | CapabilityStatement.identifier | ChargeItemDefinition.identifier | Citation.identifier | CodeSystem.identifier | ConceptMap.identifier | ConditionDefinition.identifier | EventDefinition.identifier | Evidence.identifier | EvidenceReport.identifier | EvidenceVariable.identifier | ExampleScenario.identifier | GraphDefinition.identifier | ImplementationGuide.identifier | Library.identifier | Measure.identifier | MedicationKnowledge.identifier | MessageDefinition.identifier | NamingSystem.identifier | ObservationDefinition.identifier | OperationDefinition.identifier | PlanDefinition.identifier | Questionnaire.identifier | Requirements.identifier | SearchParameter.identifier | SpecimenDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | SubscriptionTopic.identifier | TerminologyCapabilities.identifier | TestPlan.identifier | TestScript.identifier | ValueSet.identifier</b><br>
16216   * </p>
16217   */
16218  public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER);
16219
16220  /**
16221   * Search parameter: <b>jurisdiction</b>
16222   * <p>
16223   * Description: <b>Multiple Resources: 
16224
16225   * [ActivityDefinition](activitydefinition.html): Intended jurisdiction for the activity definition
16226   * [ActorDefinition](actordefinition.html): Intended jurisdiction for the Actor Definition
16227   * [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement
16228   * [ChargeItemDefinition](chargeitemdefinition.html): Intended jurisdiction for the charge item definition
16229   * [Citation](citation.html): Intended jurisdiction for the citation
16230   * [CodeSystem](codesystem.html): Intended jurisdiction for the code system
16231   * [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map
16232   * [ConditionDefinition](conditiondefinition.html): Intended jurisdiction for the condition definition
16233   * [EventDefinition](eventdefinition.html): Intended jurisdiction for the event definition
16234   * [ExampleScenario](examplescenario.html): Intended jurisdiction for the example scenario
16235   * [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition
16236   * [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide
16237   * [Library](library.html): Intended jurisdiction for the library
16238   * [Measure](measure.html): Intended jurisdiction for the measure
16239   * [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition
16240   * [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system
16241   * [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition
16242   * [PlanDefinition](plandefinition.html): Intended jurisdiction for the plan definition
16243   * [Questionnaire](questionnaire.html): Intended jurisdiction for the questionnaire
16244   * [Requirements](requirements.html): Intended jurisdiction for the requirements
16245   * [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter
16246   * [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition
16247   * [StructureMap](structuremap.html): Intended jurisdiction for the structure map
16248   * [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities
16249   * [TestScript](testscript.html): Intended jurisdiction for the test script
16250   * [ValueSet](valueset.html): Intended jurisdiction for the value set
16251</b><br>
16252   * Type: <b>token</b><br>
16253   * Path: <b>ActivityDefinition.jurisdiction | ActorDefinition.jurisdiction | CapabilityStatement.jurisdiction | ChargeItemDefinition.jurisdiction | Citation.jurisdiction | CodeSystem.jurisdiction | ConceptMap.jurisdiction | ConditionDefinition.jurisdiction | EventDefinition.jurisdiction | ExampleScenario.jurisdiction | GraphDefinition.jurisdiction | ImplementationGuide.jurisdiction | Library.jurisdiction | Measure.jurisdiction | MessageDefinition.jurisdiction | NamingSystem.jurisdiction | OperationDefinition.jurisdiction | PlanDefinition.jurisdiction | Questionnaire.jurisdiction | Requirements.jurisdiction | SearchParameter.jurisdiction | StructureDefinition.jurisdiction | StructureMap.jurisdiction | TerminologyCapabilities.jurisdiction | TestScript.jurisdiction | ValueSet.jurisdiction</b><br>
16254   * </p>
16255   */
16256  @SearchParamDefinition(name="jurisdiction", path="ActivityDefinition.jurisdiction | ActorDefinition.jurisdiction | CapabilityStatement.jurisdiction | ChargeItemDefinition.jurisdiction | Citation.jurisdiction | CodeSystem.jurisdiction | ConceptMap.jurisdiction | ConditionDefinition.jurisdiction | EventDefinition.jurisdiction | ExampleScenario.jurisdiction | GraphDefinition.jurisdiction | ImplementationGuide.jurisdiction | Library.jurisdiction | Measure.jurisdiction | MessageDefinition.jurisdiction | NamingSystem.jurisdiction | OperationDefinition.jurisdiction | PlanDefinition.jurisdiction | Questionnaire.jurisdiction | Requirements.jurisdiction | SearchParameter.jurisdiction | StructureDefinition.jurisdiction | StructureMap.jurisdiction | TerminologyCapabilities.jurisdiction | TestScript.jurisdiction | ValueSet.jurisdiction", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): Intended jurisdiction for the activity definition\r\n* [ActorDefinition](actordefinition.html): Intended jurisdiction for the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): Intended jurisdiction for the charge item definition\r\n* [Citation](citation.html): Intended jurisdiction for the citation\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [ConditionDefinition](conditiondefinition.html): Intended jurisdiction for the condition definition\r\n* [EventDefinition](eventdefinition.html): Intended jurisdiction for the event definition\r\n* [ExampleScenario](examplescenario.html): Intended jurisdiction for the example scenario\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [Library](library.html): Intended jurisdiction for the library\r\n* [Measure](measure.html): Intended jurisdiction for the measure\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [PlanDefinition](plandefinition.html): Intended jurisdiction for the plan definition\r\n* [Questionnaire](questionnaire.html): Intended jurisdiction for the questionnaire\r\n* [Requirements](requirements.html): Intended jurisdiction for the requirements\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [TestScript](testscript.html): Intended jurisdiction for the test script\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", type="token" )
16257  public static final String SP_JURISDICTION = "jurisdiction";
16258  /**
16259   * <b>Fluent Client</b> search parameter constant for <b>jurisdiction</b>
16260   * <p>
16261   * Description: <b>Multiple Resources: 
16262
16263   * [ActivityDefinition](activitydefinition.html): Intended jurisdiction for the activity definition
16264   * [ActorDefinition](actordefinition.html): Intended jurisdiction for the Actor Definition
16265   * [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement
16266   * [ChargeItemDefinition](chargeitemdefinition.html): Intended jurisdiction for the charge item definition
16267   * [Citation](citation.html): Intended jurisdiction for the citation
16268   * [CodeSystem](codesystem.html): Intended jurisdiction for the code system
16269   * [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map
16270   * [ConditionDefinition](conditiondefinition.html): Intended jurisdiction for the condition definition
16271   * [EventDefinition](eventdefinition.html): Intended jurisdiction for the event definition
16272   * [ExampleScenario](examplescenario.html): Intended jurisdiction for the example scenario
16273   * [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition
16274   * [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide
16275   * [Library](library.html): Intended jurisdiction for the library
16276   * [Measure](measure.html): Intended jurisdiction for the measure
16277   * [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition
16278   * [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system
16279   * [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition
16280   * [PlanDefinition](plandefinition.html): Intended jurisdiction for the plan definition
16281   * [Questionnaire](questionnaire.html): Intended jurisdiction for the questionnaire
16282   * [Requirements](requirements.html): Intended jurisdiction for the requirements
16283   * [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter
16284   * [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition
16285   * [StructureMap](structuremap.html): Intended jurisdiction for the structure map
16286   * [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities
16287   * [TestScript](testscript.html): Intended jurisdiction for the test script
16288   * [ValueSet](valueset.html): Intended jurisdiction for the value set
16289</b><br>
16290   * Type: <b>token</b><br>
16291   * Path: <b>ActivityDefinition.jurisdiction | ActorDefinition.jurisdiction | CapabilityStatement.jurisdiction | ChargeItemDefinition.jurisdiction | Citation.jurisdiction | CodeSystem.jurisdiction | ConceptMap.jurisdiction | ConditionDefinition.jurisdiction | EventDefinition.jurisdiction | ExampleScenario.jurisdiction | GraphDefinition.jurisdiction | ImplementationGuide.jurisdiction | Library.jurisdiction | Measure.jurisdiction | MessageDefinition.jurisdiction | NamingSystem.jurisdiction | OperationDefinition.jurisdiction | PlanDefinition.jurisdiction | Questionnaire.jurisdiction | Requirements.jurisdiction | SearchParameter.jurisdiction | StructureDefinition.jurisdiction | StructureMap.jurisdiction | TerminologyCapabilities.jurisdiction | TestScript.jurisdiction | ValueSet.jurisdiction</b><br>
16292   * </p>
16293   */
16294  public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_JURISDICTION);
16295
16296  /**
16297   * Search parameter: <b>name</b>
16298   * <p>
16299   * Description: <b>Multiple Resources: 
16300
16301   * [ActivityDefinition](activitydefinition.html): Computationally friendly name of the activity definition
16302   * [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement
16303   * [Citation](citation.html): Computationally friendly name of the citation
16304   * [CodeSystem](codesystem.html): Computationally friendly name of the code system
16305   * [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition
16306   * [ConceptMap](conceptmap.html): Computationally friendly name of the concept map
16307   * [ConditionDefinition](conditiondefinition.html): Computationally friendly name of the condition definition
16308   * [EventDefinition](eventdefinition.html): Computationally friendly name of the event definition
16309   * [EvidenceVariable](evidencevariable.html): Computationally friendly name of the evidence variable
16310   * [ExampleScenario](examplescenario.html): Computationally friendly name of the example scenario
16311   * [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition
16312   * [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide
16313   * [Library](library.html): Computationally friendly name of the library
16314   * [Measure](measure.html): Computationally friendly name of the measure
16315   * [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition
16316   * [NamingSystem](namingsystem.html): Computationally friendly name of the naming system
16317   * [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition
16318   * [PlanDefinition](plandefinition.html): Computationally friendly name of the plan definition
16319   * [Questionnaire](questionnaire.html): Computationally friendly name of the questionnaire
16320   * [Requirements](requirements.html): Computationally friendly name of the requirements
16321   * [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter
16322   * [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition
16323   * [StructureMap](structuremap.html): Computationally friendly name of the structure map
16324   * [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities
16325   * [TestScript](testscript.html): Computationally friendly name of the test script
16326   * [ValueSet](valueset.html): Computationally friendly name of the value set
16327</b><br>
16328   * Type: <b>string</b><br>
16329   * Path: <b>ActivityDefinition.name | CapabilityStatement.name | Citation.name | CodeSystem.name | CompartmentDefinition.name | ConceptMap.name | ConditionDefinition.name | EventDefinition.name | EvidenceVariable.name | ExampleScenario.name | GraphDefinition.name | ImplementationGuide.name | Library.name | Measure.name | MessageDefinition.name | NamingSystem.name | OperationDefinition.name | PlanDefinition.name | Questionnaire.name | Requirements.name | SearchParameter.name | StructureDefinition.name | StructureMap.name | TerminologyCapabilities.name | TestScript.name | ValueSet.name</b><br>
16330   * </p>
16331   */
16332  @SearchParamDefinition(name="name", path="ActivityDefinition.name | CapabilityStatement.name | Citation.name | CodeSystem.name | CompartmentDefinition.name | ConceptMap.name | ConditionDefinition.name | EventDefinition.name | EvidenceVariable.name | ExampleScenario.name | GraphDefinition.name | ImplementationGuide.name | Library.name | Measure.name | MessageDefinition.name | NamingSystem.name | OperationDefinition.name | PlanDefinition.name | Questionnaire.name | Requirements.name | SearchParameter.name | StructureDefinition.name | StructureMap.name | TerminologyCapabilities.name | TestScript.name | ValueSet.name", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): Computationally friendly name of the activity definition\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [Citation](citation.html): Computationally friendly name of the citation\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [ConditionDefinition](conditiondefinition.html): Computationally friendly name of the condition definition\r\n* [EventDefinition](eventdefinition.html): Computationally friendly name of the event definition\r\n* [EvidenceVariable](evidencevariable.html): Computationally friendly name of the evidence variable\r\n* [ExampleScenario](examplescenario.html): Computationally friendly name of the example scenario\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [Library](library.html): Computationally friendly name of the library\r\n* [Measure](measure.html): Computationally friendly name of the measure\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [PlanDefinition](plandefinition.html): Computationally friendly name of the plan definition\r\n* [Questionnaire](questionnaire.html): Computationally friendly name of the questionnaire\r\n* [Requirements](requirements.html): Computationally friendly name of the requirements\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [TestScript](testscript.html): Computationally friendly name of the test script\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", type="string" )
16333  public static final String SP_NAME = "name";
16334  /**
16335   * <b>Fluent Client</b> search parameter constant for <b>name</b>
16336   * <p>
16337   * Description: <b>Multiple Resources: 
16338
16339   * [ActivityDefinition](activitydefinition.html): Computationally friendly name of the activity definition
16340   * [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement
16341   * [Citation](citation.html): Computationally friendly name of the citation
16342   * [CodeSystem](codesystem.html): Computationally friendly name of the code system
16343   * [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition
16344   * [ConceptMap](conceptmap.html): Computationally friendly name of the concept map
16345   * [ConditionDefinition](conditiondefinition.html): Computationally friendly name of the condition definition
16346   * [EventDefinition](eventdefinition.html): Computationally friendly name of the event definition
16347   * [EvidenceVariable](evidencevariable.html): Computationally friendly name of the evidence variable
16348   * [ExampleScenario](examplescenario.html): Computationally friendly name of the example scenario
16349   * [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition
16350   * [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide
16351   * [Library](library.html): Computationally friendly name of the library
16352   * [Measure](measure.html): Computationally friendly name of the measure
16353   * [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition
16354   * [NamingSystem](namingsystem.html): Computationally friendly name of the naming system
16355   * [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition
16356   * [PlanDefinition](plandefinition.html): Computationally friendly name of the plan definition
16357   * [Questionnaire](questionnaire.html): Computationally friendly name of the questionnaire
16358   * [Requirements](requirements.html): Computationally friendly name of the requirements
16359   * [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter
16360   * [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition
16361   * [StructureMap](structuremap.html): Computationally friendly name of the structure map
16362   * [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities
16363   * [TestScript](testscript.html): Computationally friendly name of the test script
16364   * [ValueSet](valueset.html): Computationally friendly name of the value set
16365</b><br>
16366   * Type: <b>string</b><br>
16367   * Path: <b>ActivityDefinition.name | CapabilityStatement.name | Citation.name | CodeSystem.name | CompartmentDefinition.name | ConceptMap.name | ConditionDefinition.name | EventDefinition.name | EvidenceVariable.name | ExampleScenario.name | GraphDefinition.name | ImplementationGuide.name | Library.name | Measure.name | MessageDefinition.name | NamingSystem.name | OperationDefinition.name | PlanDefinition.name | Questionnaire.name | Requirements.name | SearchParameter.name | StructureDefinition.name | StructureMap.name | TerminologyCapabilities.name | TestScript.name | ValueSet.name</b><br>
16368   * </p>
16369   */
16370  public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME);
16371
16372  /**
16373   * Search parameter: <b>publisher</b>
16374   * <p>
16375   * Description: <b>Multiple Resources: 
16376
16377   * [ActivityDefinition](activitydefinition.html): Name of the publisher of the activity definition
16378   * [ActorDefinition](actordefinition.html): Name of the publisher of the Actor Definition
16379   * [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement
16380   * [ChargeItemDefinition](chargeitemdefinition.html): Name of the publisher of the charge item definition
16381   * [Citation](citation.html): Name of the publisher of the citation
16382   * [CodeSystem](codesystem.html): Name of the publisher of the code system
16383   * [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition
16384   * [ConceptMap](conceptmap.html): Name of the publisher of the concept map
16385   * [ConditionDefinition](conditiondefinition.html): Name of the publisher of the condition definition
16386   * [EventDefinition](eventdefinition.html): Name of the publisher of the event definition
16387   * [Evidence](evidence.html): Name of the publisher of the evidence
16388   * [EvidenceReport](evidencereport.html): Name of the publisher of the evidence report
16389   * [EvidenceVariable](evidencevariable.html): Name of the publisher of the evidence variable
16390   * [ExampleScenario](examplescenario.html): Name of the publisher of the example scenario
16391   * [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition
16392   * [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide
16393   * [Library](library.html): Name of the publisher of the library
16394   * [Measure](measure.html): Name of the publisher of the measure
16395   * [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition
16396   * [NamingSystem](namingsystem.html): Name of the publisher of the naming system
16397   * [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition
16398   * [PlanDefinition](plandefinition.html): Name of the publisher of the plan definition
16399   * [Questionnaire](questionnaire.html): Name of the publisher of the questionnaire
16400   * [Requirements](requirements.html): Name of the publisher of the requirements
16401   * [SearchParameter](searchparameter.html): Name of the publisher of the search parameter
16402   * [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition
16403   * [StructureMap](structuremap.html): Name of the publisher of the structure map
16404   * [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities
16405   * [TestScript](testscript.html): Name of the publisher of the test script
16406   * [ValueSet](valueset.html): Name of the publisher of the value set
16407</b><br>
16408   * Type: <b>string</b><br>
16409   * Path: <b>ActivityDefinition.publisher | ActorDefinition.publisher | CapabilityStatement.publisher | ChargeItemDefinition.publisher | Citation.publisher | CodeSystem.publisher | CompartmentDefinition.publisher | ConceptMap.publisher | ConditionDefinition.publisher | EventDefinition.publisher | Evidence.publisher | EvidenceReport.publisher | EvidenceVariable.publisher | ExampleScenario.publisher | GraphDefinition.publisher | ImplementationGuide.publisher | Library.publisher | Measure.publisher | MessageDefinition.publisher | NamingSystem.publisher | OperationDefinition.publisher | PlanDefinition.publisher | Questionnaire.publisher | Requirements.publisher | SearchParameter.publisher | StructureDefinition.publisher | StructureMap.publisher | TerminologyCapabilities.publisher | TestScript.publisher | ValueSet.publisher</b><br>
16410   * </p>
16411   */
16412  @SearchParamDefinition(name="publisher", path="ActivityDefinition.publisher | ActorDefinition.publisher | CapabilityStatement.publisher | ChargeItemDefinition.publisher | Citation.publisher | CodeSystem.publisher | CompartmentDefinition.publisher | ConceptMap.publisher | ConditionDefinition.publisher | EventDefinition.publisher | Evidence.publisher | EvidenceReport.publisher | EvidenceVariable.publisher | ExampleScenario.publisher | GraphDefinition.publisher | ImplementationGuide.publisher | Library.publisher | Measure.publisher | MessageDefinition.publisher | NamingSystem.publisher | OperationDefinition.publisher | PlanDefinition.publisher | Questionnaire.publisher | Requirements.publisher | SearchParameter.publisher | StructureDefinition.publisher | StructureMap.publisher | TerminologyCapabilities.publisher | TestScript.publisher | ValueSet.publisher", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): Name of the publisher of the activity definition\r\n* [ActorDefinition](actordefinition.html): Name of the publisher of the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): Name of the publisher of the charge item definition\r\n* [Citation](citation.html): Name of the publisher of the citation\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [ConditionDefinition](conditiondefinition.html): Name of the publisher of the condition definition\r\n* [EventDefinition](eventdefinition.html): Name of the publisher of the event definition\r\n* [Evidence](evidence.html): Name of the publisher of the evidence\r\n* [EvidenceReport](evidencereport.html): Name of the publisher of the evidence report\r\n* [EvidenceVariable](evidencevariable.html): Name of the publisher of the evidence variable\r\n* [ExampleScenario](examplescenario.html): Name of the publisher of the example scenario\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [Library](library.html): Name of the publisher of the library\r\n* [Measure](measure.html): Name of the publisher of the measure\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [PlanDefinition](plandefinition.html): Name of the publisher of the plan definition\r\n* [Questionnaire](questionnaire.html): Name of the publisher of the questionnaire\r\n* [Requirements](requirements.html): Name of the publisher of the requirements\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [TestScript](testscript.html): Name of the publisher of the test script\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", type="string" )
16413  public static final String SP_PUBLISHER = "publisher";
16414  /**
16415   * <b>Fluent Client</b> search parameter constant for <b>publisher</b>
16416   * <p>
16417   * Description: <b>Multiple Resources: 
16418
16419   * [ActivityDefinition](activitydefinition.html): Name of the publisher of the activity definition
16420   * [ActorDefinition](actordefinition.html): Name of the publisher of the Actor Definition
16421   * [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement
16422   * [ChargeItemDefinition](chargeitemdefinition.html): Name of the publisher of the charge item definition
16423   * [Citation](citation.html): Name of the publisher of the citation
16424   * [CodeSystem](codesystem.html): Name of the publisher of the code system
16425   * [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition
16426   * [ConceptMap](conceptmap.html): Name of the publisher of the concept map
16427   * [ConditionDefinition](conditiondefinition.html): Name of the publisher of the condition definition
16428   * [EventDefinition](eventdefinition.html): Name of the publisher of the event definition
16429   * [Evidence](evidence.html): Name of the publisher of the evidence
16430   * [EvidenceReport](evidencereport.html): Name of the publisher of the evidence report
16431   * [EvidenceVariable](evidencevariable.html): Name of the publisher of the evidence variable
16432   * [ExampleScenario](examplescenario.html): Name of the publisher of the example scenario
16433   * [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition
16434   * [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide
16435   * [Library](library.html): Name of the publisher of the library
16436   * [Measure](measure.html): Name of the publisher of the measure
16437   * [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition
16438   * [NamingSystem](namingsystem.html): Name of the publisher of the naming system
16439   * [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition
16440   * [PlanDefinition](plandefinition.html): Name of the publisher of the plan definition
16441   * [Questionnaire](questionnaire.html): Name of the publisher of the questionnaire
16442   * [Requirements](requirements.html): Name of the publisher of the requirements
16443   * [SearchParameter](searchparameter.html): Name of the publisher of the search parameter
16444   * [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition
16445   * [StructureMap](structuremap.html): Name of the publisher of the structure map
16446   * [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities
16447   * [TestScript](testscript.html): Name of the publisher of the test script
16448   * [ValueSet](valueset.html): Name of the publisher of the value set
16449</b><br>
16450   * Type: <b>string</b><br>
16451   * Path: <b>ActivityDefinition.publisher | ActorDefinition.publisher | CapabilityStatement.publisher | ChargeItemDefinition.publisher | Citation.publisher | CodeSystem.publisher | CompartmentDefinition.publisher | ConceptMap.publisher | ConditionDefinition.publisher | EventDefinition.publisher | Evidence.publisher | EvidenceReport.publisher | EvidenceVariable.publisher | ExampleScenario.publisher | GraphDefinition.publisher | ImplementationGuide.publisher | Library.publisher | Measure.publisher | MessageDefinition.publisher | NamingSystem.publisher | OperationDefinition.publisher | PlanDefinition.publisher | Questionnaire.publisher | Requirements.publisher | SearchParameter.publisher | StructureDefinition.publisher | StructureMap.publisher | TerminologyCapabilities.publisher | TestScript.publisher | ValueSet.publisher</b><br>
16452   * </p>
16453   */
16454  public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER);
16455
16456  /**
16457   * Search parameter: <b>status</b>
16458   * <p>
16459   * Description: <b>Multiple Resources: 
16460
16461   * [ActivityDefinition](activitydefinition.html): The current status of the activity definition
16462   * [ActorDefinition](actordefinition.html): The current status of the Actor Definition
16463   * [CapabilityStatement](capabilitystatement.html): The current status of the capability statement
16464   * [ChargeItemDefinition](chargeitemdefinition.html): The current status of the charge item definition
16465   * [Citation](citation.html): The current status of the citation
16466   * [CodeSystem](codesystem.html): The current status of the code system
16467   * [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition
16468   * [ConceptMap](conceptmap.html): The current status of the concept map
16469   * [ConditionDefinition](conditiondefinition.html): The current status of the condition definition
16470   * [EventDefinition](eventdefinition.html): The current status of the event definition
16471   * [Evidence](evidence.html): The current status of the evidence
16472   * [EvidenceReport](evidencereport.html): The current status of the evidence report
16473   * [EvidenceVariable](evidencevariable.html): The current status of the evidence variable
16474   * [ExampleScenario](examplescenario.html): The current status of the example scenario
16475   * [GraphDefinition](graphdefinition.html): The current status of the graph definition
16476   * [ImplementationGuide](implementationguide.html): The current status of the implementation guide
16477   * [Library](library.html): The current status of the library
16478   * [Measure](measure.html): The current status of the measure
16479   * [MedicationKnowledge](medicationknowledge.html): active | inactive | entered-in-error
16480   * [MessageDefinition](messagedefinition.html): The current status of the message definition
16481   * [NamingSystem](namingsystem.html): The current status of the naming system
16482   * [ObservationDefinition](observationdefinition.html): Publication status of the ObservationDefinition: draft, active, retired, unknown
16483   * [OperationDefinition](operationdefinition.html): The current status of the operation definition
16484   * [PlanDefinition](plandefinition.html): The current status of the plan definition
16485   * [Questionnaire](questionnaire.html): The current status of the questionnaire
16486   * [Requirements](requirements.html): The current status of the requirements
16487   * [SearchParameter](searchparameter.html): The current status of the search parameter
16488   * [SpecimenDefinition](specimendefinition.html): Publication status of the SpecimenDefinition: draft, active, retired, unknown
16489   * [StructureDefinition](structuredefinition.html): The current status of the structure definition
16490   * [StructureMap](structuremap.html): The current status of the structure map
16491   * [SubscriptionTopic](subscriptiontopic.html): draft | active | retired | unknown
16492   * [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities
16493   * [TestPlan](testplan.html): The current status of the test plan
16494   * [TestScript](testscript.html): The current status of the test script
16495   * [ValueSet](valueset.html): The current status of the value set
16496</b><br>
16497   * Type: <b>token</b><br>
16498   * Path: <b>ActivityDefinition.status | ActorDefinition.status | CapabilityStatement.status | ChargeItemDefinition.status | Citation.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | ConditionDefinition.status | EventDefinition.status | Evidence.status | EvidenceReport.status | EvidenceVariable.status | ExampleScenario.status | GraphDefinition.status | ImplementationGuide.status | Library.status | Measure.status | MedicationKnowledge.status | MessageDefinition.status | NamingSystem.status | ObservationDefinition.status | OperationDefinition.status | PlanDefinition.status | Questionnaire.status | Requirements.status | SearchParameter.status | SpecimenDefinition.status | StructureDefinition.status | StructureMap.status | SubscriptionTopic.status | TerminologyCapabilities.status | TestPlan.status | TestScript.status | ValueSet.status</b><br>
16499   * </p>
16500   */
16501  @SearchParamDefinition(name="status", path="ActivityDefinition.status | ActorDefinition.status | CapabilityStatement.status | ChargeItemDefinition.status | Citation.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | ConditionDefinition.status | EventDefinition.status | Evidence.status | EvidenceReport.status | EvidenceVariable.status | ExampleScenario.status | GraphDefinition.status | ImplementationGuide.status | Library.status | Measure.status | MedicationKnowledge.status | MessageDefinition.status | NamingSystem.status | ObservationDefinition.status | OperationDefinition.status | PlanDefinition.status | Questionnaire.status | Requirements.status | SearchParameter.status | SpecimenDefinition.status | StructureDefinition.status | StructureMap.status | SubscriptionTopic.status | TerminologyCapabilities.status | TestPlan.status | TestScript.status | ValueSet.status", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): The current status of the activity definition\r\n* [ActorDefinition](actordefinition.html): The current status of the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): The current status of the charge item definition\r\n* [Citation](citation.html): The current status of the citation\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [ConditionDefinition](conditiondefinition.html): The current status of the condition definition\r\n* [EventDefinition](eventdefinition.html): The current status of the event definition\r\n* [Evidence](evidence.html): The current status of the evidence\r\n* [EvidenceReport](evidencereport.html): The current status of the evidence report\r\n* [EvidenceVariable](evidencevariable.html): The current status of the evidence variable\r\n* [ExampleScenario](examplescenario.html): The current status of the example scenario\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [Library](library.html): The current status of the library\r\n* [Measure](measure.html): The current status of the measure\r\n* [MedicationKnowledge](medicationknowledge.html): active | inactive | entered-in-error\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [ObservationDefinition](observationdefinition.html): Publication status of the ObservationDefinition: draft, active, retired, unknown\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [PlanDefinition](plandefinition.html): The current status of the plan definition\r\n* [Questionnaire](questionnaire.html): The current status of the questionnaire\r\n* [Requirements](requirements.html): The current status of the requirements\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [SpecimenDefinition](specimendefinition.html): Publication status of the SpecimenDefinition: draft, active, retired, unknown\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [SubscriptionTopic](subscriptiontopic.html): draft | active | retired | unknown\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [TestPlan](testplan.html): The current status of the test plan\r\n* [TestScript](testscript.html): The current status of the test script\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", type="token" )
16502  public static final String SP_STATUS = "status";
16503  /**
16504   * <b>Fluent Client</b> search parameter constant for <b>status</b>
16505   * <p>
16506   * Description: <b>Multiple Resources: 
16507
16508   * [ActivityDefinition](activitydefinition.html): The current status of the activity definition
16509   * [ActorDefinition](actordefinition.html): The current status of the Actor Definition
16510   * [CapabilityStatement](capabilitystatement.html): The current status of the capability statement
16511   * [ChargeItemDefinition](chargeitemdefinition.html): The current status of the charge item definition
16512   * [Citation](citation.html): The current status of the citation
16513   * [CodeSystem](codesystem.html): The current status of the code system
16514   * [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition
16515   * [ConceptMap](conceptmap.html): The current status of the concept map
16516   * [ConditionDefinition](conditiondefinition.html): The current status of the condition definition
16517   * [EventDefinition](eventdefinition.html): The current status of the event definition
16518   * [Evidence](evidence.html): The current status of the evidence
16519   * [EvidenceReport](evidencereport.html): The current status of the evidence report
16520   * [EvidenceVariable](evidencevariable.html): The current status of the evidence variable
16521   * [ExampleScenario](examplescenario.html): The current status of the example scenario
16522   * [GraphDefinition](graphdefinition.html): The current status of the graph definition
16523   * [ImplementationGuide](implementationguide.html): The current status of the implementation guide
16524   * [Library](library.html): The current status of the library
16525   * [Measure](measure.html): The current status of the measure
16526   * [MedicationKnowledge](medicationknowledge.html): active | inactive | entered-in-error
16527   * [MessageDefinition](messagedefinition.html): The current status of the message definition
16528   * [NamingSystem](namingsystem.html): The current status of the naming system
16529   * [ObservationDefinition](observationdefinition.html): Publication status of the ObservationDefinition: draft, active, retired, unknown
16530   * [OperationDefinition](operationdefinition.html): The current status of the operation definition
16531   * [PlanDefinition](plandefinition.html): The current status of the plan definition
16532   * [Questionnaire](questionnaire.html): The current status of the questionnaire
16533   * [Requirements](requirements.html): The current status of the requirements
16534   * [SearchParameter](searchparameter.html): The current status of the search parameter
16535   * [SpecimenDefinition](specimendefinition.html): Publication status of the SpecimenDefinition: draft, active, retired, unknown
16536   * [StructureDefinition](structuredefinition.html): The current status of the structure definition
16537   * [StructureMap](structuremap.html): The current status of the structure map
16538   * [SubscriptionTopic](subscriptiontopic.html): draft | active | retired | unknown
16539   * [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities
16540   * [TestPlan](testplan.html): The current status of the test plan
16541   * [TestScript](testscript.html): The current status of the test script
16542   * [ValueSet](valueset.html): The current status of the value set
16543</b><br>
16544   * Type: <b>token</b><br>
16545   * Path: <b>ActivityDefinition.status | ActorDefinition.status | CapabilityStatement.status | ChargeItemDefinition.status | Citation.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | ConditionDefinition.status | EventDefinition.status | Evidence.status | EvidenceReport.status | EvidenceVariable.status | ExampleScenario.status | GraphDefinition.status | ImplementationGuide.status | Library.status | Measure.status | MedicationKnowledge.status | MessageDefinition.status | NamingSystem.status | ObservationDefinition.status | OperationDefinition.status | PlanDefinition.status | Questionnaire.status | Requirements.status | SearchParameter.status | SpecimenDefinition.status | StructureDefinition.status | StructureMap.status | SubscriptionTopic.status | TerminologyCapabilities.status | TestPlan.status | TestScript.status | ValueSet.status</b><br>
16546   * </p>
16547   */
16548  public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS);
16549
16550  /**
16551   * Search parameter: <b>title</b>
16552   * <p>
16553   * Description: <b>Multiple Resources: 
16554
16555   * [ActivityDefinition](activitydefinition.html): The human-friendly name of the activity definition
16556   * [ActorDefinition](actordefinition.html): The human-friendly name of the Actor Definition
16557   * [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement
16558   * [ChargeItemDefinition](chargeitemdefinition.html): The human-friendly name of the charge item definition
16559   * [Citation](citation.html): The human-friendly name of the citation
16560   * [CodeSystem](codesystem.html): The human-friendly name of the code system
16561   * [ConceptMap](conceptmap.html): The human-friendly name of the concept map
16562   * [ConditionDefinition](conditiondefinition.html): The human-friendly name of the condition definition
16563   * [EventDefinition](eventdefinition.html): The human-friendly name of the event definition
16564   * [Evidence](evidence.html): The human-friendly name of the evidence
16565   * [EvidenceVariable](evidencevariable.html): The human-friendly name of the evidence variable
16566   * [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide
16567   * [Library](library.html): The human-friendly name of the library
16568   * [Measure](measure.html): The human-friendly name of the measure
16569   * [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition
16570   * [ObservationDefinition](observationdefinition.html): Human-friendly name of the ObservationDefinition
16571   * [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition
16572   * [PlanDefinition](plandefinition.html): The human-friendly name of the plan definition
16573   * [Questionnaire](questionnaire.html): The human-friendly name of the questionnaire
16574   * [Requirements](requirements.html): The human-friendly name of the requirements
16575   * [SpecimenDefinition](specimendefinition.html): Human-friendly name of the SpecimenDefinition
16576   * [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition
16577   * [StructureMap](structuremap.html): The human-friendly name of the structure map
16578   * [SubscriptionTopic](subscriptiontopic.html): Name for this SubscriptionTopic (Human friendly)
16579   * [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities
16580   * [TestScript](testscript.html): The human-friendly name of the test script
16581   * [ValueSet](valueset.html): The human-friendly name of the value set
16582</b><br>
16583   * Type: <b>string</b><br>
16584   * Path: <b>ActivityDefinition.title | ActorDefinition.title | CapabilityStatement.title | ChargeItemDefinition.title | Citation.title | CodeSystem.title | ConceptMap.title | ConditionDefinition.title | EventDefinition.title | Evidence.title | EvidenceVariable.title | ImplementationGuide.title | Library.title | Measure.title | MessageDefinition.title | ObservationDefinition.title | OperationDefinition.title | PlanDefinition.title | Questionnaire.title | Requirements.title | SpecimenDefinition.title | StructureDefinition.title | StructureMap.title | SubscriptionTopic.title | TerminologyCapabilities.title | TestScript.title | ValueSet.title</b><br>
16585   * </p>
16586   */
16587  @SearchParamDefinition(name="title", path="ActivityDefinition.title | ActorDefinition.title | CapabilityStatement.title | ChargeItemDefinition.title | Citation.title | CodeSystem.title | ConceptMap.title | ConditionDefinition.title | EventDefinition.title | Evidence.title | EvidenceVariable.title | ImplementationGuide.title | Library.title | Measure.title | MessageDefinition.title | ObservationDefinition.title | OperationDefinition.title | PlanDefinition.title | Questionnaire.title | Requirements.title | SpecimenDefinition.title | StructureDefinition.title | StructureMap.title | SubscriptionTopic.title | TerminologyCapabilities.title | TestScript.title | ValueSet.title", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): The human-friendly name of the activity definition\r\n* [ActorDefinition](actordefinition.html): The human-friendly name of the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): The human-friendly name of the charge item definition\r\n* [Citation](citation.html): The human-friendly name of the citation\r\n* [CodeSystem](codesystem.html): The human-friendly name of the code system\r\n* [ConceptMap](conceptmap.html): The human-friendly name of the concept map\r\n* [ConditionDefinition](conditiondefinition.html): The human-friendly name of the condition definition\r\n* [EventDefinition](eventdefinition.html): The human-friendly name of the event definition\r\n* [Evidence](evidence.html): The human-friendly name of the evidence\r\n* [EvidenceVariable](evidencevariable.html): The human-friendly name of the evidence variable\r\n* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide\r\n* [Library](library.html): The human-friendly name of the library\r\n* [Measure](measure.html): The human-friendly name of the measure\r\n* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition\r\n* [ObservationDefinition](observationdefinition.html): Human-friendly name of the ObservationDefinition\r\n* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition\r\n* [PlanDefinition](plandefinition.html): The human-friendly name of the plan definition\r\n* [Questionnaire](questionnaire.html): The human-friendly name of the questionnaire\r\n* [Requirements](requirements.html): The human-friendly name of the requirements\r\n* [SpecimenDefinition](specimendefinition.html): Human-friendly name of the SpecimenDefinition\r\n* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition\r\n* [StructureMap](structuremap.html): The human-friendly name of the structure map\r\n* [SubscriptionTopic](subscriptiontopic.html): Name for this SubscriptionTopic (Human friendly)\r\n* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities\r\n* [TestScript](testscript.html): The human-friendly name of the test script\r\n* [ValueSet](valueset.html): The human-friendly name of the value set\r\n", type="string" )
16588  public static final String SP_TITLE = "title";
16589  /**
16590   * <b>Fluent Client</b> search parameter constant for <b>title</b>
16591   * <p>
16592   * Description: <b>Multiple Resources: 
16593
16594   * [ActivityDefinition](activitydefinition.html): The human-friendly name of the activity definition
16595   * [ActorDefinition](actordefinition.html): The human-friendly name of the Actor Definition
16596   * [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement
16597   * [ChargeItemDefinition](chargeitemdefinition.html): The human-friendly name of the charge item definition
16598   * [Citation](citation.html): The human-friendly name of the citation
16599   * [CodeSystem](codesystem.html): The human-friendly name of the code system
16600   * [ConceptMap](conceptmap.html): The human-friendly name of the concept map
16601   * [ConditionDefinition](conditiondefinition.html): The human-friendly name of the condition definition
16602   * [EventDefinition](eventdefinition.html): The human-friendly name of the event definition
16603   * [Evidence](evidence.html): The human-friendly name of the evidence
16604   * [EvidenceVariable](evidencevariable.html): The human-friendly name of the evidence variable
16605   * [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide
16606   * [Library](library.html): The human-friendly name of the library
16607   * [Measure](measure.html): The human-friendly name of the measure
16608   * [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition
16609   * [ObservationDefinition](observationdefinition.html): Human-friendly name of the ObservationDefinition
16610   * [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition
16611   * [PlanDefinition](plandefinition.html): The human-friendly name of the plan definition
16612   * [Questionnaire](questionnaire.html): The human-friendly name of the questionnaire
16613   * [Requirements](requirements.html): The human-friendly name of the requirements
16614   * [SpecimenDefinition](specimendefinition.html): Human-friendly name of the SpecimenDefinition
16615   * [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition
16616   * [StructureMap](structuremap.html): The human-friendly name of the structure map
16617   * [SubscriptionTopic](subscriptiontopic.html): Name for this SubscriptionTopic (Human friendly)
16618   * [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities
16619   * [TestScript](testscript.html): The human-friendly name of the test script
16620   * [ValueSet](valueset.html): The human-friendly name of the value set
16621</b><br>
16622   * Type: <b>string</b><br>
16623   * Path: <b>ActivityDefinition.title | ActorDefinition.title | CapabilityStatement.title | ChargeItemDefinition.title | Citation.title | CodeSystem.title | ConceptMap.title | ConditionDefinition.title | EventDefinition.title | Evidence.title | EvidenceVariable.title | ImplementationGuide.title | Library.title | Measure.title | MessageDefinition.title | ObservationDefinition.title | OperationDefinition.title | PlanDefinition.title | Questionnaire.title | Requirements.title | SpecimenDefinition.title | StructureDefinition.title | StructureMap.title | SubscriptionTopic.title | TerminologyCapabilities.title | TestScript.title | ValueSet.title</b><br>
16624   * </p>
16625   */
16626  public static final ca.uhn.fhir.rest.gclient.StringClientParam TITLE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_TITLE);
16627
16628  /**
16629   * Search parameter: <b>url</b>
16630   * <p>
16631   * Description: <b>Multiple Resources: 
16632
16633   * [ActivityDefinition](activitydefinition.html): The uri that identifies the activity definition
16634   * [ActorDefinition](actordefinition.html): The uri that identifies the Actor Definition
16635   * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement
16636   * [ChargeItemDefinition](chargeitemdefinition.html): The uri that identifies the charge item definition
16637   * [Citation](citation.html): The uri that identifies the citation
16638   * [CodeSystem](codesystem.html): The uri that identifies the code system
16639   * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition
16640   * [ConceptMap](conceptmap.html): The URI that identifies the concept map
16641   * [ConditionDefinition](conditiondefinition.html): The uri that identifies the condition definition
16642   * [EventDefinition](eventdefinition.html): The uri that identifies the event definition
16643   * [Evidence](evidence.html): The uri that identifies the evidence
16644   * [EvidenceReport](evidencereport.html): The uri that identifies the evidence report
16645   * [EvidenceVariable](evidencevariable.html): The uri that identifies the evidence variable
16646   * [ExampleScenario](examplescenario.html): The uri that identifies the example scenario
16647   * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition
16648   * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide
16649   * [Library](library.html): The uri that identifies the library
16650   * [Measure](measure.html): The uri that identifies the measure
16651   * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition
16652   * [NamingSystem](namingsystem.html): The uri that identifies the naming system
16653   * [ObservationDefinition](observationdefinition.html): The uri that identifies the observation definition
16654   * [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition
16655   * [PlanDefinition](plandefinition.html): The uri that identifies the plan definition
16656   * [Questionnaire](questionnaire.html): The uri that identifies the questionnaire
16657   * [Requirements](requirements.html): The uri that identifies the requirements
16658   * [SearchParameter](searchparameter.html): The uri that identifies the search parameter
16659   * [SpecimenDefinition](specimendefinition.html): The uri that identifies the specimen definition
16660   * [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition
16661   * [StructureMap](structuremap.html): The uri that identifies the structure map
16662   * [SubscriptionTopic](subscriptiontopic.html): Logical canonical URL to reference this SubscriptionTopic (globally unique)
16663   * [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities
16664   * [TestPlan](testplan.html): The uri that identifies the test plan
16665   * [TestScript](testscript.html): The uri that identifies the test script
16666   * [ValueSet](valueset.html): The uri that identifies the value set
16667</b><br>
16668   * Type: <b>uri</b><br>
16669   * Path: <b>ActivityDefinition.url | ActorDefinition.url | CapabilityStatement.url | ChargeItemDefinition.url | Citation.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | ConditionDefinition.url | EventDefinition.url | Evidence.url | EvidenceReport.url | EvidenceVariable.url | ExampleScenario.url | GraphDefinition.url | ImplementationGuide.url | Library.url | Measure.url | MessageDefinition.url | NamingSystem.url | ObservationDefinition.url | OperationDefinition.url | PlanDefinition.url | Questionnaire.url | Requirements.url | SearchParameter.url | SpecimenDefinition.url | StructureDefinition.url | StructureMap.url | SubscriptionTopic.url | TerminologyCapabilities.url | TestPlan.url | TestScript.url | ValueSet.url</b><br>
16670   * </p>
16671   */
16672  @SearchParamDefinition(name="url", path="ActivityDefinition.url | ActorDefinition.url | CapabilityStatement.url | ChargeItemDefinition.url | Citation.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | ConditionDefinition.url | EventDefinition.url | Evidence.url | EvidenceReport.url | EvidenceVariable.url | ExampleScenario.url | GraphDefinition.url | ImplementationGuide.url | Library.url | Measure.url | MessageDefinition.url | NamingSystem.url | ObservationDefinition.url | OperationDefinition.url | PlanDefinition.url | Questionnaire.url | Requirements.url | SearchParameter.url | SpecimenDefinition.url | StructureDefinition.url | StructureMap.url | SubscriptionTopic.url | TerminologyCapabilities.url | TestPlan.url | TestScript.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): The uri that identifies the activity definition\r\n* [ActorDefinition](actordefinition.html): The uri that identifies the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): The uri that identifies the charge item definition\r\n* [Citation](citation.html): The uri that identifies the citation\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The URI that identifies the concept map\r\n* [ConditionDefinition](conditiondefinition.html): The uri that identifies the condition definition\r\n* [EventDefinition](eventdefinition.html): The uri that identifies the event definition\r\n* [Evidence](evidence.html): The uri that identifies the evidence\r\n* [EvidenceReport](evidencereport.html): The uri that identifies the evidence report\r\n* [EvidenceVariable](evidencevariable.html): The uri that identifies the evidence variable\r\n* [ExampleScenario](examplescenario.html): The uri that identifies the example scenario\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [Library](library.html): The uri that identifies the library\r\n* [Measure](measure.html): The uri that identifies the measure\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [ObservationDefinition](observationdefinition.html): The uri that identifies the observation definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [PlanDefinition](plandefinition.html): The uri that identifies the plan definition\r\n* [Questionnaire](questionnaire.html): The uri that identifies the questionnaire\r\n* [Requirements](requirements.html): The uri that identifies the requirements\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [SpecimenDefinition](specimendefinition.html): The uri that identifies the specimen definition\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [SubscriptionTopic](subscriptiontopic.html): Logical canonical URL to reference this SubscriptionTopic (globally unique)\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [TestPlan](testplan.html): The uri that identifies the test plan\r\n* [TestScript](testscript.html): The uri that identifies the test script\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" )
16673  public static final String SP_URL = "url";
16674  /**
16675   * <b>Fluent Client</b> search parameter constant for <b>url</b>
16676   * <p>
16677   * Description: <b>Multiple Resources: 
16678
16679   * [ActivityDefinition](activitydefinition.html): The uri that identifies the activity definition
16680   * [ActorDefinition](actordefinition.html): The uri that identifies the Actor Definition
16681   * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement
16682   * [ChargeItemDefinition](chargeitemdefinition.html): The uri that identifies the charge item definition
16683   * [Citation](citation.html): The uri that identifies the citation
16684   * [CodeSystem](codesystem.html): The uri that identifies the code system
16685   * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition
16686   * [ConceptMap](conceptmap.html): The URI that identifies the concept map
16687   * [ConditionDefinition](conditiondefinition.html): The uri that identifies the condition definition
16688   * [EventDefinition](eventdefinition.html): The uri that identifies the event definition
16689   * [Evidence](evidence.html): The uri that identifies the evidence
16690   * [EvidenceReport](evidencereport.html): The uri that identifies the evidence report
16691   * [EvidenceVariable](evidencevariable.html): The uri that identifies the evidence variable
16692   * [ExampleScenario](examplescenario.html): The uri that identifies the example scenario
16693   * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition
16694   * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide
16695   * [Library](library.html): The uri that identifies the library
16696   * [Measure](measure.html): The uri that identifies the measure
16697   * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition
16698   * [NamingSystem](namingsystem.html): The uri that identifies the naming system
16699   * [ObservationDefinition](observationdefinition.html): The uri that identifies the observation definition
16700   * [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition
16701   * [PlanDefinition](plandefinition.html): The uri that identifies the plan definition
16702   * [Questionnaire](questionnaire.html): The uri that identifies the questionnaire
16703   * [Requirements](requirements.html): The uri that identifies the requirements
16704   * [SearchParameter](searchparameter.html): The uri that identifies the search parameter
16705   * [SpecimenDefinition](specimendefinition.html): The uri that identifies the specimen definition
16706   * [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition
16707   * [StructureMap](structuremap.html): The uri that identifies the structure map
16708   * [SubscriptionTopic](subscriptiontopic.html): Logical canonical URL to reference this SubscriptionTopic (globally unique)
16709   * [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities
16710   * [TestPlan](testplan.html): The uri that identifies the test plan
16711   * [TestScript](testscript.html): The uri that identifies the test script
16712   * [ValueSet](valueset.html): The uri that identifies the value set
16713</b><br>
16714   * Type: <b>uri</b><br>
16715   * Path: <b>ActivityDefinition.url | ActorDefinition.url | CapabilityStatement.url | ChargeItemDefinition.url | Citation.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | ConditionDefinition.url | EventDefinition.url | Evidence.url | EvidenceReport.url | EvidenceVariable.url | ExampleScenario.url | GraphDefinition.url | ImplementationGuide.url | Library.url | Measure.url | MessageDefinition.url | NamingSystem.url | ObservationDefinition.url | OperationDefinition.url | PlanDefinition.url | Questionnaire.url | Requirements.url | SearchParameter.url | SpecimenDefinition.url | StructureDefinition.url | StructureMap.url | SubscriptionTopic.url | TerminologyCapabilities.url | TestPlan.url | TestScript.url | ValueSet.url</b><br>
16716   * </p>
16717   */
16718  public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL);
16719
16720  /**
16721   * Search parameter: <b>version</b>
16722   * <p>
16723   * Description: <b>Multiple Resources: 
16724
16725   * [ActivityDefinition](activitydefinition.html): The business version of the activity definition
16726   * [ActorDefinition](actordefinition.html): The business version of the Actor Definition
16727   * [CapabilityStatement](capabilitystatement.html): The business version of the capability statement
16728   * [ChargeItemDefinition](chargeitemdefinition.html): The business version of the charge item definition
16729   * [Citation](citation.html): The business version of the citation
16730   * [CodeSystem](codesystem.html): The business version of the code system
16731   * [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition
16732   * [ConceptMap](conceptmap.html): The business version of the concept map
16733   * [ConditionDefinition](conditiondefinition.html): The business version of the condition definition
16734   * [EventDefinition](eventdefinition.html): The business version of the event definition
16735   * [Evidence](evidence.html): The business version of the evidence
16736   * [EvidenceVariable](evidencevariable.html): The business version of the evidence variable
16737   * [ExampleScenario](examplescenario.html): The business version of the example scenario
16738   * [GraphDefinition](graphdefinition.html): The business version of the graph definition
16739   * [ImplementationGuide](implementationguide.html): The business version of the implementation guide
16740   * [Library](library.html): The business version of the library
16741   * [Measure](measure.html): The business version of the measure
16742   * [MessageDefinition](messagedefinition.html): The business version of the message definition
16743   * [NamingSystem](namingsystem.html): The business version of the naming system
16744   * [OperationDefinition](operationdefinition.html): The business version of the operation definition
16745   * [PlanDefinition](plandefinition.html): The business version of the plan definition
16746   * [Questionnaire](questionnaire.html): The business version of the questionnaire
16747   * [Requirements](requirements.html): The business version of the requirements
16748   * [SearchParameter](searchparameter.html): The business version of the search parameter
16749   * [StructureDefinition](structuredefinition.html): The business version of the structure definition
16750   * [StructureMap](structuremap.html): The business version of the structure map
16751   * [SubscriptionTopic](subscriptiontopic.html): Business version of the SubscriptionTopic
16752   * [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities
16753   * [TestScript](testscript.html): The business version of the test script
16754   * [ValueSet](valueset.html): The business version of the value set
16755</b><br>
16756   * Type: <b>token</b><br>
16757   * Path: <b>ActivityDefinition.version | ActorDefinition.version | CapabilityStatement.version | ChargeItemDefinition.version | Citation.version | CodeSystem.version | CompartmentDefinition.version | ConceptMap.version | ConditionDefinition.version | EventDefinition.version | Evidence.version | EvidenceVariable.version | ExampleScenario.version | GraphDefinition.version | ImplementationGuide.version | Library.version | Measure.version | MessageDefinition.version | NamingSystem.version | OperationDefinition.version | PlanDefinition.version | Questionnaire.version | Requirements.version | SearchParameter.version | StructureDefinition.version | StructureMap.version | SubscriptionTopic.version | TerminologyCapabilities.version | TestScript.version | ValueSet.version</b><br>
16758   * </p>
16759   */
16760  @SearchParamDefinition(name="version", path="ActivityDefinition.version | ActorDefinition.version | CapabilityStatement.version | ChargeItemDefinition.version | Citation.version | CodeSystem.version | CompartmentDefinition.version | ConceptMap.version | ConditionDefinition.version | EventDefinition.version | Evidence.version | EvidenceVariable.version | ExampleScenario.version | GraphDefinition.version | ImplementationGuide.version | Library.version | Measure.version | MessageDefinition.version | NamingSystem.version | OperationDefinition.version | PlanDefinition.version | Questionnaire.version | Requirements.version | SearchParameter.version | StructureDefinition.version | StructureMap.version | SubscriptionTopic.version | TerminologyCapabilities.version | TestScript.version | ValueSet.version", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): The business version of the activity definition\r\n* [ActorDefinition](actordefinition.html): The business version of the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): The business version of the charge item definition\r\n* [Citation](citation.html): The business version of the citation\r\n* [CodeSystem](codesystem.html): The business version of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition\r\n* [ConceptMap](conceptmap.html): The business version of the concept map\r\n* [ConditionDefinition](conditiondefinition.html): The business version of the condition definition\r\n* [EventDefinition](eventdefinition.html): The business version of the event definition\r\n* [Evidence](evidence.html): The business version of the evidence\r\n* [EvidenceVariable](evidencevariable.html): The business version of the evidence variable\r\n* [ExampleScenario](examplescenario.html): The business version of the example scenario\r\n* [GraphDefinition](graphdefinition.html): The business version of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The business version of the implementation guide\r\n* [Library](library.html): The business version of the library\r\n* [Measure](measure.html): The business version of the measure\r\n* [MessageDefinition](messagedefinition.html): The business version of the message definition\r\n* [NamingSystem](namingsystem.html): The business version of the naming system\r\n* [OperationDefinition](operationdefinition.html): The business version of the operation definition\r\n* [PlanDefinition](plandefinition.html): The business version of the plan definition\r\n* [Questionnaire](questionnaire.html): The business version of the questionnaire\r\n* [Requirements](requirements.html): The business version of the requirements\r\n* [SearchParameter](searchparameter.html): The business version of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The business version of the structure definition\r\n* [StructureMap](structuremap.html): The business version of the structure map\r\n* [SubscriptionTopic](subscriptiontopic.html): Business version of the SubscriptionTopic\r\n* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities\r\n* [TestScript](testscript.html): The business version of the test script\r\n* [ValueSet](valueset.html): The business version of the value set\r\n", type="token" )
16761  public static final String SP_VERSION = "version";
16762  /**
16763   * <b>Fluent Client</b> search parameter constant for <b>version</b>
16764   * <p>
16765   * Description: <b>Multiple Resources: 
16766
16767   * [ActivityDefinition](activitydefinition.html): The business version of the activity definition
16768   * [ActorDefinition](actordefinition.html): The business version of the Actor Definition
16769   * [CapabilityStatement](capabilitystatement.html): The business version of the capability statement
16770   * [ChargeItemDefinition](chargeitemdefinition.html): The business version of the charge item definition
16771   * [Citation](citation.html): The business version of the citation
16772   * [CodeSystem](codesystem.html): The business version of the code system
16773   * [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition
16774   * [ConceptMap](conceptmap.html): The business version of the concept map
16775   * [ConditionDefinition](conditiondefinition.html): The business version of the condition definition
16776   * [EventDefinition](eventdefinition.html): The business version of the event definition
16777   * [Evidence](evidence.html): The business version of the evidence
16778   * [EvidenceVariable](evidencevariable.html): The business version of the evidence variable
16779   * [ExampleScenario](examplescenario.html): The business version of the example scenario
16780   * [GraphDefinition](graphdefinition.html): The business version of the graph definition
16781   * [ImplementationGuide](implementationguide.html): The business version of the implementation guide
16782   * [Library](library.html): The business version of the library
16783   * [Measure](measure.html): The business version of the measure
16784   * [MessageDefinition](messagedefinition.html): The business version of the message definition
16785   * [NamingSystem](namingsystem.html): The business version of the naming system
16786   * [OperationDefinition](operationdefinition.html): The business version of the operation definition
16787   * [PlanDefinition](plandefinition.html): The business version of the plan definition
16788   * [Questionnaire](questionnaire.html): The business version of the questionnaire
16789   * [Requirements](requirements.html): The business version of the requirements
16790   * [SearchParameter](searchparameter.html): The business version of the search parameter
16791   * [StructureDefinition](structuredefinition.html): The business version of the structure definition
16792   * [StructureMap](structuremap.html): The business version of the structure map
16793   * [SubscriptionTopic](subscriptiontopic.html): Business version of the SubscriptionTopic
16794   * [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities
16795   * [TestScript](testscript.html): The business version of the test script
16796   * [ValueSet](valueset.html): The business version of the value set
16797</b><br>
16798   * Type: <b>token</b><br>
16799   * Path: <b>ActivityDefinition.version | ActorDefinition.version | CapabilityStatement.version | ChargeItemDefinition.version | Citation.version | CodeSystem.version | CompartmentDefinition.version | ConceptMap.version | ConditionDefinition.version | EventDefinition.version | Evidence.version | EvidenceVariable.version | ExampleScenario.version | GraphDefinition.version | ImplementationGuide.version | Library.version | Measure.version | MessageDefinition.version | NamingSystem.version | OperationDefinition.version | PlanDefinition.version | Questionnaire.version | Requirements.version | SearchParameter.version | StructureDefinition.version | StructureMap.version | SubscriptionTopic.version | TerminologyCapabilities.version | TestScript.version | ValueSet.version</b><br>
16800   * </p>
16801   */
16802  public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION);
16803
16804  /**
16805   * Search parameter: <b>depends-on</b>
16806   * <p>
16807   * Description: <b>Identity of the IG that this depends on</b><br>
16808   * Type: <b>reference</b><br>
16809   * Path: <b>ImplementationGuide.dependsOn.uri</b><br>
16810   * </p>
16811   */
16812  @SearchParamDefinition(name="depends-on", path="ImplementationGuide.dependsOn.uri", description="Identity of the IG that this depends on", type="reference", target={ImplementationGuide.class } )
16813  public static final String SP_DEPENDS_ON = "depends-on";
16814  /**
16815   * <b>Fluent Client</b> search parameter constant for <b>depends-on</b>
16816   * <p>
16817   * Description: <b>Identity of the IG that this depends on</b><br>
16818   * Type: <b>reference</b><br>
16819   * Path: <b>ImplementationGuide.dependsOn.uri</b><br>
16820   * </p>
16821   */
16822  public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam DEPENDS_ON = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_DEPENDS_ON);
16823
16824  /**
16825   * Constant for fluent queries to be used to add include statements. Specifies
16826   * the path value of "<b>ImplementationGuide:depends-on</b>".
16827   */
16828  public static final ca.uhn.fhir.model.api.Include INCLUDE_DEPENDS_ON = new ca.uhn.fhir.model.api.Include("ImplementationGuide:depends-on").toLocked();
16829
16830  /**
16831   * Search parameter: <b>experimental</b>
16832   * <p>
16833   * Description: <b>For testing purposes, not real usage</b><br>
16834   * Type: <b>token</b><br>
16835   * Path: <b>ImplementationGuide.experimental</b><br>
16836   * </p>
16837   */
16838  @SearchParamDefinition(name="experimental", path="ImplementationGuide.experimental", description="For testing purposes, not real usage", type="token" )
16839  public static final String SP_EXPERIMENTAL = "experimental";
16840  /**
16841   * <b>Fluent Client</b> search parameter constant for <b>experimental</b>
16842   * <p>
16843   * Description: <b>For testing purposes, not real usage</b><br>
16844   * Type: <b>token</b><br>
16845   * Path: <b>ImplementationGuide.experimental</b><br>
16846   * </p>
16847   */
16848  public static final ca.uhn.fhir.rest.gclient.TokenClientParam EXPERIMENTAL = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_EXPERIMENTAL);
16849
16850  /**
16851   * Search parameter: <b>global</b>
16852   * <p>
16853   * Description: <b>Profile that all resources must conform to</b><br>
16854   * Type: <b>reference</b><br>
16855   * Path: <b>ImplementationGuide.global.profile</b><br>
16856   * </p>
16857   */
16858  @SearchParamDefinition(name="global", path="ImplementationGuide.global.profile", description="Profile that all resources must conform to", type="reference", target={StructureDefinition.class } )
16859  public static final String SP_GLOBAL = "global";
16860  /**
16861   * <b>Fluent Client</b> search parameter constant for <b>global</b>
16862   * <p>
16863   * Description: <b>Profile that all resources must conform to</b><br>
16864   * Type: <b>reference</b><br>
16865   * Path: <b>ImplementationGuide.global.profile</b><br>
16866   * </p>
16867   */
16868  public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam GLOBAL = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_GLOBAL);
16869
16870  /**
16871   * Constant for fluent queries to be used to add include statements. Specifies
16872   * the path value of "<b>ImplementationGuide:global</b>".
16873   */
16874  public static final ca.uhn.fhir.model.api.Include INCLUDE_GLOBAL = new ca.uhn.fhir.model.api.Include("ImplementationGuide:global").toLocked();
16875
16876  /**
16877   * Search parameter: <b>resource</b>
16878   * <p>
16879   * Description: <b>Location of the resource</b><br>
16880   * Type: <b>reference</b><br>
16881   * Path: <b>ImplementationGuide.definition.resource.reference</b><br>
16882   * </p>
16883   */
16884  @SearchParamDefinition(name="resource", path="ImplementationGuide.definition.resource.reference", description="Location of the resource", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BiologicallyDerivedProductDispense.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceAssociation.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentReference.class, Encounter.class, EncounterHistory.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryItem.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationStatement.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Parameters.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestPlan.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } )
16885  public static final String SP_RESOURCE = "resource";
16886  /**
16887   * <b>Fluent Client</b> search parameter constant for <b>resource</b>
16888   * <p>
16889   * Description: <b>Location of the resource</b><br>
16890   * Type: <b>reference</b><br>
16891   * Path: <b>ImplementationGuide.definition.resource.reference</b><br>
16892   * </p>
16893   */
16894  public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam RESOURCE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_RESOURCE);
16895
16896  /**
16897   * Constant for fluent queries to be used to add include statements. Specifies
16898   * the path value of "<b>ImplementationGuide:resource</b>".
16899   */
16900  public static final ca.uhn.fhir.model.api.Include INCLUDE_RESOURCE = new ca.uhn.fhir.model.api.Include("ImplementationGuide:resource").toLocked();
16901
16902  public ImplementationGuideDefinitionPageComponent getPageByName(String name) {
16903    if (!hasDefinition() || !getDefinition().hasPage()) {
16904      return null;
16905    }
16906    return getPageByName(getDefinition().getPage(), name);
16907  }
16908
16909  private ImplementationGuideDefinitionPageComponent getPageByName(ImplementationGuideDefinitionPageComponent page, String name) {
16910    if (name.equals(page.getName())) {
16911      return page;
16912    }
16913    for (ImplementationGuideDefinitionPageComponent t : page.getPage()) {
16914      ImplementationGuideDefinitionPageComponent r = getPageByName(t, name);
16915      if (r != null) {
16916        return r;
16917      }
16918    }
16919    return null;
16920  }
16921
16922
16923}
16924