expose User data through ResourceWrapper interface

This commit is contained in:
Grahame Grieve 2024-11-14 22:50:40 +10:30
parent 4f61f6f29e
commit a5c23e119c
5 changed files with 23 additions and 1 deletions

View File

@ -242,4 +242,9 @@ public class ResourceWrapperR4 extends ResourceWrapper {
return null;
}
@Override
public boolean hasUserData(String name) {
return element.hasUserData(name);
}
}

View File

@ -242,4 +242,9 @@ public class ResourceWrapperR4B extends ResourceWrapper {
return null;
}
@Override
public boolean hasUserData(String name) {
return element.hasUserData(name);
}
}

View File

@ -522,6 +522,7 @@ public abstract class ResourceWrapper {
public abstract boolean hasPrimitiveValue();
public abstract String primitiveValue();
public abstract boolean isResource();
public abstract boolean hasUserData(String name);
}

View File

@ -270,5 +270,10 @@ public class ResourceWrapperModel extends ResourceWrapper {
return null;
}
@Override
public boolean hasUserData(String name) {
return model.hasUserData(name);
}
}

View File

@ -10,6 +10,7 @@ import org.hl7.fhir.r5.model.Enumeration;
import org.hl7.fhir.r5.model.Narrative;
import org.hl7.fhir.r5.model.Property;
import org.hl7.fhir.r5.model.Resource;
import org.hl7.fhir.r5.utils.UserDataNames;
import org.hl7.fhir.utilities.xhtml.NodeType;
import org.hl7.fhir.utilities.xhtml.XhtmlNode;
@ -143,7 +144,7 @@ public class ResourceWrapperNative extends ResourceWrapper {
public void setNarrative(XhtmlNode x, String status, boolean multiLangMode, Locale locale, boolean isPretty) {
if (element instanceof DomainResource) {
DomainResource r = (DomainResource) element;
r.getText().setUserData("renderer.generated", true);
r.getText().setUserData(UserDataNames.renderer_is_generated, true);
if (!r.hasText() || !r.getText().hasDiv()) {
r.setText(new Narrative());
r.getText().setStatusAsString(status);
@ -231,4 +232,9 @@ public class ResourceWrapperNative extends ResourceWrapper {
return null;
}
@Override
public boolean hasUserData(String name) {
return element.hasUserData(name);
}
}