001package org.hl7.fhir.r5.renderers.mappings;
002
003import org.hl7.fhir.r5.model.ElementDefinition;
004import org.hl7.fhir.r5.model.StructureDefinition;
005import org.hl7.fhir.r5.renderers.StructureDefinitionRenderer.Column;
006import org.hl7.fhir.r5.renderers.utils.RenderingContext;
007import org.hl7.fhir.utilities.xhtml.HierarchicalTableGenerator;
008import org.hl7.fhir.utilities.xhtml.XhtmlNode;
009import org.hl7.fhir.utilities.xhtml.HierarchicalTableGenerator.Cell;
010
011public abstract class ModelMappingProvider {
012  protected RenderingContext context;
013  protected StructureDefinition dest;
014  protected boolean reverse;
015
016  public ModelMappingProvider(RenderingContext context, StructureDefinition dest, boolean reverse) {
017    super();
018    this.context = context;
019    this.dest = dest;
020    this.reverse = reverse;
021  }
022
023  public abstract Column makeColumn(String id);
024
025  public abstract void render(ElementDefinition element, XhtmlNode div);
026
027
028  protected String ref() {
029    return dest.getWebPath(); // context.getPkp().getDefinitionsName(dest);
030  }
031}