
001package org.hl7.fhir.r5.utils; 002 003import java.lang.reflect.Field; 004import java.lang.reflect.Modifier; 005import java.util.ArrayList; 006import java.util.HashSet; 007import java.util.List; 008import java.util.Set; 009 010import org.hl7.fhir.utilities.MarkedToMoveToAdjunctPackage; 011 012@MarkedToMoveToAdjunctPackage 013public class BuildExtensions extends ToolingExtensions { 014 015 public static final String EXT_DESCRIPTION = "http://hl7.org/fhir/build/StructureDefinition/description"; 016 public static final String EXT_TITLE = "http://hl7.org/fhir/build/StructureDefinition/title"; 017 public static final String EXT_EXAMPLE_TYPE = "http://hl7.org/fhir/build/CodeSystem/example-type"; 018 public static final String EXT_NOT_REGISTERED = "http://hl7.org/fhir/build/StructureDefinition/registered"; 019 public static final String EXT_IG = "http://hl7.org/fhir/build/StructureDefinition/ig"; 020 public static final String EXT_EXAMPLE_FOR = "http://hl7.org/fhir/build/StructureDefinition/example-for"; 021 public static final String EXT_PATH = "http://hl7.org/fhir/build/StructureDefinition/path"; 022 public static final String EXT_FOOTER = "http://hl7.org/fhir/build/StructureDefinition/footer"; 023 public static final String EXT_FOOTER2 = "http://hl7.org/fhir/build/StructureDefinition/footer2"; 024 public static final String EXT_ENTERED_IN_ERROR_STATUS = "http://hl7.org/fhir/build/StructureDefinition/entered-in-error-status"; 025 public static final String EXT_PROPOSED_ORDER = "http://hl7.org/fhir/build/StructureDefinition/proposed-order"; 026 public static final String EXT_HINT = "http://hl7.org/fhir/build/StructureDefinition/hint"; 027 public static final String EXT_LAYOUT = "http://hl7.org/fhir/build/StructureDefinition/layout"; 028 public static final String EXT_TODO = "http://hl7.org/fhir/build/StructureDefinition/todo"; 029 public static final String EXT_COMMITTEE_NOTES = "http://hl7.org/fhir/build/StructureDefinition/committee-notes"; 030 public static final String EXT_UML_DIR = "http://hl7.org/fhir/build/StructureDefinition/uml-dir"; 031 public static final String EXT_UML_BREAK = "http://hl7.org/fhir/build/StructureDefinition/uml-break"; 032 public static final String EXT_SVG = "http://hl7.org/fhir/build/StructureDefinition/svg"; 033 public static final String EXT_OCL = "http://hl7.org/fhir/build/StructureDefinition/ocl"; 034 public static final String EXT_FIXED_NAME = "http://hl7.org/fhir/build/StructureDefinition/fixed-name"; 035 public static final String EXT_TURTLE = "http://hl7.org/fhir/build/StructureDefinition/turtle"; 036 public static final String EXT_NAME = "http://hl7.org/fhir/build/StructureDefinition/name"; 037 public static final String EXT_V2_MAP = "http://hl7.org/fhir/build/StructureDefinition/v2-map"; 038 public static final String EXT_V3_MAP = "http://hl7.org/fhir/build/StructureDefinition/v3-map"; 039 public static final String EXT_URI = "http://hl7.org/fhir/build/StructureDefinition/uri"; 040 public static final String EXT_WEBSITE = "http://hl7.org/fhir/build/StructureDefinition/website"; 041 public static final String EXT_EMAIL = "http://hl7.org/fhir/build/StructureDefinition/email"; 042 public static final String EXT_COPYRIGHT = "http://hl7.org/fhir/build/StructureDefinition/copyright"; 043 public static final String EXT_STATUS = "http://hl7.org/fhir/build/StructureDefinition/status"; 044 public static final String EXT_INTRODUCTION = "http://hl7.org/fhir/build/StructureDefinition/introduction"; 045 public static final String EXT_NOTES = "http://hl7.org/fhir/build/StructureDefinition/notes"; 046 public static final String EXT_CODE = "http://hl7.org/fhir/build/StructureDefinition/code"; 047 public static final String EXT_TYPE = "http://hl7.org/fhir/build/StructureDefinition/type"; 048// public static final String EXT_EXPLANATION = "http://hl7.org/fhir/build/StructureDefinition/explanation"; 049 public static final String EXT_NO_BINDING = "http://hl7.org/fhir/build/StructureDefinition/no-binding"; 050 public static final String EXT_OP_EXAMPLE = "http://hl7.org/fhir/build/StructureDefinition/example"; 051 public static final String EXT_OP_EXAMPLE_CONTENT = "content"; 052 public static final String EXT_OP_EXAMPLE_COMMENT = "comment"; 053 public static final String EXT_OP_EXAMPLE_RESPONSE = "response"; 054 public static final String EXT_OP_EXAMPLE_LIST = "list"; 055 public static final String EXT_TEMPLATE = "http://hl7.org/fhir/build/StructureDefinition/template"; 056 public static final String EXT_BINDING_NAME = "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName"; 057 058 059 private static Set<String> cachedConsts; 060 061 public static Set<String> allConsts() { 062 if (cachedConsts == null) { 063 Set<String> list = new HashSet<>(); 064 for (Field field : BuildExtensions.class.getDeclaredFields()) { 065 int modifiers = field.getModifiers(); 066 if (Modifier.isStatic(modifiers) && Modifier.isFinal(modifiers)) { 067 try { 068 list.add(field.get(field.getType()).toString()); 069 } catch (Exception e) { 070 } 071 } 072 } 073 list.addAll(ToolingExtensions.allConsts()); 074 cachedConsts = list; 075 } 076 return cachedConsts; 077 } 078 079 080}