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 Base makeProperty(int hash, String name) throws FHIRException {
9489      switch (hash) {
9490      case 116076:  return getUriElement();
9491      case 1802060801:  return getPackageIdElement();
9492      case 351608024:  return getVersionElement();
9493      case -934964668:  return getReasonElement();
9494      default: return super.makeProperty(hash, name);
9495      }
9496
9497    }
9498
9499    @Override
9500    public String[] getTypesForProperty(int hash, String name) throws FHIRException {
9501      switch (hash) {
9502      case 116076: /*uri*/ return new String[] {"canonical"};
9503      case 1802060801: /*packageId*/ return new String[] {"id"};
9504      case 351608024: /*version*/ return new String[] {"string"};
9505      case -934964668: /*reason*/ return new String[] {"markdown"};
9506      default: return super.getTypesForProperty(hash, name);
9507      }
9508
9509    }
9510
9511    @Override
9512    public Base addChild(String name) throws FHIRException {
9513      if (name.equals("uri")) {
9514        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.dependsOn.uri");
9515      }
9516      else if (name.equals("packageId")) {
9517        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.dependsOn.packageId");
9518      }
9519      else if (name.equals("version")) {
9520        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.dependsOn.version");
9521      }
9522      else if (name.equals("reason")) {
9523        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.dependsOn.reason");
9524      }
9525      else
9526        return super.addChild(name);
9527    }
9528
9529    public ImplementationGuideDependsOnComponent copy() {
9530      ImplementationGuideDependsOnComponent dst = new ImplementationGuideDependsOnComponent();
9531      copyValues(dst);
9532      return dst;
9533    }
9534
9535    public void copyValues(ImplementationGuideDependsOnComponent dst) {
9536      super.copyValues(dst);
9537      dst.uri = uri == null ? null : uri.copy();
9538      dst.packageId = packageId == null ? null : packageId.copy();
9539      dst.version = version == null ? null : version.copy();
9540      dst.reason = reason == null ? null : reason.copy();
9541    }
9542
9543    @Override
9544    public boolean equalsDeep(Base other_) {
9545      if (!super.equalsDeep(other_))
9546        return false;
9547      if (!(other_ instanceof ImplementationGuideDependsOnComponent))
9548        return false;
9549      ImplementationGuideDependsOnComponent o = (ImplementationGuideDependsOnComponent) other_;
9550      return compareDeep(uri, o.uri, true) && compareDeep(packageId, o.packageId, true) && compareDeep(version, o.version, true)
9551          && compareDeep(reason, o.reason, true);
9552    }
9553
9554    @Override
9555    public boolean equalsShallow(Base other_) {
9556      if (!super.equalsShallow(other_))
9557        return false;
9558      if (!(other_ instanceof ImplementationGuideDependsOnComponent))
9559        return false;
9560      ImplementationGuideDependsOnComponent o = (ImplementationGuideDependsOnComponent) other_;
9561      return compareValues(uri, o.uri, true) && compareValues(packageId, o.packageId, true) && compareValues(version, o.version, true)
9562          && compareValues(reason, o.reason, true);
9563    }
9564
9565    public boolean isEmpty() {
9566      return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(uri, packageId, version
9567          , reason);
9568    }
9569
9570    public String fhirType() {
9571      return "ImplementationGuide.dependsOn";
9572
9573    }
9574
9575  }
9576
9577  @Block()
9578  public static class ImplementationGuideGlobalComponent extends BackboneElement implements IBaseBackboneElement {
9579    /**
9580     * The type of resource that all instances must conform to.
9581     */
9582    @Child(name = "type", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=true)
9583    @Description(shortDefinition="Type this profile applies to", formalDefinition="The type of resource that all instances must conform to." )
9584    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/resource-types")
9585    protected CodeType type;
9586
9587    /**
9588     * A reference to the profile that all instances must conform to.
9589     */
9590    @Child(name = "profile", type = {CanonicalType.class}, order=2, min=1, max=1, modifier=false, summary=true)
9591    @Description(shortDefinition="Profile that all resources must conform to", formalDefinition="A reference to the profile that all instances must conform to." )
9592    protected CanonicalType profile;
9593
9594    private static final long serialVersionUID = 33894666L;
9595
9596    /**
9597     * Constructor
9598     */
9599    public ImplementationGuideGlobalComponent() {
9600      super();
9601    }
9602
9603    /**
9604     * Constructor
9605     */
9606    public ImplementationGuideGlobalComponent(String type, String profile) {
9607      super();
9608      this.setType(type);
9609      this.setProfile(profile);
9610    }
9611
9612    /**
9613     * @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
9614     */
9615    public CodeType getTypeElement() { 
9616      if (this.type == null)
9617        if (Configuration.errorOnAutoCreate())
9618          throw new Error("Attempt to auto-create ImplementationGuideGlobalComponent.type");
9619        else if (Configuration.doAutoCreate())
9620          this.type = new CodeType(); // bb
9621      return this.type;
9622    }
9623
9624    public boolean hasTypeElement() { 
9625      return this.type != null && !this.type.isEmpty();
9626    }
9627
9628    public boolean hasType() { 
9629      return this.type != null && !this.type.isEmpty();
9630    }
9631
9632    /**
9633     * @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
9634     */
9635    public ImplementationGuideGlobalComponent setTypeElement(CodeType value) { 
9636      this.type = value;
9637      return this;
9638    }
9639
9640    /**
9641     * @return The type of resource that all instances must conform to.
9642     */
9643    public String getType() { 
9644      return this.type == null ? null : this.type.getValue();
9645    }
9646
9647    /**
9648     * @param value The type of resource that all instances must conform to.
9649     */
9650    public ImplementationGuideGlobalComponent setType(String value) { 
9651      if (this.type == null)
9652        this.type = new CodeType();
9653      this.type.setValue(value);
9654      return this;
9655    }
9656
9657    /**
9658     * @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
9659     */
9660    public CanonicalType getProfileElement() { 
9661      if (this.profile == null)
9662        if (Configuration.errorOnAutoCreate())
9663          throw new Error("Attempt to auto-create ImplementationGuideGlobalComponent.profile");
9664        else if (Configuration.doAutoCreate())
9665          this.profile = new CanonicalType(); // bb
9666      return this.profile;
9667    }
9668
9669    public boolean hasProfileElement() { 
9670      return this.profile != null && !this.profile.isEmpty();
9671    }
9672
9673    public boolean hasProfile() { 
9674      return this.profile != null && !this.profile.isEmpty();
9675    }
9676
9677    /**
9678     * @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
9679     */
9680    public ImplementationGuideGlobalComponent setProfileElement(CanonicalType value) { 
9681      this.profile = value;
9682      return this;
9683    }
9684
9685    /**
9686     * @return A reference to the profile that all instances must conform to.
9687     */
9688    public String getProfile() { 
9689      return this.profile == null ? null : this.profile.getValue();
9690    }
9691
9692    /**
9693     * @param value A reference to the profile that all instances must conform to.
9694     */
9695    public ImplementationGuideGlobalComponent setProfile(String value) { 
9696      if (this.profile == null)
9697        this.profile = new CanonicalType();
9698      this.profile.setValue(value);
9699      return this;
9700    }
9701
9702    protected void listChildren(List<Property> children) {
9703      super.listChildren(children);
9704      children.add(new Property("type", "code", "The type of resource that all instances must conform to.", 0, 1, type));
9705      children.add(new Property("profile", "canonical(StructureDefinition)", "A reference to the profile that all instances must conform to.", 0, 1, profile));
9706    }
9707
9708    @Override
9709    public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
9710      switch (_hash) {
9711      case 3575610: /*type*/  return new Property("type", "code", "The type of resource that all instances must conform to.", 0, 1, type);
9712      case -309425751: /*profile*/  return new Property("profile", "canonical(StructureDefinition)", "A reference to the profile that all instances must conform to.", 0, 1, profile);
9713      default: return super.getNamedProperty(_hash, _name, _checkValid);
9714      }
9715
9716    }
9717
9718    @Override
9719    public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
9720      switch (hash) {
9721      case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeType
9722      case -309425751: /*profile*/ return this.profile == null ? new Base[0] : new Base[] {this.profile}; // CanonicalType
9723      default: return super.getProperty(hash, name, checkValid);
9724      }
9725
9726    }
9727
9728    @Override
9729    public Base setProperty(int hash, String name, Base value) throws FHIRException {
9730      switch (hash) {
9731      case 3575610: // type
9732        this.type = TypeConvertor.castToCode(value); // CodeType
9733        return value;
9734      case -309425751: // profile
9735        this.profile = TypeConvertor.castToCanonical(value); // CanonicalType
9736        return value;
9737      default: return super.setProperty(hash, name, value);
9738      }
9739
9740    }
9741
9742    @Override
9743    public Base setProperty(String name, Base value) throws FHIRException {
9744      if (name.equals("type")) {
9745        this.type = TypeConvertor.castToCode(value); // CodeType
9746      } else if (name.equals("profile")) {
9747        this.profile = TypeConvertor.castToCanonical(value); // CanonicalType
9748      } else
9749        return super.setProperty(name, value);
9750      return value;
9751    }
9752
9753    @Override
9754    public Base makeProperty(int hash, String name) throws FHIRException {
9755      switch (hash) {
9756      case 3575610:  return getTypeElement();
9757      case -309425751:  return getProfileElement();
9758      default: return super.makeProperty(hash, name);
9759      }
9760
9761    }
9762
9763    @Override
9764    public String[] getTypesForProperty(int hash, String name) throws FHIRException {
9765      switch (hash) {
9766      case 3575610: /*type*/ return new String[] {"code"};
9767      case -309425751: /*profile*/ return new String[] {"canonical"};
9768      default: return super.getTypesForProperty(hash, name);
9769      }
9770
9771    }
9772
9773    @Override
9774    public Base addChild(String name) throws FHIRException {
9775      if (name.equals("type")) {
9776        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.global.type");
9777      }
9778      else if (name.equals("profile")) {
9779        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.global.profile");
9780      }
9781      else
9782        return super.addChild(name);
9783    }
9784
9785    public ImplementationGuideGlobalComponent copy() {
9786      ImplementationGuideGlobalComponent dst = new ImplementationGuideGlobalComponent();
9787      copyValues(dst);
9788      return dst;
9789    }
9790
9791    public void copyValues(ImplementationGuideGlobalComponent dst) {
9792      super.copyValues(dst);
9793      dst.type = type == null ? null : type.copy();
9794      dst.profile = profile == null ? null : profile.copy();
9795    }
9796
9797    @Override
9798    public boolean equalsDeep(Base other_) {
9799      if (!super.equalsDeep(other_))
9800        return false;
9801      if (!(other_ instanceof ImplementationGuideGlobalComponent))
9802        return false;
9803      ImplementationGuideGlobalComponent o = (ImplementationGuideGlobalComponent) other_;
9804      return compareDeep(type, o.type, true) && compareDeep(profile, o.profile, true);
9805    }
9806
9807    @Override
9808    public boolean equalsShallow(Base other_) {
9809      if (!super.equalsShallow(other_))
9810        return false;
9811      if (!(other_ instanceof ImplementationGuideGlobalComponent))
9812        return false;
9813      ImplementationGuideGlobalComponent o = (ImplementationGuideGlobalComponent) other_;
9814      return compareValues(type, o.type, true) && compareValues(profile, o.profile, true);
9815    }
9816
9817    public boolean isEmpty() {
9818      return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, profile);
9819    }
9820
9821    public String fhirType() {
9822      return "ImplementationGuide.global";
9823
9824    }
9825
9826  }
9827
9828  @Block()
9829  public static class ImplementationGuideDefinitionComponent extends BackboneElement implements IBaseBackboneElement {
9830    /**
9831     * A logical group of resources. Logical groups can be used when building pages.
9832     */
9833    @Child(name = "grouping", type = {}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
9834    @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." )
9835    protected List<ImplementationGuideDefinitionGroupingComponent> grouping;
9836
9837    /**
9838     * 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.
9839     */
9840    @Child(name = "resource", type = {}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
9841    @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." )
9842    protected List<ImplementationGuideDefinitionResourceComponent> resource;
9843
9844    /**
9845     * A page / section in the implementation guide. The root page is the implementation guide home page.
9846     */
9847    @Child(name = "page", type = {}, order=3, min=0, max=1, modifier=false, summary=false)
9848    @Description(shortDefinition="Page/Section in the Guide", formalDefinition="A page / section in the implementation guide. The root page is the implementation guide home page." )
9849    protected ImplementationGuideDefinitionPageComponent page;
9850
9851    /**
9852     * 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.
9853     */
9854    @Child(name = "parameter", type = {}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
9855    @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." )
9856    protected List<ImplementationGuideDefinitionParameterComponent> parameter;
9857
9858    /**
9859     * A template for building resources.
9860     */
9861    @Child(name = "template", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
9862    @Description(shortDefinition="A template for building resources", formalDefinition="A template for building resources." )
9863    protected List<ImplementationGuideDefinitionTemplateComponent> template;
9864
9865    private static final long serialVersionUID = 179051968L;
9866
9867    /**
9868     * Constructor
9869     */
9870    public ImplementationGuideDefinitionComponent() {
9871      super();
9872    }
9873
9874    /**
9875     * @return {@link #grouping} (A logical group of resources. Logical groups can be used when building pages.)
9876     */
9877    public List<ImplementationGuideDefinitionGroupingComponent> getGrouping() { 
9878      if (this.grouping == null)
9879        this.grouping = new ArrayList<ImplementationGuideDefinitionGroupingComponent>();
9880      return this.grouping;
9881    }
9882
9883    /**
9884     * @return Returns a reference to <code>this</code> for easy method chaining
9885     */
9886    public ImplementationGuideDefinitionComponent setGrouping(List<ImplementationGuideDefinitionGroupingComponent> theGrouping) { 
9887      this.grouping = theGrouping;
9888      return this;
9889    }
9890
9891    public boolean hasGrouping() { 
9892      if (this.grouping == null)
9893        return false;
9894      for (ImplementationGuideDefinitionGroupingComponent item : this.grouping)
9895        if (!item.isEmpty())
9896          return true;
9897      return false;
9898    }
9899
9900    public ImplementationGuideDefinitionGroupingComponent addGrouping() { //3
9901      ImplementationGuideDefinitionGroupingComponent t = new ImplementationGuideDefinitionGroupingComponent();
9902      if (this.grouping == null)
9903        this.grouping = new ArrayList<ImplementationGuideDefinitionGroupingComponent>();
9904      this.grouping.add(t);
9905      return t;
9906    }
9907
9908    public ImplementationGuideDefinitionComponent addGrouping(ImplementationGuideDefinitionGroupingComponent t) { //3
9909      if (t == null)
9910        return this;
9911      if (this.grouping == null)
9912        this.grouping = new ArrayList<ImplementationGuideDefinitionGroupingComponent>();
9913      this.grouping.add(t);
9914      return this;
9915    }
9916
9917    /**
9918     * @return The first repetition of repeating field {@link #grouping}, creating it if it does not already exist {3}
9919     */
9920    public ImplementationGuideDefinitionGroupingComponent getGroupingFirstRep() { 
9921      if (getGrouping().isEmpty()) {
9922        addGrouping();
9923      }
9924      return getGrouping().get(0);
9925    }
9926
9927    /**
9928     * @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.)
9929     */
9930    public List<ImplementationGuideDefinitionResourceComponent> getResource() { 
9931      if (this.resource == null)
9932        this.resource = new ArrayList<ImplementationGuideDefinitionResourceComponent>();
9933      return this.resource;
9934    }
9935
9936    /**
9937     * @return Returns a reference to <code>this</code> for easy method chaining
9938     */
9939    public ImplementationGuideDefinitionComponent setResource(List<ImplementationGuideDefinitionResourceComponent> theResource) { 
9940      this.resource = theResource;
9941      return this;
9942    }
9943
9944    public boolean hasResource() { 
9945      if (this.resource == null)
9946        return false;
9947      for (ImplementationGuideDefinitionResourceComponent item : this.resource)
9948        if (!item.isEmpty())
9949          return true;
9950      return false;
9951    }
9952
9953    public ImplementationGuideDefinitionResourceComponent addResource() { //3
9954      ImplementationGuideDefinitionResourceComponent t = new ImplementationGuideDefinitionResourceComponent();
9955      if (this.resource == null)
9956        this.resource = new ArrayList<ImplementationGuideDefinitionResourceComponent>();
9957      this.resource.add(t);
9958      return t;
9959    }
9960
9961    public ImplementationGuideDefinitionComponent addResource(ImplementationGuideDefinitionResourceComponent t) { //3
9962      if (t == null)
9963        return this;
9964      if (this.resource == null)
9965        this.resource = new ArrayList<ImplementationGuideDefinitionResourceComponent>();
9966      this.resource.add(t);
9967      return this;
9968    }
9969
9970    /**
9971     * @return The first repetition of repeating field {@link #resource}, creating it if it does not already exist {3}
9972     */
9973    public ImplementationGuideDefinitionResourceComponent getResourceFirstRep() { 
9974      if (getResource().isEmpty()) {
9975        addResource();
9976      }
9977      return getResource().get(0);
9978    }
9979
9980    /**
9981     * @return {@link #page} (A page / section in the implementation guide. The root page is the implementation guide home page.)
9982     */
9983    public ImplementationGuideDefinitionPageComponent getPage() { 
9984      if (this.page == null)
9985        if (Configuration.errorOnAutoCreate())
9986          throw new Error("Attempt to auto-create ImplementationGuideDefinitionComponent.page");
9987        else if (Configuration.doAutoCreate())
9988          this.page = new ImplementationGuideDefinitionPageComponent(); // cc
9989      return this.page;
9990    }
9991
9992    public boolean hasPage() { 
9993      return this.page != null && !this.page.isEmpty();
9994    }
9995
9996    /**
9997     * @param value {@link #page} (A page / section in the implementation guide. The root page is the implementation guide home page.)
9998     */
9999    public ImplementationGuideDefinitionComponent setPage(ImplementationGuideDefinitionPageComponent value) { 
10000      this.page = value;
10001      return this;
10002    }
10003
10004    /**
10005     * @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.)
10006     */
10007    public List<ImplementationGuideDefinitionParameterComponent> getParameter() { 
10008      if (this.parameter == null)
10009        this.parameter = new ArrayList<ImplementationGuideDefinitionParameterComponent>();
10010      return this.parameter;
10011    }
10012
10013    /**
10014     * @return Returns a reference to <code>this</code> for easy method chaining
10015     */
10016    public ImplementationGuideDefinitionComponent setParameter(List<ImplementationGuideDefinitionParameterComponent> theParameter) { 
10017      this.parameter = theParameter;
10018      return this;
10019    }
10020
10021    public boolean hasParameter() { 
10022      if (this.parameter == null)
10023        return false;
10024      for (ImplementationGuideDefinitionParameterComponent item : this.parameter)
10025        if (!item.isEmpty())
10026          return true;
10027      return false;
10028    }
10029
10030    public ImplementationGuideDefinitionParameterComponent addParameter() { //3
10031      ImplementationGuideDefinitionParameterComponent t = new ImplementationGuideDefinitionParameterComponent();
10032      if (this.parameter == null)
10033        this.parameter = new ArrayList<ImplementationGuideDefinitionParameterComponent>();
10034      this.parameter.add(t);
10035      return t;
10036    }
10037
10038    public ImplementationGuideDefinitionComponent addParameter(ImplementationGuideDefinitionParameterComponent t) { //3
10039      if (t == null)
10040        return this;
10041      if (this.parameter == null)
10042        this.parameter = new ArrayList<ImplementationGuideDefinitionParameterComponent>();
10043      this.parameter.add(t);
10044      return this;
10045    }
10046
10047    /**
10048     * @return The first repetition of repeating field {@link #parameter}, creating it if it does not already exist {3}
10049     */
10050    public ImplementationGuideDefinitionParameterComponent getParameterFirstRep() { 
10051      if (getParameter().isEmpty()) {
10052        addParameter();
10053      }
10054      return getParameter().get(0);
10055    }
10056
10057    /**
10058     * @return {@link #template} (A template for building resources.)
10059     */
10060    public List<ImplementationGuideDefinitionTemplateComponent> getTemplate() { 
10061      if (this.template == null)
10062        this.template = new ArrayList<ImplementationGuideDefinitionTemplateComponent>();
10063      return this.template;
10064    }
10065
10066    /**
10067     * @return Returns a reference to <code>this</code> for easy method chaining
10068     */
10069    public ImplementationGuideDefinitionComponent setTemplate(List<ImplementationGuideDefinitionTemplateComponent> theTemplate) { 
10070      this.template = theTemplate;
10071      return this;
10072    }
10073
10074    public boolean hasTemplate() { 
10075      if (this.template == null)
10076        return false;
10077      for (ImplementationGuideDefinitionTemplateComponent item : this.template)
10078        if (!item.isEmpty())
10079          return true;
10080      return false;
10081    }
10082
10083    public ImplementationGuideDefinitionTemplateComponent addTemplate() { //3
10084      ImplementationGuideDefinitionTemplateComponent t = new ImplementationGuideDefinitionTemplateComponent();
10085      if (this.template == null)
10086        this.template = new ArrayList<ImplementationGuideDefinitionTemplateComponent>();
10087      this.template.add(t);
10088      return t;
10089    }
10090
10091    public ImplementationGuideDefinitionComponent addTemplate(ImplementationGuideDefinitionTemplateComponent t) { //3
10092      if (t == null)
10093        return this;
10094      if (this.template == null)
10095        this.template = new ArrayList<ImplementationGuideDefinitionTemplateComponent>();
10096      this.template.add(t);
10097      return this;
10098    }
10099
10100    /**
10101     * @return The first repetition of repeating field {@link #template}, creating it if it does not already exist {3}
10102     */
10103    public ImplementationGuideDefinitionTemplateComponent getTemplateFirstRep() { 
10104      if (getTemplate().isEmpty()) {
10105        addTemplate();
10106      }
10107      return getTemplate().get(0);
10108    }
10109
10110    protected void listChildren(List<Property> children) {
10111      super.listChildren(children);
10112      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));
10113      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));
10114      children.add(new Property("page", "", "A page / section in the implementation guide. The root page is the implementation guide home page.", 0, 1, page));
10115      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));
10116      children.add(new Property("template", "", "A template for building resources.", 0, java.lang.Integer.MAX_VALUE, template));
10117    }
10118
10119    @Override
10120    public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
10121      switch (_hash) {
10122      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);
10123      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);
10124      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);
10125      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);
10126      case -1321546630: /*template*/  return new Property("template", "", "A template for building resources.", 0, java.lang.Integer.MAX_VALUE, template);
10127      default: return super.getNamedProperty(_hash, _name, _checkValid);
10128      }
10129
10130    }
10131
10132    @Override
10133    public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
10134      switch (hash) {
10135      case 506371331: /*grouping*/ return this.grouping == null ? new Base[0] : this.grouping.toArray(new Base[this.grouping.size()]); // ImplementationGuideDefinitionGroupingComponent
10136      case -341064690: /*resource*/ return this.resource == null ? new Base[0] : this.resource.toArray(new Base[this.resource.size()]); // ImplementationGuideDefinitionResourceComponent
10137      case 3433103: /*page*/ return this.page == null ? new Base[0] : new Base[] {this.page}; // ImplementationGuideDefinitionPageComponent
10138      case 1954460585: /*parameter*/ return this.parameter == null ? new Base[0] : this.parameter.toArray(new Base[this.parameter.size()]); // ImplementationGuideDefinitionParameterComponent
10139      case -1321546630: /*template*/ return this.template == null ? new Base[0] : this.template.toArray(new Base[this.template.size()]); // ImplementationGuideDefinitionTemplateComponent
10140      default: return super.getProperty(hash, name, checkValid);
10141      }
10142
10143    }
10144
10145    @Override
10146    public Base setProperty(int hash, String name, Base value) throws FHIRException {
10147      switch (hash) {
10148      case 506371331: // grouping
10149        this.getGrouping().add((ImplementationGuideDefinitionGroupingComponent) value); // ImplementationGuideDefinitionGroupingComponent
10150        return value;
10151      case -341064690: // resource
10152        this.getResource().add((ImplementationGuideDefinitionResourceComponent) value); // ImplementationGuideDefinitionResourceComponent
10153        return value;
10154      case 3433103: // page
10155        this.page = (ImplementationGuideDefinitionPageComponent) value; // ImplementationGuideDefinitionPageComponent
10156        return value;
10157      case 1954460585: // parameter
10158        this.getParameter().add((ImplementationGuideDefinitionParameterComponent) value); // ImplementationGuideDefinitionParameterComponent
10159        return value;
10160      case -1321546630: // template
10161        this.getTemplate().add((ImplementationGuideDefinitionTemplateComponent) value); // ImplementationGuideDefinitionTemplateComponent
10162        return value;
10163      default: return super.setProperty(hash, name, value);
10164      }
10165
10166    }
10167
10168    @Override
10169    public Base setProperty(String name, Base value) throws FHIRException {
10170      if (name.equals("grouping")) {
10171        this.getGrouping().add((ImplementationGuideDefinitionGroupingComponent) value);
10172      } else if (name.equals("resource")) {
10173        this.getResource().add((ImplementationGuideDefinitionResourceComponent) value);
10174      } else if (name.equals("page")) {
10175        this.page = (ImplementationGuideDefinitionPageComponent) value; // ImplementationGuideDefinitionPageComponent
10176      } else if (name.equals("parameter")) {
10177        this.getParameter().add((ImplementationGuideDefinitionParameterComponent) value);
10178      } else if (name.equals("template")) {
10179        this.getTemplate().add((ImplementationGuideDefinitionTemplateComponent) value);
10180      } else
10181        return super.setProperty(name, value);
10182      return value;
10183    }
10184
10185    @Override
10186    public Base makeProperty(int hash, String name) throws FHIRException {
10187      switch (hash) {
10188      case 506371331:  return addGrouping(); 
10189      case -341064690:  return addResource(); 
10190      case 3433103:  return getPage();
10191      case 1954460585:  return addParameter(); 
10192      case -1321546630:  return addTemplate(); 
10193      default: return super.makeProperty(hash, name);
10194      }
10195
10196    }
10197
10198    @Override
10199    public String[] getTypesForProperty(int hash, String name) throws FHIRException {
10200      switch (hash) {
10201      case 506371331: /*grouping*/ return new String[] {};
10202      case -341064690: /*resource*/ return new String[] {};
10203      case 3433103: /*page*/ return new String[] {};
10204      case 1954460585: /*parameter*/ return new String[] {};
10205      case -1321546630: /*template*/ return new String[] {};
10206      default: return super.getTypesForProperty(hash, name);
10207      }
10208
10209    }
10210
10211    @Override
10212    public Base addChild(String name) throws FHIRException {
10213      if (name.equals("grouping")) {
10214        return addGrouping();
10215      }
10216      else if (name.equals("resource")) {
10217        return addResource();
10218      }
10219      else if (name.equals("page")) {
10220        this.page = new ImplementationGuideDefinitionPageComponent();
10221        return this.page;
10222      }
10223      else if (name.equals("parameter")) {
10224        return addParameter();
10225      }
10226      else if (name.equals("template")) {
10227        return addTemplate();
10228      }
10229      else
10230        return super.addChild(name);
10231    }
10232
10233    public ImplementationGuideDefinitionComponent copy() {
10234      ImplementationGuideDefinitionComponent dst = new ImplementationGuideDefinitionComponent();
10235      copyValues(dst);
10236      return dst;
10237    }
10238
10239    public void copyValues(ImplementationGuideDefinitionComponent dst) {
10240      super.copyValues(dst);
10241      if (grouping != null) {
10242        dst.grouping = new ArrayList<ImplementationGuideDefinitionGroupingComponent>();
10243        for (ImplementationGuideDefinitionGroupingComponent i : grouping)
10244          dst.grouping.add(i.copy());
10245      };
10246      if (resource != null) {
10247        dst.resource = new ArrayList<ImplementationGuideDefinitionResourceComponent>();
10248        for (ImplementationGuideDefinitionResourceComponent i : resource)
10249          dst.resource.add(i.copy());
10250      };
10251      dst.page = page == null ? null : page.copy();
10252      if (parameter != null) {
10253        dst.parameter = new ArrayList<ImplementationGuideDefinitionParameterComponent>();
10254        for (ImplementationGuideDefinitionParameterComponent i : parameter)
10255          dst.parameter.add(i.copy());
10256      };
10257      if (template != null) {
10258        dst.template = new ArrayList<ImplementationGuideDefinitionTemplateComponent>();
10259        for (ImplementationGuideDefinitionTemplateComponent i : template)
10260          dst.template.add(i.copy());
10261      };
10262    }
10263
10264    @Override
10265    public boolean equalsDeep(Base other_) {
10266      if (!super.equalsDeep(other_))
10267        return false;
10268      if (!(other_ instanceof ImplementationGuideDefinitionComponent))
10269        return false;
10270      ImplementationGuideDefinitionComponent o = (ImplementationGuideDefinitionComponent) other_;
10271      return compareDeep(grouping, o.grouping, true) && compareDeep(resource, o.resource, true) && compareDeep(page, o.page, true)
10272          && compareDeep(parameter, o.parameter, true) && compareDeep(template, o.template, true);
10273    }
10274
10275    @Override
10276    public boolean equalsShallow(Base other_) {
10277      if (!super.equalsShallow(other_))
10278        return false;
10279      if (!(other_ instanceof ImplementationGuideDefinitionComponent))
10280        return false;
10281      ImplementationGuideDefinitionComponent o = (ImplementationGuideDefinitionComponent) other_;
10282      return true;
10283    }
10284
10285    public boolean isEmpty() {
10286      return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(grouping, resource, page
10287          , parameter, template);
10288    }
10289
10290    public String fhirType() {
10291      return "ImplementationGuide.definition";
10292
10293    }
10294
10295  }
10296
10297  @Block()
10298  public static class ImplementationGuideDefinitionGroupingComponent extends BackboneElement implements IBaseBackboneElement {
10299    /**
10300     * The human-readable title to display for the package of resources when rendering the implementation guide.
10301     */
10302    @Child(name = "name", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false)
10303    @Description(shortDefinition="Descriptive name for the package", formalDefinition="The human-readable title to display for the package of resources when rendering the implementation guide." )
10304    protected StringType name;
10305
10306    /**
10307     * Human readable text describing the package.
10308     */
10309    @Child(name = "description", type = {MarkdownType.class}, order=2, min=0, max=1, modifier=false, summary=false)
10310    @Description(shortDefinition="Human readable text describing the package", formalDefinition="Human readable text describing the package." )
10311    protected MarkdownType description;
10312
10313    private static final long serialVersionUID = 2116554295L;
10314
10315    /**
10316     * Constructor
10317     */
10318    public ImplementationGuideDefinitionGroupingComponent() {
10319      super();
10320    }
10321
10322    /**
10323     * Constructor
10324     */
10325    public ImplementationGuideDefinitionGroupingComponent(String name) {
10326      super();
10327      this.setName(name);
10328    }
10329
10330    /**
10331     * @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
10332     */
10333    public StringType getNameElement() { 
10334      if (this.name == null)
10335        if (Configuration.errorOnAutoCreate())
10336          throw new Error("Attempt to auto-create ImplementationGuideDefinitionGroupingComponent.name");
10337        else if (Configuration.doAutoCreate())
10338          this.name = new StringType(); // bb
10339      return this.name;
10340    }
10341
10342    public boolean hasNameElement() { 
10343      return this.name != null && !this.name.isEmpty();
10344    }
10345
10346    public boolean hasName() { 
10347      return this.name != null && !this.name.isEmpty();
10348    }
10349
10350    /**
10351     * @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
10352     */
10353    public ImplementationGuideDefinitionGroupingComponent setNameElement(StringType value) { 
10354      this.name = value;
10355      return this;
10356    }
10357
10358    /**
10359     * @return The human-readable title to display for the package of resources when rendering the implementation guide.
10360     */
10361    public String getName() { 
10362      return this.name == null ? null : this.name.getValue();
10363    }
10364
10365    /**
10366     * @param value The human-readable title to display for the package of resources when rendering the implementation guide.
10367     */
10368    public ImplementationGuideDefinitionGroupingComponent setName(String value) { 
10369      if (this.name == null)
10370        this.name = new StringType();
10371      this.name.setValue(value);
10372      return this;
10373    }
10374
10375    /**
10376     * @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
10377     */
10378    public MarkdownType getDescriptionElement() { 
10379      if (this.description == null)
10380        if (Configuration.errorOnAutoCreate())
10381          throw new Error("Attempt to auto-create ImplementationGuideDefinitionGroupingComponent.description");
10382        else if (Configuration.doAutoCreate())
10383          this.description = new MarkdownType(); // bb
10384      return this.description;
10385    }
10386
10387    public boolean hasDescriptionElement() { 
10388      return this.description != null && !this.description.isEmpty();
10389    }
10390
10391    public boolean hasDescription() { 
10392      return this.description != null && !this.description.isEmpty();
10393    }
10394
10395    /**
10396     * @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
10397     */
10398    public ImplementationGuideDefinitionGroupingComponent setDescriptionElement(MarkdownType value) { 
10399      this.description = value;
10400      return this;
10401    }
10402
10403    /**
10404     * @return Human readable text describing the package.
10405     */
10406    public String getDescription() { 
10407      return this.description == null ? null : this.description.getValue();
10408    }
10409
10410    /**
10411     * @param value Human readable text describing the package.
10412     */
10413    public ImplementationGuideDefinitionGroupingComponent setDescription(String value) { 
10414      if (Utilities.noString(value))
10415        this.description = null;
10416      else {
10417        if (this.description == null)
10418          this.description = new MarkdownType();
10419        this.description.setValue(value);
10420      }
10421      return this;
10422    }
10423
10424    protected void listChildren(List<Property> children) {
10425      super.listChildren(children);
10426      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));
10427      children.add(new Property("description", "markdown", "Human readable text describing the package.", 0, 1, description));
10428    }
10429
10430    @Override
10431    public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
10432      switch (_hash) {
10433      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);
10434      case -1724546052: /*description*/  return new Property("description", "markdown", "Human readable text describing the package.", 0, 1, description);
10435      default: return super.getNamedProperty(_hash, _name, _checkValid);
10436      }
10437
10438    }
10439
10440    @Override
10441    public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
10442      switch (hash) {
10443      case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType
10444      case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType
10445      default: return super.getProperty(hash, name, checkValid);
10446      }
10447
10448    }
10449
10450    @Override
10451    public Base setProperty(int hash, String name, Base value) throws FHIRException {
10452      switch (hash) {
10453      case 3373707: // name
10454        this.name = TypeConvertor.castToString(value); // StringType
10455        return value;
10456      case -1724546052: // description
10457        this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
10458        return value;
10459      default: return super.setProperty(hash, name, value);
10460      }
10461
10462    }
10463
10464    @Override
10465    public Base setProperty(String name, Base value) throws FHIRException {
10466      if (name.equals("name")) {
10467        this.name = TypeConvertor.castToString(value); // StringType
10468      } else if (name.equals("description")) {
10469        this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
10470      } else
10471        return super.setProperty(name, value);
10472      return value;
10473    }
10474
10475    @Override
10476    public Base makeProperty(int hash, String name) throws FHIRException {
10477      switch (hash) {
10478      case 3373707:  return getNameElement();
10479      case -1724546052:  return getDescriptionElement();
10480      default: return super.makeProperty(hash, name);
10481      }
10482
10483    }
10484
10485    @Override
10486    public String[] getTypesForProperty(int hash, String name) throws FHIRException {
10487      switch (hash) {
10488      case 3373707: /*name*/ return new String[] {"string"};
10489      case -1724546052: /*description*/ return new String[] {"markdown"};
10490      default: return super.getTypesForProperty(hash, name);
10491      }
10492
10493    }
10494
10495    @Override
10496    public Base addChild(String name) throws FHIRException {
10497      if (name.equals("name")) {
10498        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.grouping.name");
10499      }
10500      else if (name.equals("description")) {
10501        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.grouping.description");
10502      }
10503      else
10504        return super.addChild(name);
10505    }
10506
10507    public ImplementationGuideDefinitionGroupingComponent copy() {
10508      ImplementationGuideDefinitionGroupingComponent dst = new ImplementationGuideDefinitionGroupingComponent();
10509      copyValues(dst);
10510      return dst;
10511    }
10512
10513    public void copyValues(ImplementationGuideDefinitionGroupingComponent dst) {
10514      super.copyValues(dst);
10515      dst.name = name == null ? null : name.copy();
10516      dst.description = description == null ? null : description.copy();
10517    }
10518
10519    @Override
10520    public boolean equalsDeep(Base other_) {
10521      if (!super.equalsDeep(other_))
10522        return false;
10523      if (!(other_ instanceof ImplementationGuideDefinitionGroupingComponent))
10524        return false;
10525      ImplementationGuideDefinitionGroupingComponent o = (ImplementationGuideDefinitionGroupingComponent) other_;
10526      return compareDeep(name, o.name, true) && compareDeep(description, o.description, true);
10527    }
10528
10529    @Override
10530    public boolean equalsShallow(Base other_) {
10531      if (!super.equalsShallow(other_))
10532        return false;
10533      if (!(other_ instanceof ImplementationGuideDefinitionGroupingComponent))
10534        return false;
10535      ImplementationGuideDefinitionGroupingComponent o = (ImplementationGuideDefinitionGroupingComponent) other_;
10536      return compareValues(name, o.name, true) && compareValues(description, o.description, true);
10537    }
10538
10539    public boolean isEmpty() {
10540      return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(name, description);
10541    }
10542
10543    public String fhirType() {
10544      return "ImplementationGuide.definition.grouping";
10545
10546    }
10547
10548  }
10549
10550  @Block()
10551  public static class ImplementationGuideDefinitionResourceComponent extends BackboneElement implements IBaseBackboneElement {
10552    /**
10553     * Where this resource is found.
10554     */
10555    @Child(name = "reference", type = {Reference.class}, order=1, min=1, max=1, modifier=false, summary=false)
10556    @Description(shortDefinition="Location of the resource", formalDefinition="Where this resource is found." )
10557    protected Reference reference;
10558
10559    @Override
10560    public String toString() {
10561      return "ImplementationGuideDefinitionResourceComponent [name=" + name + ", reference=" + reference
10562          + ", profile=" + profile + "]";
10563    }
10564
10565    /**
10566     * 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.
10567     */
10568    @Child(name = "fhirVersion", type = {CodeType.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
10569    @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." )
10570    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/FHIR-version")
10571    protected List<Enumeration<FHIRVersion>> fhirVersion;
10572
10573    /**
10574     * 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).
10575     */
10576    @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false)
10577    @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)." )
10578    protected StringType name;
10579
10580    /**
10581     * A description of the reason that a resource has been included in the implementation guide.
10582     */
10583    @Child(name = "description", type = {MarkdownType.class}, order=4, min=0, max=1, modifier=false, summary=false)
10584    @Description(shortDefinition="Reason why included in guide", formalDefinition="A description of the reason that a resource has been included in the implementation guide." )
10585    protected MarkdownType description;
10586
10587    /**
10588     * If true, indicates the resource is an example instance.
10589     */
10590    @Child(name = "isExample", type = {BooleanType.class}, order=5, min=0, max=1, modifier=false, summary=false)
10591    @Description(shortDefinition="Is this an example", formalDefinition="If true, indicates the resource is an example instance." )
10592    protected BooleanType isExample;
10593
10594    /**
10595     * If present, indicates profile(s) the instance is valid against.
10596     */
10597    @Child(name = "profile", type = {CanonicalType.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
10598    @Description(shortDefinition="Profile(s) this is an example of", formalDefinition="If present, indicates profile(s) the instance is valid against." )
10599    protected List<CanonicalType> profile;
10600
10601    /**
10602     * Reference to the id of the grouping this resource appears in.
10603     */
10604    @Child(name = "groupingId", type = {IdType.class}, order=7, min=0, max=1, modifier=false, summary=false)
10605    @Description(shortDefinition="Grouping this is part of", formalDefinition="Reference to the id of the grouping this resource appears in." )
10606    protected IdType groupingId;
10607
10608    private static final long serialVersionUID = 804050536L;
10609
10610    /**
10611     * Constructor
10612     */
10613    public ImplementationGuideDefinitionResourceComponent() {
10614      super();
10615    }
10616
10617    /**
10618     * Constructor
10619     */
10620    public ImplementationGuideDefinitionResourceComponent(Reference reference) {
10621      super();
10622      this.setReference(reference);
10623    }
10624
10625    /**
10626     * @return {@link #reference} (Where this resource is found.)
10627     */
10628    public Reference getReference() { 
10629      if (this.reference == null)
10630        if (Configuration.errorOnAutoCreate())
10631          throw new Error("Attempt to auto-create ImplementationGuideDefinitionResourceComponent.reference");
10632        else if (Configuration.doAutoCreate())
10633          this.reference = new Reference(); // cc
10634      return this.reference;
10635    }
10636
10637    public boolean hasReference() { 
10638      return this.reference != null && !this.reference.isEmpty();
10639    }
10640
10641    /**
10642     * @param value {@link #reference} (Where this resource is found.)
10643     */
10644    public ImplementationGuideDefinitionResourceComponent setReference(Reference value) { 
10645      this.reference = value;
10646      return this;
10647    }
10648
10649    /**
10650     * @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.)
10651     */
10652    public List<Enumeration<FHIRVersion>> getFhirVersion() { 
10653      if (this.fhirVersion == null)
10654        this.fhirVersion = new ArrayList<Enumeration<FHIRVersion>>();
10655      return this.fhirVersion;
10656    }
10657
10658    /**
10659     * @return Returns a reference to <code>this</code> for easy method chaining
10660     */
10661    public ImplementationGuideDefinitionResourceComponent setFhirVersion(List<Enumeration<FHIRVersion>> theFhirVersion) { 
10662      this.fhirVersion = theFhirVersion;
10663      return this;
10664    }
10665
10666    public boolean hasFhirVersion() { 
10667      if (this.fhirVersion == null)
10668        return false;
10669      for (Enumeration<FHIRVersion> item : this.fhirVersion)
10670        if (!item.isEmpty())
10671          return true;
10672      return false;
10673    }
10674
10675    /**
10676     * @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.)
10677     */
10678    public Enumeration<FHIRVersion> addFhirVersionElement() {//2 
10679      Enumeration<FHIRVersion> t = new Enumeration<FHIRVersion>(new FHIRVersionEnumFactory());
10680      if (this.fhirVersion == null)
10681        this.fhirVersion = new ArrayList<Enumeration<FHIRVersion>>();
10682      this.fhirVersion.add(t);
10683      return t;
10684    }
10685
10686    /**
10687     * @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.)
10688     */
10689    public ImplementationGuideDefinitionResourceComponent addFhirVersion(FHIRVersion value) { //1
10690      Enumeration<FHIRVersion> t = new Enumeration<FHIRVersion>(new FHIRVersionEnumFactory());
10691      t.setValue(value);
10692      if (this.fhirVersion == null)
10693        this.fhirVersion = new ArrayList<Enumeration<FHIRVersion>>();
10694      this.fhirVersion.add(t);
10695      return this;
10696    }
10697
10698    /**
10699     * @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.)
10700     */
10701    public boolean hasFhirVersion(FHIRVersion value) { 
10702      if (this.fhirVersion == null)
10703        return false;
10704      for (Enumeration<FHIRVersion> v : this.fhirVersion)
10705        if (v.getValue().equals(value)) // code
10706          return true;
10707      return false;
10708    }
10709
10710    /**
10711     * @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
10712     */
10713    public StringType getNameElement() { 
10714      if (this.name == null)
10715        if (Configuration.errorOnAutoCreate())
10716          throw new Error("Attempt to auto-create ImplementationGuideDefinitionResourceComponent.name");
10717        else if (Configuration.doAutoCreate())
10718          this.name = new StringType(); // bb
10719      return this.name;
10720    }
10721
10722    public boolean hasNameElement() { 
10723      return this.name != null && !this.name.isEmpty();
10724    }
10725
10726    public boolean hasName() { 
10727      return this.name != null && !this.name.isEmpty();
10728    }
10729
10730    /**
10731     * @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
10732     */
10733    public ImplementationGuideDefinitionResourceComponent setNameElement(StringType value) { 
10734      this.name = value;
10735      return this;
10736    }
10737
10738    /**
10739     * @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).
10740     */
10741    public String getName() { 
10742      return this.name == null ? null : this.name.getValue();
10743    }
10744
10745    /**
10746     * @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).
10747     */
10748    public ImplementationGuideDefinitionResourceComponent setName(String value) { 
10749      if (Utilities.noString(value))
10750        this.name = null;
10751      else {
10752        if (this.name == null)
10753          this.name = new StringType();
10754        this.name.setValue(value);
10755      }
10756      return this;
10757    }
10758
10759    /**
10760     * @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
10761     */
10762    public MarkdownType getDescriptionElement() { 
10763      if (this.description == null)
10764        if (Configuration.errorOnAutoCreate())
10765          throw new Error("Attempt to auto-create ImplementationGuideDefinitionResourceComponent.description");
10766        else if (Configuration.doAutoCreate())
10767          this.description = new MarkdownType(); // bb
10768      return this.description;
10769    }
10770
10771    public boolean hasDescriptionElement() { 
10772      return this.description != null && !this.description.isEmpty();
10773    }
10774
10775    public boolean hasDescription() { 
10776      return this.description != null && !this.description.isEmpty();
10777    }
10778
10779    /**
10780     * @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
10781     */
10782    public ImplementationGuideDefinitionResourceComponent setDescriptionElement(MarkdownType value) { 
10783      this.description = value;
10784      return this;
10785    }
10786
10787    /**
10788     * @return A description of the reason that a resource has been included in the implementation guide.
10789     */
10790    public String getDescription() { 
10791      return this.description == null ? null : this.description.getValue();
10792    }
10793
10794    /**
10795     * @param value A description of the reason that a resource has been included in the implementation guide.
10796     */
10797    public ImplementationGuideDefinitionResourceComponent setDescription(String value) { 
10798      if (Utilities.noString(value))
10799        this.description = null;
10800      else {
10801        if (this.description == null)
10802          this.description = new MarkdownType();
10803        this.description.setValue(value);
10804      }
10805      return this;
10806    }
10807
10808    /**
10809     * @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
10810     */
10811    public BooleanType getIsExampleElement() { 
10812      if (this.isExample == null)
10813        if (Configuration.errorOnAutoCreate())
10814          throw new Error("Attempt to auto-create ImplementationGuideDefinitionResourceComponent.isExample");
10815        else if (Configuration.doAutoCreate())
10816          this.isExample = new BooleanType(); // bb
10817      return this.isExample;
10818    }
10819
10820    public boolean hasIsExampleElement() { 
10821      return this.isExample != null && !this.isExample.isEmpty();
10822    }
10823
10824    public boolean hasIsExample() { 
10825      return this.isExample != null && !this.isExample.isEmpty();
10826    }
10827
10828    /**
10829     * @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
10830     */
10831    public ImplementationGuideDefinitionResourceComponent setIsExampleElement(BooleanType value) { 
10832      this.isExample = value;
10833      return this;
10834    }
10835
10836    /**
10837     * @return If true, indicates the resource is an example instance.
10838     */
10839    public boolean getIsExample() { 
10840      return this.isExample == null || this.isExample.isEmpty() ? false : this.isExample.getValue();
10841    }
10842
10843    /**
10844     * @param value If true, indicates the resource is an example instance.
10845     */
10846    public ImplementationGuideDefinitionResourceComponent setIsExample(boolean value) { 
10847      if (this.isExample == null)
10848        this.isExample = new BooleanType();
10849      this.isExample.setValue(value);
10850      return this;
10851    }
10852
10853    /**
10854     * @return {@link #profile} (If present, indicates profile(s) the instance is valid against.)
10855     */
10856    public List<CanonicalType> getProfile() { 
10857      if (this.profile == null)
10858        this.profile = new ArrayList<CanonicalType>();
10859      return this.profile;
10860    }
10861
10862    /**
10863     * @return Returns a reference to <code>this</code> for easy method chaining
10864     */
10865    public ImplementationGuideDefinitionResourceComponent setProfile(List<CanonicalType> theProfile) { 
10866      this.profile = theProfile;
10867      return this;
10868    }
10869
10870    public boolean hasProfile() { 
10871      if (this.profile == null)
10872        return false;
10873      for (CanonicalType item : this.profile)
10874        if (!item.isEmpty())
10875          return true;
10876      return false;
10877    }
10878
10879    /**
10880     * @return {@link #profile} (If present, indicates profile(s) the instance is valid against.)
10881     */
10882    public CanonicalType addProfileElement() {//2 
10883      CanonicalType t = new CanonicalType();
10884      if (this.profile == null)
10885        this.profile = new ArrayList<CanonicalType>();
10886      this.profile.add(t);
10887      return t;
10888    }
10889
10890    /**
10891     * @param value {@link #profile} (If present, indicates profile(s) the instance is valid against.)
10892     */
10893    public ImplementationGuideDefinitionResourceComponent addProfile(String value) { //1
10894      CanonicalType t = new CanonicalType();
10895      t.setValue(value);
10896      if (this.profile == null)
10897        this.profile = new ArrayList<CanonicalType>();
10898      this.profile.add(t);
10899      return this;
10900    }
10901
10902    /**
10903     * @param value {@link #profile} (If present, indicates profile(s) the instance is valid against.)
10904     */
10905    public boolean hasProfile(String value) { 
10906      if (this.profile == null)
10907        return false;
10908      for (CanonicalType v : this.profile)
10909        if (v.getValue().equals(value)) // canonical
10910          return true;
10911      return false;
10912    }
10913
10914    /**
10915     * @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
10916     */
10917    public IdType getGroupingIdElement() { 
10918      if (this.groupingId == null)
10919        if (Configuration.errorOnAutoCreate())
10920          throw new Error("Attempt to auto-create ImplementationGuideDefinitionResourceComponent.groupingId");
10921        else if (Configuration.doAutoCreate())
10922          this.groupingId = new IdType(); // bb
10923      return this.groupingId;
10924    }
10925
10926    public boolean hasGroupingIdElement() { 
10927      return this.groupingId != null && !this.groupingId.isEmpty();
10928    }
10929
10930    public boolean hasGroupingId() { 
10931      return this.groupingId != null && !this.groupingId.isEmpty();
10932    }
10933
10934    /**
10935     * @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
10936     */
10937    public ImplementationGuideDefinitionResourceComponent setGroupingIdElement(IdType value) { 
10938      this.groupingId = value;
10939      return this;
10940    }
10941
10942    /**
10943     * @return Reference to the id of the grouping this resource appears in.
10944     */
10945    public String getGroupingId() { 
10946      return this.groupingId == null ? null : this.groupingId.getValue();
10947    }
10948
10949    /**
10950     * @param value Reference to the id of the grouping this resource appears in.
10951     */
10952    public ImplementationGuideDefinitionResourceComponent setGroupingId(String value) { 
10953      if (Utilities.noString(value))
10954        this.groupingId = null;
10955      else {
10956        if (this.groupingId == null)
10957          this.groupingId = new IdType();
10958        this.groupingId.setValue(value);
10959      }
10960      return this;
10961    }
10962
10963    protected void listChildren(List<Property> children) {
10964      super.listChildren(children);
10965      children.add(new Property("reference", "Reference(Any)", "Where this resource is found.", 0, 1, reference));
10966      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));
10967      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));
10968      children.add(new Property("description", "markdown", "A description of the reason that a resource has been included in the implementation guide.", 0, 1, description));
10969      children.add(new Property("isExample", "boolean", "If true, indicates the resource is an example instance.", 0, 1, isExample));
10970      children.add(new Property("profile", "canonical(StructureDefinition)", "If present, indicates profile(s) the instance is valid against.", 0, java.lang.Integer.MAX_VALUE, profile));
10971      children.add(new Property("groupingId", "id", "Reference to the id of the grouping this resource appears in.", 0, 1, groupingId));
10972    }
10973
10974    @Override
10975    public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
10976      switch (_hash) {
10977      case -925155509: /*reference*/  return new Property("reference", "Reference(Any)", "Where this resource is found.", 0, 1, reference);
10978      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);
10979      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);
10980      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);
10981      case -1902749472: /*isExample*/  return new Property("isExample", "boolean", "If true, indicates the resource is an example instance.", 0, 1, isExample);
10982      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);
10983      case 1291547006: /*groupingId*/  return new Property("groupingId", "id", "Reference to the id of the grouping this resource appears in.", 0, 1, groupingId);
10984      default: return super.getNamedProperty(_hash, _name, _checkValid);
10985      }
10986
10987    }
10988
10989    @Override
10990    public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
10991      switch (hash) {
10992      case -925155509: /*reference*/ return this.reference == null ? new Base[0] : new Base[] {this.reference}; // Reference
10993      case 461006061: /*fhirVersion*/ return this.fhirVersion == null ? new Base[0] : this.fhirVersion.toArray(new Base[this.fhirVersion.size()]); // Enumeration<FHIRVersion>
10994      case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType
10995      case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType
10996      case -1902749472: /*isExample*/ return this.isExample == null ? new Base[0] : new Base[] {this.isExample}; // BooleanType
10997      case -309425751: /*profile*/ return this.profile == null ? new Base[0] : this.profile.toArray(new Base[this.profile.size()]); // CanonicalType
10998      case 1291547006: /*groupingId*/ return this.groupingId == null ? new Base[0] : new Base[] {this.groupingId}; // IdType
10999      default: return super.getProperty(hash, name, checkValid);
11000      }
11001
11002    }
11003
11004    @Override
11005    public Base setProperty(int hash, String name, Base value) throws FHIRException {
11006      switch (hash) {
11007      case -925155509: // reference
11008        this.reference = TypeConvertor.castToReference(value); // Reference
11009        return value;
11010      case 461006061: // fhirVersion
11011        value = new FHIRVersionEnumFactory().fromType(TypeConvertor.castToCode(value));
11012        this.getFhirVersion().add((Enumeration) value); // Enumeration<FHIRVersion>
11013        return value;
11014      case 3373707: // name
11015        this.name = TypeConvertor.castToString(value); // StringType
11016        return value;
11017      case -1724546052: // description
11018        this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
11019        return value;
11020      case -1902749472: // isExample
11021        this.isExample = TypeConvertor.castToBoolean(value); // BooleanType
11022        return value;
11023      case -309425751: // profile
11024        this.getProfile().add(TypeConvertor.castToCanonical(value)); // CanonicalType
11025        return value;
11026      case 1291547006: // groupingId
11027        this.groupingId = TypeConvertor.castToId(value); // IdType
11028        return value;
11029      default: return super.setProperty(hash, name, value);
11030      }
11031
11032    }
11033
11034    @Override
11035    public Base setProperty(String name, Base value) throws FHIRException {
11036      if (name.equals("reference")) {
11037        this.reference = TypeConvertor.castToReference(value); // Reference
11038      } else if (name.equals("fhirVersion")) {
11039        value = new FHIRVersionEnumFactory().fromType(TypeConvertor.castToCode(value));
11040        this.getFhirVersion().add((Enumeration) value);
11041      } else if (name.equals("name")) {
11042        this.name = TypeConvertor.castToString(value); // StringType
11043      } else if (name.equals("description")) {
11044        this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
11045      } else if (name.equals("isExample")) {
11046        this.isExample = TypeConvertor.castToBoolean(value); // BooleanType
11047      } else if (name.equals("profile")) {
11048        this.getProfile().add(TypeConvertor.castToCanonical(value));
11049      } else if (name.equals("groupingId")) {
11050        this.groupingId = TypeConvertor.castToId(value); // IdType
11051      } else
11052        return super.setProperty(name, value);
11053      return value;
11054    }
11055
11056    @Override
11057    public Base makeProperty(int hash, String name) throws FHIRException {
11058      switch (hash) {
11059      case -925155509:  return getReference();
11060      case 461006061:  return addFhirVersionElement();
11061      case 3373707:  return getNameElement();
11062      case -1724546052:  return getDescriptionElement();
11063      case -1902749472:  return getIsExampleElement();
11064      case -309425751:  return addProfileElement();
11065      case 1291547006:  return getGroupingIdElement();
11066      default: return super.makeProperty(hash, name);
11067      }
11068
11069    }
11070
11071    @Override
11072    public String[] getTypesForProperty(int hash, String name) throws FHIRException {
11073      switch (hash) {
11074      case -925155509: /*reference*/ return new String[] {"Reference"};
11075      case 461006061: /*fhirVersion*/ return new String[] {"code"};
11076      case 3373707: /*name*/ return new String[] {"string"};
11077      case -1724546052: /*description*/ return new String[] {"markdown"};
11078      case -1902749472: /*isExample*/ return new String[] {"boolean"};
11079      case -309425751: /*profile*/ return new String[] {"canonical"};
11080      case 1291547006: /*groupingId*/ return new String[] {"id"};
11081      default: return super.getTypesForProperty(hash, name);
11082      }
11083
11084    }
11085
11086    @Override
11087    public Base addChild(String name) throws FHIRException {
11088      if (name.equals("reference")) {
11089        this.reference = new Reference();
11090        return this.reference;
11091      }
11092      else if (name.equals("fhirVersion")) {
11093        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.resource.fhirVersion");
11094      }
11095      else if (name.equals("name")) {
11096        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.resource.name");
11097      }
11098      else if (name.equals("description")) {
11099        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.resource.description");
11100      }
11101      else if (name.equals("isExample")) {
11102        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.resource.isExample");
11103      }
11104      else if (name.equals("profile")) {
11105        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.resource.profile");
11106      }
11107      else if (name.equals("groupingId")) {
11108        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.resource.groupingId");
11109      }
11110      else
11111        return super.addChild(name);
11112    }
11113
11114    public ImplementationGuideDefinitionResourceComponent copy() {
11115      ImplementationGuideDefinitionResourceComponent dst = new ImplementationGuideDefinitionResourceComponent();
11116      copyValues(dst);
11117      return dst;
11118    }
11119
11120    public void copyValues(ImplementationGuideDefinitionResourceComponent dst) {
11121      super.copyValues(dst);
11122      dst.reference = reference == null ? null : reference.copy();
11123      if (fhirVersion != null) {
11124        dst.fhirVersion = new ArrayList<Enumeration<FHIRVersion>>();
11125        for (Enumeration<FHIRVersion> i : fhirVersion)
11126          dst.fhirVersion.add(i.copy());
11127      };
11128      dst.name = name == null ? null : name.copy();
11129      dst.description = description == null ? null : description.copy();
11130      dst.isExample = isExample == null ? null : isExample.copy();
11131      if (profile != null) {
11132        dst.profile = new ArrayList<CanonicalType>();
11133        for (CanonicalType i : profile)
11134          dst.profile.add(i.copy());
11135      };
11136      dst.groupingId = groupingId == null ? null : groupingId.copy();
11137    }
11138
11139    @Override
11140    public boolean equalsDeep(Base other_) {
11141      if (!super.equalsDeep(other_))
11142        return false;
11143      if (!(other_ instanceof ImplementationGuideDefinitionResourceComponent))
11144        return false;
11145      ImplementationGuideDefinitionResourceComponent o = (ImplementationGuideDefinitionResourceComponent) other_;
11146      return compareDeep(reference, o.reference, true) && compareDeep(fhirVersion, o.fhirVersion, true)
11147          && compareDeep(name, o.name, true) && compareDeep(description, o.description, true) && compareDeep(isExample, o.isExample, true)
11148          && compareDeep(profile, o.profile, true) && compareDeep(groupingId, o.groupingId, true);
11149    }
11150
11151    @Override
11152    public boolean equalsShallow(Base other_) {
11153      if (!super.equalsShallow(other_))
11154        return false;
11155      if (!(other_ instanceof ImplementationGuideDefinitionResourceComponent))
11156        return false;
11157      ImplementationGuideDefinitionResourceComponent o = (ImplementationGuideDefinitionResourceComponent) other_;
11158      return compareValues(fhirVersion, o.fhirVersion, true) && compareValues(name, o.name, true) && compareValues(description, o.description, true)
11159          && compareValues(isExample, o.isExample, true) && compareValues(profile, o.profile, true) && compareValues(groupingId, o.groupingId, true)
11160          ;
11161    }
11162
11163    public boolean isEmpty() {
11164      return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(reference, fhirVersion, name
11165          , description, isExample, profile, groupingId);
11166    }
11167
11168    public String fhirType() {
11169      return "ImplementationGuide.definition.resource";
11170
11171    }
11172
11173    // added from java-adornments.txt:
11174
11175    // end addition
11176  }
11177
11178  @Block()
11179  public static class ImplementationGuideDefinitionPageComponent extends BackboneElement implements IBaseBackboneElement {
11180    /**
11181     * Indicates the URL or the actual content to provide for the page.
11182     */
11183    @Child(name = "source", type = {UrlType.class, StringType.class, MarkdownType.class}, order=1, min=0, max=1, modifier=false, summary=false)
11184    @Description(shortDefinition="Source for page", formalDefinition="Indicates the URL or the actual content to provide for the page." )
11185    protected DataType source;
11186
11187    /**
11188     * The url by which the page should be known when published.
11189     */
11190    @Child(name = "name", type = {UrlType.class}, order=2, min=1, max=1, modifier=false, summary=false)
11191    @Description(shortDefinition="Name of the page when published", formalDefinition="The url by which the page should be known when published." )
11192    protected UrlType name;
11193
11194    /**
11195     * A short title used to represent this page in navigational structures such as table of contents, bread crumbs, etc.
11196     */
11197    @Child(name = "title", type = {StringType.class}, order=3, min=1, max=1, modifier=false, summary=false)
11198    @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." )
11199    protected StringType title;
11200
11201    /**
11202     * A code that indicates how the page is generated.
11203     */
11204    @Child(name = "generation", type = {CodeType.class}, order=4, min=1, max=1, modifier=false, summary=false)
11205    @Description(shortDefinition="html | markdown | xml | generated", formalDefinition="A code that indicates how the page is generated." )
11206    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/guide-page-generation")
11207    protected Enumeration<GuidePageGeneration> generation;
11208
11209    /**
11210     * Nested Pages/Sections under this page.
11211     */
11212    @Child(name = "page", type = {ImplementationGuideDefinitionPageComponent.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
11213    @Description(shortDefinition="Nested Pages / Sections", formalDefinition="Nested Pages/Sections under this page." )
11214    protected List<ImplementationGuideDefinitionPageComponent> page;
11215
11216    private static final long serialVersionUID = 57473246L;
11217
11218    /**
11219     * Constructor
11220     */
11221    public ImplementationGuideDefinitionPageComponent() {
11222      super();
11223    }
11224
11225    /**
11226     * Constructor
11227     */
11228    public ImplementationGuideDefinitionPageComponent(String name, String title, GuidePageGeneration generation) {
11229      super();
11230      this.setName(name);
11231      this.setTitle(title);
11232      this.setGeneration(generation);
11233    }
11234
11235    /**
11236     * @return {@link #source} (Indicates the URL or the actual content to provide for the page.)
11237     */
11238    public DataType getSource() { 
11239      return this.source;
11240    }
11241
11242    /**
11243     * @return {@link #source} (Indicates the URL or the actual content to provide for the page.)
11244     */
11245    public UrlType getSourceUrlType() throws FHIRException { 
11246      if (this.source == null)
11247        this.source = new UrlType();
11248      if (!(this.source instanceof UrlType))
11249        throw new FHIRException("Type mismatch: the type UrlType was expected, but "+this.source.getClass().getName()+" was encountered");
11250      return (UrlType) this.source;
11251    }
11252
11253    public boolean hasSourceUrlType() { 
11254      return this != null && this.source instanceof UrlType;
11255    }
11256
11257    /**
11258     * @return {@link #source} (Indicates the URL or the actual content to provide for the page.)
11259     */
11260    public StringType getSourceStringType() throws FHIRException { 
11261      if (this.source == null)
11262        this.source = new StringType();
11263      if (!(this.source instanceof StringType))
11264        throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.source.getClass().getName()+" was encountered");
11265      return (StringType) this.source;
11266    }
11267
11268    public boolean hasSourceStringType() { 
11269      return this != null && this.source instanceof StringType;
11270    }
11271
11272    /**
11273     * @return {@link #source} (Indicates the URL or the actual content to provide for the page.)
11274     */
11275    public MarkdownType getSourceMarkdownType() throws FHIRException { 
11276      if (this.source == null)
11277        this.source = new MarkdownType();
11278      if (!(this.source instanceof MarkdownType))
11279        throw new FHIRException("Type mismatch: the type MarkdownType was expected, but "+this.source.getClass().getName()+" was encountered");
11280      return (MarkdownType) this.source;
11281    }
11282
11283    public boolean hasSourceMarkdownType() { 
11284      return this != null && this.source instanceof MarkdownType;
11285    }
11286
11287    public boolean hasSource() { 
11288      return this.source != null && !this.source.isEmpty();
11289    }
11290
11291    /**
11292     * @param value {@link #source} (Indicates the URL or the actual content to provide for the page.)
11293     */
11294    public ImplementationGuideDefinitionPageComponent setSource(DataType value) { 
11295      if (value != null && !(value instanceof UrlType || value instanceof StringType || value instanceof MarkdownType))
11296        throw new FHIRException("Not the right type for ImplementationGuide.definition.page.source[x]: "+value.fhirType());
11297      this.source = value;
11298      return this;
11299    }
11300
11301    /**
11302     * @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
11303     */
11304    public UrlType getNameElement() { 
11305      if (this.name == null)
11306        if (Configuration.errorOnAutoCreate())
11307          throw new Error("Attempt to auto-create ImplementationGuideDefinitionPageComponent.name");
11308        else if (Configuration.doAutoCreate())
11309          this.name = new UrlType(); // bb
11310      return this.name;
11311    }
11312
11313    public boolean hasNameElement() { 
11314      return this.name != null && !this.name.isEmpty();
11315    }
11316
11317    public boolean hasName() { 
11318      return this.name != null && !this.name.isEmpty();
11319    }
11320
11321    /**
11322     * @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
11323     */
11324    public ImplementationGuideDefinitionPageComponent setNameElement(UrlType value) { 
11325      this.name = value;
11326      return this;
11327    }
11328
11329    /**
11330     * @return The url by which the page should be known when published.
11331     */
11332    public String getName() { 
11333      return this.name == null ? null : this.name.getValue();
11334    }
11335
11336    /**
11337     * @param value The url by which the page should be known when published.
11338     */
11339    public ImplementationGuideDefinitionPageComponent setName(String value) { 
11340      if (this.name == null)
11341        this.name = new UrlType();
11342      this.name.setValue(value);
11343      return this;
11344    }
11345
11346    /**
11347     * @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
11348     */
11349    public StringType getTitleElement() { 
11350      if (this.title == null)
11351        if (Configuration.errorOnAutoCreate())
11352          throw new Error("Attempt to auto-create ImplementationGuideDefinitionPageComponent.title");
11353        else if (Configuration.doAutoCreate())
11354          this.title = new StringType(); // bb
11355      return this.title;
11356    }
11357
11358    public boolean hasTitleElement() { 
11359      return this.title != null && !this.title.isEmpty();
11360    }
11361
11362    public boolean hasTitle() { 
11363      return this.title != null && !this.title.isEmpty();
11364    }
11365
11366    /**
11367     * @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
11368     */
11369    public ImplementationGuideDefinitionPageComponent setTitleElement(StringType value) { 
11370      this.title = value;
11371      return this;
11372    }
11373
11374    /**
11375     * @return A short title used to represent this page in navigational structures such as table of contents, bread crumbs, etc.
11376     */
11377    public String getTitle() { 
11378      return this.title == null ? null : this.title.getValue();
11379    }
11380
11381    /**
11382     * @param value A short title used to represent this page in navigational structures such as table of contents, bread crumbs, etc.
11383     */
11384    public ImplementationGuideDefinitionPageComponent setTitle(String value) { 
11385      if (this.title == null)
11386        this.title = new StringType();
11387      this.title.setValue(value);
11388      return this;
11389    }
11390
11391    /**
11392     * @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
11393     */
11394    public Enumeration<GuidePageGeneration> getGenerationElement() { 
11395      if (this.generation == null)
11396        if (Configuration.errorOnAutoCreate())
11397          throw new Error("Attempt to auto-create ImplementationGuideDefinitionPageComponent.generation");
11398        else if (Configuration.doAutoCreate())
11399          this.generation = new Enumeration<GuidePageGeneration>(new GuidePageGenerationEnumFactory()); // bb
11400      return this.generation;
11401    }
11402
11403    public boolean hasGenerationElement() { 
11404      return this.generation != null && !this.generation.isEmpty();
11405    }
11406
11407    public boolean hasGeneration() { 
11408      return this.generation != null && !this.generation.isEmpty();
11409    }
11410
11411    /**
11412     * @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
11413     */
11414    public ImplementationGuideDefinitionPageComponent setGenerationElement(Enumeration<GuidePageGeneration> value) { 
11415      this.generation = value;
11416      return this;
11417    }
11418
11419    /**
11420     * @return A code that indicates how the page is generated.
11421     */
11422    public GuidePageGeneration getGeneration() { 
11423      return this.generation == null ? null : this.generation.getValue();
11424    }
11425
11426    /**
11427     * @param value A code that indicates how the page is generated.
11428     */
11429    public ImplementationGuideDefinitionPageComponent setGeneration(GuidePageGeneration value) { 
11430      if (this.generation == null)
11431        this.generation = new Enumeration<GuidePageGeneration>(new GuidePageGenerationEnumFactory());
11432      this.generation.setValue(value);
11433      return this;
11434    }
11435
11436    /**
11437     * @return {@link #page} (Nested Pages/Sections under this page.)
11438     */
11439    public List<ImplementationGuideDefinitionPageComponent> getPage() { 
11440      if (this.page == null)
11441        this.page = new ArrayList<ImplementationGuideDefinitionPageComponent>();
11442      return this.page;
11443    }
11444
11445    /**
11446     * @return Returns a reference to <code>this</code> for easy method chaining
11447     */
11448    public ImplementationGuideDefinitionPageComponent setPage(List<ImplementationGuideDefinitionPageComponent> thePage) { 
11449      this.page = thePage;
11450      return this;
11451    }
11452
11453    public boolean hasPage() { 
11454      if (this.page == null)
11455        return false;
11456      for (ImplementationGuideDefinitionPageComponent item : this.page)
11457        if (!item.isEmpty())
11458          return true;
11459      return false;
11460    }
11461
11462    public ImplementationGuideDefinitionPageComponent addPage() { //3
11463      ImplementationGuideDefinitionPageComponent t = new ImplementationGuideDefinitionPageComponent();
11464      if (this.page == null)
11465        this.page = new ArrayList<ImplementationGuideDefinitionPageComponent>();
11466      this.page.add(t);
11467      return t;
11468    }
11469
11470    public ImplementationGuideDefinitionPageComponent addPage(ImplementationGuideDefinitionPageComponent t) { //3
11471      if (t == null)
11472        return this;
11473      if (this.page == null)
11474        this.page = new ArrayList<ImplementationGuideDefinitionPageComponent>();
11475      this.page.add(t);
11476      return this;
11477    }
11478
11479    /**
11480     * @return The first repetition of repeating field {@link #page}, creating it if it does not already exist {3}
11481     */
11482    public ImplementationGuideDefinitionPageComponent getPageFirstRep() { 
11483      if (getPage().isEmpty()) {
11484        addPage();
11485      }
11486      return getPage().get(0);
11487    }
11488
11489    protected void listChildren(List<Property> children) {
11490      super.listChildren(children);
11491      children.add(new Property("source[x]", "url|string|markdown", "Indicates the URL or the actual content to provide for the page.", 0, 1, source));
11492      children.add(new Property("name", "url", "The url by which the page should be known when published.", 0, 1, name));
11493      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));
11494      children.add(new Property("generation", "code", "A code that indicates how the page is generated.", 0, 1, generation));
11495      children.add(new Property("page", "@ImplementationGuide.definition.page", "Nested Pages/Sections under this page.", 0, java.lang.Integer.MAX_VALUE, page));
11496    }
11497
11498    @Override
11499    public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
11500      switch (_hash) {
11501      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);
11502      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);
11503      case -1698419884: /*sourceUrl*/  return new Property("source[x]", "url", "Indicates the URL or the actual content to provide for the page.", 0, 1, source);
11504      case 1327821836: /*sourceString*/  return new Property("source[x]", "string", "Indicates the URL or the actual content to provide for the page.", 0, 1, source);
11505      case -1116570070: /*sourceMarkdown*/  return new Property("source[x]", "markdown", "Indicates the URL or the actual content to provide for the page.", 0, 1, source);
11506      case 3373707: /*name*/  return new Property("name", "url", "The url by which the page should be known when published.", 0, 1, name);
11507      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);
11508      case 305703192: /*generation*/  return new Property("generation", "code", "A code that indicates how the page is generated.", 0, 1, generation);
11509      case 3433103: /*page*/  return new Property("page", "@ImplementationGuide.definition.page", "Nested Pages/Sections under this page.", 0, java.lang.Integer.MAX_VALUE, page);
11510      default: return super.getNamedProperty(_hash, _name, _checkValid);
11511      }
11512
11513    }
11514
11515    @Override
11516    public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
11517      switch (hash) {
11518      case -896505829: /*source*/ return this.source == null ? new Base[0] : new Base[] {this.source}; // DataType
11519      case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // UrlType
11520      case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType
11521      case 305703192: /*generation*/ return this.generation == null ? new Base[0] : new Base[] {this.generation}; // Enumeration<GuidePageGeneration>
11522      case 3433103: /*page*/ return this.page == null ? new Base[0] : this.page.toArray(new Base[this.page.size()]); // ImplementationGuideDefinitionPageComponent
11523      default: return super.getProperty(hash, name, checkValid);
11524      }
11525
11526    }
11527
11528    @Override
11529    public Base setProperty(int hash, String name, Base value) throws FHIRException {
11530      switch (hash) {
11531      case -896505829: // source
11532        this.source = TypeConvertor.castToType(value); // DataType
11533        return value;
11534      case 3373707: // name
11535        this.name = TypeConvertor.castToUrl(value); // UrlType
11536        return value;
11537      case 110371416: // title
11538        this.title = TypeConvertor.castToString(value); // StringType
11539        return value;
11540      case 305703192: // generation
11541        value = new GuidePageGenerationEnumFactory().fromType(TypeConvertor.castToCode(value));
11542        this.generation = (Enumeration) value; // Enumeration<GuidePageGeneration>
11543        return value;
11544      case 3433103: // page
11545        this.getPage().add((ImplementationGuideDefinitionPageComponent) value); // ImplementationGuideDefinitionPageComponent
11546        return value;
11547      default: return super.setProperty(hash, name, value);
11548      }
11549
11550    }
11551
11552    @Override
11553    public Base setProperty(String name, Base value) throws FHIRException {
11554      if (name.equals("source[x]")) {
11555        this.source = TypeConvertor.castToType(value); // DataType
11556      } else if (name.equals("name")) {
11557        this.name = TypeConvertor.castToUrl(value); // UrlType
11558      } else if (name.equals("title")) {
11559        this.title = TypeConvertor.castToString(value); // StringType
11560      } else if (name.equals("generation")) {
11561        value = new GuidePageGenerationEnumFactory().fromType(TypeConvertor.castToCode(value));
11562        this.generation = (Enumeration) value; // Enumeration<GuidePageGeneration>
11563      } else if (name.equals("page")) {
11564        this.getPage().add((ImplementationGuideDefinitionPageComponent) value);
11565      } else
11566        return super.setProperty(name, value);
11567      return value;
11568    }
11569
11570    @Override
11571    public Base makeProperty(int hash, String name) throws FHIRException {
11572      switch (hash) {
11573      case -1698413947:  return getSource();
11574      case -896505829:  return getSource();
11575      case 3373707:  return getNameElement();
11576      case 110371416:  return getTitleElement();
11577      case 305703192:  return getGenerationElement();
11578      case 3433103:  return addPage(); 
11579      default: return super.makeProperty(hash, name);
11580      }
11581
11582    }
11583
11584    @Override
11585    public String[] getTypesForProperty(int hash, String name) throws FHIRException {
11586      switch (hash) {
11587      case -896505829: /*source*/ return new String[] {"url", "string", "markdown"};
11588      case 3373707: /*name*/ return new String[] {"url"};
11589      case 110371416: /*title*/ return new String[] {"string"};
11590      case 305703192: /*generation*/ return new String[] {"code"};
11591      case 3433103: /*page*/ return new String[] {"@ImplementationGuide.definition.page"};
11592      default: return super.getTypesForProperty(hash, name);
11593      }
11594
11595    }
11596
11597    @Override
11598    public Base addChild(String name) throws FHIRException {
11599      if (name.equals("sourceUrl")) {
11600        this.source = new UrlType();
11601        return this.source;
11602      }
11603      else if (name.equals("sourceString")) {
11604        this.source = new StringType();
11605        return this.source;
11606      }
11607      else if (name.equals("sourceMarkdown")) {
11608        this.source = new MarkdownType();
11609        return this.source;
11610      }
11611      else if (name.equals("name")) {
11612        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.page.name");
11613      }
11614      else if (name.equals("title")) {
11615        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.page.title");
11616      }
11617      else if (name.equals("generation")) {
11618        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.page.generation");
11619      }
11620      else if (name.equals("page")) {
11621        return addPage();
11622      }
11623      else
11624        return super.addChild(name);
11625    }
11626
11627    public ImplementationGuideDefinitionPageComponent copy() {
11628      ImplementationGuideDefinitionPageComponent dst = new ImplementationGuideDefinitionPageComponent();
11629      copyValues(dst);
11630      return dst;
11631    }
11632
11633    public void copyValues(ImplementationGuideDefinitionPageComponent dst) {
11634      super.copyValues(dst);
11635      dst.source = source == null ? null : source.copy();
11636      dst.name = name == null ? null : name.copy();
11637      dst.title = title == null ? null : title.copy();
11638      dst.generation = generation == null ? null : generation.copy();
11639      if (page != null) {
11640        dst.page = new ArrayList<ImplementationGuideDefinitionPageComponent>();
11641        for (ImplementationGuideDefinitionPageComponent i : page)
11642          dst.page.add(i.copy());
11643      };
11644    }
11645
11646    @Override
11647    public boolean equalsDeep(Base other_) {
11648      if (!super.equalsDeep(other_))
11649        return false;
11650      if (!(other_ instanceof ImplementationGuideDefinitionPageComponent))
11651        return false;
11652      ImplementationGuideDefinitionPageComponent o = (ImplementationGuideDefinitionPageComponent) other_;
11653      return compareDeep(source, o.source, true) && compareDeep(name, o.name, true) && compareDeep(title, o.title, true)
11654          && compareDeep(generation, o.generation, true) && compareDeep(page, o.page, true);
11655    }
11656
11657    @Override
11658    public boolean equalsShallow(Base other_) {
11659      if (!super.equalsShallow(other_))
11660        return false;
11661      if (!(other_ instanceof ImplementationGuideDefinitionPageComponent))
11662        return false;
11663      ImplementationGuideDefinitionPageComponent o = (ImplementationGuideDefinitionPageComponent) other_;
11664      return compareValues(name, o.name, true) && compareValues(title, o.title, true) && compareValues(generation, o.generation, true)
11665          ;
11666    }
11667
11668    public boolean isEmpty() {
11669      return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(source, name, title, generation
11670          , page);
11671    }
11672
11673    public String fhirType() {
11674      return "ImplementationGuide.definition.page";
11675
11676    }
11677
11678  }
11679
11680  @Block()
11681  public static class ImplementationGuideDefinitionParameterComponent extends BackboneElement implements IBaseBackboneElement {
11682    /**
11683     * A tool-specific code that defines the parameter.
11684     */
11685    @Child(name = "code", type = {Coding.class}, order=1, min=1, max=1, modifier=false, summary=false)
11686    @Description(shortDefinition="Code that identifies parameter", formalDefinition="A tool-specific code that defines the parameter." )
11687    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/guide-parameter-code")
11688    protected Coding code;
11689
11690    /**
11691     * Value for named type.
11692     */
11693    @Child(name = "value", type = {StringType.class}, order=2, min=1, max=1, modifier=false, summary=false)
11694    @Description(shortDefinition="Value for named type", formalDefinition="Value for named type." )
11695    protected StringType value;
11696
11697    private static final long serialVersionUID = -1728909245L;
11698
11699    /**
11700     * Constructor
11701     */
11702    public ImplementationGuideDefinitionParameterComponent() {
11703      super();
11704    }
11705
11706    /**
11707     * Constructor
11708     */
11709    public ImplementationGuideDefinitionParameterComponent(Coding code, String value) {
11710      super();
11711      this.setCode(code);
11712      this.setValue(value);
11713    }
11714
11715    /**
11716     * @return {@link #code} (A tool-specific code that defines the parameter.)
11717     */
11718    public Coding getCode() { 
11719      if (this.code == null)
11720        if (Configuration.errorOnAutoCreate())
11721          throw new Error("Attempt to auto-create ImplementationGuideDefinitionParameterComponent.code");
11722        else if (Configuration.doAutoCreate())
11723          this.code = new Coding(); // cc
11724      return this.code;
11725    }
11726
11727    public boolean hasCode() { 
11728      return this.code != null && !this.code.isEmpty();
11729    }
11730
11731    /**
11732     * @param value {@link #code} (A tool-specific code that defines the parameter.)
11733     */
11734    public ImplementationGuideDefinitionParameterComponent setCode(Coding value) { 
11735      this.code = value;
11736      return this;
11737    }
11738
11739    /**
11740     * @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
11741     */
11742    public StringType getValueElement() { 
11743      if (this.value == null)
11744        if (Configuration.errorOnAutoCreate())
11745          throw new Error("Attempt to auto-create ImplementationGuideDefinitionParameterComponent.value");
11746        else if (Configuration.doAutoCreate())
11747          this.value = new StringType(); // bb
11748      return this.value;
11749    }
11750
11751    public boolean hasValueElement() { 
11752      return this.value != null && !this.value.isEmpty();
11753    }
11754
11755    public boolean hasValue() { 
11756      return this.value != null && !this.value.isEmpty();
11757    }
11758
11759    /**
11760     * @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
11761     */
11762    public ImplementationGuideDefinitionParameterComponent setValueElement(StringType value) { 
11763      this.value = value;
11764      return this;
11765    }
11766
11767    /**
11768     * @return Value for named type.
11769     */
11770    public String getValue() { 
11771      return this.value == null ? null : this.value.getValue();
11772    }
11773
11774    /**
11775     * @param value Value for named type.
11776     */
11777    public ImplementationGuideDefinitionParameterComponent setValue(String value) { 
11778      if (this.value == null)
11779        this.value = new StringType();
11780      this.value.setValue(value);
11781      return this;
11782    }
11783
11784    protected void listChildren(List<Property> children) {
11785      super.listChildren(children);
11786      children.add(new Property("code", "Coding", "A tool-specific code that defines the parameter.", 0, 1, code));
11787      children.add(new Property("value", "string", "Value for named type.", 0, 1, value));
11788    }
11789
11790    @Override
11791    public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
11792      switch (_hash) {
11793      case 3059181: /*code*/  return new Property("code", "Coding", "A tool-specific code that defines the parameter.", 0, 1, code);
11794      case 111972721: /*value*/  return new Property("value", "string", "Value for named type.", 0, 1, value);
11795      default: return super.getNamedProperty(_hash, _name, _checkValid);
11796      }
11797
11798    }
11799
11800    @Override
11801    public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
11802      switch (hash) {
11803      case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // Coding
11804      case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // StringType
11805      default: return super.getProperty(hash, name, checkValid);
11806      }
11807
11808    }
11809
11810    @Override
11811    public Base setProperty(int hash, String name, Base value) throws FHIRException {
11812      switch (hash) {
11813      case 3059181: // code
11814        this.code = TypeConvertor.castToCoding(value); // Coding
11815        return value;
11816      case 111972721: // value
11817        this.value = TypeConvertor.castToString(value); // StringType
11818        return value;
11819      default: return super.setProperty(hash, name, value);
11820      }
11821
11822    }
11823
11824    @Override
11825    public Base setProperty(String name, Base value) throws FHIRException {
11826      if (name.equals("code")) {
11827        this.code = TypeConvertor.castToCoding(value); // Coding
11828      } else if (name.equals("value")) {
11829        this.value = TypeConvertor.castToString(value); // StringType
11830      } else
11831        return super.setProperty(name, value);
11832      return value;
11833    }
11834
11835    @Override
11836    public Base makeProperty(int hash, String name) throws FHIRException {
11837      switch (hash) {
11838      case 3059181:  return getCode();
11839      case 111972721:  return getValueElement();
11840      default: return super.makeProperty(hash, name);
11841      }
11842
11843    }
11844
11845    @Override
11846    public String[] getTypesForProperty(int hash, String name) throws FHIRException {
11847      switch (hash) {
11848      case 3059181: /*code*/ return new String[] {"Coding"};
11849      case 111972721: /*value*/ return new String[] {"string"};
11850      default: return super.getTypesForProperty(hash, name);
11851      }
11852
11853    }
11854
11855    @Override
11856    public Base addChild(String name) throws FHIRException {
11857      if (name.equals("code")) {
11858        this.code = new Coding();
11859        return this.code;
11860      }
11861      else if (name.equals("value")) {
11862        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.parameter.value");
11863      }
11864      else
11865        return super.addChild(name);
11866    }
11867
11868    public ImplementationGuideDefinitionParameterComponent copy() {
11869      ImplementationGuideDefinitionParameterComponent dst = new ImplementationGuideDefinitionParameterComponent();
11870      copyValues(dst);
11871      return dst;
11872    }
11873
11874    public void copyValues(ImplementationGuideDefinitionParameterComponent dst) {
11875      super.copyValues(dst);
11876      dst.code = code == null ? null : code.copy();
11877      dst.value = value == null ? null : value.copy();
11878    }
11879
11880    @Override
11881    public boolean equalsDeep(Base other_) {
11882      if (!super.equalsDeep(other_))
11883        return false;
11884      if (!(other_ instanceof ImplementationGuideDefinitionParameterComponent))
11885        return false;
11886      ImplementationGuideDefinitionParameterComponent o = (ImplementationGuideDefinitionParameterComponent) other_;
11887      return compareDeep(code, o.code, true) && compareDeep(value, o.value, true);
11888    }
11889
11890    @Override
11891    public boolean equalsShallow(Base other_) {
11892      if (!super.equalsShallow(other_))
11893        return false;
11894      if (!(other_ instanceof ImplementationGuideDefinitionParameterComponent))
11895        return false;
11896      ImplementationGuideDefinitionParameterComponent o = (ImplementationGuideDefinitionParameterComponent) other_;
11897      return compareValues(value, o.value, true);
11898    }
11899
11900    public boolean isEmpty() {
11901      return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, value);
11902    }
11903
11904    public String fhirType() {
11905      return "ImplementationGuide.definition.parameter";
11906
11907    }
11908
11909  }
11910
11911  @Block()
11912  public static class ImplementationGuideDefinitionTemplateComponent extends BackboneElement implements IBaseBackboneElement {
11913    /**
11914     * Type of template specified.
11915     */
11916    @Child(name = "code", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false)
11917    @Description(shortDefinition="Type of template specified", formalDefinition="Type of template specified." )
11918    protected CodeType code;
11919
11920    /**
11921     * The source location for the template.
11922     */
11923    @Child(name = "source", type = {StringType.class}, order=2, min=1, max=1, modifier=false, summary=false)
11924    @Description(shortDefinition="The source location for the template", formalDefinition="The source location for the template." )
11925    protected StringType source;
11926
11927    /**
11928     * The scope in which the template applies.
11929     */
11930    @Child(name = "scope", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false)
11931    @Description(shortDefinition="The scope in which the template applies", formalDefinition="The scope in which the template applies." )
11932    protected StringType scope;
11933
11934    private static final long serialVersionUID = 923832457L;
11935
11936    /**
11937     * Constructor
11938     */
11939    public ImplementationGuideDefinitionTemplateComponent() {
11940      super();
11941    }
11942
11943    /**
11944     * Constructor
11945     */
11946    public ImplementationGuideDefinitionTemplateComponent(String code, String source) {
11947      super();
11948      this.setCode(code);
11949      this.setSource(source);
11950    }
11951
11952    /**
11953     * @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
11954     */
11955    public CodeType getCodeElement() { 
11956      if (this.code == null)
11957        if (Configuration.errorOnAutoCreate())
11958          throw new Error("Attempt to auto-create ImplementationGuideDefinitionTemplateComponent.code");
11959        else if (Configuration.doAutoCreate())
11960          this.code = new CodeType(); // bb
11961      return this.code;
11962    }
11963
11964    public boolean hasCodeElement() { 
11965      return this.code != null && !this.code.isEmpty();
11966    }
11967
11968    public boolean hasCode() { 
11969      return this.code != null && !this.code.isEmpty();
11970    }
11971
11972    /**
11973     * @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
11974     */
11975    public ImplementationGuideDefinitionTemplateComponent setCodeElement(CodeType value) { 
11976      this.code = value;
11977      return this;
11978    }
11979
11980    /**
11981     * @return Type of template specified.
11982     */
11983    public String getCode() { 
11984      return this.code == null ? null : this.code.getValue();
11985    }
11986
11987    /**
11988     * @param value Type of template specified.
11989     */
11990    public ImplementationGuideDefinitionTemplateComponent setCode(String value) { 
11991      if (this.code == null)
11992        this.code = new CodeType();
11993      this.code.setValue(value);
11994      return this;
11995    }
11996
11997    /**
11998     * @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
11999     */
12000    public StringType getSourceElement() { 
12001      if (this.source == null)
12002        if (Configuration.errorOnAutoCreate())
12003          throw new Error("Attempt to auto-create ImplementationGuideDefinitionTemplateComponent.source");
12004        else if (Configuration.doAutoCreate())
12005          this.source = new StringType(); // bb
12006      return this.source;
12007    }
12008
12009    public boolean hasSourceElement() { 
12010      return this.source != null && !this.source.isEmpty();
12011    }
12012
12013    public boolean hasSource() { 
12014      return this.source != null && !this.source.isEmpty();
12015    }
12016
12017    /**
12018     * @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
12019     */
12020    public ImplementationGuideDefinitionTemplateComponent setSourceElement(StringType value) { 
12021      this.source = value;
12022      return this;
12023    }
12024
12025    /**
12026     * @return The source location for the template.
12027     */
12028    public String getSource() { 
12029      return this.source == null ? null : this.source.getValue();
12030    }
12031
12032    /**
12033     * @param value The source location for the template.
12034     */
12035    public ImplementationGuideDefinitionTemplateComponent setSource(String value) { 
12036      if (this.source == null)
12037        this.source = new StringType();
12038      this.source.setValue(value);
12039      return this;
12040    }
12041
12042    /**
12043     * @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
12044     */
12045    public StringType getScopeElement() { 
12046      if (this.scope == null)
12047        if (Configuration.errorOnAutoCreate())
12048          throw new Error("Attempt to auto-create ImplementationGuideDefinitionTemplateComponent.scope");
12049        else if (Configuration.doAutoCreate())
12050          this.scope = new StringType(); // bb
12051      return this.scope;
12052    }
12053
12054    public boolean hasScopeElement() { 
12055      return this.scope != null && !this.scope.isEmpty();
12056    }
12057
12058    public boolean hasScope() { 
12059      return this.scope != null && !this.scope.isEmpty();
12060    }
12061
12062    /**
12063     * @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
12064     */
12065    public ImplementationGuideDefinitionTemplateComponent setScopeElement(StringType value) { 
12066      this.scope = value;
12067      return this;
12068    }
12069
12070    /**
12071     * @return The scope in which the template applies.
12072     */
12073    public String getScope() { 
12074      return this.scope == null ? null : this.scope.getValue();
12075    }
12076
12077    /**
12078     * @param value The scope in which the template applies.
12079     */
12080    public ImplementationGuideDefinitionTemplateComponent setScope(String value) { 
12081      if (Utilities.noString(value))
12082        this.scope = null;
12083      else {
12084        if (this.scope == null)
12085          this.scope = new StringType();
12086        this.scope.setValue(value);
12087      }
12088      return this;
12089    }
12090
12091    protected void listChildren(List<Property> children) {
12092      super.listChildren(children);
12093      children.add(new Property("code", "code", "Type of template specified.", 0, 1, code));
12094      children.add(new Property("source", "string", "The source location for the template.", 0, 1, source));
12095      children.add(new Property("scope", "string", "The scope in which the template applies.", 0, 1, scope));
12096    }
12097
12098    @Override
12099    public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
12100      switch (_hash) {
12101      case 3059181: /*code*/  return new Property("code", "code", "Type of template specified.", 0, 1, code);
12102      case -896505829: /*source*/  return new Property("source", "string", "The source location for the template.", 0, 1, source);
12103      case 109264468: /*scope*/  return new Property("scope", "string", "The scope in which the template applies.", 0, 1, scope);
12104      default: return super.getNamedProperty(_hash, _name, _checkValid);
12105      }
12106
12107    }
12108
12109    @Override
12110    public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
12111      switch (hash) {
12112      case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType
12113      case -896505829: /*source*/ return this.source == null ? new Base[0] : new Base[] {this.source}; // StringType
12114      case 109264468: /*scope*/ return this.scope == null ? new Base[0] : new Base[] {this.scope}; // StringType
12115      default: return super.getProperty(hash, name, checkValid);
12116      }
12117
12118    }
12119
12120    @Override
12121    public Base setProperty(int hash, String name, Base value) throws FHIRException {
12122      switch (hash) {
12123      case 3059181: // code
12124        this.code = TypeConvertor.castToCode(value); // CodeType
12125        return value;
12126      case -896505829: // source
12127        this.source = TypeConvertor.castToString(value); // StringType
12128        return value;
12129      case 109264468: // scope
12130        this.scope = TypeConvertor.castToString(value); // StringType
12131        return value;
12132      default: return super.setProperty(hash, name, value);
12133      }
12134
12135    }
12136
12137    @Override
12138    public Base setProperty(String name, Base value) throws FHIRException {
12139      if (name.equals("code")) {
12140        this.code = TypeConvertor.castToCode(value); // CodeType
12141      } else if (name.equals("source")) {
12142        this.source = TypeConvertor.castToString(value); // StringType
12143      } else if (name.equals("scope")) {
12144        this.scope = TypeConvertor.castToString(value); // StringType
12145      } else
12146        return super.setProperty(name, value);
12147      return value;
12148    }
12149
12150    @Override
12151    public Base makeProperty(int hash, String name) throws FHIRException {
12152      switch (hash) {
12153      case 3059181:  return getCodeElement();
12154      case -896505829:  return getSourceElement();
12155      case 109264468:  return getScopeElement();
12156      default: return super.makeProperty(hash, name);
12157      }
12158
12159    }
12160
12161    @Override
12162    public String[] getTypesForProperty(int hash, String name) throws FHIRException {
12163      switch (hash) {
12164      case 3059181: /*code*/ return new String[] {"code"};
12165      case -896505829: /*source*/ return new String[] {"string"};
12166      case 109264468: /*scope*/ return new String[] {"string"};
12167      default: return super.getTypesForProperty(hash, name);
12168      }
12169
12170    }
12171
12172    @Override
12173    public Base addChild(String name) throws FHIRException {
12174      if (name.equals("code")) {
12175        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.template.code");
12176      }
12177      else if (name.equals("source")) {
12178        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.template.source");
12179      }
12180      else if (name.equals("scope")) {
12181        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.definition.template.scope");
12182      }
12183      else
12184        return super.addChild(name);
12185    }
12186
12187    public ImplementationGuideDefinitionTemplateComponent copy() {
12188      ImplementationGuideDefinitionTemplateComponent dst = new ImplementationGuideDefinitionTemplateComponent();
12189      copyValues(dst);
12190      return dst;
12191    }
12192
12193    public void copyValues(ImplementationGuideDefinitionTemplateComponent dst) {
12194      super.copyValues(dst);
12195      dst.code = code == null ? null : code.copy();
12196      dst.source = source == null ? null : source.copy();
12197      dst.scope = scope == null ? null : scope.copy();
12198    }
12199
12200    @Override
12201    public boolean equalsDeep(Base other_) {
12202      if (!super.equalsDeep(other_))
12203        return false;
12204      if (!(other_ instanceof ImplementationGuideDefinitionTemplateComponent))
12205        return false;
12206      ImplementationGuideDefinitionTemplateComponent o = (ImplementationGuideDefinitionTemplateComponent) other_;
12207      return compareDeep(code, o.code, true) && compareDeep(source, o.source, true) && compareDeep(scope, o.scope, true)
12208          ;
12209    }
12210
12211    @Override
12212    public boolean equalsShallow(Base other_) {
12213      if (!super.equalsShallow(other_))
12214        return false;
12215      if (!(other_ instanceof ImplementationGuideDefinitionTemplateComponent))
12216        return false;
12217      ImplementationGuideDefinitionTemplateComponent o = (ImplementationGuideDefinitionTemplateComponent) other_;
12218      return compareValues(code, o.code, true) && compareValues(source, o.source, true) && compareValues(scope, o.scope, true)
12219          ;
12220    }
12221
12222    public boolean isEmpty() {
12223      return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, source, scope);
12224    }
12225
12226    public String fhirType() {
12227      return "ImplementationGuide.definition.template";
12228
12229    }
12230
12231  }
12232
12233  @Block()
12234  public static class ImplementationGuideManifestComponent extends BackboneElement implements IBaseBackboneElement {
12235    /**
12236     * A pointer to official web page, PDF or other rendering of the implementation guide.
12237     */
12238    @Child(name = "rendering", type = {UrlType.class}, order=1, min=0, max=1, modifier=false, summary=true)
12239    @Description(shortDefinition="Location of rendered implementation guide", formalDefinition="A pointer to official web page, PDF or other rendering of the implementation guide." )
12240    protected UrlType rendering;
12241
12242    /**
12243     * 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.
12244     */
12245    @Child(name = "resource", type = {}, order=2, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
12246    @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." )
12247    protected List<ManifestResourceComponent> resource;
12248
12249    /**
12250     * Information about a page within the IG.
12251     */
12252    @Child(name = "page", type = {}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
12253    @Description(shortDefinition="HTML page within the parent IG", formalDefinition="Information about a page within the IG." )
12254    protected List<ManifestPageComponent> page;
12255
12256    /**
12257     * Indicates a relative path to an image that exists within the IG.
12258     */
12259    @Child(name = "image", type = {StringType.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
12260    @Description(shortDefinition="Image within the IG", formalDefinition="Indicates a relative path to an image that exists within the IG." )
12261    protected List<StringType> image;
12262
12263    /**
12264     * 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.
12265     */
12266    @Child(name = "other", type = {StringType.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
12267    @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." )
12268    protected List<StringType> other;
12269
12270    private static final long serialVersionUID = 1881327712L;
12271
12272    /**
12273     * Constructor
12274     */
12275    public ImplementationGuideManifestComponent() {
12276      super();
12277    }
12278
12279    /**
12280     * Constructor
12281     */
12282    public ImplementationGuideManifestComponent(ManifestResourceComponent resource) {
12283      super();
12284      this.addResource(resource);
12285    }
12286
12287    /**
12288     * @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
12289     */
12290    public UrlType getRenderingElement() { 
12291      if (this.rendering == null)
12292        if (Configuration.errorOnAutoCreate())
12293          throw new Error("Attempt to auto-create ImplementationGuideManifestComponent.rendering");
12294        else if (Configuration.doAutoCreate())
12295          this.rendering = new UrlType(); // bb
12296      return this.rendering;
12297    }
12298
12299    public boolean hasRenderingElement() { 
12300      return this.rendering != null && !this.rendering.isEmpty();
12301    }
12302
12303    public boolean hasRendering() { 
12304      return this.rendering != null && !this.rendering.isEmpty();
12305    }
12306
12307    /**
12308     * @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
12309     */
12310    public ImplementationGuideManifestComponent setRenderingElement(UrlType value) { 
12311      this.rendering = value;
12312      return this;
12313    }
12314
12315    /**
12316     * @return A pointer to official web page, PDF or other rendering of the implementation guide.
12317     */
12318    public String getRendering() { 
12319      return this.rendering == null ? null : this.rendering.getValue();
12320    }
12321
12322    /**
12323     * @param value A pointer to official web page, PDF or other rendering of the implementation guide.
12324     */
12325    public ImplementationGuideManifestComponent setRendering(String value) { 
12326      if (Utilities.noString(value))
12327        this.rendering = null;
12328      else {
12329        if (this.rendering == null)
12330          this.rendering = new UrlType();
12331        this.rendering.setValue(value);
12332      }
12333      return this;
12334    }
12335
12336    /**
12337     * @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.)
12338     */
12339    public List<ManifestResourceComponent> getResource() { 
12340      if (this.resource == null)
12341        this.resource = new ArrayList<ManifestResourceComponent>();
12342      return this.resource;
12343    }
12344
12345    /**
12346     * @return Returns a reference to <code>this</code> for easy method chaining
12347     */
12348    public ImplementationGuideManifestComponent setResource(List<ManifestResourceComponent> theResource) { 
12349      this.resource = theResource;
12350      return this;
12351    }
12352
12353    public boolean hasResource() { 
12354      if (this.resource == null)
12355        return false;
12356      for (ManifestResourceComponent item : this.resource)
12357        if (!item.isEmpty())
12358          return true;
12359      return false;
12360    }
12361
12362    public ManifestResourceComponent addResource() { //3
12363      ManifestResourceComponent t = new ManifestResourceComponent();
12364      if (this.resource == null)
12365        this.resource = new ArrayList<ManifestResourceComponent>();
12366      this.resource.add(t);
12367      return t;
12368    }
12369
12370    public ImplementationGuideManifestComponent addResource(ManifestResourceComponent t) { //3
12371      if (t == null)
12372        return this;
12373      if (this.resource == null)
12374        this.resource = new ArrayList<ManifestResourceComponent>();
12375      this.resource.add(t);
12376      return this;
12377    }
12378
12379    /**
12380     * @return The first repetition of repeating field {@link #resource}, creating it if it does not already exist {3}
12381     */
12382    public ManifestResourceComponent getResourceFirstRep() { 
12383      if (getResource().isEmpty()) {
12384        addResource();
12385      }
12386      return getResource().get(0);
12387    }
12388
12389    /**
12390     * @return {@link #page} (Information about a page within the IG.)
12391     */
12392    public List<ManifestPageComponent> getPage() { 
12393      if (this.page == null)
12394        this.page = new ArrayList<ManifestPageComponent>();
12395      return this.page;
12396    }
12397
12398    /**
12399     * @return Returns a reference to <code>this</code> for easy method chaining
12400     */
12401    public ImplementationGuideManifestComponent setPage(List<ManifestPageComponent> thePage) { 
12402      this.page = thePage;
12403      return this;
12404    }
12405
12406    public boolean hasPage() { 
12407      if (this.page == null)
12408        return false;
12409      for (ManifestPageComponent item : this.page)
12410        if (!item.isEmpty())
12411          return true;
12412      return false;
12413    }
12414
12415    public ManifestPageComponent addPage() { //3
12416      ManifestPageComponent t = new ManifestPageComponent();
12417      if (this.page == null)
12418        this.page = new ArrayList<ManifestPageComponent>();
12419      this.page.add(t);
12420      return t;
12421    }
12422
12423    public ImplementationGuideManifestComponent addPage(ManifestPageComponent t) { //3
12424      if (t == null)
12425        return this;
12426      if (this.page == null)
12427        this.page = new ArrayList<ManifestPageComponent>();
12428      this.page.add(t);
12429      return this;
12430    }
12431
12432    /**
12433     * @return The first repetition of repeating field {@link #page}, creating it if it does not already exist {3}
12434     */
12435    public ManifestPageComponent getPageFirstRep() { 
12436      if (getPage().isEmpty()) {
12437        addPage();
12438      }
12439      return getPage().get(0);
12440    }
12441
12442    /**
12443     * @return {@link #image} (Indicates a relative path to an image that exists within the IG.)
12444     */
12445    public List<StringType> getImage() { 
12446      if (this.image == null)
12447        this.image = new ArrayList<StringType>();
12448      return this.image;
12449    }
12450
12451    /**
12452     * @return Returns a reference to <code>this</code> for easy method chaining
12453     */
12454    public ImplementationGuideManifestComponent setImage(List<StringType> theImage) { 
12455      this.image = theImage;
12456      return this;
12457    }
12458
12459    public boolean hasImage() { 
12460      if (this.image == null)
12461        return false;
12462      for (StringType item : this.image)
12463        if (!item.isEmpty())
12464          return true;
12465      return false;
12466    }
12467
12468    /**
12469     * @return {@link #image} (Indicates a relative path to an image that exists within the IG.)
12470     */
12471    public StringType addImageElement() {//2 
12472      StringType t = new StringType();
12473      if (this.image == null)
12474        this.image = new ArrayList<StringType>();
12475      this.image.add(t);
12476      return t;
12477    }
12478
12479    /**
12480     * @param value {@link #image} (Indicates a relative path to an image that exists within the IG.)
12481     */
12482    public ImplementationGuideManifestComponent addImage(String value) { //1
12483      StringType t = new StringType();
12484      t.setValue(value);
12485      if (this.image == null)
12486        this.image = new ArrayList<StringType>();
12487      this.image.add(t);
12488      return this;
12489    }
12490
12491    /**
12492     * @param value {@link #image} (Indicates a relative path to an image that exists within the IG.)
12493     */
12494    public boolean hasImage(String value) { 
12495      if (this.image == null)
12496        return false;
12497      for (StringType v : this.image)
12498        if (v.getValue().equals(value)) // string
12499          return true;
12500      return false;
12501    }
12502
12503    /**
12504     * @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.)
12505     */
12506    public List<StringType> getOther() { 
12507      if (this.other == null)
12508        this.other = new ArrayList<StringType>();
12509      return this.other;
12510    }
12511
12512    /**
12513     * @return Returns a reference to <code>this</code> for easy method chaining
12514     */
12515    public ImplementationGuideManifestComponent setOther(List<StringType> theOther) { 
12516      this.other = theOther;
12517      return this;
12518    }
12519
12520    public boolean hasOther() { 
12521      if (this.other == null)
12522        return false;
12523      for (StringType item : this.other)
12524        if (!item.isEmpty())
12525          return true;
12526      return false;
12527    }
12528
12529    /**
12530     * @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.)
12531     */
12532    public StringType addOtherElement() {//2 
12533      StringType t = new StringType();
12534      if (this.other == null)
12535        this.other = new ArrayList<StringType>();
12536      this.other.add(t);
12537      return t;
12538    }
12539
12540    /**
12541     * @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.)
12542     */
12543    public ImplementationGuideManifestComponent addOther(String value) { //1
12544      StringType t = new StringType();
12545      t.setValue(value);
12546      if (this.other == null)
12547        this.other = new ArrayList<StringType>();
12548      this.other.add(t);
12549      return this;
12550    }
12551
12552    /**
12553     * @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.)
12554     */
12555    public boolean hasOther(String value) { 
12556      if (this.other == null)
12557        return false;
12558      for (StringType v : this.other)
12559        if (v.getValue().equals(value)) // string
12560          return true;
12561      return false;
12562    }
12563
12564    protected void listChildren(List<Property> children) {
12565      super.listChildren(children);
12566      children.add(new Property("rendering", "url", "A pointer to official web page, PDF or other rendering of the implementation guide.", 0, 1, rendering));
12567      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));
12568      children.add(new Property("page", "", "Information about a page within the IG.", 0, java.lang.Integer.MAX_VALUE, page));
12569      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));
12570      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));
12571    }
12572
12573    @Override
12574    public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
12575      switch (_hash) {
12576      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);
12577      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);
12578      case 3433103: /*page*/  return new Property("page", "", "Information about a page within the IG.", 0, java.lang.Integer.MAX_VALUE, page);
12579      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);
12580      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);
12581      default: return super.getNamedProperty(_hash, _name, _checkValid);
12582      }
12583
12584    }
12585
12586    @Override
12587    public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
12588      switch (hash) {
12589      case 1839654540: /*rendering*/ return this.rendering == null ? new Base[0] : new Base[] {this.rendering}; // UrlType
12590      case -341064690: /*resource*/ return this.resource == null ? new Base[0] : this.resource.toArray(new Base[this.resource.size()]); // ManifestResourceComponent
12591      case 3433103: /*page*/ return this.page == null ? new Base[0] : this.page.toArray(new Base[this.page.size()]); // ManifestPageComponent
12592      case 100313435: /*image*/ return this.image == null ? new Base[0] : this.image.toArray(new Base[this.image.size()]); // StringType
12593      case 106069776: /*other*/ return this.other == null ? new Base[0] : this.other.toArray(new Base[this.other.size()]); // StringType
12594      default: return super.getProperty(hash, name, checkValid);
12595      }
12596
12597    }
12598
12599    @Override
12600    public Base setProperty(int hash, String name, Base value) throws FHIRException {
12601      switch (hash) {
12602      case 1839654540: // rendering
12603        this.rendering = TypeConvertor.castToUrl(value); // UrlType
12604        return value;
12605      case -341064690: // resource
12606        this.getResource().add((ManifestResourceComponent) value); // ManifestResourceComponent
12607        return value;
12608      case 3433103: // page
12609        this.getPage().add((ManifestPageComponent) value); // ManifestPageComponent
12610        return value;
12611      case 100313435: // image
12612        this.getImage().add(TypeConvertor.castToString(value)); // StringType
12613        return value;
12614      case 106069776: // other
12615        this.getOther().add(TypeConvertor.castToString(value)); // StringType
12616        return value;
12617      default: return super.setProperty(hash, name, value);
12618      }
12619
12620    }
12621
12622    @Override
12623    public Base setProperty(String name, Base value) throws FHIRException {
12624      if (name.equals("rendering")) {
12625        this.rendering = TypeConvertor.castToUrl(value); // UrlType
12626      } else if (name.equals("resource")) {
12627        this.getResource().add((ManifestResourceComponent) value);
12628      } else if (name.equals("page")) {
12629        this.getPage().add((ManifestPageComponent) value);
12630      } else if (name.equals("image")) {
12631        this.getImage().add(TypeConvertor.castToString(value));
12632      } else if (name.equals("other")) {
12633        this.getOther().add(TypeConvertor.castToString(value));
12634      } else
12635        return super.setProperty(name, value);
12636      return value;
12637    }
12638
12639    @Override
12640    public Base makeProperty(int hash, String name) throws FHIRException {
12641      switch (hash) {
12642      case 1839654540:  return getRenderingElement();
12643      case -341064690:  return addResource(); 
12644      case 3433103:  return addPage(); 
12645      case 100313435:  return addImageElement();
12646      case 106069776:  return addOtherElement();
12647      default: return super.makeProperty(hash, name);
12648      }
12649
12650    }
12651
12652    @Override
12653    public String[] getTypesForProperty(int hash, String name) throws FHIRException {
12654      switch (hash) {
12655      case 1839654540: /*rendering*/ return new String[] {"url"};
12656      case -341064690: /*resource*/ return new String[] {};
12657      case 3433103: /*page*/ return new String[] {};
12658      case 100313435: /*image*/ return new String[] {"string"};
12659      case 106069776: /*other*/ return new String[] {"string"};
12660      default: return super.getTypesForProperty(hash, name);
12661      }
12662
12663    }
12664
12665    @Override
12666    public Base addChild(String name) throws FHIRException {
12667      if (name.equals("rendering")) {
12668        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.manifest.rendering");
12669      }
12670      else if (name.equals("resource")) {
12671        return addResource();
12672      }
12673      else if (name.equals("page")) {
12674        return addPage();
12675      }
12676      else if (name.equals("image")) {
12677        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.manifest.image");
12678      }
12679      else if (name.equals("other")) {
12680        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.manifest.other");
12681      }
12682      else
12683        return super.addChild(name);
12684    }
12685
12686    public ImplementationGuideManifestComponent copy() {
12687      ImplementationGuideManifestComponent dst = new ImplementationGuideManifestComponent();
12688      copyValues(dst);
12689      return dst;
12690    }
12691
12692    public void copyValues(ImplementationGuideManifestComponent dst) {
12693      super.copyValues(dst);
12694      dst.rendering = rendering == null ? null : rendering.copy();
12695      if (resource != null) {
12696        dst.resource = new ArrayList<ManifestResourceComponent>();
12697        for (ManifestResourceComponent i : resource)
12698          dst.resource.add(i.copy());
12699      };
12700      if (page != null) {
12701        dst.page = new ArrayList<ManifestPageComponent>();
12702        for (ManifestPageComponent i : page)
12703          dst.page.add(i.copy());
12704      };
12705      if (image != null) {
12706        dst.image = new ArrayList<StringType>();
12707        for (StringType i : image)
12708          dst.image.add(i.copy());
12709      };
12710      if (other != null) {
12711        dst.other = new ArrayList<StringType>();
12712        for (StringType i : other)
12713          dst.other.add(i.copy());
12714      };
12715    }
12716
12717    @Override
12718    public boolean equalsDeep(Base other_) {
12719      if (!super.equalsDeep(other_))
12720        return false;
12721      if (!(other_ instanceof ImplementationGuideManifestComponent))
12722        return false;
12723      ImplementationGuideManifestComponent o = (ImplementationGuideManifestComponent) other_;
12724      return compareDeep(rendering, o.rendering, true) && compareDeep(resource, o.resource, true) && compareDeep(page, o.page, true)
12725          && compareDeep(image, o.image, true) && compareDeep(other, o.other, true);
12726    }
12727
12728    @Override
12729    public boolean equalsShallow(Base other_) {
12730      if (!super.equalsShallow(other_))
12731        return false;
12732      if (!(other_ instanceof ImplementationGuideManifestComponent))
12733        return false;
12734      ImplementationGuideManifestComponent o = (ImplementationGuideManifestComponent) other_;
12735      return compareValues(rendering, o.rendering, true) && compareValues(image, o.image, true) && compareValues(other, o.other, true)
12736          ;
12737    }
12738
12739    public boolean isEmpty() {
12740      return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(rendering, resource, page
12741          , image, other);
12742    }
12743
12744    public String fhirType() {
12745      return "ImplementationGuide.manifest";
12746
12747    }
12748
12749  }
12750
12751  @Block()
12752  public static class ManifestResourceComponent extends BackboneElement implements IBaseBackboneElement {
12753    /**
12754     * Where this resource is found.
12755     */
12756    @Child(name = "reference", type = {Reference.class}, order=1, min=1, max=1, modifier=false, summary=true)
12757    @Description(shortDefinition="Location of the resource", formalDefinition="Where this resource is found." )
12758    protected Reference reference;
12759
12760    /**
12761     * If true, indicates the resource is an example instance.
12762     */
12763    @Child(name = "isExample", type = {BooleanType.class}, order=2, min=0, max=1, modifier=false, summary=false)
12764    @Description(shortDefinition="Is this an example", formalDefinition="If true, indicates the resource is an example instance." )
12765    protected BooleanType isExample;
12766
12767    /**
12768     * If present, indicates profile(s) the instance is valid against.
12769     */
12770    @Child(name = "profile", type = {CanonicalType.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
12771    @Description(shortDefinition="Profile(s) this is an example of", formalDefinition="If present, indicates profile(s) the instance is valid against." )
12772    protected List<CanonicalType> profile;
12773
12774    /**
12775     * The relative path for primary page for this resource within the IG.
12776     */
12777    @Child(name = "relativePath", type = {UrlType.class}, order=4, min=0, max=1, modifier=false, summary=false)
12778    @Description(shortDefinition="Relative path for page in IG", formalDefinition="The relative path for primary page for this resource within the IG." )
12779    protected UrlType relativePath;
12780
12781    private static final long serialVersionUID = 66726063L;
12782
12783    /**
12784     * Constructor
12785     */
12786    public ManifestResourceComponent() {
12787      super();
12788    }
12789
12790    /**
12791     * Constructor
12792     */
12793    public ManifestResourceComponent(Reference reference) {
12794      super();
12795      this.setReference(reference);
12796    }
12797
12798    /**
12799     * @return {@link #reference} (Where this resource is found.)
12800     */
12801    public Reference getReference() { 
12802      if (this.reference == null)
12803        if (Configuration.errorOnAutoCreate())
12804          throw new Error("Attempt to auto-create ManifestResourceComponent.reference");
12805        else if (Configuration.doAutoCreate())
12806          this.reference = new Reference(); // cc
12807      return this.reference;
12808    }
12809
12810    public boolean hasReference() { 
12811      return this.reference != null && !this.reference.isEmpty();
12812    }
12813
12814    /**
12815     * @param value {@link #reference} (Where this resource is found.)
12816     */
12817    public ManifestResourceComponent setReference(Reference value) { 
12818      this.reference = value;
12819      return this;
12820    }
12821
12822    /**
12823     * @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
12824     */
12825    public BooleanType getIsExampleElement() { 
12826      if (this.isExample == null)
12827        if (Configuration.errorOnAutoCreate())
12828          throw new Error("Attempt to auto-create ManifestResourceComponent.isExample");
12829        else if (Configuration.doAutoCreate())
12830          this.isExample = new BooleanType(); // bb
12831      return this.isExample;
12832    }
12833
12834    public boolean hasIsExampleElement() { 
12835      return this.isExample != null && !this.isExample.isEmpty();
12836    }
12837
12838    public boolean hasIsExample() { 
12839      return this.isExample != null && !this.isExample.isEmpty();
12840    }
12841
12842    /**
12843     * @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
12844     */
12845    public ManifestResourceComponent setIsExampleElement(BooleanType value) { 
12846      this.isExample = value;
12847      return this;
12848    }
12849
12850    /**
12851     * @return If true, indicates the resource is an example instance.
12852     */
12853    public boolean getIsExample() { 
12854      return this.isExample == null || this.isExample.isEmpty() ? false : this.isExample.getValue();
12855    }
12856
12857    /**
12858     * @param value If true, indicates the resource is an example instance.
12859     */
12860    public ManifestResourceComponent setIsExample(boolean value) { 
12861      if (this.isExample == null)
12862        this.isExample = new BooleanType();
12863      this.isExample.setValue(value);
12864      return this;
12865    }
12866
12867    /**
12868     * @return {@link #profile} (If present, indicates profile(s) the instance is valid against.)
12869     */
12870    public List<CanonicalType> getProfile() { 
12871      if (this.profile == null)
12872        this.profile = new ArrayList<CanonicalType>();
12873      return this.profile;
12874    }
12875
12876    /**
12877     * @return Returns a reference to <code>this</code> for easy method chaining
12878     */
12879    public ManifestResourceComponent setProfile(List<CanonicalType> theProfile) { 
12880      this.profile = theProfile;
12881      return this;
12882    }
12883
12884    public boolean hasProfile() { 
12885      if (this.profile == null)
12886        return false;
12887      for (CanonicalType item : this.profile)
12888        if (!item.isEmpty())
12889          return true;
12890      return false;
12891    }
12892
12893    /**
12894     * @return {@link #profile} (If present, indicates profile(s) the instance is valid against.)
12895     */
12896    public CanonicalType addProfileElement() {//2 
12897      CanonicalType t = new CanonicalType();
12898      if (this.profile == null)
12899        this.profile = new ArrayList<CanonicalType>();
12900      this.profile.add(t);
12901      return t;
12902    }
12903
12904    /**
12905     * @param value {@link #profile} (If present, indicates profile(s) the instance is valid against.)
12906     */
12907    public ManifestResourceComponent addProfile(String value) { //1
12908      CanonicalType t = new CanonicalType();
12909      t.setValue(value);
12910      if (this.profile == null)
12911        this.profile = new ArrayList<CanonicalType>();
12912      this.profile.add(t);
12913      return this;
12914    }
12915
12916    /**
12917     * @param value {@link #profile} (If present, indicates profile(s) the instance is valid against.)
12918     */
12919    public boolean hasProfile(String value) { 
12920      if (this.profile == null)
12921        return false;
12922      for (CanonicalType v : this.profile)
12923        if (v.getValue().equals(value)) // canonical
12924          return true;
12925      return false;
12926    }
12927
12928    /**
12929     * @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
12930     */
12931    public UrlType getRelativePathElement() { 
12932      if (this.relativePath == null)
12933        if (Configuration.errorOnAutoCreate())
12934          throw new Error("Attempt to auto-create ManifestResourceComponent.relativePath");
12935        else if (Configuration.doAutoCreate())
12936          this.relativePath = new UrlType(); // bb
12937      return this.relativePath;
12938    }
12939
12940    public boolean hasRelativePathElement() { 
12941      return this.relativePath != null && !this.relativePath.isEmpty();
12942    }
12943
12944    public boolean hasRelativePath() { 
12945      return this.relativePath != null && !this.relativePath.isEmpty();
12946    }
12947
12948    /**
12949     * @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
12950     */
12951    public ManifestResourceComponent setRelativePathElement(UrlType value) { 
12952      this.relativePath = value;
12953      return this;
12954    }
12955
12956    /**
12957     * @return The relative path for primary page for this resource within the IG.
12958     */
12959    public String getRelativePath() { 
12960      return this.relativePath == null ? null : this.relativePath.getValue();
12961    }
12962
12963    /**
12964     * @param value The relative path for primary page for this resource within the IG.
12965     */
12966    public ManifestResourceComponent setRelativePath(String value) { 
12967      if (Utilities.noString(value))
12968        this.relativePath = null;
12969      else {
12970        if (this.relativePath == null)
12971          this.relativePath = new UrlType();
12972        this.relativePath.setValue(value);
12973      }
12974      return this;
12975    }
12976
12977    protected void listChildren(List<Property> children) {
12978      super.listChildren(children);
12979      children.add(new Property("reference", "Reference(Any)", "Where this resource is found.", 0, 1, reference));
12980      children.add(new Property("isExample", "boolean", "If true, indicates the resource is an example instance.", 0, 1, isExample));
12981      children.add(new Property("profile", "canonical(StructureDefinition)", "If present, indicates profile(s) the instance is valid against.", 0, java.lang.Integer.MAX_VALUE, profile));
12982      children.add(new Property("relativePath", "url", "The relative path for primary page for this resource within the IG.", 0, 1, relativePath));
12983    }
12984
12985    @Override
12986    public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
12987      switch (_hash) {
12988      case -925155509: /*reference*/  return new Property("reference", "Reference(Any)", "Where this resource is found.", 0, 1, reference);
12989      case -1902749472: /*isExample*/  return new Property("isExample", "boolean", "If true, indicates the resource is an example instance.", 0, 1, isExample);
12990      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);
12991      case -70808303: /*relativePath*/  return new Property("relativePath", "url", "The relative path for primary page for this resource within the IG.", 0, 1, relativePath);
12992      default: return super.getNamedProperty(_hash, _name, _checkValid);
12993      }
12994
12995    }
12996
12997    @Override
12998    public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
12999      switch (hash) {
13000      case -925155509: /*reference*/ return this.reference == null ? new Base[0] : new Base[] {this.reference}; // Reference
13001      case -1902749472: /*isExample*/ return this.isExample == null ? new Base[0] : new Base[] {this.isExample}; // BooleanType
13002      case -309425751: /*profile*/ return this.profile == null ? new Base[0] : this.profile.toArray(new Base[this.profile.size()]); // CanonicalType
13003      case -70808303: /*relativePath*/ return this.relativePath == null ? new Base[0] : new Base[] {this.relativePath}; // UrlType
13004      default: return super.getProperty(hash, name, checkValid);
13005      }
13006
13007    }
13008
13009    @Override
13010    public Base setProperty(int hash, String name, Base value) throws FHIRException {
13011      switch (hash) {
13012      case -925155509: // reference
13013        this.reference = TypeConvertor.castToReference(value); // Reference
13014        return value;
13015      case -1902749472: // isExample
13016        this.isExample = TypeConvertor.castToBoolean(value); // BooleanType
13017        return value;
13018      case -309425751: // profile
13019        this.getProfile().add(TypeConvertor.castToCanonical(value)); // CanonicalType
13020        return value;
13021      case -70808303: // relativePath
13022        this.relativePath = TypeConvertor.castToUrl(value); // UrlType
13023        return value;
13024      default: return super.setProperty(hash, name, value);
13025      }
13026
13027    }
13028
13029    @Override
13030    public Base setProperty(String name, Base value) throws FHIRException {
13031      if (name.equals("reference")) {
13032        this.reference = TypeConvertor.castToReference(value); // Reference
13033      } else if (name.equals("isExample")) {
13034        this.isExample = TypeConvertor.castToBoolean(value); // BooleanType
13035      } else if (name.equals("profile")) {
13036        this.getProfile().add(TypeConvertor.castToCanonical(value));
13037      } else if (name.equals("relativePath")) {
13038        this.relativePath = TypeConvertor.castToUrl(value); // UrlType
13039      } else
13040        return super.setProperty(name, value);
13041      return value;
13042    }
13043
13044    @Override
13045    public Base makeProperty(int hash, String name) throws FHIRException {
13046      switch (hash) {
13047      case -925155509:  return getReference();
13048      case -1902749472:  return getIsExampleElement();
13049      case -309425751:  return addProfileElement();
13050      case -70808303:  return getRelativePathElement();
13051      default: return super.makeProperty(hash, name);
13052      }
13053
13054    }
13055
13056    @Override
13057    public String[] getTypesForProperty(int hash, String name) throws FHIRException {
13058      switch (hash) {
13059      case -925155509: /*reference*/ return new String[] {"Reference"};
13060      case -1902749472: /*isExample*/ return new String[] {"boolean"};
13061      case -309425751: /*profile*/ return new String[] {"canonical"};
13062      case -70808303: /*relativePath*/ return new String[] {"url"};
13063      default: return super.getTypesForProperty(hash, name);
13064      }
13065
13066    }
13067
13068    @Override
13069    public Base addChild(String name) throws FHIRException {
13070      if (name.equals("reference")) {
13071        this.reference = new Reference();
13072        return this.reference;
13073      }
13074      else if (name.equals("isExample")) {
13075        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.manifest.resource.isExample");
13076      }
13077      else if (name.equals("profile")) {
13078        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.manifest.resource.profile");
13079      }
13080      else if (name.equals("relativePath")) {
13081        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.manifest.resource.relativePath");
13082      }
13083      else
13084        return super.addChild(name);
13085    }
13086
13087    public ManifestResourceComponent copy() {
13088      ManifestResourceComponent dst = new ManifestResourceComponent();
13089      copyValues(dst);
13090      return dst;
13091    }
13092
13093    public void copyValues(ManifestResourceComponent dst) {
13094      super.copyValues(dst);
13095      dst.reference = reference == null ? null : reference.copy();
13096      dst.isExample = isExample == null ? null : isExample.copy();
13097      if (profile != null) {
13098        dst.profile = new ArrayList<CanonicalType>();
13099        for (CanonicalType i : profile)
13100          dst.profile.add(i.copy());
13101      };
13102      dst.relativePath = relativePath == null ? null : relativePath.copy();
13103    }
13104
13105    @Override
13106    public boolean equalsDeep(Base other_) {
13107      if (!super.equalsDeep(other_))
13108        return false;
13109      if (!(other_ instanceof ManifestResourceComponent))
13110        return false;
13111      ManifestResourceComponent o = (ManifestResourceComponent) other_;
13112      return compareDeep(reference, o.reference, true) && compareDeep(isExample, o.isExample, true) && compareDeep(profile, o.profile, true)
13113          && compareDeep(relativePath, o.relativePath, true);
13114    }
13115
13116    @Override
13117    public boolean equalsShallow(Base other_) {
13118      if (!super.equalsShallow(other_))
13119        return false;
13120      if (!(other_ instanceof ManifestResourceComponent))
13121        return false;
13122      ManifestResourceComponent o = (ManifestResourceComponent) other_;
13123      return compareValues(isExample, o.isExample, true) && compareValues(profile, o.profile, true) && compareValues(relativePath, o.relativePath, true)
13124          ;
13125    }
13126
13127    public boolean isEmpty() {
13128      return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(reference, isExample, profile
13129          , relativePath);
13130    }
13131
13132    public String fhirType() {
13133      return "ImplementationGuide.manifest.resource";
13134
13135    }
13136
13137    // added from java-adornments.txt:
13138
13139    // end addition
13140  }
13141
13142  @Block()
13143  public static class ManifestPageComponent extends BackboneElement implements IBaseBackboneElement {
13144    /**
13145     * Relative path to the page.
13146     */
13147    @Child(name = "name", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false)
13148    @Description(shortDefinition="HTML page name", formalDefinition="Relative path to the page." )
13149    protected StringType name;
13150
13151    /**
13152     * Label for the page intended for human display.
13153     */
13154    @Child(name = "title", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false)
13155    @Description(shortDefinition="Title of the page, for references", formalDefinition="Label for the page intended for human display." )
13156    protected StringType title;
13157
13158    /**
13159     * The name of an anchor available on the page.
13160     */
13161    @Child(name = "anchor", type = {StringType.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
13162    @Description(shortDefinition="Anchor available on the page", formalDefinition="The name of an anchor available on the page." )
13163    protected List<StringType> anchor;
13164
13165    private static final long serialVersionUID = 1920576611L;
13166
13167    /**
13168     * Constructor
13169     */
13170    public ManifestPageComponent() {
13171      super();
13172    }
13173
13174    /**
13175     * Constructor
13176     */
13177    public ManifestPageComponent(String name) {
13178      super();
13179      this.setName(name);
13180    }
13181
13182    /**
13183     * @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
13184     */
13185    public StringType getNameElement() { 
13186      if (this.name == null)
13187        if (Configuration.errorOnAutoCreate())
13188          throw new Error("Attempt to auto-create ManifestPageComponent.name");
13189        else if (Configuration.doAutoCreate())
13190          this.name = new StringType(); // bb
13191      return this.name;
13192    }
13193
13194    public boolean hasNameElement() { 
13195      return this.name != null && !this.name.isEmpty();
13196    }
13197
13198    public boolean hasName() { 
13199      return this.name != null && !this.name.isEmpty();
13200    }
13201
13202    /**
13203     * @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
13204     */
13205    public ManifestPageComponent setNameElement(StringType value) { 
13206      this.name = value;
13207      return this;
13208    }
13209
13210    /**
13211     * @return Relative path to the page.
13212     */
13213    public String getName() { 
13214      return this.name == null ? null : this.name.getValue();
13215    }
13216
13217    /**
13218     * @param value Relative path to the page.
13219     */
13220    public ManifestPageComponent setName(String value) { 
13221      if (this.name == null)
13222        this.name = new StringType();
13223      this.name.setValue(value);
13224      return this;
13225    }
13226
13227    /**
13228     * @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
13229     */
13230    public StringType getTitleElement() { 
13231      if (this.title == null)
13232        if (Configuration.errorOnAutoCreate())
13233          throw new Error("Attempt to auto-create ManifestPageComponent.title");
13234        else if (Configuration.doAutoCreate())
13235          this.title = new StringType(); // bb
13236      return this.title;
13237    }
13238
13239    public boolean hasTitleElement() { 
13240      return this.title != null && !this.title.isEmpty();
13241    }
13242
13243    public boolean hasTitle() { 
13244      return this.title != null && !this.title.isEmpty();
13245    }
13246
13247    /**
13248     * @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
13249     */
13250    public ManifestPageComponent setTitleElement(StringType value) { 
13251      this.title = value;
13252      return this;
13253    }
13254
13255    /**
13256     * @return Label for the page intended for human display.
13257     */
13258    public String getTitle() { 
13259      return this.title == null ? null : this.title.getValue();
13260    }
13261
13262    /**
13263     * @param value Label for the page intended for human display.
13264     */
13265    public ManifestPageComponent setTitle(String value) { 
13266      if (Utilities.noString(value))
13267        this.title = null;
13268      else {
13269        if (this.title == null)
13270          this.title = new StringType();
13271        this.title.setValue(value);
13272      }
13273      return this;
13274    }
13275
13276    /**
13277     * @return {@link #anchor} (The name of an anchor available on the page.)
13278     */
13279    public List<StringType> getAnchor() { 
13280      if (this.anchor == null)
13281        this.anchor = new ArrayList<StringType>();
13282      return this.anchor;
13283    }
13284
13285    /**
13286     * @return Returns a reference to <code>this</code> for easy method chaining
13287     */
13288    public ManifestPageComponent setAnchor(List<StringType> theAnchor) { 
13289      this.anchor = theAnchor;
13290      return this;
13291    }
13292
13293    public boolean hasAnchor() { 
13294      if (this.anchor == null)
13295        return false;
13296      for (StringType item : this.anchor)
13297        if (!item.isEmpty())
13298          return true;
13299      return false;
13300    }
13301
13302    /**
13303     * @return {@link #anchor} (The name of an anchor available on the page.)
13304     */
13305    public StringType addAnchorElement() {//2 
13306      StringType t = new StringType();
13307      if (this.anchor == null)
13308        this.anchor = new ArrayList<StringType>();
13309      this.anchor.add(t);
13310      return t;
13311    }
13312
13313    /**
13314     * @param value {@link #anchor} (The name of an anchor available on the page.)
13315     */
13316    public ManifestPageComponent addAnchor(String value) { //1
13317      StringType t = new StringType();
13318      t.setValue(value);
13319      if (this.anchor == null)
13320        this.anchor = new ArrayList<StringType>();
13321      this.anchor.add(t);
13322      return this;
13323    }
13324
13325    /**
13326     * @param value {@link #anchor} (The name of an anchor available on the page.)
13327     */
13328    public boolean hasAnchor(String value) { 
13329      if (this.anchor == null)
13330        return false;
13331      for (StringType v : this.anchor)
13332        if (v.getValue().equals(value)) // string
13333          return true;
13334      return false;
13335    }
13336
13337    protected void listChildren(List<Property> children) {
13338      super.listChildren(children);
13339      children.add(new Property("name", "string", "Relative path to the page.", 0, 1, name));
13340      children.add(new Property("title", "string", "Label for the page intended for human display.", 0, 1, title));
13341      children.add(new Property("anchor", "string", "The name of an anchor available on the page.", 0, java.lang.Integer.MAX_VALUE, anchor));
13342    }
13343
13344    @Override
13345    public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
13346      switch (_hash) {
13347      case 3373707: /*name*/  return new Property("name", "string", "Relative path to the page.", 0, 1, name);
13348      case 110371416: /*title*/  return new Property("title", "string", "Label for the page intended for human display.", 0, 1, title);
13349      case -1413299531: /*anchor*/  return new Property("anchor", "string", "The name of an anchor available on the page.", 0, java.lang.Integer.MAX_VALUE, anchor);
13350      default: return super.getNamedProperty(_hash, _name, _checkValid);
13351      }
13352
13353    }
13354
13355    @Override
13356    public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
13357      switch (hash) {
13358      case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType
13359      case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType
13360      case -1413299531: /*anchor*/ return this.anchor == null ? new Base[0] : this.anchor.toArray(new Base[this.anchor.size()]); // StringType
13361      default: return super.getProperty(hash, name, checkValid);
13362      }
13363
13364    }
13365
13366    @Override
13367    public Base setProperty(int hash, String name, Base value) throws FHIRException {
13368      switch (hash) {
13369      case 3373707: // name
13370        this.name = TypeConvertor.castToString(value); // StringType
13371        return value;
13372      case 110371416: // title
13373        this.title = TypeConvertor.castToString(value); // StringType
13374        return value;
13375      case -1413299531: // anchor
13376        this.getAnchor().add(TypeConvertor.castToString(value)); // StringType
13377        return value;
13378      default: return super.setProperty(hash, name, value);
13379      }
13380
13381    }
13382
13383    @Override
13384    public Base setProperty(String name, Base value) throws FHIRException {
13385      if (name.equals("name")) {
13386        this.name = TypeConvertor.castToString(value); // StringType
13387      } else if (name.equals("title")) {
13388        this.title = TypeConvertor.castToString(value); // StringType
13389      } else if (name.equals("anchor")) {
13390        this.getAnchor().add(TypeConvertor.castToString(value));
13391      } else
13392        return super.setProperty(name, value);
13393      return value;
13394    }
13395
13396    @Override
13397    public Base makeProperty(int hash, String name) throws FHIRException {
13398      switch (hash) {
13399      case 3373707:  return getNameElement();
13400      case 110371416:  return getTitleElement();
13401      case -1413299531:  return addAnchorElement();
13402      default: return super.makeProperty(hash, name);
13403      }
13404
13405    }
13406
13407    @Override
13408    public String[] getTypesForProperty(int hash, String name) throws FHIRException {
13409      switch (hash) {
13410      case 3373707: /*name*/ return new String[] {"string"};
13411      case 110371416: /*title*/ return new String[] {"string"};
13412      case -1413299531: /*anchor*/ return new String[] {"string"};
13413      default: return super.getTypesForProperty(hash, name);
13414      }
13415
13416    }
13417
13418    @Override
13419    public Base addChild(String name) throws FHIRException {
13420      if (name.equals("name")) {
13421        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.manifest.page.name");
13422      }
13423      else if (name.equals("title")) {
13424        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.manifest.page.title");
13425      }
13426      else if (name.equals("anchor")) {
13427        throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.manifest.page.anchor");
13428      }
13429      else
13430        return super.addChild(name);
13431    }
13432
13433    public ManifestPageComponent copy() {
13434      ManifestPageComponent dst = new ManifestPageComponent();
13435      copyValues(dst);
13436      return dst;
13437    }
13438
13439    public void copyValues(ManifestPageComponent dst) {
13440      super.copyValues(dst);
13441      dst.name = name == null ? null : name.copy();
13442      dst.title = title == null ? null : title.copy();
13443      if (anchor != null) {
13444        dst.anchor = new ArrayList<StringType>();
13445        for (StringType i : anchor)
13446          dst.anchor.add(i.copy());
13447      };
13448    }
13449
13450    @Override
13451    public boolean equalsDeep(Base other_) {
13452      if (!super.equalsDeep(other_))
13453        return false;
13454      if (!(other_ instanceof ManifestPageComponent))
13455        return false;
13456      ManifestPageComponent o = (ManifestPageComponent) other_;
13457      return compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(anchor, o.anchor, true)
13458          ;
13459    }
13460
13461    @Override
13462    public boolean equalsShallow(Base other_) {
13463      if (!super.equalsShallow(other_))
13464        return false;
13465      if (!(other_ instanceof ManifestPageComponent))
13466        return false;
13467      ManifestPageComponent o = (ManifestPageComponent) other_;
13468      return compareValues(name, o.name, true) && compareValues(title, o.title, true) && compareValues(anchor, o.anchor, true)
13469          ;
13470    }
13471
13472    public boolean isEmpty() {
13473      return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(name, title, anchor);
13474    }
13475
13476    public String fhirType() {
13477      return "ImplementationGuide.manifest.page";
13478
13479    }
13480
13481  }
13482
13483  /**
13484   * 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.
13485   */
13486  @Child(name = "url", type = {UriType.class}, order=0, min=1, max=1, modifier=false, summary=true)
13487  @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." )
13488  protected UriType url;
13489
13490  /**
13491   * 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.
13492   */
13493  @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
13494  @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." )
13495  protected List<Identifier> identifier;
13496
13497  /**
13498   * 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.
13499   */
13500  @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true)
13501  @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." )
13502  protected StringType version;
13503
13504  /**
13505   * Indicates the mechanism used to compare versions to determine which is more current.
13506   */
13507  @Child(name = "versionAlgorithm", type = {StringType.class, Coding.class}, order=3, min=0, max=1, modifier=false, summary=true)
13508  @Description(shortDefinition="How to compare versions", formalDefinition="Indicates the mechanism used to compare versions to determine which is more current." )
13509  @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/version-algorithm")
13510  protected DataType versionAlgorithm;
13511
13512  /**
13513   * 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.
13514   */
13515  @Child(name = "name", type = {StringType.class}, order=4, min=1, max=1, modifier=false, summary=true)
13516  @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." )
13517  protected StringType name;
13518
13519  /**
13520   * A short, descriptive, user-friendly title for the implementation guide.
13521   */
13522  @Child(name = "title", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=true)
13523  @Description(shortDefinition="Name for this implementation guide (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the implementation guide." )
13524  protected StringType title;
13525
13526  /**
13527   * The status of this implementation guide. Enables tracking the life-cycle of the content.
13528   */
13529  @Child(name = "status", type = {CodeType.class}, order=6, min=1, max=1, modifier=true, summary=true)
13530  @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this implementation guide. Enables tracking the life-cycle of the content." )
13531  @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status")
13532  protected Enumeration<PublicationStatus> status;
13533
13534  /**
13535   * 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.
13536   */
13537  @Child(name = "experimental", type = {BooleanType.class}, order=7, min=0, max=1, modifier=false, summary=true)
13538  @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." )
13539  protected BooleanType experimental;
13540
13541  /**
13542   * 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.
13543   */
13544  @Child(name = "date", type = {DateTimeType.class}, order=8, min=0, max=1, modifier=false, summary=true)
13545  @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." )
13546  protected DateTimeType date;
13547
13548  /**
13549   * The name of the organization or individual responsible for the release and ongoing maintenance of the implementation guide.
13550   */
13551  @Child(name = "publisher", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=true)
13552  @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." )
13553  protected StringType publisher;
13554
13555  /**
13556   * Contact details to assist a user in finding and communicating with the publisher.
13557   */
13558  @Child(name = "contact", type = {ContactDetail.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
13559  @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." )
13560  protected List<ContactDetail> contact;
13561
13562  /**
13563   * A free text natural language description of the implementation guide from a consumer's perspective.
13564   */
13565  @Child(name = "description", type = {MarkdownType.class}, order=11, min=0, max=1, modifier=false, summary=false)
13566  @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." )
13567  protected MarkdownType description;
13568
13569  /**
13570   * 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.
13571   */
13572  @Child(name = "useContext", type = {UsageContext.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
13573  @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." )
13574  protected List<UsageContext> useContext;
13575
13576  /**
13577   * A legal or geographic region in which the implementation guide is intended to be used.
13578   */
13579  @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
13580  @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." )
13581  @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction")
13582  protected List<CodeableConcept> jurisdiction;
13583
13584  /**
13585   * Explanation of why this implementation guide is needed and why it has been designed as it has.
13586   */
13587  @Child(name = "purpose", type = {MarkdownType.class}, order=14, min=0, max=1, modifier=false, summary=false)
13588  @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." )
13589  protected MarkdownType purpose;
13590
13591  /**
13592   * 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.
13593   */
13594  @Child(name = "copyright", type = {MarkdownType.class}, order=15, min=0, max=1, modifier=false, summary=false)
13595  @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." )
13596  protected MarkdownType copyright;
13597
13598  /**
13599   * 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').
13600   */
13601  @Child(name = "copyrightLabel", type = {StringType.class}, order=16, min=0, max=1, modifier=false, summary=false)
13602  @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')." )
13603  protected StringType copyrightLabel;
13604
13605  /**
13606   * 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.
13607   */
13608  @Child(name = "packageId", type = {IdType.class}, order=17, min=1, max=1, modifier=false, summary=true)
13609  @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." )
13610  protected IdType packageId;
13611
13612  /**
13613   * The license that applies to this Implementation Guide, using an SPDX license code, or 'not-open-source'.
13614   */
13615  @Child(name = "license", type = {CodeType.class}, order=18, min=0, max=1, modifier=false, summary=true)
13616  @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'." )
13617  @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/spdx-license")
13618  protected Enumeration<SPDXLicense> license;
13619
13620  /**
13621   * 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.
13622   */
13623  @Child(name = "fhirVersion", type = {CodeType.class}, order=19, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
13624  @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." )
13625  @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/FHIR-version")
13626  protected List<Enumeration<FHIRVersion>> fhirVersion;
13627
13628  /**
13629   * Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guides.
13630   */
13631  @Child(name = "dependsOn", type = {}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
13632  @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." )
13633  protected List<ImplementationGuideDependsOnComponent> dependsOn;
13634
13635  /**
13636   * A set of profiles that all resources covered by this implementation guide must conform to.
13637   */
13638  @Child(name = "global", type = {}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
13639  @Description(shortDefinition="Profiles that apply globally", formalDefinition="A set of profiles that all resources covered by this implementation guide must conform to." )
13640  protected List<ImplementationGuideGlobalComponent> global;
13641
13642  /**
13643   * The information needed by an IG publisher tool to publish the whole implementation guide.
13644   */
13645  @Child(name = "definition", type = {}, order=22, min=0, max=1, modifier=false, summary=false)
13646  @Description(shortDefinition="Information needed to build the IG", formalDefinition="The information needed by an IG publisher tool to publish the whole implementation guide." )
13647  protected ImplementationGuideDefinitionComponent definition;
13648
13649  /**
13650   * Information about an assembled implementation guide, created by the publication tooling.
13651   */
13652  @Child(name = "manifest", type = {}, order=23, min=0, max=1, modifier=false, summary=false)
13653  @Description(shortDefinition="Information about an assembled IG", formalDefinition="Information about an assembled implementation guide, created by the publication tooling." )
13654  protected ImplementationGuideManifestComponent manifest;
13655
13656  private static final long serialVersionUID = 183592979L;
13657
13658  /**
13659   * Constructor
13660   */
13661  public ImplementationGuide() {
13662    super();
13663  }
13664
13665  /**
13666   * Constructor
13667   */
13668  public ImplementationGuide(String url, String name, PublicationStatus status, String packageId, FHIRVersion fhirVersion) {
13669    super();
13670    this.setUrl(url);
13671    this.setName(name);
13672    this.setStatus(status);
13673    this.setPackageId(packageId);
13674    this.addFhirVersion(fhirVersion);
13675  }
13676
13677  /**
13678   * @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
13679   */
13680  public UriType getUrlElement() { 
13681    if (this.url == null)
13682      if (Configuration.errorOnAutoCreate())
13683        throw new Error("Attempt to auto-create ImplementationGuide.url");
13684      else if (Configuration.doAutoCreate())
13685        this.url = new UriType(); // bb
13686    return this.url;
13687  }
13688
13689  public boolean hasUrlElement() { 
13690    return this.url != null && !this.url.isEmpty();
13691  }
13692
13693  public boolean hasUrl() { 
13694    return this.url != null && !this.url.isEmpty();
13695  }
13696
13697  /**
13698   * @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
13699   */
13700  public ImplementationGuide setUrlElement(UriType value) { 
13701    this.url = value;
13702    return this;
13703  }
13704
13705  /**
13706   * @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.
13707   */
13708  public String getUrl() { 
13709    return this.url == null ? null : this.url.getValue();
13710  }
13711
13712  /**
13713   * @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.
13714   */
13715  public ImplementationGuide setUrl(String value) { 
13716    if (this.url == null)
13717      this.url = new UriType();
13718    this.url.setValue(value);
13719    return this;
13720  }
13721
13722  /**
13723   * @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.)
13724   */
13725  public List<Identifier> getIdentifier() { 
13726    if (this.identifier == null)
13727      this.identifier = new ArrayList<Identifier>();
13728    return this.identifier;
13729  }
13730
13731  /**
13732   * @return Returns a reference to <code>this</code> for easy method chaining
13733   */
13734  public ImplementationGuide setIdentifier(List<Identifier> theIdentifier) { 
13735    this.identifier = theIdentifier;
13736    return this;
13737  }
13738
13739  public boolean hasIdentifier() { 
13740    if (this.identifier == null)
13741      return false;
13742    for (Identifier item : this.identifier)
13743      if (!item.isEmpty())
13744        return true;
13745    return false;
13746  }
13747
13748  public Identifier addIdentifier() { //3
13749    Identifier t = new Identifier();
13750    if (this.identifier == null)
13751      this.identifier = new ArrayList<Identifier>();
13752    this.identifier.add(t);
13753    return t;
13754  }
13755
13756  public ImplementationGuide addIdentifier(Identifier t) { //3
13757    if (t == null)
13758      return this;
13759    if (this.identifier == null)
13760      this.identifier = new ArrayList<Identifier>();
13761    this.identifier.add(t);
13762    return this;
13763  }
13764
13765  /**
13766   * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3}
13767   */
13768  public Identifier getIdentifierFirstRep() { 
13769    if (getIdentifier().isEmpty()) {
13770      addIdentifier();
13771    }
13772    return getIdentifier().get(0);
13773  }
13774
13775  /**
13776   * @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
13777   */
13778  public StringType getVersionElement() { 
13779    if (this.version == null)
13780      if (Configuration.errorOnAutoCreate())
13781        throw new Error("Attempt to auto-create ImplementationGuide.version");
13782      else if (Configuration.doAutoCreate())
13783        this.version = new StringType(); // bb
13784    return this.version;
13785  }
13786
13787  public boolean hasVersionElement() { 
13788    return this.version != null && !this.version.isEmpty();
13789  }
13790
13791  public boolean hasVersion() { 
13792    return this.version != null && !this.version.isEmpty();
13793  }
13794
13795  /**
13796   * @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
13797   */
13798  public ImplementationGuide setVersionElement(StringType value) { 
13799    this.version = value;
13800    return this;
13801  }
13802
13803  /**
13804   * @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.
13805   */
13806  public String getVersion() { 
13807    return this.version == null ? null : this.version.getValue();
13808  }
13809
13810  /**
13811   * @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.
13812   */
13813  public ImplementationGuide setVersion(String value) { 
13814    if (Utilities.noString(value))
13815      this.version = null;
13816    else {
13817      if (this.version == null)
13818        this.version = new StringType();
13819      this.version.setValue(value);
13820    }
13821    return this;
13822  }
13823
13824  /**
13825   * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.)
13826   */
13827  public DataType getVersionAlgorithm() { 
13828    return this.versionAlgorithm;
13829  }
13830
13831  /**
13832   * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.)
13833   */
13834  public StringType getVersionAlgorithmStringType() throws FHIRException { 
13835    if (this.versionAlgorithm == null)
13836      this.versionAlgorithm = new StringType();
13837    if (!(this.versionAlgorithm instanceof StringType))
13838      throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered");
13839    return (StringType) this.versionAlgorithm;
13840  }
13841
13842  public boolean hasVersionAlgorithmStringType() { 
13843    return this != null && this.versionAlgorithm instanceof StringType;
13844  }
13845
13846  /**
13847   * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.)
13848   */
13849  public Coding getVersionAlgorithmCoding() throws FHIRException { 
13850    if (this.versionAlgorithm == null)
13851      this.versionAlgorithm = new Coding();
13852    if (!(this.versionAlgorithm instanceof Coding))
13853      throw new FHIRException("Type mismatch: the type Coding was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered");
13854    return (Coding) this.versionAlgorithm;
13855  }
13856
13857  public boolean hasVersionAlgorithmCoding() { 
13858    return this != null && this.versionAlgorithm instanceof Coding;
13859  }
13860
13861  public boolean hasVersionAlgorithm() { 
13862    return this.versionAlgorithm != null && !this.versionAlgorithm.isEmpty();
13863  }
13864
13865  /**
13866   * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.)
13867   */
13868  public ImplementationGuide setVersionAlgorithm(DataType value) { 
13869    if (value != null && !(value instanceof StringType || value instanceof Coding))
13870      throw new FHIRException("Not the right type for ImplementationGuide.versionAlgorithm[x]: "+value.fhirType());
13871    this.versionAlgorithm = value;
13872    return this;
13873  }
13874
13875  /**
13876   * @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
13877   */
13878  public StringType getNameElement() { 
13879    if (this.name == null)
13880      if (Configuration.errorOnAutoCreate())
13881        throw new Error("Attempt to auto-create ImplementationGuide.name");
13882      else if (Configuration.doAutoCreate())
13883        this.name = new StringType(); // bb
13884    return this.name;
13885  }
13886
13887  public boolean hasNameElement() { 
13888    return this.name != null && !this.name.isEmpty();
13889  }
13890
13891  public boolean hasName() { 
13892    return this.name != null && !this.name.isEmpty();
13893  }
13894
13895  /**
13896   * @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
13897   */
13898  public ImplementationGuide setNameElement(StringType value) { 
13899    this.name = value;
13900    return this;
13901  }
13902
13903  /**
13904   * @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.
13905   */
13906  public String getName() { 
13907    return this.name == null ? null : this.name.getValue();
13908  }
13909
13910  /**
13911   * @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.
13912   */
13913  public ImplementationGuide setName(String value) { 
13914    if (this.name == null)
13915      this.name = new StringType();
13916    this.name.setValue(value);
13917    return this;
13918  }
13919
13920  /**
13921   * @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
13922   */
13923  public StringType getTitleElement() { 
13924    if (this.title == null)
13925      if (Configuration.errorOnAutoCreate())
13926        throw new Error("Attempt to auto-create ImplementationGuide.title");
13927      else if (Configuration.doAutoCreate())
13928        this.title = new StringType(); // bb
13929    return this.title;
13930  }
13931
13932  public boolean hasTitleElement() { 
13933    return this.title != null && !this.title.isEmpty();
13934  }
13935
13936  public boolean hasTitle() { 
13937    return this.title != null && !this.title.isEmpty();
13938  }
13939
13940  /**
13941   * @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
13942   */
13943  public ImplementationGuide setTitleElement(StringType value) { 
13944    this.title = value;
13945    return this;
13946  }
13947
13948  /**
13949   * @return A short, descriptive, user-friendly title for the implementation guide.
13950   */
13951  public String getTitle() { 
13952    return this.title == null ? null : this.title.getValue();
13953  }
13954
13955  /**
13956   * @param value A short, descriptive, user-friendly title for the implementation guide.
13957   */
13958  public ImplementationGuide setTitle(String value) { 
13959    if (Utilities.noString(value))
13960      this.title = null;
13961    else {
13962      if (this.title == null)
13963        this.title = new StringType();
13964      this.title.setValue(value);
13965    }
13966    return this;
13967  }
13968
13969  /**
13970   * @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
13971   */
13972  public Enumeration<PublicationStatus> getStatusElement() { 
13973    if (this.status == null)
13974      if (Configuration.errorOnAutoCreate())
13975        throw new Error("Attempt to auto-create ImplementationGuide.status");
13976      else if (Configuration.doAutoCreate())
13977        this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb
13978    return this.status;
13979  }
13980
13981  public boolean hasStatusElement() { 
13982    return this.status != null && !this.status.isEmpty();
13983  }
13984
13985  public boolean hasStatus() { 
13986    return this.status != null && !this.status.isEmpty();
13987  }
13988
13989  /**
13990   * @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
13991   */
13992  public ImplementationGuide setStatusElement(Enumeration<PublicationStatus> value) { 
13993    this.status = value;
13994    return this;
13995  }
13996
13997  /**
13998   * @return The status of this implementation guide. Enables tracking the life-cycle of the content.
13999   */
14000  public PublicationStatus getStatus() { 
14001    return this.status == null ? null : this.status.getValue();
14002  }
14003
14004  /**
14005   * @param value The status of this implementation guide. Enables tracking the life-cycle of the content.
14006   */
14007  public ImplementationGuide setStatus(PublicationStatus value) { 
14008    if (this.status == null)
14009      this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory());
14010    this.status.setValue(value);
14011    return this;
14012  }
14013
14014  /**
14015   * @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
14016   */
14017  public BooleanType getExperimentalElement() { 
14018    if (this.experimental == null)
14019      if (Configuration.errorOnAutoCreate())
14020        throw new Error("Attempt to auto-create ImplementationGuide.experimental");
14021      else if (Configuration.doAutoCreate())
14022        this.experimental = new BooleanType(); // bb
14023    return this.experimental;
14024  }
14025
14026  public boolean hasExperimentalElement() { 
14027    return this.experimental != null && !this.experimental.isEmpty();
14028  }
14029
14030  public boolean hasExperimental() { 
14031    return this.experimental != null && !this.experimental.isEmpty();
14032  }
14033
14034  /**
14035   * @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
14036   */
14037  public ImplementationGuide setExperimentalElement(BooleanType value) { 
14038    this.experimental = value;
14039    return this;
14040  }
14041
14042  /**
14043   * @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.
14044   */
14045  public boolean getExperimental() { 
14046    return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue();
14047  }
14048
14049  /**
14050   * @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.
14051   */
14052  public ImplementationGuide setExperimental(boolean value) { 
14053    if (this.experimental == null)
14054      this.experimental = new BooleanType();
14055    this.experimental.setValue(value);
14056    return this;
14057  }
14058
14059  /**
14060   * @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
14061   */
14062  public DateTimeType getDateElement() { 
14063    if (this.date == null)
14064      if (Configuration.errorOnAutoCreate())
14065        throw new Error("Attempt to auto-create ImplementationGuide.date");
14066      else if (Configuration.doAutoCreate())
14067        this.date = new DateTimeType(); // bb
14068    return this.date;
14069  }
14070
14071  public boolean hasDateElement() { 
14072    return this.date != null && !this.date.isEmpty();
14073  }
14074
14075  public boolean hasDate() { 
14076    return this.date != null && !this.date.isEmpty();
14077  }
14078
14079  /**
14080   * @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
14081   */
14082  public ImplementationGuide setDateElement(DateTimeType value) { 
14083    this.date = value;
14084    return this;
14085  }
14086
14087  /**
14088   * @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.
14089   */
14090  public Date getDate() { 
14091    return this.date == null ? null : this.date.getValue();
14092  }
14093
14094  /**
14095   * @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.
14096   */
14097  public ImplementationGuide setDate(Date value) { 
14098    if (value == null)
14099      this.date = null;
14100    else {
14101      if (this.date == null)
14102        this.date = new DateTimeType();
14103      this.date.setValue(value);
14104    }
14105    return this;
14106  }
14107
14108  /**
14109   * @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
14110   */
14111  public StringType getPublisherElement() { 
14112    if (this.publisher == null)
14113      if (Configuration.errorOnAutoCreate())
14114        throw new Error("Attempt to auto-create ImplementationGuide.publisher");
14115      else if (Configuration.doAutoCreate())
14116        this.publisher = new StringType(); // bb
14117    return this.publisher;
14118  }
14119
14120  public boolean hasPublisherElement() { 
14121    return this.publisher != null && !this.publisher.isEmpty();
14122  }
14123
14124  public boolean hasPublisher() { 
14125    return this.publisher != null && !this.publisher.isEmpty();
14126  }
14127
14128  /**
14129   * @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
14130   */
14131  public ImplementationGuide setPublisherElement(StringType value) { 
14132    this.publisher = value;
14133    return this;
14134  }
14135
14136  /**
14137   * @return The name of the organization or individual responsible for the release and ongoing maintenance of the implementation guide.
14138   */
14139  public String getPublisher() { 
14140    return this.publisher == null ? null : this.publisher.getValue();
14141  }
14142
14143  /**
14144   * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the implementation guide.
14145   */
14146  public ImplementationGuide setPublisher(String value) { 
14147    if (Utilities.noString(value))
14148      this.publisher = null;
14149    else {
14150      if (this.publisher == null)
14151        this.publisher = new StringType();
14152      this.publisher.setValue(value);
14153    }
14154    return this;
14155  }
14156
14157  /**
14158   * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.)
14159   */
14160  public List<ContactDetail> getContact() { 
14161    if (this.contact == null)
14162      this.contact = new ArrayList<ContactDetail>();
14163    return this.contact;
14164  }
14165
14166  /**
14167   * @return Returns a reference to <code>this</code> for easy method chaining
14168   */
14169  public ImplementationGuide setContact(List<ContactDetail> theContact) { 
14170    this.contact = theContact;
14171    return this;
14172  }
14173
14174  public boolean hasContact() { 
14175    if (this.contact == null)
14176      return false;
14177    for (ContactDetail item : this.contact)
14178      if (!item.isEmpty())
14179        return true;
14180    return false;
14181  }
14182
14183  public ContactDetail addContact() { //3
14184    ContactDetail t = new ContactDetail();
14185    if (this.contact == null)
14186      this.contact = new ArrayList<ContactDetail>();
14187    this.contact.add(t);
14188    return t;
14189  }
14190
14191  public ImplementationGuide addContact(ContactDetail t) { //3
14192    if (t == null)
14193      return this;
14194    if (this.contact == null)
14195      this.contact = new ArrayList<ContactDetail>();
14196    this.contact.add(t);
14197    return this;
14198  }
14199
14200  /**
14201   * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist {3}
14202   */
14203  public ContactDetail getContactFirstRep() { 
14204    if (getContact().isEmpty()) {
14205      addContact();
14206    }
14207    return getContact().get(0);
14208  }
14209
14210  /**
14211   * @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
14212   */
14213  public MarkdownType getDescriptionElement() { 
14214    if (this.description == null)
14215      if (Configuration.errorOnAutoCreate())
14216        throw new Error("Attempt to auto-create ImplementationGuide.description");
14217      else if (Configuration.doAutoCreate())
14218        this.description = new MarkdownType(); // bb
14219    return this.description;
14220  }
14221
14222  public boolean hasDescriptionElement() { 
14223    return this.description != null && !this.description.isEmpty();
14224  }
14225
14226  public boolean hasDescription() { 
14227    return this.description != null && !this.description.isEmpty();
14228  }
14229
14230  /**
14231   * @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
14232   */
14233  public ImplementationGuide setDescriptionElement(MarkdownType value) { 
14234    this.description = value;
14235    return this;
14236  }
14237
14238  /**
14239   * @return A free text natural language description of the implementation guide from a consumer's perspective.
14240   */
14241  public String getDescription() { 
14242    return this.description == null ? null : this.description.getValue();
14243  }
14244
14245  /**
14246   * @param value A free text natural language description of the implementation guide from a consumer's perspective.
14247   */
14248  public ImplementationGuide setDescription(String value) { 
14249    if (Utilities.noString(value))
14250      this.description = null;
14251    else {
14252      if (this.description == null)
14253        this.description = new MarkdownType();
14254      this.description.setValue(value);
14255    }
14256    return this;
14257  }
14258
14259  /**
14260   * @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.)
14261   */
14262  public List<UsageContext> getUseContext() { 
14263    if (this.useContext == null)
14264      this.useContext = new ArrayList<UsageContext>();
14265    return this.useContext;
14266  }
14267
14268  /**
14269   * @return Returns a reference to <code>this</code> for easy method chaining
14270   */
14271  public ImplementationGuide setUseContext(List<UsageContext> theUseContext) { 
14272    this.useContext = theUseContext;
14273    return this;
14274  }
14275
14276  public boolean hasUseContext() { 
14277    if (this.useContext == null)
14278      return false;
14279    for (UsageContext item : this.useContext)
14280      if (!item.isEmpty())
14281        return true;
14282    return false;
14283  }
14284
14285  public UsageContext addUseContext() { //3
14286    UsageContext t = new UsageContext();
14287    if (this.useContext == null)
14288      this.useContext = new ArrayList<UsageContext>();
14289    this.useContext.add(t);
14290    return t;
14291  }
14292
14293  public ImplementationGuide addUseContext(UsageContext t) { //3
14294    if (t == null)
14295      return this;
14296    if (this.useContext == null)
14297      this.useContext = new ArrayList<UsageContext>();
14298    this.useContext.add(t);
14299    return this;
14300  }
14301
14302  /**
14303   * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist {3}
14304   */
14305  public UsageContext getUseContextFirstRep() { 
14306    if (getUseContext().isEmpty()) {
14307      addUseContext();
14308    }
14309    return getUseContext().get(0);
14310  }
14311
14312  /**
14313   * @return {@link #jurisdiction} (A legal or geographic region in which the implementation guide is intended to be used.)
14314   */
14315  public List<CodeableConcept> getJurisdiction() { 
14316    if (this.jurisdiction == null)
14317      this.jurisdiction = new ArrayList<CodeableConcept>();
14318    return this.jurisdiction;
14319  }
14320
14321  /**
14322   * @return Returns a reference to <code>this</code> for easy method chaining
14323   */
14324  public ImplementationGuide setJurisdiction(List<CodeableConcept> theJurisdiction) { 
14325    this.jurisdiction = theJurisdiction;
14326    return this;
14327  }
14328
14329  public boolean hasJurisdiction() { 
14330    if (this.jurisdiction == null)
14331      return false;
14332    for (CodeableConcept item : this.jurisdiction)
14333      if (!item.isEmpty())
14334        return true;
14335    return false;
14336  }
14337
14338  public CodeableConcept addJurisdiction() { //3
14339    CodeableConcept t = new CodeableConcept();
14340    if (this.jurisdiction == null)
14341      this.jurisdiction = new ArrayList<CodeableConcept>();
14342    this.jurisdiction.add(t);
14343    return t;
14344  }
14345
14346  public ImplementationGuide addJurisdiction(CodeableConcept t) { //3
14347    if (t == null)
14348      return this;
14349    if (this.jurisdiction == null)
14350      this.jurisdiction = new ArrayList<CodeableConcept>();
14351    this.jurisdiction.add(t);
14352    return this;
14353  }
14354
14355  /**
14356   * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {3}
14357   */
14358  public CodeableConcept getJurisdictionFirstRep() { 
14359    if (getJurisdiction().isEmpty()) {
14360      addJurisdiction();
14361    }
14362    return getJurisdiction().get(0);
14363  }
14364
14365  /**
14366   * @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
14367   */
14368  public MarkdownType getPurposeElement() { 
14369    if (this.purpose == null)
14370      if (Configuration.errorOnAutoCreate())
14371        throw new Error("Attempt to auto-create ImplementationGuide.purpose");
14372      else if (Configuration.doAutoCreate())
14373        this.purpose = new MarkdownType(); // bb
14374    return this.purpose;
14375  }
14376
14377  public boolean hasPurposeElement() { 
14378    return this.purpose != null && !this.purpose.isEmpty();
14379  }
14380
14381  public boolean hasPurpose() { 
14382    return this.purpose != null && !this.purpose.isEmpty();
14383  }
14384
14385  /**
14386   * @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
14387   */
14388  public ImplementationGuide setPurposeElement(MarkdownType value) { 
14389    this.purpose = value;
14390    return this;
14391  }
14392
14393  /**
14394   * @return Explanation of why this implementation guide is needed and why it has been designed as it has.
14395   */
14396  public String getPurpose() { 
14397    return this.purpose == null ? null : this.purpose.getValue();
14398  }
14399
14400  /**
14401   * @param value Explanation of why this implementation guide is needed and why it has been designed as it has.
14402   */
14403  public ImplementationGuide setPurpose(String value) { 
14404    if (Utilities.noString(value))
14405      this.purpose = null;
14406    else {
14407      if (this.purpose == null)
14408        this.purpose = new MarkdownType();
14409      this.purpose.setValue(value);
14410    }
14411    return this;
14412  }
14413
14414  /**
14415   * @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
14416   */
14417  public MarkdownType getCopyrightElement() { 
14418    if (this.copyright == null)
14419      if (Configuration.errorOnAutoCreate())
14420        throw new Error("Attempt to auto-create ImplementationGuide.copyright");
14421      else if (Configuration.doAutoCreate())
14422        this.copyright = new MarkdownType(); // bb
14423    return this.copyright;
14424  }
14425
14426  public boolean hasCopyrightElement() { 
14427    return this.copyright != null && !this.copyright.isEmpty();
14428  }
14429
14430  public boolean hasCopyright() { 
14431    return this.copyright != null && !this.copyright.isEmpty();
14432  }
14433
14434  /**
14435   * @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
14436   */
14437  public ImplementationGuide setCopyrightElement(MarkdownType value) { 
14438    this.copyright = value;
14439    return this;
14440  }
14441
14442  /**
14443   * @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.
14444   */
14445  public String getCopyright() { 
14446    return this.copyright == null ? null : this.copyright.getValue();
14447  }
14448
14449  /**
14450   * @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.
14451   */
14452  public ImplementationGuide setCopyright(String value) { 
14453    if (Utilities.noString(value))
14454      this.copyright = null;
14455    else {
14456      if (this.copyright == null)
14457        this.copyright = new MarkdownType();
14458      this.copyright.setValue(value);
14459    }
14460    return this;
14461  }
14462
14463  /**
14464   * @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
14465   */
14466  public StringType getCopyrightLabelElement() { 
14467    if (this.copyrightLabel == null)
14468      if (Configuration.errorOnAutoCreate())
14469        throw new Error("Attempt to auto-create ImplementationGuide.copyrightLabel");
14470      else if (Configuration.doAutoCreate())
14471        this.copyrightLabel = new StringType(); // bb
14472    return this.copyrightLabel;
14473  }
14474
14475  public boolean hasCopyrightLabelElement() { 
14476    return this.copyrightLabel != null && !this.copyrightLabel.isEmpty();
14477  }
14478
14479  public boolean hasCopyrightLabel() { 
14480    return this.copyrightLabel != null && !this.copyrightLabel.isEmpty();
14481  }
14482
14483  /**
14484   * @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
14485   */
14486  public ImplementationGuide setCopyrightLabelElement(StringType value) { 
14487    this.copyrightLabel = value;
14488    return this;
14489  }
14490
14491  /**
14492   * @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').
14493   */
14494  public String getCopyrightLabel() { 
14495    return this.copyrightLabel == null ? null : this.copyrightLabel.getValue();
14496  }
14497
14498  /**
14499   * @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').
14500   */
14501  public ImplementationGuide setCopyrightLabel(String value) { 
14502    if (Utilities.noString(value))
14503      this.copyrightLabel = null;
14504    else {
14505      if (this.copyrightLabel == null)
14506        this.copyrightLabel = new StringType();
14507      this.copyrightLabel.setValue(value);
14508    }
14509    return this;
14510  }
14511
14512  /**
14513   * @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
14514   */
14515  public IdType getPackageIdElement() { 
14516    if (this.packageId == null)
14517      if (Configuration.errorOnAutoCreate())
14518        throw new Error("Attempt to auto-create ImplementationGuide.packageId");
14519      else if (Configuration.doAutoCreate())
14520        this.packageId = new IdType(); // bb
14521    return this.packageId;
14522  }
14523
14524  public boolean hasPackageIdElement() { 
14525    return this.packageId != null && !this.packageId.isEmpty();
14526  }
14527
14528  public boolean hasPackageId() { 
14529    return this.packageId != null && !this.packageId.isEmpty();
14530  }
14531
14532  /**
14533   * @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
14534   */
14535  public ImplementationGuide setPackageIdElement(IdType value) { 
14536    this.packageId = value;
14537    return this;
14538  }
14539
14540  /**
14541   * @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.
14542   */
14543  public String getPackageId() { 
14544    return this.packageId == null ? null : this.packageId.getValue();
14545  }
14546
14547  /**
14548   * @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.
14549   */
14550  public ImplementationGuide setPackageId(String value) { 
14551    if (this.packageId == null)
14552      this.packageId = new IdType();
14553    this.packageId.setValue(value);
14554    return this;
14555  }
14556
14557  /**
14558   * @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
14559   */
14560  public Enumeration<SPDXLicense> getLicenseElement() { 
14561    if (this.license == null)
14562      if (Configuration.errorOnAutoCreate())
14563        throw new Error("Attempt to auto-create ImplementationGuide.license");
14564      else if (Configuration.doAutoCreate())
14565        this.license = new Enumeration<SPDXLicense>(new SPDXLicenseEnumFactory()); // bb
14566    return this.license;
14567  }
14568
14569  public boolean hasLicenseElement() { 
14570    return this.license != null && !this.license.isEmpty();
14571  }
14572
14573  public boolean hasLicense() { 
14574    return this.license != null && !this.license.isEmpty();
14575  }
14576
14577  /**
14578   * @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
14579   */
14580  public ImplementationGuide setLicenseElement(Enumeration<SPDXLicense> value) { 
14581    this.license = value;
14582    return this;
14583  }
14584
14585  /**
14586   * @return The license that applies to this Implementation Guide, using an SPDX license code, or 'not-open-source'.
14587   */
14588  public SPDXLicense getLicense() { 
14589    return this.license == null ? null : this.license.getValue();
14590  }
14591
14592  /**
14593   * @param value The license that applies to this Implementation Guide, using an SPDX license code, or 'not-open-source'.
14594   */
14595  public ImplementationGuide setLicense(SPDXLicense value) { 
14596    if (value == null)
14597      this.license = null;
14598    else {
14599      if (this.license == null)
14600        this.license = new Enumeration<SPDXLicense>(new SPDXLicenseEnumFactory());
14601      this.license.setValue(value);
14602    }
14603    return this;
14604  }
14605
14606  /**
14607   * @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.)
14608   */
14609  public List<Enumeration<FHIRVersion>> getFhirVersion() { 
14610    if (this.fhirVersion == null)
14611      this.fhirVersion = new ArrayList<Enumeration<FHIRVersion>>();
14612    return this.fhirVersion;
14613  }
14614
14615  /**
14616   * @return Returns a reference to <code>this</code> for easy method chaining
14617   */
14618  public ImplementationGuide setFhirVersion(List<Enumeration<FHIRVersion>> theFhirVersion) { 
14619    this.fhirVersion = theFhirVersion;
14620    return this;
14621  }
14622
14623  public boolean hasFhirVersion() { 
14624    if (this.fhirVersion == null)
14625      return false;
14626    for (Enumeration<FHIRVersion> item : this.fhirVersion)
14627      if (!item.isEmpty())
14628        return true;
14629    return false;
14630  }
14631
14632  /**
14633   * @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.)
14634   */
14635  public Enumeration<FHIRVersion> addFhirVersionElement() {//2 
14636    Enumeration<FHIRVersion> t = new Enumeration<FHIRVersion>(new FHIRVersionEnumFactory());
14637    if (this.fhirVersion == null)
14638      this.fhirVersion = new ArrayList<Enumeration<FHIRVersion>>();
14639    this.fhirVersion.add(t);
14640    return t;
14641  }
14642
14643  /**
14644   * @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.)
14645   */
14646  public ImplementationGuide addFhirVersion(FHIRVersion value) { //1
14647    Enumeration<FHIRVersion> t = new Enumeration<FHIRVersion>(new FHIRVersionEnumFactory());
14648    t.setValue(value);
14649    if (this.fhirVersion == null)
14650      this.fhirVersion = new ArrayList<Enumeration<FHIRVersion>>();
14651    this.fhirVersion.add(t);
14652    return this;
14653  }
14654
14655  /**
14656   * @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.)
14657   */
14658  public boolean hasFhirVersion(FHIRVersion value) { 
14659    if (this.fhirVersion == null)
14660      return false;
14661    for (Enumeration<FHIRVersion> v : this.fhirVersion)
14662      if (v.getValue().equals(value)) // code
14663        return true;
14664    return false;
14665  }
14666
14667  /**
14668   * @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.)
14669   */
14670  public List<ImplementationGuideDependsOnComponent> getDependsOn() { 
14671    if (this.dependsOn == null)
14672      this.dependsOn = new ArrayList<ImplementationGuideDependsOnComponent>();
14673    return this.dependsOn;
14674  }
14675
14676  /**
14677   * @return Returns a reference to <code>this</code> for easy method chaining
14678   */
14679  public ImplementationGuide setDependsOn(List<ImplementationGuideDependsOnComponent> theDependsOn) { 
14680    this.dependsOn = theDependsOn;
14681    return this;
14682  }
14683
14684  public boolean hasDependsOn() { 
14685    if (this.dependsOn == null)
14686      return false;
14687    for (ImplementationGuideDependsOnComponent item : this.dependsOn)
14688      if (!item.isEmpty())
14689        return true;
14690    return false;
14691  }
14692
14693  public ImplementationGuideDependsOnComponent addDependsOn() { //3
14694    ImplementationGuideDependsOnComponent t = new ImplementationGuideDependsOnComponent();
14695    if (this.dependsOn == null)
14696      this.dependsOn = new ArrayList<ImplementationGuideDependsOnComponent>();
14697    this.dependsOn.add(t);
14698    return t;
14699  }
14700
14701  public ImplementationGuide addDependsOn(ImplementationGuideDependsOnComponent t) { //3
14702    if (t == null)
14703      return this;
14704    if (this.dependsOn == null)
14705      this.dependsOn = new ArrayList<ImplementationGuideDependsOnComponent>();
14706    this.dependsOn.add(t);
14707    return this;
14708  }
14709
14710  /**
14711   * @return The first repetition of repeating field {@link #dependsOn}, creating it if it does not already exist {3}
14712   */
14713  public ImplementationGuideDependsOnComponent getDependsOnFirstRep() { 
14714    if (getDependsOn().isEmpty()) {
14715      addDependsOn();
14716    }
14717    return getDependsOn().get(0);
14718  }
14719
14720  /**
14721   * @return {@link #global} (A set of profiles that all resources covered by this implementation guide must conform to.)
14722   */
14723  public List<ImplementationGuideGlobalComponent> getGlobal() { 
14724    if (this.global == null)
14725      this.global = new ArrayList<ImplementationGuideGlobalComponent>();
14726    return this.global;
14727  }
14728
14729  /**
14730   * @return Returns a reference to <code>this</code> for easy method chaining
14731   */
14732  public ImplementationGuide setGlobal(List<ImplementationGuideGlobalComponent> theGlobal) { 
14733    this.global = theGlobal;
14734    return this;
14735  }
14736
14737  public boolean hasGlobal() { 
14738    if (this.global == null)
14739      return false;
14740    for (ImplementationGuideGlobalComponent item : this.global)
14741      if (!item.isEmpty())
14742        return true;
14743    return false;
14744  }
14745
14746  public ImplementationGuideGlobalComponent addGlobal() { //3
14747    ImplementationGuideGlobalComponent t = new ImplementationGuideGlobalComponent();
14748    if (this.global == null)
14749      this.global = new ArrayList<ImplementationGuideGlobalComponent>();
14750    this.global.add(t);
14751    return t;
14752  }
14753
14754  public ImplementationGuide addGlobal(ImplementationGuideGlobalComponent t) { //3
14755    if (t == null)
14756      return this;
14757    if (this.global == null)
14758      this.global = new ArrayList<ImplementationGuideGlobalComponent>();
14759    this.global.add(t);
14760    return this;
14761  }
14762
14763  /**
14764   * @return The first repetition of repeating field {@link #global}, creating it if it does not already exist {3}
14765   */
14766  public ImplementationGuideGlobalComponent getGlobalFirstRep() { 
14767    if (getGlobal().isEmpty()) {
14768      addGlobal();
14769    }
14770    return getGlobal().get(0);
14771  }
14772
14773  /**
14774   * @return {@link #definition} (The information needed by an IG publisher tool to publish the whole implementation guide.)
14775   */
14776  public ImplementationGuideDefinitionComponent getDefinition() { 
14777    if (this.definition == null)
14778      if (Configuration.errorOnAutoCreate())
14779        throw new Error("Attempt to auto-create ImplementationGuide.definition");
14780      else if (Configuration.doAutoCreate())
14781        this.definition = new ImplementationGuideDefinitionComponent(); // cc
14782    return this.definition;
14783  }
14784
14785  public boolean hasDefinition() { 
14786    return this.definition != null && !this.definition.isEmpty();
14787  }
14788
14789  /**
14790   * @param value {@link #definition} (The information needed by an IG publisher tool to publish the whole implementation guide.)
14791   */
14792  public ImplementationGuide setDefinition(ImplementationGuideDefinitionComponent value) { 
14793    this.definition = value;
14794    return this;
14795  }
14796
14797  /**
14798   * @return {@link #manifest} (Information about an assembled implementation guide, created by the publication tooling.)
14799   */
14800  public ImplementationGuideManifestComponent getManifest() { 
14801    if (this.manifest == null)
14802      if (Configuration.errorOnAutoCreate())
14803        throw new Error("Attempt to auto-create ImplementationGuide.manifest");
14804      else if (Configuration.doAutoCreate())
14805        this.manifest = new ImplementationGuideManifestComponent(); // cc
14806    return this.manifest;
14807  }
14808
14809  public boolean hasManifest() { 
14810    return this.manifest != null && !this.manifest.isEmpty();
14811  }
14812
14813  /**
14814   * @param value {@link #manifest} (Information about an assembled implementation guide, created by the publication tooling.)
14815   */
14816  public ImplementationGuide setManifest(ImplementationGuideManifestComponent value) { 
14817    this.manifest = value;
14818    return this;
14819  }
14820
14821  protected void listChildren(List<Property> children) {
14822    super.listChildren(children);
14823    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));
14824    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));
14825    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));
14826    children.add(new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm));
14827    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));
14828    children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the implementation guide.", 0, 1, title));
14829    children.add(new Property("status", "code", "The status of this implementation guide. Enables tracking the life-cycle of the content.", 0, 1, status));
14830    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));
14831    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));
14832    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));
14833    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));
14834    children.add(new Property("description", "markdown", "A free text natural language description of the implementation guide from a consumer's perspective.", 0, 1, description));
14835    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));
14836    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));
14837    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));
14838    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));
14839    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));
14840    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));
14841    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));
14842    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));
14843    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));
14844    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));
14845    children.add(new Property("definition", "", "The information needed by an IG publisher tool to publish the whole implementation guide.", 0, 1, definition));
14846    children.add(new Property("manifest", "", "Information about an assembled implementation guide, created by the publication tooling.", 0, 1, manifest));
14847  }
14848
14849  @Override
14850  public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
14851    switch (_hash) {
14852    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);
14853    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);
14854    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);
14855    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);
14856    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);
14857    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);
14858    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);
14859    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);
14860    case 110371416: /*title*/  return new Property("title", "string", "A short, descriptive, user-friendly title for the implementation guide.", 0, 1, title);
14861    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);
14862    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);
14863    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);
14864    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);
14865    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);
14866    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);
14867    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);
14868    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);
14869    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);
14870    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);
14871    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);
14872    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);
14873    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);
14874    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);
14875    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);
14876    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);
14877    case -1014418093: /*definition*/  return new Property("definition", "", "The information needed by an IG publisher tool to publish the whole implementation guide.", 0, 1, definition);
14878    case 130625071: /*manifest*/  return new Property("manifest", "", "Information about an assembled implementation guide, created by the publication tooling.", 0, 1, manifest);
14879    default: return super.getNamedProperty(_hash, _name, _checkValid);
14880    }
14881
14882  }
14883
14884  @Override
14885  public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
14886    switch (hash) {
14887    case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType
14888    case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier
14889    case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType
14890    case 1508158071: /*versionAlgorithm*/ return this.versionAlgorithm == null ? new Base[0] : new Base[] {this.versionAlgorithm}; // DataType
14891    case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType
14892    case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType
14893    case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus>
14894    case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType
14895    case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType
14896    case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType
14897    case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail
14898    case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType
14899    case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext
14900    case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept
14901    case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType
14902    case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType
14903    case 765157229: /*copyrightLabel*/ return this.copyrightLabel == null ? new Base[0] : new Base[] {this.copyrightLabel}; // StringType
14904    case 1802060801: /*packageId*/ return this.packageId == null ? new Base[0] : new Base[] {this.packageId}; // IdType
14905    case 166757441: /*license*/ return this.license == null ? new Base[0] : new Base[] {this.license}; // Enumeration<SPDXLicense>
14906    case 461006061: /*fhirVersion*/ return this.fhirVersion == null ? new Base[0] : this.fhirVersion.toArray(new Base[this.fhirVersion.size()]); // Enumeration<FHIRVersion>
14907    case -1109214266: /*dependsOn*/ return this.dependsOn == null ? new Base[0] : this.dependsOn.toArray(new Base[this.dependsOn.size()]); // ImplementationGuideDependsOnComponent
14908    case -1243020381: /*global*/ return this.global == null ? new Base[0] : this.global.toArray(new Base[this.global.size()]); // ImplementationGuideGlobalComponent
14909    case -1014418093: /*definition*/ return this.definition == null ? new Base[0] : new Base[] {this.definition}; // ImplementationGuideDefinitionComponent
14910    case 130625071: /*manifest*/ return this.manifest == null ? new Base[0] : new Base[] {this.manifest}; // ImplementationGuideManifestComponent
14911    default: return super.getProperty(hash, name, checkValid);
14912    }
14913
14914  }
14915
14916  @Override
14917  public Base setProperty(int hash, String name, Base value) throws FHIRException {
14918    switch (hash) {
14919    case 116079: // url
14920      this.url = TypeConvertor.castToUri(value); // UriType
14921      return value;
14922    case -1618432855: // identifier
14923      this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier
14924      return value;
14925    case 351608024: // version
14926      this.version = TypeConvertor.castToString(value); // StringType
14927      return value;
14928    case 1508158071: // versionAlgorithm
14929      this.versionAlgorithm = TypeConvertor.castToType(value); // DataType
14930      return value;
14931    case 3373707: // name
14932      this.name = TypeConvertor.castToString(value); // StringType
14933      return value;
14934    case 110371416: // title
14935      this.title = TypeConvertor.castToString(value); // StringType
14936      return value;
14937    case -892481550: // status
14938      value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value));
14939      this.status = (Enumeration) value; // Enumeration<PublicationStatus>
14940      return value;
14941    case -404562712: // experimental
14942      this.experimental = TypeConvertor.castToBoolean(value); // BooleanType
14943      return value;
14944    case 3076014: // date
14945      this.date = TypeConvertor.castToDateTime(value); // DateTimeType
14946      return value;
14947    case 1447404028: // publisher
14948      this.publisher = TypeConvertor.castToString(value); // StringType
14949      return value;
14950    case 951526432: // contact
14951      this.getContact().add(TypeConvertor.castToContactDetail(value)); // ContactDetail
14952      return value;
14953    case -1724546052: // description
14954      this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
14955      return value;
14956    case -669707736: // useContext
14957      this.getUseContext().add(TypeConvertor.castToUsageContext(value)); // UsageContext
14958      return value;
14959    case -507075711: // jurisdiction
14960      this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept
14961      return value;
14962    case -220463842: // purpose
14963      this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType
14964      return value;
14965    case 1522889671: // copyright
14966      this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType
14967      return value;
14968    case 765157229: // copyrightLabel
14969      this.copyrightLabel = TypeConvertor.castToString(value); // StringType
14970      return value;
14971    case 1802060801: // packageId
14972      this.packageId = TypeConvertor.castToId(value); // IdType
14973      return value;
14974    case 166757441: // license
14975      value = new SPDXLicenseEnumFactory().fromType(TypeConvertor.castToCode(value));
14976      this.license = (Enumeration) value; // Enumeration<SPDXLicense>
14977      return value;
14978    case 461006061: // fhirVersion
14979      value = new FHIRVersionEnumFactory().fromType(TypeConvertor.castToCode(value));
14980      this.getFhirVersion().add((Enumeration) value); // Enumeration<FHIRVersion>
14981      return value;
14982    case -1109214266: // dependsOn
14983      this.getDependsOn().add((ImplementationGuideDependsOnComponent) value); // ImplementationGuideDependsOnComponent
14984      return value;
14985    case -1243020381: // global
14986      this.getGlobal().add((ImplementationGuideGlobalComponent) value); // ImplementationGuideGlobalComponent
14987      return value;
14988    case -1014418093: // definition
14989      this.definition = (ImplementationGuideDefinitionComponent) value; // ImplementationGuideDefinitionComponent
14990      return value;
14991    case 130625071: // manifest
14992      this.manifest = (ImplementationGuideManifestComponent) value; // ImplementationGuideManifestComponent
14993      return value;
14994    default: return super.setProperty(hash, name, value);
14995    }
14996
14997  }
14998
14999  @Override
15000  public Base setProperty(String name, Base value) throws FHIRException {
15001    if (name.equals("url")) {
15002      this.url = TypeConvertor.castToUri(value); // UriType
15003    } else if (name.equals("identifier")) {
15004      this.getIdentifier().add(TypeConvertor.castToIdentifier(value));
15005    } else if (name.equals("version")) {
15006      this.version = TypeConvertor.castToString(value); // StringType
15007    } else if (name.equals("versionAlgorithm[x]")) {
15008      this.versionAlgorithm = TypeConvertor.castToType(value); // DataType
15009    } else if (name.equals("name")) {
15010      this.name = TypeConvertor.castToString(value); // StringType
15011    } else if (name.equals("title")) {
15012      this.title = TypeConvertor.castToString(value); // StringType
15013    } else if (name.equals("status")) {
15014      value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value));
15015      this.status = (Enumeration) value; // Enumeration<PublicationStatus>
15016    } else if (name.equals("experimental")) {
15017      this.experimental = TypeConvertor.castToBoolean(value); // BooleanType
15018    } else if (name.equals("date")) {
15019      this.date = TypeConvertor.castToDateTime(value); // DateTimeType
15020    } else if (name.equals("publisher")) {
15021      this.publisher = TypeConvertor.castToString(value); // StringType
15022    } else if (name.equals("contact")) {
15023      this.getContact().add(TypeConvertor.castToContactDetail(value));
15024    } else if (name.equals("description")) {
15025      this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
15026    } else if (name.equals("useContext")) {
15027      this.getUseContext().add(TypeConvertor.castToUsageContext(value));
15028    } else if (name.equals("jurisdiction")) {
15029      this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value));
15030    } else if (name.equals("purpose")) {
15031      this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType
15032    } else if (name.equals("copyright")) {
15033      this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType
15034    } else if (name.equals("copyrightLabel")) {
15035      this.copyrightLabel = TypeConvertor.castToString(value); // StringType
15036    } else if (name.equals("packageId")) {
15037      this.packageId = TypeConvertor.castToId(value); // IdType
15038    } else if (name.equals("license")) {
15039      value = new SPDXLicenseEnumFactory().fromType(TypeConvertor.castToCode(value));
15040      this.license = (Enumeration) value; // Enumeration<SPDXLicense>
15041    } else if (name.equals("fhirVersion")) {
15042      value = new FHIRVersionEnumFactory().fromType(TypeConvertor.castToCode(value));
15043      this.getFhirVersion().add((Enumeration) value);
15044    } else if (name.equals("dependsOn")) {
15045      this.getDependsOn().add((ImplementationGuideDependsOnComponent) value);
15046    } else if (name.equals("global")) {
15047      this.getGlobal().add((ImplementationGuideGlobalComponent) value);
15048    } else if (name.equals("definition")) {
15049      this.definition = (ImplementationGuideDefinitionComponent) value; // ImplementationGuideDefinitionComponent
15050    } else if (name.equals("manifest")) {
15051      this.manifest = (ImplementationGuideManifestComponent) value; // ImplementationGuideManifestComponent
15052    } else
15053      return super.setProperty(name, value);
15054    return value;
15055  }
15056
15057  @Override
15058  public Base makeProperty(int hash, String name) throws FHIRException {
15059    switch (hash) {
15060    case 116079:  return getUrlElement();
15061    case -1618432855:  return addIdentifier(); 
15062    case 351608024:  return getVersionElement();
15063    case -115699031:  return getVersionAlgorithm();
15064    case 1508158071:  return getVersionAlgorithm();
15065    case 3373707:  return getNameElement();
15066    case 110371416:  return getTitleElement();
15067    case -892481550:  return getStatusElement();
15068    case -404562712:  return getExperimentalElement();
15069    case 3076014:  return getDateElement();
15070    case 1447404028:  return getPublisherElement();
15071    case 951526432:  return addContact(); 
15072    case -1724546052:  return getDescriptionElement();
15073    case -669707736:  return addUseContext(); 
15074    case -507075711:  return addJurisdiction(); 
15075    case -220463842:  return getPurposeElement();
15076    case 1522889671:  return getCopyrightElement();
15077    case 765157229:  return getCopyrightLabelElement();
15078    case 1802060801:  return getPackageIdElement();
15079    case 166757441:  return getLicenseElement();
15080    case 461006061:  return addFhirVersionElement();
15081    case -1109214266:  return addDependsOn(); 
15082    case -1243020381:  return addGlobal(); 
15083    case -1014418093:  return getDefinition();
15084    case 130625071:  return getManifest();
15085    default: return super.makeProperty(hash, name);
15086    }
15087
15088  }
15089
15090  @Override
15091  public String[] getTypesForProperty(int hash, String name) throws FHIRException {
15092    switch (hash) {
15093    case 116079: /*url*/ return new String[] {"uri"};
15094    case -1618432855: /*identifier*/ return new String[] {"Identifier"};
15095    case 351608024: /*version*/ return new String[] {"string"};
15096    case 1508158071: /*versionAlgorithm*/ return new String[] {"string", "Coding"};
15097    case 3373707: /*name*/ return new String[] {"string"};
15098    case 110371416: /*title*/ return new String[] {"string"};
15099    case -892481550: /*status*/ return new String[] {"code"};
15100    case -404562712: /*experimental*/ return new String[] {"boolean"};
15101    case 3076014: /*date*/ return new String[] {"dateTime"};
15102    case 1447404028: /*publisher*/ return new String[] {"string"};
15103    case 951526432: /*contact*/ return new String[] {"ContactDetail"};
15104    case -1724546052: /*description*/ return new String[] {"markdown"};
15105    case -669707736: /*useContext*/ return new String[] {"UsageContext"};
15106    case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"};
15107    case -220463842: /*purpose*/ return new String[] {"markdown"};
15108    case 1522889671: /*copyright*/ return new String[] {"markdown"};
15109    case 765157229: /*copyrightLabel*/ return new String[] {"string"};
15110    case 1802060801: /*packageId*/ return new String[] {"id"};
15111    case 166757441: /*license*/ return new String[] {"code"};
15112    case 461006061: /*fhirVersion*/ return new String[] {"code"};
15113    case -1109214266: /*dependsOn*/ return new String[] {};
15114    case -1243020381: /*global*/ return new String[] {};
15115    case -1014418093: /*definition*/ return new String[] {};
15116    case 130625071: /*manifest*/ return new String[] {};
15117    default: return super.getTypesForProperty(hash, name);
15118    }
15119
15120  }
15121
15122  @Override
15123  public Base addChild(String name) throws FHIRException {
15124    if (name.equals("url")) {
15125      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.url");
15126    }
15127    else if (name.equals("identifier")) {
15128      return addIdentifier();
15129    }
15130    else if (name.equals("version")) {
15131      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.version");
15132    }
15133    else if (name.equals("versionAlgorithmString")) {
15134      this.versionAlgorithm = new StringType();
15135      return this.versionAlgorithm;
15136    }
15137    else if (name.equals("versionAlgorithmCoding")) {
15138      this.versionAlgorithm = new Coding();
15139      return this.versionAlgorithm;
15140    }
15141    else if (name.equals("name")) {
15142      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.name");
15143    }
15144    else if (name.equals("title")) {
15145      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.title");
15146    }
15147    else if (name.equals("status")) {
15148      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.status");
15149    }
15150    else if (name.equals("experimental")) {
15151      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.experimental");
15152    }
15153    else if (name.equals("date")) {
15154      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.date");
15155    }
15156    else if (name.equals("publisher")) {
15157      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.publisher");
15158    }
15159    else if (name.equals("contact")) {
15160      return addContact();
15161    }
15162    else if (name.equals("description")) {
15163      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.description");
15164    }
15165    else if (name.equals("useContext")) {
15166      return addUseContext();
15167    }
15168    else if (name.equals("jurisdiction")) {
15169      return addJurisdiction();
15170    }
15171    else if (name.equals("purpose")) {
15172      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.purpose");
15173    }
15174    else if (name.equals("copyright")) {
15175      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.copyright");
15176    }
15177    else if (name.equals("copyrightLabel")) {
15178      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.copyrightLabel");
15179    }
15180    else if (name.equals("packageId")) {
15181      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.packageId");
15182    }
15183    else if (name.equals("license")) {
15184      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.license");
15185    }
15186    else if (name.equals("fhirVersion")) {
15187      throw new FHIRException("Cannot call addChild on a singleton property ImplementationGuide.fhirVersion");
15188    }
15189    else if (name.equals("dependsOn")) {
15190      return addDependsOn();
15191    }
15192    else if (name.equals("global")) {
15193      return addGlobal();
15194    }
15195    else if (name.equals("definition")) {
15196      this.definition = new ImplementationGuideDefinitionComponent();
15197      return this.definition;
15198    }
15199    else if (name.equals("manifest")) {
15200      this.manifest = new ImplementationGuideManifestComponent();
15201      return this.manifest;
15202    }
15203    else
15204      return super.addChild(name);
15205  }
15206
15207  public String fhirType() {
15208    return "ImplementationGuide";
15209
15210  }
15211
15212  public ImplementationGuide copy() {
15213    ImplementationGuide dst = new ImplementationGuide();
15214    copyValues(dst);
15215    return dst;
15216  }
15217
15218  public void copyValues(ImplementationGuide dst) {
15219    super.copyValues(dst);
15220    dst.url = url == null ? null : url.copy();
15221    if (identifier != null) {
15222      dst.identifier = new ArrayList<Identifier>();
15223      for (Identifier i : identifier)
15224        dst.identifier.add(i.copy());
15225    };
15226    dst.version = version == null ? null : version.copy();
15227    dst.versionAlgorithm = versionAlgorithm == null ? null : versionAlgorithm.copy();
15228    dst.name = name == null ? null : name.copy();
15229    dst.title = title == null ? null : title.copy();
15230    dst.status = status == null ? null : status.copy();
15231    dst.experimental = experimental == null ? null : experimental.copy();
15232    dst.date = date == null ? null : date.copy();
15233    dst.publisher = publisher == null ? null : publisher.copy();
15234    if (contact != null) {
15235      dst.contact = new ArrayList<ContactDetail>();
15236      for (ContactDetail i : contact)
15237        dst.contact.add(i.copy());
15238    };
15239    dst.description = description == null ? null : description.copy();
15240    if (useContext != null) {
15241      dst.useContext = new ArrayList<UsageContext>();
15242      for (UsageContext i : useContext)
15243        dst.useContext.add(i.copy());
15244    };
15245    if (jurisdiction != null) {
15246      dst.jurisdiction = new ArrayList<CodeableConcept>();
15247      for (CodeableConcept i : jurisdiction)
15248        dst.jurisdiction.add(i.copy());
15249    };
15250    dst.purpose = purpose == null ? null : purpose.copy();
15251    dst.copyright = copyright == null ? null : copyright.copy();
15252    dst.copyrightLabel = copyrightLabel == null ? null : copyrightLabel.copy();
15253    dst.packageId = packageId == null ? null : packageId.copy();
15254    dst.license = license == null ? null : license.copy();
15255    if (fhirVersion != null) {
15256      dst.fhirVersion = new ArrayList<Enumeration<FHIRVersion>>();
15257      for (Enumeration<FHIRVersion> i : fhirVersion)
15258        dst.fhirVersion.add(i.copy());
15259    };
15260    if (dependsOn != null) {
15261      dst.dependsOn = new ArrayList<ImplementationGuideDependsOnComponent>();
15262      for (ImplementationGuideDependsOnComponent i : dependsOn)
15263        dst.dependsOn.add(i.copy());
15264    };
15265    if (global != null) {
15266      dst.global = new ArrayList<ImplementationGuideGlobalComponent>();
15267      for (ImplementationGuideGlobalComponent i : global)
15268        dst.global.add(i.copy());
15269    };
15270    dst.definition = definition == null ? null : definition.copy();
15271    dst.manifest = manifest == null ? null : manifest.copy();
15272  }
15273
15274  protected ImplementationGuide typedCopy() {
15275    return copy();
15276  }
15277
15278  @Override
15279  public boolean equalsDeep(Base other_) {
15280    if (!super.equalsDeep(other_))
15281      return false;
15282    if (!(other_ instanceof ImplementationGuide))
15283      return false;
15284    ImplementationGuide o = (ImplementationGuide) other_;
15285    return compareDeep(url, o.url, true) && compareDeep(identifier, o.identifier, true) && compareDeep(version, o.version, true)
15286        && compareDeep(versionAlgorithm, o.versionAlgorithm, true) && compareDeep(name, o.name, true) && compareDeep(title, o.title, true)
15287        && compareDeep(status, o.status, true) && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true)
15288        && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true)
15289        && compareDeep(useContext, o.useContext, true) && compareDeep(jurisdiction, o.jurisdiction, true)
15290        && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) && compareDeep(copyrightLabel, o.copyrightLabel, true)
15291        && compareDeep(packageId, o.packageId, true) && compareDeep(license, o.license, true) && compareDeep(fhirVersion, o.fhirVersion, true)
15292        && compareDeep(dependsOn, o.dependsOn, true) && compareDeep(global, o.global, true) && compareDeep(definition, o.definition, true)
15293        && compareDeep(manifest, o.manifest, true);
15294  }
15295
15296  @Override
15297  public boolean equalsShallow(Base other_) {
15298    if (!super.equalsShallow(other_))
15299      return false;
15300    if (!(other_ instanceof ImplementationGuide))
15301      return false;
15302    ImplementationGuide o = (ImplementationGuide) other_;
15303    return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true)
15304        && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true)
15305        && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true)
15306        && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(copyrightLabel, o.copyrightLabel, true)
15307        && compareValues(packageId, o.packageId, true) && compareValues(license, o.license, true) && compareValues(fhirVersion, o.fhirVersion, true)
15308        ;
15309  }
15310
15311  public boolean isEmpty() {
15312    return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version
15313        , versionAlgorithm, name, title, status, experimental, date, publisher, contact
15314        , description, useContext, jurisdiction, purpose, copyright, copyrightLabel, packageId
15315        , license, fhirVersion, dependsOn, global, definition, manifest);
15316  }
15317
15318  @Override
15319  public ResourceType getResourceType() {
15320    return ResourceType.ImplementationGuide;
15321  }
15322
15323  /**
15324   * Search parameter: <b>context-quantity</b>
15325   * <p>
15326   * Description: <b>Multiple Resources: 
15327
15328   * [ActivityDefinition](activitydefinition.html): A quantity- or range-valued use context assigned to the activity definition
15329   * [ActorDefinition](actordefinition.html): A quantity- or range-valued use context assigned to the Actor Definition
15330   * [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement
15331   * [ChargeItemDefinition](chargeitemdefinition.html): A quantity- or range-valued use context assigned to the charge item definition
15332   * [Citation](citation.html): A quantity- or range-valued use context assigned to the citation
15333   * [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system
15334   * [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition
15335   * [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map
15336   * [ConditionDefinition](conditiondefinition.html): A quantity- or range-valued use context assigned to the condition definition
15337   * [EventDefinition](eventdefinition.html): A quantity- or range-valued use context assigned to the event definition
15338   * [Evidence](evidence.html): A quantity- or range-valued use context assigned to the evidence
15339   * [EvidenceReport](evidencereport.html): A quantity- or range-valued use context assigned to the evidence report
15340   * [EvidenceVariable](evidencevariable.html): A quantity- or range-valued use context assigned to the evidence variable
15341   * [ExampleScenario](examplescenario.html): A quantity- or range-valued use context assigned to the example scenario
15342   * [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition
15343   * [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide
15344   * [Library](library.html): A quantity- or range-valued use context assigned to the library
15345   * [Measure](measure.html): A quantity- or range-valued use context assigned to the measure
15346   * [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition
15347   * [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system
15348   * [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition
15349   * [PlanDefinition](plandefinition.html): A quantity- or range-valued use context assigned to the plan definition
15350   * [Questionnaire](questionnaire.html): A quantity- or range-valued use context assigned to the questionnaire
15351   * [Requirements](requirements.html): A quantity- or range-valued use context assigned to the requirements
15352   * [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter
15353   * [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition
15354   * [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map
15355   * [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities
15356   * [TestScript](testscript.html): A quantity- or range-valued use context assigned to the test script
15357   * [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set
15358</b><br>
15359   * Type: <b>quantity</b><br>
15360   * 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>
15361   * </p>
15362   */
15363  @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" )
15364  public static final String SP_CONTEXT_QUANTITY = "context-quantity";
15365  /**
15366   * <b>Fluent Client</b> search parameter constant for <b>context-quantity</b>
15367   * <p>
15368   * Description: <b>Multiple Resources: 
15369
15370   * [ActivityDefinition](activitydefinition.html): A quantity- or range-valued use context assigned to the activity definition
15371   * [ActorDefinition](actordefinition.html): A quantity- or range-valued use context assigned to the Actor Definition
15372   * [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement
15373   * [ChargeItemDefinition](chargeitemdefinition.html): A quantity- or range-valued use context assigned to the charge item definition
15374   * [Citation](citation.html): A quantity- or range-valued use context assigned to the citation
15375   * [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system
15376   * [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition
15377   * [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map
15378   * [ConditionDefinition](conditiondefinition.html): A quantity- or range-valued use context assigned to the condition definition
15379   * [EventDefinition](eventdefinition.html): A quantity- or range-valued use context assigned to the event definition
15380   * [Evidence](evidence.html): A quantity- or range-valued use context assigned to the evidence
15381   * [EvidenceReport](evidencereport.html): A quantity- or range-valued use context assigned to the evidence report
15382   * [EvidenceVariable](evidencevariable.html): A quantity- or range-valued use context assigned to the evidence variable
15383   * [ExampleScenario](examplescenario.html): A quantity- or range-valued use context assigned to the example scenario
15384   * [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition
15385   * [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide
15386   * [Library](library.html): A quantity- or range-valued use context assigned to the library
15387   * [Measure](measure.html): A quantity- or range-valued use context assigned to the measure
15388   * [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition
15389   * [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system
15390   * [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition
15391   * [PlanDefinition](plandefinition.html): A quantity- or range-valued use context assigned to the plan definition
15392   * [Questionnaire](questionnaire.html): A quantity- or range-valued use context assigned to the questionnaire
15393   * [Requirements](requirements.html): A quantity- or range-valued use context assigned to the requirements
15394   * [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter
15395   * [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition
15396   * [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map
15397   * [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities
15398   * [TestScript](testscript.html): A quantity- or range-valued use context assigned to the test script
15399   * [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set
15400</b><br>
15401   * Type: <b>quantity</b><br>
15402   * 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>
15403   * </p>
15404   */
15405  public static final ca.uhn.fhir.rest.gclient.QuantityClientParam CONTEXT_QUANTITY = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_CONTEXT_QUANTITY);
15406
15407  /**
15408   * Search parameter: <b>context-type-quantity</b>
15409   * <p>
15410   * Description: <b>Multiple Resources: 
15411
15412   * [ActivityDefinition](activitydefinition.html): A use context type and quantity- or range-based value assigned to the activity definition
15413   * [ActorDefinition](actordefinition.html): A use context type and quantity- or range-based value assigned to the Actor Definition
15414   * [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement
15415   * [ChargeItemDefinition](chargeitemdefinition.html): A use context type and quantity- or range-based value assigned to the charge item definition
15416   * [Citation](citation.html): A use context type and quantity- or range-based value assigned to the citation
15417   * [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system
15418   * [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition
15419   * [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map
15420   * [ConditionDefinition](conditiondefinition.html): A use context type and quantity- or range-based value assigned to the condition definition
15421   * [EventDefinition](eventdefinition.html): A use context type and quantity- or range-based value assigned to the event definition
15422   * [Evidence](evidence.html): A use context type and quantity- or range-based value assigned to the evidence
15423   * [EvidenceReport](evidencereport.html): A use context type and quantity- or range-based value assigned to the evidence report
15424   * [EvidenceVariable](evidencevariable.html): A use context type and quantity- or range-based value assigned to the evidence variable
15425   * [ExampleScenario](examplescenario.html): A use context type and quantity- or range-based value assigned to the example scenario
15426   * [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition
15427   * [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide
15428   * [Library](library.html): A use context type and quantity- or range-based value assigned to the library
15429   * [Measure](measure.html): A use context type and quantity- or range-based value assigned to the measure
15430   * [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition
15431   * [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system
15432   * [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition
15433   * [PlanDefinition](plandefinition.html): A use context type and quantity- or range-based value assigned to the plan definition
15434   * [Questionnaire](questionnaire.html): A use context type and quantity- or range-based value assigned to the questionnaire
15435   * [Requirements](requirements.html): A use context type and quantity- or range-based value assigned to the requirements
15436   * [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter
15437   * [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition
15438   * [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map
15439   * [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities
15440   * [TestScript](testscript.html): A use context type and quantity- or range-based value assigned to the test script
15441   * [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set
15442</b><br>
15443   * Type: <b>composite</b><br>
15444   * 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>
15445   * </p>
15446   */
15447  @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"} )
15448  public static final String SP_CONTEXT_TYPE_QUANTITY = "context-type-quantity";
15449  /**
15450   * <b>Fluent Client</b> search parameter constant for <b>context-type-quantity</b>
15451   * <p>
15452   * Description: <b>Multiple Resources: 
15453
15454   * [ActivityDefinition](activitydefinition.html): A use context type and quantity- or range-based value assigned to the activity definition
15455   * [ActorDefinition](actordefinition.html): A use context type and quantity- or range-based value assigned to the Actor Definition
15456   * [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement
15457   * [ChargeItemDefinition](chargeitemdefinition.html): A use context type and quantity- or range-based value assigned to the charge item definition
15458   * [Citation](citation.html): A use context type and quantity- or range-based value assigned to the citation
15459   * [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system
15460   * [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition
15461   * [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map
15462   * [ConditionDefinition](conditiondefinition.html): A use context type and quantity- or range-based value assigned to the condition definition
15463   * [EventDefinition](eventdefinition.html): A use context type and quantity- or range-based value assigned to the event definition
15464   * [Evidence](evidence.html): A use context type and quantity- or range-based value assigned to the evidence
15465   * [EvidenceReport](evidencereport.html): A use context type and quantity- or range-based value assigned to the evidence report
15466   * [EvidenceVariable](evidencevariable.html): A use context type and quantity- or range-based value assigned to the evidence variable
15467   * [ExampleScenario](examplescenario.html): A use context type and quantity- or range-based value assigned to the example scenario
15468   * [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition
15469   * [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide
15470   * [Library](library.html): A use context type and quantity- or range-based value assigned to the library
15471   * [Measure](measure.html): A use context type and quantity- or range-based value assigned to the measure
15472   * [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition
15473   * [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system
15474   * [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition
15475   * [PlanDefinition](plandefinition.html): A use context type and quantity- or range-based value assigned to the plan definition
15476   * [Questionnaire](questionnaire.html): A use context type and quantity- or range-based value assigned to the questionnaire
15477   * [Requirements](requirements.html): A use context type and quantity- or range-based value assigned to the requirements
15478   * [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter
15479   * [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition
15480   * [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map
15481   * [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities
15482   * [TestScript](testscript.html): A use context type and quantity- or range-based value assigned to the test script
15483   * [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set
15484</b><br>
15485   * Type: <b>composite</b><br>
15486   * 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>
15487   * </p>
15488   */
15489  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);
15490
15491  /**
15492   * Search parameter: <b>context-type-value</b>
15493   * <p>
15494   * Description: <b>Multiple Resources: 
15495
15496   * [ActivityDefinition](activitydefinition.html): A use context type and value assigned to the activity definition
15497   * [ActorDefinition](actordefinition.html): A use context type and value assigned to the Actor Definition
15498   * [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement
15499   * [ChargeItemDefinition](chargeitemdefinition.html): A use context type and value assigned to the charge item definition
15500   * [Citation](citation.html): A use context type and value assigned to the citation
15501   * [CodeSystem](codesystem.html): A use context type and value assigned to the code system
15502   * [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition
15503   * [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map
15504   * [ConditionDefinition](conditiondefinition.html): A use context type and value assigned to the condition definition
15505   * [EventDefinition](eventdefinition.html): A use context type and value assigned to the event definition
15506   * [Evidence](evidence.html): A use context type and value assigned to the evidence
15507   * [EvidenceReport](evidencereport.html): A use context type and value assigned to the evidence report
15508   * [EvidenceVariable](evidencevariable.html): A use context type and value assigned to the evidence variable
15509   * [ExampleScenario](examplescenario.html): A use context type and value assigned to the example scenario
15510   * [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition
15511   * [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide
15512   * [Library](library.html): A use context type and value assigned to the library
15513   * [Measure](measure.html): A use context type and value assigned to the measure
15514   * [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition
15515   * [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system
15516   * [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition
15517   * [PlanDefinition](plandefinition.html): A use context type and value assigned to the plan definition
15518   * [Questionnaire](questionnaire.html): A use context type and value assigned to the questionnaire
15519   * [Requirements](requirements.html): A use context type and value assigned to the requirements
15520   * [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter
15521   * [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition
15522   * [StructureMap](structuremap.html): A use context type and value assigned to the structure map
15523   * [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities
15524   * [TestScript](testscript.html): A use context type and value assigned to the test script
15525   * [ValueSet](valueset.html): A use context type and value assigned to the value set
15526</b><br>
15527   * Type: <b>composite</b><br>
15528   * 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>
15529   * </p>
15530   */
15531  @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"} )
15532  public static final String SP_CONTEXT_TYPE_VALUE = "context-type-value";
15533  /**
15534   * <b>Fluent Client</b> search parameter constant for <b>context-type-value</b>
15535   * <p>
15536   * Description: <b>Multiple Resources: 
15537
15538   * [ActivityDefinition](activitydefinition.html): A use context type and value assigned to the activity definition
15539   * [ActorDefinition](actordefinition.html): A use context type and value assigned to the Actor Definition
15540   * [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement
15541   * [ChargeItemDefinition](chargeitemdefinition.html): A use context type and value assigned to the charge item definition
15542   * [Citation](citation.html): A use context type and value assigned to the citation
15543   * [CodeSystem](codesystem.html): A use context type and value assigned to the code system
15544   * [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition
15545   * [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map
15546   * [ConditionDefinition](conditiondefinition.html): A use context type and value assigned to the condition definition
15547   * [EventDefinition](eventdefinition.html): A use context type and value assigned to the event definition
15548   * [Evidence](evidence.html): A use context type and value assigned to the evidence
15549   * [EvidenceReport](evidencereport.html): A use context type and value assigned to the evidence report
15550   * [EvidenceVariable](evidencevariable.html): A use context type and value assigned to the evidence variable
15551   * [ExampleScenario](examplescenario.html): A use context type and value assigned to the example scenario
15552   * [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition
15553   * [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide
15554   * [Library](library.html): A use context type and value assigned to the library
15555   * [Measure](measure.html): A use context type and value assigned to the measure
15556   * [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition
15557   * [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system
15558   * [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition
15559   * [PlanDefinition](plandefinition.html): A use context type and value assigned to the plan definition
15560   * [Questionnaire](questionnaire.html): A use context type and value assigned to the questionnaire
15561   * [Requirements](requirements.html): A use context type and value assigned to the requirements
15562   * [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter
15563   * [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition
15564   * [StructureMap](structuremap.html): A use context type and value assigned to the structure map
15565   * [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities
15566   * [TestScript](testscript.html): A use context type and value assigned to the test script
15567   * [ValueSet](valueset.html): A use context type and value assigned to the value set
15568</b><br>
15569   * Type: <b>composite</b><br>
15570   * 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>
15571   * </p>
15572   */
15573  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);
15574
15575  /**
15576   * Search parameter: <b>context-type</b>
15577   * <p>
15578   * Description: <b>Multiple Resources: 
15579
15580   * [ActivityDefinition](activitydefinition.html): A type of use context assigned to the activity definition
15581   * [ActorDefinition](actordefinition.html): A type of use context assigned to the Actor Definition
15582   * [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement
15583   * [ChargeItemDefinition](chargeitemdefinition.html): A type of use context assigned to the charge item definition
15584   * [Citation](citation.html): A type of use context assigned to the citation
15585   * [CodeSystem](codesystem.html): A type of use context assigned to the code system
15586   * [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition
15587   * [ConceptMap](conceptmap.html): A type of use context assigned to the concept map
15588   * [ConditionDefinition](conditiondefinition.html): A type of use context assigned to the condition definition
15589   * [EventDefinition](eventdefinition.html): A type of use context assigned to the event definition
15590   * [Evidence](evidence.html): A type of use context assigned to the evidence
15591   * [EvidenceReport](evidencereport.html): A type of use context assigned to the evidence report
15592   * [EvidenceVariable](evidencevariable.html): A type of use context assigned to the evidence variable
15593   * [ExampleScenario](examplescenario.html): A type of use context assigned to the example scenario
15594   * [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition
15595   * [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide
15596   * [Library](library.html): A type of use context assigned to the library
15597   * [Measure](measure.html): A type of use context assigned to the measure
15598   * [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition
15599   * [NamingSystem](namingsystem.html): A type of use context assigned to the naming system
15600   * [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition
15601   * [PlanDefinition](plandefinition.html): A type of use context assigned to the plan definition
15602   * [Questionnaire](questionnaire.html): A type of use context assigned to the questionnaire
15603   * [Requirements](requirements.html): A type of use context assigned to the requirements
15604   * [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter
15605   * [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition
15606   * [StructureMap](structuremap.html): A type of use context assigned to the structure map
15607   * [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities
15608   * [TestScript](testscript.html): A type of use context assigned to the test script
15609   * [ValueSet](valueset.html): A type of use context assigned to the value set
15610</b><br>
15611   * Type: <b>token</b><br>
15612   * 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>
15613   * </p>
15614   */
15615  @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" )
15616  public static final String SP_CONTEXT_TYPE = "context-type";
15617  /**
15618   * <b>Fluent Client</b> search parameter constant for <b>context-type</b>
15619   * <p>
15620   * Description: <b>Multiple Resources: 
15621
15622   * [ActivityDefinition](activitydefinition.html): A type of use context assigned to the activity definition
15623   * [ActorDefinition](actordefinition.html): A type of use context assigned to the Actor Definition
15624   * [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement
15625   * [ChargeItemDefinition](chargeitemdefinition.html): A type of use context assigned to the charge item definition
15626   * [Citation](citation.html): A type of use context assigned to the citation
15627   * [CodeSystem](codesystem.html): A type of use context assigned to the code system
15628   * [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition
15629   * [ConceptMap](conceptmap.html): A type of use context assigned to the concept map
15630   * [ConditionDefinition](conditiondefinition.html): A type of use context assigned to the condition definition
15631   * [EventDefinition](eventdefinition.html): A type of use context assigned to the event definition
15632   * [Evidence](evidence.html): A type of use context assigned to the evidence
15633   * [EvidenceReport](evidencereport.html): A type of use context assigned to the evidence report
15634   * [EvidenceVariable](evidencevariable.html): A type of use context assigned to the evidence variable
15635   * [ExampleScenario](examplescenario.html): A type of use context assigned to the example scenario
15636   * [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition
15637   * [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide
15638   * [Library](library.html): A type of use context assigned to the library
15639   * [Measure](measure.html): A type of use context assigned to the measure
15640   * [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition
15641   * [NamingSystem](namingsystem.html): A type of use context assigned to the naming system
15642   * [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition
15643   * [PlanDefinition](plandefinition.html): A type of use context assigned to the plan definition
15644   * [Questionnaire](questionnaire.html): A type of use context assigned to the questionnaire
15645   * [Requirements](requirements.html): A type of use context assigned to the requirements
15646   * [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter
15647   * [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition
15648   * [StructureMap](structuremap.html): A type of use context assigned to the structure map
15649   * [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities
15650   * [TestScript](testscript.html): A type of use context assigned to the test script
15651   * [ValueSet](valueset.html): A type of use context assigned to the value set
15652</b><br>
15653   * Type: <b>token</b><br>
15654   * 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>
15655   * </p>
15656   */
15657  public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT_TYPE);
15658
15659  /**
15660   * Search parameter: <b>context</b>
15661   * <p>
15662   * Description: <b>Multiple Resources: 
15663
15664   * [ActivityDefinition](activitydefinition.html): A use context assigned to the activity definition
15665   * [ActorDefinition](actordefinition.html): A use context assigned to the Actor Definition
15666   * [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement
15667   * [ChargeItemDefinition](chargeitemdefinition.html): A use context assigned to the charge item definition
15668   * [Citation](citation.html): A use context assigned to the citation
15669   * [CodeSystem](codesystem.html): A use context assigned to the code system
15670   * [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition
15671   * [ConceptMap](conceptmap.html): A use context assigned to the concept map
15672   * [ConditionDefinition](conditiondefinition.html): A use context assigned to the condition definition
15673   * [EventDefinition](eventdefinition.html): A use context assigned to the event definition
15674   * [Evidence](evidence.html): A use context assigned to the evidence
15675   * [EvidenceReport](evidencereport.html): A use context assigned to the evidence report
15676   * [EvidenceVariable](evidencevariable.html): A use context assigned to the evidence variable
15677   * [ExampleScenario](examplescenario.html): A use context assigned to the example scenario
15678   * [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition
15679   * [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide
15680   * [Library](library.html): A use context assigned to the library
15681   * [Measure](measure.html): A use context assigned to the measure
15682   * [MessageDefinition](messagedefinition.html): A use context assigned to the message definition
15683   * [NamingSystem](namingsystem.html): A use context assigned to the naming system
15684   * [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition
15685   * [PlanDefinition](plandefinition.html): A use context assigned to the plan definition
15686   * [Questionnaire](questionnaire.html): A use context assigned to the questionnaire
15687   * [Requirements](requirements.html): A use context assigned to the requirements
15688   * [SearchParameter](searchparameter.html): A use context assigned to the search parameter
15689   * [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition
15690   * [StructureMap](structuremap.html): A use context assigned to the structure map
15691   * [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities
15692   * [TestScript](testscript.html): A use context assigned to the test script
15693   * [ValueSet](valueset.html): A use context assigned to the value set
15694</b><br>
15695   * Type: <b>token</b><br>
15696   * 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>
15697   * </p>
15698   */
15699  @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" )
15700  public static final String SP_CONTEXT = "context";
15701  /**
15702   * <b>Fluent Client</b> search parameter constant for <b>context</b>
15703   * <p>
15704   * Description: <b>Multiple Resources: 
15705
15706   * [ActivityDefinition](activitydefinition.html): A use context assigned to the activity definition
15707   * [ActorDefinition](actordefinition.html): A use context assigned to the Actor Definition
15708   * [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement
15709   * [ChargeItemDefinition](chargeitemdefinition.html): A use context assigned to the charge item definition
15710   * [Citation](citation.html): A use context assigned to the citation
15711   * [CodeSystem](codesystem.html): A use context assigned to the code system
15712   * [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition
15713   * [ConceptMap](conceptmap.html): A use context assigned to the concept map
15714   * [ConditionDefinition](conditiondefinition.html): A use context assigned to the condition definition
15715   * [EventDefinition](eventdefinition.html): A use context assigned to the event definition
15716   * [Evidence](evidence.html): A use context assigned to the evidence
15717   * [EvidenceReport](evidencereport.html): A use context assigned to the evidence report
15718   * [EvidenceVariable](evidencevariable.html): A use context assigned to the evidence variable
15719   * [ExampleScenario](examplescenario.html): A use context assigned to the example scenario
15720   * [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition
15721   * [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide
15722   * [Library](library.html): A use context assigned to the library
15723   * [Measure](measure.html): A use context assigned to the measure
15724   * [MessageDefinition](messagedefinition.html): A use context assigned to the message definition
15725   * [NamingSystem](namingsystem.html): A use context assigned to the naming system
15726   * [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition
15727   * [PlanDefinition](plandefinition.html): A use context assigned to the plan definition
15728   * [Questionnaire](questionnaire.html): A use context assigned to the questionnaire
15729   * [Requirements](requirements.html): A use context assigned to the requirements
15730   * [SearchParameter](searchparameter.html): A use context assigned to the search parameter
15731   * [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition
15732   * [StructureMap](structuremap.html): A use context assigned to the structure map
15733   * [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities
15734   * [TestScript](testscript.html): A use context assigned to the test script
15735   * [ValueSet](valueset.html): A use context assigned to the value set
15736</b><br>
15737   * Type: <b>token</b><br>
15738   * 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>
15739   * </p>
15740   */
15741  public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT);
15742
15743  /**
15744   * Search parameter: <b>date</b>
15745   * <p>
15746   * Description: <b>Multiple Resources: 
15747
15748   * [ActivityDefinition](activitydefinition.html): The activity definition publication date
15749   * [ActorDefinition](actordefinition.html): The Actor Definition publication date
15750   * [CapabilityStatement](capabilitystatement.html): The capability statement publication date
15751   * [ChargeItemDefinition](chargeitemdefinition.html): The charge item definition publication date
15752   * [Citation](citation.html): The citation publication date
15753   * [CodeSystem](codesystem.html): The code system publication date
15754   * [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date
15755   * [ConceptMap](conceptmap.html): The concept map publication date
15756   * [ConditionDefinition](conditiondefinition.html): The condition definition publication date
15757   * [EventDefinition](eventdefinition.html): The event definition publication date
15758   * [Evidence](evidence.html): The evidence publication date
15759   * [EvidenceVariable](evidencevariable.html): The evidence variable publication date
15760   * [ExampleScenario](examplescenario.html): The example scenario publication date
15761   * [GraphDefinition](graphdefinition.html): The graph definition publication date
15762   * [ImplementationGuide](implementationguide.html): The implementation guide publication date
15763   * [Library](library.html): The library publication date
15764   * [Measure](measure.html): The measure publication date
15765   * [MessageDefinition](messagedefinition.html): The message definition publication date
15766   * [NamingSystem](namingsystem.html): The naming system publication date
15767   * [OperationDefinition](operationdefinition.html): The operation definition publication date
15768   * [PlanDefinition](plandefinition.html): The plan definition publication date
15769   * [Questionnaire](questionnaire.html): The questionnaire publication date
15770   * [Requirements](requirements.html): The requirements publication date
15771   * [SearchParameter](searchparameter.html): The search parameter publication date
15772   * [StructureDefinition](structuredefinition.html): The structure definition publication date
15773   * [StructureMap](structuremap.html): The structure map publication date
15774   * [SubscriptionTopic](subscriptiontopic.html): Date status first applied
15775   * [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date
15776   * [TestScript](testscript.html): The test script publication date
15777   * [ValueSet](valueset.html): The value set publication date
15778</b><br>
15779   * Type: <b>date</b><br>
15780   * 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>
15781   * </p>
15782   */
15783  @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" )
15784  public static final String SP_DATE = "date";
15785  /**
15786   * <b>Fluent Client</b> search parameter constant for <b>date</b>
15787   * <p>
15788   * Description: <b>Multiple Resources: 
15789
15790   * [ActivityDefinition](activitydefinition.html): The activity definition publication date
15791   * [ActorDefinition](actordefinition.html): The Actor Definition publication date
15792   * [CapabilityStatement](capabilitystatement.html): The capability statement publication date
15793   * [ChargeItemDefinition](chargeitemdefinition.html): The charge item definition publication date
15794   * [Citation](citation.html): The citation publication date
15795   * [CodeSystem](codesystem.html): The code system publication date
15796   * [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date
15797   * [ConceptMap](conceptmap.html): The concept map publication date
15798   * [ConditionDefinition](conditiondefinition.html): The condition definition publication date
15799   * [EventDefinition](eventdefinition.html): The event definition publication date
15800   * [Evidence](evidence.html): The evidence publication date
15801   * [EvidenceVariable](evidencevariable.html): The evidence variable publication date
15802   * [ExampleScenario](examplescenario.html): The example scenario publication date
15803   * [GraphDefinition](graphdefinition.html): The graph definition publication date
15804   * [ImplementationGuide](implementationguide.html): The implementation guide publication date
15805   * [Library](library.html): The library publication date
15806   * [Measure](measure.html): The measure publication date
15807   * [MessageDefinition](messagedefinition.html): The message definition publication date
15808   * [NamingSystem](namingsystem.html): The naming system publication date
15809   * [OperationDefinition](operationdefinition.html): The operation definition publication date
15810   * [PlanDefinition](plandefinition.html): The plan definition publication date
15811   * [Questionnaire](questionnaire.html): The questionnaire publication date
15812   * [Requirements](requirements.html): The requirements publication date
15813   * [SearchParameter](searchparameter.html): The search parameter publication date
15814   * [StructureDefinition](structuredefinition.html): The structure definition publication date
15815   * [StructureMap](structuremap.html): The structure map publication date
15816   * [SubscriptionTopic](subscriptiontopic.html): Date status first applied
15817   * [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date
15818   * [TestScript](testscript.html): The test script publication date
15819   * [ValueSet](valueset.html): The value set publication date
15820</b><br>
15821   * Type: <b>date</b><br>
15822   * 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>
15823   * </p>
15824   */
15825  public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE);
15826
15827  /**
15828   * Search parameter: <b>description</b>
15829   * <p>
15830   * Description: <b>Multiple Resources: 
15831
15832   * [ActivityDefinition](activitydefinition.html): The description of the activity definition
15833   * [ActorDefinition](actordefinition.html): The description of the Actor Definition
15834   * [CapabilityStatement](capabilitystatement.html): The description of the capability statement
15835   * [ChargeItemDefinition](chargeitemdefinition.html): The description of the charge item definition
15836   * [Citation](citation.html): The description of the citation
15837   * [CodeSystem](codesystem.html): The description of the code system
15838   * [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition
15839   * [ConceptMap](conceptmap.html): The description of the concept map
15840   * [ConditionDefinition](conditiondefinition.html): The description of the condition definition
15841   * [EventDefinition](eventdefinition.html): The description of the event definition
15842   * [Evidence](evidence.html): The description of the evidence
15843   * [EvidenceVariable](evidencevariable.html): The description of the evidence variable
15844   * [GraphDefinition](graphdefinition.html): The description of the graph definition
15845   * [ImplementationGuide](implementationguide.html): The description of the implementation guide
15846   * [Library](library.html): The description of the library
15847   * [Measure](measure.html): The description of the measure
15848   * [MessageDefinition](messagedefinition.html): The description of the message definition
15849   * [NamingSystem](namingsystem.html): The description of the naming system
15850   * [OperationDefinition](operationdefinition.html): The description of the operation definition
15851   * [PlanDefinition](plandefinition.html): The description of the plan definition
15852   * [Questionnaire](questionnaire.html): The description of the questionnaire
15853   * [Requirements](requirements.html): The description of the requirements
15854   * [SearchParameter](searchparameter.html): The description of the search parameter
15855   * [StructureDefinition](structuredefinition.html): The description of the structure definition
15856   * [StructureMap](structuremap.html): The description of the structure map
15857   * [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities
15858   * [TestScript](testscript.html): The description of the test script
15859   * [ValueSet](valueset.html): The description of the value set
15860</b><br>
15861   * Type: <b>string</b><br>
15862   * 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>
15863   * </p>
15864   */
15865  @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" )
15866  public static final String SP_DESCRIPTION = "description";
15867  /**
15868   * <b>Fluent Client</b> search parameter constant for <b>description</b>
15869   * <p>
15870   * Description: <b>Multiple Resources: 
15871
15872   * [ActivityDefinition](activitydefinition.html): The description of the activity definition
15873   * [ActorDefinition](actordefinition.html): The description of the Actor Definition
15874   * [CapabilityStatement](capabilitystatement.html): The description of the capability statement
15875   * [ChargeItemDefinition](chargeitemdefinition.html): The description of the charge item definition
15876   * [Citation](citation.html): The description of the citation
15877   * [CodeSystem](codesystem.html): The description of the code system
15878   * [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition
15879   * [ConceptMap](conceptmap.html): The description of the concept map
15880   * [ConditionDefinition](conditiondefinition.html): The description of the condition definition
15881   * [EventDefinition](eventdefinition.html): The description of the event definition
15882   * [Evidence](evidence.html): The description of the evidence
15883   * [EvidenceVariable](evidencevariable.html): The description of the evidence variable
15884   * [GraphDefinition](graphdefinition.html): The description of the graph definition
15885   * [ImplementationGuide](implementationguide.html): The description of the implementation guide
15886   * [Library](library.html): The description of the library
15887   * [Measure](measure.html): The description of the measure
15888   * [MessageDefinition](messagedefinition.html): The description of the message definition
15889   * [NamingSystem](namingsystem.html): The description of the naming system
15890   * [OperationDefinition](operationdefinition.html): The description of the operation definition
15891   * [PlanDefinition](plandefinition.html): The description of the plan definition
15892   * [Questionnaire](questionnaire.html): The description of the questionnaire
15893   * [Requirements](requirements.html): The description of the requirements
15894   * [SearchParameter](searchparameter.html): The description of the search parameter
15895   * [StructureDefinition](structuredefinition.html): The description of the structure definition
15896   * [StructureMap](structuremap.html): The description of the structure map
15897   * [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities
15898   * [TestScript](testscript.html): The description of the test script
15899   * [ValueSet](valueset.html): The description of the value set
15900</b><br>
15901   * Type: <b>string</b><br>
15902   * 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>
15903   * </p>
15904   */
15905  public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION);
15906
15907  /**
15908   * Search parameter: <b>identifier</b>
15909   * <p>
15910   * Description: <b>Multiple Resources: 
15911
15912   * [ActivityDefinition](activitydefinition.html): External identifier for the activity definition
15913   * [ActorDefinition](actordefinition.html): External identifier for the Actor Definition
15914   * [CapabilityStatement](capabilitystatement.html): External identifier for the capability statement
15915   * [ChargeItemDefinition](chargeitemdefinition.html): External identifier for the charge item definition
15916   * [Citation](citation.html): External identifier for the citation
15917   * [CodeSystem](codesystem.html): External identifier for the code system
15918   * [ConceptMap](conceptmap.html): External identifier for the concept map
15919   * [ConditionDefinition](conditiondefinition.html): External identifier for the condition definition
15920   * [EventDefinition](eventdefinition.html): External identifier for the event definition
15921   * [Evidence](evidence.html): External identifier for the evidence
15922   * [EvidenceReport](evidencereport.html): External identifier for the evidence report
15923   * [EvidenceVariable](evidencevariable.html): External identifier for the evidence variable
15924   * [ExampleScenario](examplescenario.html): External identifier for the example scenario
15925   * [GraphDefinition](graphdefinition.html): External identifier for the graph definition
15926   * [ImplementationGuide](implementationguide.html): External identifier for the implementation guide
15927   * [Library](library.html): External identifier for the library
15928   * [Measure](measure.html): External identifier for the measure
15929   * [MedicationKnowledge](medicationknowledge.html): Business identifier for this medication
15930   * [MessageDefinition](messagedefinition.html): External identifier for the message definition
15931   * [NamingSystem](namingsystem.html): External identifier for the naming system
15932   * [ObservationDefinition](observationdefinition.html): The unique identifier associated with the specimen definition
15933   * [OperationDefinition](operationdefinition.html): External identifier for the search parameter
15934   * [PlanDefinition](plandefinition.html): External identifier for the plan definition
15935   * [Questionnaire](questionnaire.html): External identifier for the questionnaire
15936   * [Requirements](requirements.html): External identifier for the requirements
15937   * [SearchParameter](searchparameter.html): External identifier for the search parameter
15938   * [SpecimenDefinition](specimendefinition.html): The unique identifier associated with the SpecimenDefinition
15939   * [StructureDefinition](structuredefinition.html): External identifier for the structure definition
15940   * [StructureMap](structuremap.html): External identifier for the structure map
15941   * [SubscriptionTopic](subscriptiontopic.html): Business Identifier for SubscriptionTopic
15942   * [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities
15943   * [TestPlan](testplan.html): An identifier for the test plan
15944   * [TestScript](testscript.html): External identifier for the test script
15945   * [ValueSet](valueset.html): External identifier for the value set
15946</b><br>
15947   * Type: <b>token</b><br>
15948   * 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>
15949   * </p>
15950   */
15951  @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" )
15952  public static final String SP_IDENTIFIER = "identifier";
15953  /**
15954   * <b>Fluent Client</b> search parameter constant for <b>identifier</b>
15955   * <p>
15956   * Description: <b>Multiple Resources: 
15957
15958   * [ActivityDefinition](activitydefinition.html): External identifier for the activity definition
15959   * [ActorDefinition](actordefinition.html): External identifier for the Actor Definition
15960   * [CapabilityStatement](capabilitystatement.html): External identifier for the capability statement
15961   * [ChargeItemDefinition](chargeitemdefinition.html): External identifier for the charge item definition
15962   * [Citation](citation.html): External identifier for the citation
15963   * [CodeSystem](codesystem.html): External identifier for the code system
15964   * [ConceptMap](conceptmap.html): External identifier for the concept map
15965   * [ConditionDefinition](conditiondefinition.html): External identifier for the condition definition
15966   * [EventDefinition](eventdefinition.html): External identifier for the event definition
15967   * [Evidence](evidence.html): External identifier for the evidence
15968   * [EvidenceReport](evidencereport.html): External identifier for the evidence report
15969   * [EvidenceVariable](evidencevariable.html): External identifier for the evidence variable
15970   * [ExampleScenario](examplescenario.html): External identifier for the example scenario
15971   * [GraphDefinition](graphdefinition.html): External identifier for the graph definition
15972   * [ImplementationGuide](implementationguide.html): External identifier for the implementation guide
15973   * [Library](library.html): External identifier for the library
15974   * [Measure](measure.html): External identifier for the measure
15975   * [MedicationKnowledge](medicationknowledge.html): Business identifier for this medication
15976   * [MessageDefinition](messagedefinition.html): External identifier for the message definition
15977   * [NamingSystem](namingsystem.html): External identifier for the naming system
15978   * [ObservationDefinition](observationdefinition.html): The unique identifier associated with the specimen definition
15979   * [OperationDefinition](operationdefinition.html): External identifier for the search parameter
15980   * [PlanDefinition](plandefinition.html): External identifier for the plan definition
15981   * [Questionnaire](questionnaire.html): External identifier for the questionnaire
15982   * [Requirements](requirements.html): External identifier for the requirements
15983   * [SearchParameter](searchparameter.html): External identifier for the search parameter
15984   * [SpecimenDefinition](specimendefinition.html): The unique identifier associated with the SpecimenDefinition
15985   * [StructureDefinition](structuredefinition.html): External identifier for the structure definition
15986   * [StructureMap](structuremap.html): External identifier for the structure map
15987   * [SubscriptionTopic](subscriptiontopic.html): Business Identifier for SubscriptionTopic
15988   * [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities
15989   * [TestPlan](testplan.html): An identifier for the test plan
15990   * [TestScript](testscript.html): External identifier for the test script
15991   * [ValueSet](valueset.html): External identifier for the value set
15992</b><br>
15993   * Type: <b>token</b><br>
15994   * 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>
15995   * </p>
15996   */
15997  public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER);
15998
15999  /**
16000   * Search parameter: <b>jurisdiction</b>
16001   * <p>
16002   * Description: <b>Multiple Resources: 
16003
16004   * [ActivityDefinition](activitydefinition.html): Intended jurisdiction for the activity definition
16005   * [ActorDefinition](actordefinition.html): Intended jurisdiction for the Actor Definition
16006   * [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement
16007   * [ChargeItemDefinition](chargeitemdefinition.html): Intended jurisdiction for the charge item definition
16008   * [Citation](citation.html): Intended jurisdiction for the citation
16009   * [CodeSystem](codesystem.html): Intended jurisdiction for the code system
16010   * [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map
16011   * [ConditionDefinition](conditiondefinition.html): Intended jurisdiction for the condition definition
16012   * [EventDefinition](eventdefinition.html): Intended jurisdiction for the event definition
16013   * [ExampleScenario](examplescenario.html): Intended jurisdiction for the example scenario
16014   * [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition
16015   * [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide
16016   * [Library](library.html): Intended jurisdiction for the library
16017   * [Measure](measure.html): Intended jurisdiction for the measure
16018   * [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition
16019   * [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system
16020   * [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition
16021   * [PlanDefinition](plandefinition.html): Intended jurisdiction for the plan definition
16022   * [Questionnaire](questionnaire.html): Intended jurisdiction for the questionnaire
16023   * [Requirements](requirements.html): Intended jurisdiction for the requirements
16024   * [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter
16025   * [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition
16026   * [StructureMap](structuremap.html): Intended jurisdiction for the structure map
16027   * [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities
16028   * [TestScript](testscript.html): Intended jurisdiction for the test script
16029   * [ValueSet](valueset.html): Intended jurisdiction for the value set
16030</b><br>
16031   * Type: <b>token</b><br>
16032   * 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>
16033   * </p>
16034   */
16035  @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" )
16036  public static final String SP_JURISDICTION = "jurisdiction";
16037  /**
16038   * <b>Fluent Client</b> search parameter constant for <b>jurisdiction</b>
16039   * <p>
16040   * Description: <b>Multiple Resources: 
16041
16042   * [ActivityDefinition](activitydefinition.html): Intended jurisdiction for the activity definition
16043   * [ActorDefinition](actordefinition.html): Intended jurisdiction for the Actor Definition
16044   * [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement
16045   * [ChargeItemDefinition](chargeitemdefinition.html): Intended jurisdiction for the charge item definition
16046   * [Citation](citation.html): Intended jurisdiction for the citation
16047   * [CodeSystem](codesystem.html): Intended jurisdiction for the code system
16048   * [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map
16049   * [ConditionDefinition](conditiondefinition.html): Intended jurisdiction for the condition definition
16050   * [EventDefinition](eventdefinition.html): Intended jurisdiction for the event definition
16051   * [ExampleScenario](examplescenario.html): Intended jurisdiction for the example scenario
16052   * [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition
16053   * [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide
16054   * [Library](library.html): Intended jurisdiction for the library
16055   * [Measure](measure.html): Intended jurisdiction for the measure
16056   * [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition
16057   * [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system
16058   * [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition
16059   * [PlanDefinition](plandefinition.html): Intended jurisdiction for the plan definition
16060   * [Questionnaire](questionnaire.html): Intended jurisdiction for the questionnaire
16061   * [Requirements](requirements.html): Intended jurisdiction for the requirements
16062   * [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter
16063   * [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition
16064   * [StructureMap](structuremap.html): Intended jurisdiction for the structure map
16065   * [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities
16066   * [TestScript](testscript.html): Intended jurisdiction for the test script
16067   * [ValueSet](valueset.html): Intended jurisdiction for the value set
16068</b><br>
16069   * Type: <b>token</b><br>
16070   * 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>
16071   * </p>
16072   */
16073  public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_JURISDICTION);
16074
16075  /**
16076   * Search parameter: <b>name</b>
16077   * <p>
16078   * Description: <b>Multiple Resources: 
16079
16080   * [ActivityDefinition](activitydefinition.html): Computationally friendly name of the activity definition
16081   * [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement
16082   * [Citation](citation.html): Computationally friendly name of the citation
16083   * [CodeSystem](codesystem.html): Computationally friendly name of the code system
16084   * [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition
16085   * [ConceptMap](conceptmap.html): Computationally friendly name of the concept map
16086   * [ConditionDefinition](conditiondefinition.html): Computationally friendly name of the condition definition
16087   * [EventDefinition](eventdefinition.html): Computationally friendly name of the event definition
16088   * [EvidenceVariable](evidencevariable.html): Computationally friendly name of the evidence variable
16089   * [ExampleScenario](examplescenario.html): Computationally friendly name of the example scenario
16090   * [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition
16091   * [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide
16092   * [Library](library.html): Computationally friendly name of the library
16093   * [Measure](measure.html): Computationally friendly name of the measure
16094   * [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition
16095   * [NamingSystem](namingsystem.html): Computationally friendly name of the naming system
16096   * [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition
16097   * [PlanDefinition](plandefinition.html): Computationally friendly name of the plan definition
16098   * [Questionnaire](questionnaire.html): Computationally friendly name of the questionnaire
16099   * [Requirements](requirements.html): Computationally friendly name of the requirements
16100   * [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter
16101   * [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition
16102   * [StructureMap](structuremap.html): Computationally friendly name of the structure map
16103   * [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities
16104   * [TestScript](testscript.html): Computationally friendly name of the test script
16105   * [ValueSet](valueset.html): Computationally friendly name of the value set
16106</b><br>
16107   * Type: <b>string</b><br>
16108   * 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>
16109   * </p>
16110   */
16111  @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" )
16112  public static final String SP_NAME = "name";
16113  /**
16114   * <b>Fluent Client</b> search parameter constant for <b>name</b>
16115   * <p>
16116   * Description: <b>Multiple Resources: 
16117
16118   * [ActivityDefinition](activitydefinition.html): Computationally friendly name of the activity definition
16119   * [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement
16120   * [Citation](citation.html): Computationally friendly name of the citation
16121   * [CodeSystem](codesystem.html): Computationally friendly name of the code system
16122   * [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition
16123   * [ConceptMap](conceptmap.html): Computationally friendly name of the concept map
16124   * [ConditionDefinition](conditiondefinition.html): Computationally friendly name of the condition definition
16125   * [EventDefinition](eventdefinition.html): Computationally friendly name of the event definition
16126   * [EvidenceVariable](evidencevariable.html): Computationally friendly name of the evidence variable
16127   * [ExampleScenario](examplescenario.html): Computationally friendly name of the example scenario
16128   * [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition
16129   * [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide
16130   * [Library](library.html): Computationally friendly name of the library
16131   * [Measure](measure.html): Computationally friendly name of the measure
16132   * [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition
16133   * [NamingSystem](namingsystem.html): Computationally friendly name of the naming system
16134   * [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition
16135   * [PlanDefinition](plandefinition.html): Computationally friendly name of the plan definition
16136   * [Questionnaire](questionnaire.html): Computationally friendly name of the questionnaire
16137   * [Requirements](requirements.html): Computationally friendly name of the requirements
16138   * [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter
16139   * [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition
16140   * [StructureMap](structuremap.html): Computationally friendly name of the structure map
16141   * [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities
16142   * [TestScript](testscript.html): Computationally friendly name of the test script
16143   * [ValueSet](valueset.html): Computationally friendly name of the value set
16144</b><br>
16145   * Type: <b>string</b><br>
16146   * 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>
16147   * </p>
16148   */
16149  public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME);
16150
16151  /**
16152   * Search parameter: <b>publisher</b>
16153   * <p>
16154   * Description: <b>Multiple Resources: 
16155
16156   * [ActivityDefinition](activitydefinition.html): Name of the publisher of the activity definition
16157   * [ActorDefinition](actordefinition.html): Name of the publisher of the Actor Definition
16158   * [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement
16159   * [ChargeItemDefinition](chargeitemdefinition.html): Name of the publisher of the charge item definition
16160   * [Citation](citation.html): Name of the publisher of the citation
16161   * [CodeSystem](codesystem.html): Name of the publisher of the code system
16162   * [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition
16163   * [ConceptMap](conceptmap.html): Name of the publisher of the concept map
16164   * [ConditionDefinition](conditiondefinition.html): Name of the publisher of the condition definition
16165   * [EventDefinition](eventdefinition.html): Name of the publisher of the event definition
16166   * [Evidence](evidence.html): Name of the publisher of the evidence
16167   * [EvidenceReport](evidencereport.html): Name of the publisher of the evidence report
16168   * [EvidenceVariable](evidencevariable.html): Name of the publisher of the evidence variable
16169   * [ExampleScenario](examplescenario.html): Name of the publisher of the example scenario
16170   * [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition
16171   * [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide
16172   * [Library](library.html): Name of the publisher of the library
16173   * [Measure](measure.html): Name of the publisher of the measure
16174   * [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition
16175   * [NamingSystem](namingsystem.html): Name of the publisher of the naming system
16176   * [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition
16177   * [PlanDefinition](plandefinition.html): Name of the publisher of the plan definition
16178   * [Questionnaire](questionnaire.html): Name of the publisher of the questionnaire
16179   * [Requirements](requirements.html): Name of the publisher of the requirements
16180   * [SearchParameter](searchparameter.html): Name of the publisher of the search parameter
16181   * [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition
16182   * [StructureMap](structuremap.html): Name of the publisher of the structure map
16183   * [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities
16184   * [TestScript](testscript.html): Name of the publisher of the test script
16185   * [ValueSet](valueset.html): Name of the publisher of the value set
16186</b><br>
16187   * Type: <b>string</b><br>
16188   * 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>
16189   * </p>
16190   */
16191  @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" )
16192  public static final String SP_PUBLISHER = "publisher";
16193  /**
16194   * <b>Fluent Client</b> search parameter constant for <b>publisher</b>
16195   * <p>
16196   * Description: <b>Multiple Resources: 
16197
16198   * [ActivityDefinition](activitydefinition.html): Name of the publisher of the activity definition
16199   * [ActorDefinition](actordefinition.html): Name of the publisher of the Actor Definition
16200   * [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement
16201   * [ChargeItemDefinition](chargeitemdefinition.html): Name of the publisher of the charge item definition
16202   * [Citation](citation.html): Name of the publisher of the citation
16203   * [CodeSystem](codesystem.html): Name of the publisher of the code system
16204   * [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition
16205   * [ConceptMap](conceptmap.html): Name of the publisher of the concept map
16206   * [ConditionDefinition](conditiondefinition.html): Name of the publisher of the condition definition
16207   * [EventDefinition](eventdefinition.html): Name of the publisher of the event definition
16208   * [Evidence](evidence.html): Name of the publisher of the evidence
16209   * [EvidenceReport](evidencereport.html): Name of the publisher of the evidence report
16210   * [EvidenceVariable](evidencevariable.html): Name of the publisher of the evidence variable
16211   * [ExampleScenario](examplescenario.html): Name of the publisher of the example scenario
16212   * [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition
16213   * [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide
16214   * [Library](library.html): Name of the publisher of the library
16215   * [Measure](measure.html): Name of the publisher of the measure
16216   * [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition
16217   * [NamingSystem](namingsystem.html): Name of the publisher of the naming system
16218   * [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition
16219   * [PlanDefinition](plandefinition.html): Name of the publisher of the plan definition
16220   * [Questionnaire](questionnaire.html): Name of the publisher of the questionnaire
16221   * [Requirements](requirements.html): Name of the publisher of the requirements
16222   * [SearchParameter](searchparameter.html): Name of the publisher of the search parameter
16223   * [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition
16224   * [StructureMap](structuremap.html): Name of the publisher of the structure map
16225   * [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities
16226   * [TestScript](testscript.html): Name of the publisher of the test script
16227   * [ValueSet](valueset.html): Name of the publisher of the value set
16228</b><br>
16229   * Type: <b>string</b><br>
16230   * 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>
16231   * </p>
16232   */
16233  public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER);
16234
16235  /**
16236   * Search parameter: <b>status</b>
16237   * <p>
16238   * Description: <b>Multiple Resources: 
16239
16240   * [ActivityDefinition](activitydefinition.html): The current status of the activity definition
16241   * [ActorDefinition](actordefinition.html): The current status of the Actor Definition
16242   * [CapabilityStatement](capabilitystatement.html): The current status of the capability statement
16243   * [ChargeItemDefinition](chargeitemdefinition.html): The current status of the charge item definition
16244   * [Citation](citation.html): The current status of the citation
16245   * [CodeSystem](codesystem.html): The current status of the code system
16246   * [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition
16247   * [ConceptMap](conceptmap.html): The current status of the concept map
16248   * [ConditionDefinition](conditiondefinition.html): The current status of the condition definition
16249   * [EventDefinition](eventdefinition.html): The current status of the event definition
16250   * [Evidence](evidence.html): The current status of the evidence
16251   * [EvidenceReport](evidencereport.html): The current status of the evidence report
16252   * [EvidenceVariable](evidencevariable.html): The current status of the evidence variable
16253   * [ExampleScenario](examplescenario.html): The current status of the example scenario
16254   * [GraphDefinition](graphdefinition.html): The current status of the graph definition
16255   * [ImplementationGuide](implementationguide.html): The current status of the implementation guide
16256   * [Library](library.html): The current status of the library
16257   * [Measure](measure.html): The current status of the measure
16258   * [MedicationKnowledge](medicationknowledge.html): active | inactive | entered-in-error
16259   * [MessageDefinition](messagedefinition.html): The current status of the message definition
16260   * [NamingSystem](namingsystem.html): The current status of the naming system
16261   * [ObservationDefinition](observationdefinition.html): Publication status of the ObservationDefinition: draft, active, retired, unknown
16262   * [OperationDefinition](operationdefinition.html): The current status of the operation definition
16263   * [PlanDefinition](plandefinition.html): The current status of the plan definition
16264   * [Questionnaire](questionnaire.html): The current status of the questionnaire
16265   * [Requirements](requirements.html): The current status of the requirements
16266   * [SearchParameter](searchparameter.html): The current status of the search parameter
16267   * [SpecimenDefinition](specimendefinition.html): Publication status of the SpecimenDefinition: draft, active, retired, unknown
16268   * [StructureDefinition](structuredefinition.html): The current status of the structure definition
16269   * [StructureMap](structuremap.html): The current status of the structure map
16270   * [SubscriptionTopic](subscriptiontopic.html): draft | active | retired | unknown
16271   * [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities
16272   * [TestPlan](testplan.html): The current status of the test plan
16273   * [TestScript](testscript.html): The current status of the test script
16274   * [ValueSet](valueset.html): The current status of the value set
16275</b><br>
16276   * Type: <b>token</b><br>
16277   * 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>
16278   * </p>
16279   */
16280  @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" )
16281  public static final String SP_STATUS = "status";
16282  /**
16283   * <b>Fluent Client</b> search parameter constant for <b>status</b>
16284   * <p>
16285   * Description: <b>Multiple Resources: 
16286
16287   * [ActivityDefinition](activitydefinition.html): The current status of the activity definition
16288   * [ActorDefinition](actordefinition.html): The current status of the Actor Definition
16289   * [CapabilityStatement](capabilitystatement.html): The current status of the capability statement
16290   * [ChargeItemDefinition](chargeitemdefinition.html): The current status of the charge item definition
16291   * [Citation](citation.html): The current status of the citation
16292   * [CodeSystem](codesystem.html): The current status of the code system
16293   * [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition
16294   * [ConceptMap](conceptmap.html): The current status of the concept map
16295   * [ConditionDefinition](conditiondefinition.html): The current status of the condition definition
16296   * [EventDefinition](eventdefinition.html): The current status of the event definition
16297   * [Evidence](evidence.html): The current status of the evidence
16298   * [EvidenceReport](evidencereport.html): The current status of the evidence report
16299   * [EvidenceVariable](evidencevariable.html): The current status of the evidence variable
16300   * [ExampleScenario](examplescenario.html): The current status of the example scenario
16301   * [GraphDefinition](graphdefinition.html): The current status of the graph definition
16302   * [ImplementationGuide](implementationguide.html): The current status of the implementation guide
16303   * [Library](library.html): The current status of the library
16304   * [Measure](measure.html): The current status of the measure
16305   * [MedicationKnowledge](medicationknowledge.html): active | inactive | entered-in-error
16306   * [MessageDefinition](messagedefinition.html): The current status of the message definition
16307   * [NamingSystem](namingsystem.html): The current status of the naming system
16308   * [ObservationDefinition](observationdefinition.html): Publication status of the ObservationDefinition: draft, active, retired, unknown
16309   * [OperationDefinition](operationdefinition.html): The current status of the operation definition
16310   * [PlanDefinition](plandefinition.html): The current status of the plan definition
16311   * [Questionnaire](questionnaire.html): The current status of the questionnaire
16312   * [Requirements](requirements.html): The current status of the requirements
16313   * [SearchParameter](searchparameter.html): The current status of the search parameter
16314   * [SpecimenDefinition](specimendefinition.html): Publication status of the SpecimenDefinition: draft, active, retired, unknown
16315   * [StructureDefinition](structuredefinition.html): The current status of the structure definition
16316   * [StructureMap](structuremap.html): The current status of the structure map
16317   * [SubscriptionTopic](subscriptiontopic.html): draft | active | retired | unknown
16318   * [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities
16319   * [TestPlan](testplan.html): The current status of the test plan
16320   * [TestScript](testscript.html): The current status of the test script
16321   * [ValueSet](valueset.html): The current status of the value set
16322</b><br>
16323   * Type: <b>token</b><br>
16324   * 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>
16325   * </p>
16326   */
16327  public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS);
16328
16329  /**
16330   * Search parameter: <b>title</b>
16331   * <p>
16332   * Description: <b>Multiple Resources: 
16333
16334   * [ActivityDefinition](activitydefinition.html): The human-friendly name of the activity definition
16335   * [ActorDefinition](actordefinition.html): The human-friendly name of the Actor Definition
16336   * [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement
16337   * [ChargeItemDefinition](chargeitemdefinition.html): The human-friendly name of the charge item definition
16338   * [Citation](citation.html): The human-friendly name of the citation
16339   * [CodeSystem](codesystem.html): The human-friendly name of the code system
16340   * [ConceptMap](conceptmap.html): The human-friendly name of the concept map
16341   * [ConditionDefinition](conditiondefinition.html): The human-friendly name of the condition definition
16342   * [EventDefinition](eventdefinition.html): The human-friendly name of the event definition
16343   * [Evidence](evidence.html): The human-friendly name of the evidence
16344   * [EvidenceVariable](evidencevariable.html): The human-friendly name of the evidence variable
16345   * [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide
16346   * [Library](library.html): The human-friendly name of the library
16347   * [Measure](measure.html): The human-friendly name of the measure
16348   * [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition
16349   * [ObservationDefinition](observationdefinition.html): Human-friendly name of the ObservationDefinition
16350   * [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition
16351   * [PlanDefinition](plandefinition.html): The human-friendly name of the plan definition
16352   * [Questionnaire](questionnaire.html): The human-friendly name of the questionnaire
16353   * [Requirements](requirements.html): The human-friendly name of the requirements
16354   * [SpecimenDefinition](specimendefinition.html): Human-friendly name of the SpecimenDefinition
16355   * [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition
16356   * [StructureMap](structuremap.html): The human-friendly name of the structure map
16357   * [SubscriptionTopic](subscriptiontopic.html): Name for this SubscriptionTopic (Human friendly)
16358   * [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities
16359   * [TestScript](testscript.html): The human-friendly name of the test script
16360   * [ValueSet](valueset.html): The human-friendly name of the value set
16361</b><br>
16362   * Type: <b>string</b><br>
16363   * 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>
16364   * </p>
16365   */
16366  @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" )
16367  public static final String SP_TITLE = "title";
16368  /**
16369   * <b>Fluent Client</b> search parameter constant for <b>title</b>
16370   * <p>
16371   * Description: <b>Multiple Resources: 
16372
16373   * [ActivityDefinition](activitydefinition.html): The human-friendly name of the activity definition
16374   * [ActorDefinition](actordefinition.html): The human-friendly name of the Actor Definition
16375   * [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement
16376   * [ChargeItemDefinition](chargeitemdefinition.html): The human-friendly name of the charge item definition
16377   * [Citation](citation.html): The human-friendly name of the citation
16378   * [CodeSystem](codesystem.html): The human-friendly name of the code system
16379   * [ConceptMap](conceptmap.html): The human-friendly name of the concept map
16380   * [ConditionDefinition](conditiondefinition.html): The human-friendly name of the condition definition
16381   * [EventDefinition](eventdefinition.html): The human-friendly name of the event definition
16382   * [Evidence](evidence.html): The human-friendly name of the evidence
16383   * [EvidenceVariable](evidencevariable.html): The human-friendly name of the evidence variable
16384   * [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide
16385   * [Library](library.html): The human-friendly name of the library
16386   * [Measure](measure.html): The human-friendly name of the measure
16387   * [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition
16388   * [ObservationDefinition](observationdefinition.html): Human-friendly name of the ObservationDefinition
16389   * [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition
16390   * [PlanDefinition](plandefinition.html): The human-friendly name of the plan definition
16391   * [Questionnaire](questionnaire.html): The human-friendly name of the questionnaire
16392   * [Requirements](requirements.html): The human-friendly name of the requirements
16393   * [SpecimenDefinition](specimendefinition.html): Human-friendly name of the SpecimenDefinition
16394   * [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition
16395   * [StructureMap](structuremap.html): The human-friendly name of the structure map
16396   * [SubscriptionTopic](subscriptiontopic.html): Name for this SubscriptionTopic (Human friendly)
16397   * [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities
16398   * [TestScript](testscript.html): The human-friendly name of the test script
16399   * [ValueSet](valueset.html): The human-friendly name of the value set
16400</b><br>
16401   * Type: <b>string</b><br>
16402   * 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>
16403   * </p>
16404   */
16405  public static final ca.uhn.fhir.rest.gclient.StringClientParam TITLE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_TITLE);
16406
16407  /**
16408   * Search parameter: <b>url</b>
16409   * <p>
16410   * Description: <b>Multiple Resources: 
16411
16412   * [ActivityDefinition](activitydefinition.html): The uri that identifies the activity definition
16413   * [ActorDefinition](actordefinition.html): The uri that identifies the Actor Definition
16414   * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement
16415   * [ChargeItemDefinition](chargeitemdefinition.html): The uri that identifies the charge item definition
16416   * [Citation](citation.html): The uri that identifies the citation
16417   * [CodeSystem](codesystem.html): The uri that identifies the code system
16418   * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition
16419   * [ConceptMap](conceptmap.html): The URI that identifies the concept map
16420   * [ConditionDefinition](conditiondefinition.html): The uri that identifies the condition definition
16421   * [EventDefinition](eventdefinition.html): The uri that identifies the event definition
16422   * [Evidence](evidence.html): The uri that identifies the evidence
16423   * [EvidenceReport](evidencereport.html): The uri that identifies the evidence report
16424   * [EvidenceVariable](evidencevariable.html): The uri that identifies the evidence variable
16425   * [ExampleScenario](examplescenario.html): The uri that identifies the example scenario
16426   * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition
16427   * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide
16428   * [Library](library.html): The uri that identifies the library
16429   * [Measure](measure.html): The uri that identifies the measure
16430   * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition
16431   * [NamingSystem](namingsystem.html): The uri that identifies the naming system
16432   * [ObservationDefinition](observationdefinition.html): The uri that identifies the observation definition
16433   * [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition
16434   * [PlanDefinition](plandefinition.html): The uri that identifies the plan definition
16435   * [Questionnaire](questionnaire.html): The uri that identifies the questionnaire
16436   * [Requirements](requirements.html): The uri that identifies the requirements
16437   * [SearchParameter](searchparameter.html): The uri that identifies the search parameter
16438   * [SpecimenDefinition](specimendefinition.html): The uri that identifies the specimen definition
16439   * [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition
16440   * [StructureMap](structuremap.html): The uri that identifies the structure map
16441   * [SubscriptionTopic](subscriptiontopic.html): Logical canonical URL to reference this SubscriptionTopic (globally unique)
16442   * [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities
16443   * [TestPlan](testplan.html): The uri that identifies the test plan
16444   * [TestScript](testscript.html): The uri that identifies the test script
16445   * [ValueSet](valueset.html): The uri that identifies the value set
16446</b><br>
16447   * Type: <b>uri</b><br>
16448   * 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>
16449   * </p>
16450   */
16451  @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" )
16452  public static final String SP_URL = "url";
16453  /**
16454   * <b>Fluent Client</b> search parameter constant for <b>url</b>
16455   * <p>
16456   * Description: <b>Multiple Resources: 
16457
16458   * [ActivityDefinition](activitydefinition.html): The uri that identifies the activity definition
16459   * [ActorDefinition](actordefinition.html): The uri that identifies the Actor Definition
16460   * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement
16461   * [ChargeItemDefinition](chargeitemdefinition.html): The uri that identifies the charge item definition
16462   * [Citation](citation.html): The uri that identifies the citation
16463   * [CodeSystem](codesystem.html): The uri that identifies the code system
16464   * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition
16465   * [ConceptMap](conceptmap.html): The URI that identifies the concept map
16466   * [ConditionDefinition](conditiondefinition.html): The uri that identifies the condition definition
16467   * [EventDefinition](eventdefinition.html): The uri that identifies the event definition
16468   * [Evidence](evidence.html): The uri that identifies the evidence
16469   * [EvidenceReport](evidencereport.html): The uri that identifies the evidence report
16470   * [EvidenceVariable](evidencevariable.html): The uri that identifies the evidence variable
16471   * [ExampleScenario](examplescenario.html): The uri that identifies the example scenario
16472   * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition
16473   * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide
16474   * [Library](library.html): The uri that identifies the library
16475   * [Measure](measure.html): The uri that identifies the measure
16476   * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition
16477   * [NamingSystem](namingsystem.html): The uri that identifies the naming system
16478   * [ObservationDefinition](observationdefinition.html): The uri that identifies the observation definition
16479   * [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition
16480   * [PlanDefinition](plandefinition.html): The uri that identifies the plan definition
16481   * [Questionnaire](questionnaire.html): The uri that identifies the questionnaire
16482   * [Requirements](requirements.html): The uri that identifies the requirements
16483   * [SearchParameter](searchparameter.html): The uri that identifies the search parameter
16484   * [SpecimenDefinition](specimendefinition.html): The uri that identifies the specimen definition
16485   * [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition
16486   * [StructureMap](structuremap.html): The uri that identifies the structure map
16487   * [SubscriptionTopic](subscriptiontopic.html): Logical canonical URL to reference this SubscriptionTopic (globally unique)
16488   * [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities
16489   * [TestPlan](testplan.html): The uri that identifies the test plan
16490   * [TestScript](testscript.html): The uri that identifies the test script
16491   * [ValueSet](valueset.html): The uri that identifies the value set
16492</b><br>
16493   * Type: <b>uri</b><br>
16494   * 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>
16495   * </p>
16496   */
16497  public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL);
16498
16499  /**
16500   * Search parameter: <b>version</b>
16501   * <p>
16502   * Description: <b>Multiple Resources: 
16503
16504   * [ActivityDefinition](activitydefinition.html): The business version of the activity definition
16505   * [ActorDefinition](actordefinition.html): The business version of the Actor Definition
16506   * [CapabilityStatement](capabilitystatement.html): The business version of the capability statement
16507   * [ChargeItemDefinition](chargeitemdefinition.html): The business version of the charge item definition
16508   * [Citation](citation.html): The business version of the citation
16509   * [CodeSystem](codesystem.html): The business version of the code system
16510   * [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition
16511   * [ConceptMap](conceptmap.html): The business version of the concept map
16512   * [ConditionDefinition](conditiondefinition.html): The business version of the condition definition
16513   * [EventDefinition](eventdefinition.html): The business version of the event definition
16514   * [Evidence](evidence.html): The business version of the evidence
16515   * [EvidenceVariable](evidencevariable.html): The business version of the evidence variable
16516   * [ExampleScenario](examplescenario.html): The business version of the example scenario
16517   * [GraphDefinition](graphdefinition.html): The business version of the graph definition
16518   * [ImplementationGuide](implementationguide.html): The business version of the implementation guide
16519   * [Library](library.html): The business version of the library
16520   * [Measure](measure.html): The business version of the measure
16521   * [MessageDefinition](messagedefinition.html): The business version of the message definition
16522   * [NamingSystem](namingsystem.html): The business version of the naming system
16523   * [OperationDefinition](operationdefinition.html): The business version of the operation definition
16524   * [PlanDefinition](plandefinition.html): The business version of the plan definition
16525   * [Questionnaire](questionnaire.html): The business version of the questionnaire
16526   * [Requirements](requirements.html): The business version of the requirements
16527   * [SearchParameter](searchparameter.html): The business version of the search parameter
16528   * [StructureDefinition](structuredefinition.html): The business version of the structure definition
16529   * [StructureMap](structuremap.html): The business version of the structure map
16530   * [SubscriptionTopic](subscriptiontopic.html): Business version of the SubscriptionTopic
16531   * [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities
16532   * [TestScript](testscript.html): The business version of the test script
16533   * [ValueSet](valueset.html): The business version of the value set
16534</b><br>
16535   * Type: <b>token</b><br>
16536   * 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>
16537   * </p>
16538   */
16539  @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" )
16540  public static final String SP_VERSION = "version";
16541  /**
16542   * <b>Fluent Client</b> search parameter constant for <b>version</b>
16543   * <p>
16544   * Description: <b>Multiple Resources: 
16545
16546   * [ActivityDefinition](activitydefinition.html): The business version of the activity definition
16547   * [ActorDefinition](actordefinition.html): The business version of the Actor Definition
16548   * [CapabilityStatement](capabilitystatement.html): The business version of the capability statement
16549   * [ChargeItemDefinition](chargeitemdefinition.html): The business version of the charge item definition
16550   * [Citation](citation.html): The business version of the citation
16551   * [CodeSystem](codesystem.html): The business version of the code system
16552   * [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition
16553   * [ConceptMap](conceptmap.html): The business version of the concept map
16554   * [ConditionDefinition](conditiondefinition.html): The business version of the condition definition
16555   * [EventDefinition](eventdefinition.html): The business version of the event definition
16556   * [Evidence](evidence.html): The business version of the evidence
16557   * [EvidenceVariable](evidencevariable.html): The business version of the evidence variable
16558   * [ExampleScenario](examplescenario.html): The business version of the example scenario
16559   * [GraphDefinition](graphdefinition.html): The business version of the graph definition
16560   * [ImplementationGuide](implementationguide.html): The business version of the implementation guide
16561   * [Library](library.html): The business version of the library
16562   * [Measure](measure.html): The business version of the measure
16563   * [MessageDefinition](messagedefinition.html): The business version of the message definition
16564   * [NamingSystem](namingsystem.html): The business version of the naming system
16565   * [OperationDefinition](operationdefinition.html): The business version of the operation definition
16566   * [PlanDefinition](plandefinition.html): The business version of the plan definition
16567   * [Questionnaire](questionnaire.html): The business version of the questionnaire
16568   * [Requirements](requirements.html): The business version of the requirements
16569   * [SearchParameter](searchparameter.html): The business version of the search parameter
16570   * [StructureDefinition](structuredefinition.html): The business version of the structure definition
16571   * [StructureMap](structuremap.html): The business version of the structure map
16572   * [SubscriptionTopic](subscriptiontopic.html): Business version of the SubscriptionTopic
16573   * [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities
16574   * [TestScript](testscript.html): The business version of the test script
16575   * [ValueSet](valueset.html): The business version of the value set
16576</b><br>
16577   * Type: <b>token</b><br>
16578   * 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>
16579   * </p>
16580   */
16581  public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION);
16582
16583  /**
16584   * Search parameter: <b>depends-on</b>
16585   * <p>
16586   * Description: <b>Identity of the IG that this depends on</b><br>
16587   * Type: <b>reference</b><br>
16588   * Path: <b>ImplementationGuide.dependsOn.uri</b><br>
16589   * </p>
16590   */
16591  @SearchParamDefinition(name="depends-on", path="ImplementationGuide.dependsOn.uri", description="Identity of the IG that this depends on", type="reference", target={ImplementationGuide.class } )
16592  public static final String SP_DEPENDS_ON = "depends-on";
16593  /**
16594   * <b>Fluent Client</b> search parameter constant for <b>depends-on</b>
16595   * <p>
16596   * Description: <b>Identity of the IG that this depends on</b><br>
16597   * Type: <b>reference</b><br>
16598   * Path: <b>ImplementationGuide.dependsOn.uri</b><br>
16599   * </p>
16600   */
16601  public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam DEPENDS_ON = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_DEPENDS_ON);
16602
16603  /**
16604   * Constant for fluent queries to be used to add include statements. Specifies
16605   * the path value of "<b>ImplementationGuide:depends-on</b>".
16606   */
16607  public static final ca.uhn.fhir.model.api.Include INCLUDE_DEPENDS_ON = new ca.uhn.fhir.model.api.Include("ImplementationGuide:depends-on").toLocked();
16608
16609  /**
16610   * Search parameter: <b>experimental</b>
16611   * <p>
16612   * Description: <b>For testing purposes, not real usage</b><br>
16613   * Type: <b>token</b><br>
16614   * Path: <b>ImplementationGuide.experimental</b><br>
16615   * </p>
16616   */
16617  @SearchParamDefinition(name="experimental", path="ImplementationGuide.experimental", description="For testing purposes, not real usage", type="token" )
16618  public static final String SP_EXPERIMENTAL = "experimental";
16619  /**
16620   * <b>Fluent Client</b> search parameter constant for <b>experimental</b>
16621   * <p>
16622   * Description: <b>For testing purposes, not real usage</b><br>
16623   * Type: <b>token</b><br>
16624   * Path: <b>ImplementationGuide.experimental</b><br>
16625   * </p>
16626   */
16627  public static final ca.uhn.fhir.rest.gclient.TokenClientParam EXPERIMENTAL = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_EXPERIMENTAL);
16628
16629  /**
16630   * Search parameter: <b>global</b>
16631   * <p>
16632   * Description: <b>Profile that all resources must conform to</b><br>
16633   * Type: <b>reference</b><br>
16634   * Path: <b>ImplementationGuide.global.profile</b><br>
16635   * </p>
16636   */
16637  @SearchParamDefinition(name="global", path="ImplementationGuide.global.profile", description="Profile that all resources must conform to", type="reference", target={StructureDefinition.class } )
16638  public static final String SP_GLOBAL = "global";
16639  /**
16640   * <b>Fluent Client</b> search parameter constant for <b>global</b>
16641   * <p>
16642   * Description: <b>Profile that all resources must conform to</b><br>
16643   * Type: <b>reference</b><br>
16644   * Path: <b>ImplementationGuide.global.profile</b><br>
16645   * </p>
16646   */
16647  public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam GLOBAL = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_GLOBAL);
16648
16649  /**
16650   * Constant for fluent queries to be used to add include statements. Specifies
16651   * the path value of "<b>ImplementationGuide:global</b>".
16652   */
16653  public static final ca.uhn.fhir.model.api.Include INCLUDE_GLOBAL = new ca.uhn.fhir.model.api.Include("ImplementationGuide:global").toLocked();
16654
16655  /**
16656   * Search parameter: <b>resource</b>
16657   * <p>
16658   * Description: <b>Location of the resource</b><br>
16659   * Type: <b>reference</b><br>
16660   * Path: <b>ImplementationGuide.definition.resource.reference</b><br>
16661   * </p>
16662   */
16663  @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 } )
16664  public static final String SP_RESOURCE = "resource";
16665  /**
16666   * <b>Fluent Client</b> search parameter constant for <b>resource</b>
16667   * <p>
16668   * Description: <b>Location of the resource</b><br>
16669   * Type: <b>reference</b><br>
16670   * Path: <b>ImplementationGuide.definition.resource.reference</b><br>
16671   * </p>
16672   */
16673  public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam RESOURCE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_RESOURCE);
16674
16675  /**
16676   * Constant for fluent queries to be used to add include statements. Specifies
16677   * the path value of "<b>ImplementationGuide:resource</b>".
16678   */
16679  public static final ca.uhn.fhir.model.api.Include INCLUDE_RESOURCE = new ca.uhn.fhir.model.api.Include("ImplementationGuide:resource").toLocked();
16680
16681
16682}
16683