package ca.uhn.fhir.narrative.template.nodes;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
class OutputNode implements LNode {
private LNode expression;
private List<FilterNode> filters;
public OutputNode(LNode expression) {
this.expression = expression;
this.filters = new ArrayList<FilterNode>();
}
public void addFilter(FilterNode filter) {
filters.add(filter);
}
@Override
public Object render(Map<String, Object> context) {
Object value = expression.render(context);
for (FilterNode node : filters) {
value = node.apply(value, context);
}
return value;
}
}