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