public static boolean isDecimal(String string) { if (Utilities.noString(string)) return false; try { BigDecimal bd = new BigDecimal(string); return bd != null; } catch (Exception e) { return false; } }
public static boolean equivalentNumber(String l, String r) { if (Utilities.noString(l) && Utilities.noString(r)) return true; if (Utilities.noString(l) || Utilities.noString(r)) return false; l = l.toLowerCase().trim(); r = r.toLowerCase().trim(); // not that this should make any difference return l.startsWith(r) || r.startsWith(l); }
public PackageGenerator author(String name, String email, String url) { JsonObject person = new JsonObject(); person.addProperty("name", name); if (!Utilities.noString(email)) person.addProperty("email", email); if (!Utilities.noString(url)) person.addProperty("url", url); object.add("author", person); return this; }
public static String appendPeriod(String s) { if (Utilities.noString(s)) return s; s = s.trim(); if (s.endsWith(".") || s.endsWith("?")) return s; return s+"."; }
public static String removePeriod(String s) { if (Utilities.noString(s)) return s; if (s.endsWith(".")) return s.substring(0, s.length()-1); return s; }
public DateType makeDateFromTS(Element ts) throws Exception { if (ts == null) return null; String v = ts.getAttribute("value"); if (Utilities.noString(v)) return null; DateType d = DateType.parseV3(v); return d; }
private String getContent(String command) throws Exception { if (Utilities.noString(command) || command.startsWith("!")) return ""; String[] parts = command.split("\\ "); return processCommand(command, parts); }
public DateTimeType makeDateTimeFromTS(Element ts) throws Exception { if (ts == null) return null; String v = ts.getAttribute("value"); if (Utilities.noString(v)) return null; if (v.length() > 8 && !hasTimezone(v)) v += defaultTimezone; DateTimeType d = DateTimeType.parseV3(v); return d; }
@Override public String fhirType() { if (!Utilities.noString(typeName)) return typeName; else return definition.getType().get(0).getCode(); }
private List<Base> funcEndsWith(ExecutionContext context, List<Base> focus, ExpressionNode exp) throws FHIRException { List<Base> result = new ArrayList<Base>(); String sw = convertToString(execute(context, focus, exp.getParameters().get(0), true)); if (focus.size() == 1 && !Utilities.noString(sw)) result.add(new BooleanType(convertToString(focus.get(0)).endsWith(sw))); else result.add(new BooleanType(false)); return result; }
private List<Base> funcContains(ExecutionContext context, List<Base> focus, ExpressionNode exp) throws FHIRException { List<Base> result = new ArrayList<Base>(); String sw = convertToString(execute(context, focus, exp.getParameters().get(0), true)); if (focus.size() == 1 && !Utilities.noString(sw)) result.add(new BooleanType(convertToString(focus.get(0)).contains(sw))); else result.add(new BooleanType(false)); return result; }
private List<Base> funcEndsWith(ExecutionContext context, List<Base> focus, ExpressionNode exp) throws FHIRException { List<Base> result = new ArrayList<Base>(); String sw = convertToString(execute(context, focus, exp.getParameters().get(0), true)); if (focus.size() == 1 && !Utilities.noString(sw)) result.add(new BooleanType(convertToString(focus.get(0)).endsWith(sw)).noExtensions()); else result.add(new BooleanType(false).noExtensions()); return result; }
private CodeableConcept makeUnits(String text, String ucum) { if (Utilities.noString(text) && Utilities.noString(ucum)) return null; CodeableConcept cc = new CodeableConcept(); cc.setText(text); cc.getCoding().add(new Coding().setCode(ucum).setSystem("http://unitsofmeasure.org")); return cc; } public Bundle getBundle() {
private List<Base> funcReplaceMatches(ExecutionContext context, List<Base> focus, ExpressionNode exp) throws FHIRException { List<Base> result = new ArrayList<Base>(); String regex = convertToString(execute(context, focus, exp.getParameters().get(0), true)); String repl = convertToString(execute(context, focus, exp.getParameters().get(1), true)); if (focus.size() == 1 && !Utilities.noString(regex)) result.add(new StringType(convertToString(focus.get(0)).replaceAll(regex, repl)).noExtensions()); else result.add(new StringType(convertToString(focus.get(0))).noExtensions()); return result; }
public boolean hasColumnContent(String col) { int i = columns.indexOf(col); if (i == -1) return false; for (Row r : rows) { if (r.size() > i && !Utilities.noString(r.get(i))) return true; } return false; }
public static boolean findStringExtension(Element c, String uri) { Extension ex = ExtensionHelper.getExtension(c, uri); if (ex == null) return false; if (!(ex.getValue() instanceof StringType)) return false; return !Utilities.noString(((StringType) ex.getValue()).getValue()); }
public void label(String label) { if (!Utilities.noString(label)) { predicate("rdfs:label", literal(label)); predicate("dc:title", literal(label)); } }
public static void addStringExtension(DomainResource dr, String url, String content) { if (!Utilities.noString(content)) { Extension ex = getExtension(dr, url); if (ex != null) ex.setValue(new StringType(content)); else dr.getExtension().add(Factory.newExtension(url, new StringType(content), true)); } }
@Override public void compose(OutputStream stream, Type type, String rootName) throws IOException { xml = new XMLWriter(stream, "UTF-8"); xml.setPretty(style == OutputStyle.PRETTY); xml.start(); xml.setDefaultNamespace(FHIR_NS); composeType(Utilities.noString(rootName) ? "value" : rootName, type); xml.end(); }