001package org.hl7.fhir.r5.elementmodel;
002
003import java.util.ArrayList;
004import java.util.List;
005
006import lombok.Getter;
007import lombok.Setter;
008
009import org.hl7.fhir.utilities.MarkedToMoveToAdjunctPackage;
010import org.hl7.fhir.utilities.validation.ValidationMessage;
011
012@MarkedToMoveToAdjunctPackage
013public class ValidatedFragment {
014
015  @Getter
016  private String name;
017
018  @Getter @Setter
019  private String elementPath;
020
021  @Getter
022  private String extension;
023
024  @Getter @Setter
025  private Element element;
026
027  @Getter @Setter
028  private byte[] content;
029
030  @Getter
031  private final boolean isDerivedContent;
032  public final static String FOCUS_NAME = "focus";
033  public final static String ITEM_NAME = "item";
034
035  @Getter
036  private List<ValidationMessage> errors = new ArrayList<>();
037
038
039  public ValidatedFragment(String name, String extension, Element element, byte[] content, boolean isDerivedContent) {
040    super();
041    this.name = name;
042    this.element = element; 
043    this.content = content;
044    this.extension = extension;
045    this.isDerivedContent = isDerivedContent;
046  }
047
048  public ValidatedFragment(String name, String extension, byte[] content, boolean isDerivedContent) {
049    super();
050    this.name = name;
051    this.content = content;
052    this.extension = extension;
053    this.isDerivedContent = isDerivedContent;
054  }
055  public String getFilename() {
056    return name+"."+extension;
057  }
058
059  public String path() {
060    return elementPath == null ? name : elementPath;
061  }
062}