001package org.hl7.fhir.r5.utils;
002
003import java.lang.reflect.Field;
004import java.lang.reflect.Modifier;
005import java.util.ArrayList;
006import java.util.HashMap;
007import java.util.List;
008import java.util.Map;
009
010public class BuildExtensions extends ToolingExtensions {
011
012  public static final String EXT_DESCRIPTION = "http://hl7.org/fhir/build/StructureDefinition/description";
013  public static final String EXT_TITLE = "http://hl7.org/fhir/build/StructureDefinition/title";
014  public static final String EXT_EXAMPLE_TYPE = "http://hl7.org/fhir/build/CodeSystem/example-type";
015  public static final String EXT_NOT_REGISTERED = "http://hl7.org/fhir/build/StructureDefinition/registered";
016  public static final String EXT_IG = "http://hl7.org/fhir/build/StructureDefinition/ig";
017  public static final String EXT_EXAMPLE_FOR = "http://hl7.org/fhir/build/StructureDefinition/example-for";
018  public static final String EXT_PATH = "http://hl7.org/fhir/build/StructureDefinition/path";
019  public static final String EXT_FOOTER = "http://hl7.org/fhir/build/StructureDefinition/footer";
020  public static final String EXT_FOOTER2 = "http://hl7.org/fhir/build/StructureDefinition/footer2";
021  public static final String EXT_ENTERED_IN_ERROR_STATUS = "http://hl7.org/fhir/build/StructureDefinition/entered-in-error-status";
022  public static final String EXT_PROPOSED_ORDER = "http://hl7.org/fhir/build/StructureDefinition/proposed-order";
023  public static final String EXT_HINT = "http://hl7.org/fhir/build/StructureDefinition/hint";
024  public static final String EXT_LAYOUT = "http://hl7.org/fhir/build/StructureDefinition/layout";
025  public static final String EXT_TODO = "http://hl7.org/fhir/build/StructureDefinition/todo";
026  public static final String EXT_COMMITTEE_NOTES = "http://hl7.org/fhir/build/StructureDefinition/committee-notes";
027  public static final String EXT_UML_DIR = "http://hl7.org/fhir/build/StructureDefinition/uml-dir";
028  public static final String EXT_UML_BREAK = "http://hl7.org/fhir/build/StructureDefinition/uml-break";
029  public static final String EXT_SVG = "http://hl7.org/fhir/build/StructureDefinition/svg";
030  public static final String EXT_OCL = "http://hl7.org/fhir/build/StructureDefinition/ocl";
031  public static final String EXT_FIXED_NAME = "http://hl7.org/fhir/build/StructureDefinition/fixed-name";
032  public static final String EXT_TURTLE = "http://hl7.org/fhir/build/StructureDefinition/turtle";
033  public static final String EXT_NAME = "http://hl7.org/fhir/build/StructureDefinition/name";
034  public static final String EXT_V2_MAP = "http://hl7.org/fhir/build/StructureDefinition/v2-map";
035  public static final String EXT_V3_MAP = "http://hl7.org/fhir/build/StructureDefinition/v3-map";
036  public static final String EXT_BINDING_DEFINITION = "http://hl7.org/fhir/build/StructureDefinition/binding-definition";
037  public static final String EXT_URI = "http://hl7.org/fhir/build/StructureDefinition/uri";
038  public static final String EXT_WEBSITE = "http://hl7.org/fhir/build/StructureDefinition/website";
039  public static final String EXT_EMAIL = "http://hl7.org/fhir/build/StructureDefinition/email";
040  public static final String EXT_COPYRIGHT = "http://hl7.org/fhir/build/StructureDefinition/copyright";
041  public static final String EXT_STATUS = "http://hl7.org/fhir/build/StructureDefinition/status";
042  public static final String EXT_INTRODUCTION = "http://hl7.org/fhir/build/StructureDefinition/introduction";
043  public static final String EXT_NOTES = "http://hl7.org/fhir/build/StructureDefinition/notes";
044  public static final String EXT_CODE = "http://hl7.org/fhir/build/StructureDefinition/code";
045  public static final String EXT_TYPE = "http://hl7.org/fhir/build/StructureDefinition/type";
046  public static final String EXT_SUMMARY = "http://hl7.org/fhir/build/StructureDefinition/summary";
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  public static List<String> allConsts() {
059    List<String> list = new ArrayList<>();
060    for (Field field : BuildExtensions.class.getDeclaredFields()) {
061      int modifiers = field.getModifiers();
062      if (Modifier.isStatic(modifiers) && Modifier.isFinal(modifiers)) {
063        try {
064          list.add(field.get(field.getType()).toString());
065        } catch (Exception e) {
066        }
067      }
068    }
069    list.addAll(ToolingExtensions.allConsts());
070    return list;
071  }
072
073
074}