private List<Base> funcToDecimal(ExecutionContext context, List<Base> focus, ExpressionNode exp) { String s = convertToString(focus); List<Base> result = new ArrayList<Base>(); if (Utilities.isDecimal(s)) result.add(new DecimalType(s)); return result; }
private List<Base> funcToDecimal(ExecutionContext context, List<Base> focus, ExpressionNode exp) { String s = convertToString(focus); List<Base> result = new ArrayList<Base>(); if (Utilities.isDecimal(s)) result.add(new DecimalType(s)); return result; }
private String readConstantType(ExecutionTypeContext context, String constant) throws PathEngineException { if (constant.equals("true")) return "boolean"; else if (constant.equals("false")) return "boolean"; else if (Utilities.isInteger(constant)) return "integer"; else if (Utilities.isDecimal(constant)) return "decimal"; else if (constant.startsWith("%")) return resolveConstantType(context, constant); else return "string"; }
private String readConstantType(ExecutionTypeContext context, String constant) throws PathEngineException { if (constant.equals("true")) return "boolean"; else if (constant.equals("false")) return "boolean"; else if (Utilities.isInteger(constant)) return "integer"; else if (Utilities.isDecimal(constant)) return "decimal"; else if (constant.startsWith("%")) return resolveConstantType(context, constant); else return "string"; }
private List<Base> funcToDecimal(ExecutionContext context, List<Base> focus, ExpressionNode exp) { String s = convertToString(focus); List<Base> result = new ArrayList<Base>(); if (Utilities.isDecimal(s)) result.add(new DecimalType(s).noExtensions()); if ("true".equals(s)) result.add(new DecimalType(1).noExtensions()); if ("false".equals(s)) result.add(new DecimalType(0).noExtensions()); return result; }
private void setValueScientific(String value) throws UcumException { int i = value.indexOf("e"); String s = value.substring(0, i); String e = value.substring(i+1); if (Utilities.noString(s) || s.equals("-") || !Utilities.isDecimal(s)) throw new UcumException("'"+value+"' is not a valid decimal (numeric)"); if (Utilities.noString(e) || e.equals("-") || !Utilities.isInteger(e)) throw new UcumException("'"+value+"' is not a valid decimal (exponent)"); setValueDecimal(s); scientific = true; // now adjust for exponent if (e.charAt(0) == '-') i = 1; else i = 0; while (i < e.length()) { if (!Character.isDigit(e.charAt(i))) throw new UcumException(""+value+"' is not a valid decimal"); i++; } i = Integer.parseInt(e); decimal = decimal + i; }
String v = s.substring(0, s.indexOf(" ")).trim(); s = s.substring(s.indexOf(" ")).trim(); if (!Utilities.isDecimal(v)) return null; if (s.startsWith("'") && s.endsWith("'")) return null; } else { if (Utilities.isDecimal(s)) return new Quantity().setValue(new BigDecimal(s)).setSystem("http://unitsofmeasure.org").setCode("1"); else
private List<Base> funcIsDecimal(ExecutionContext context, List<Base> focus, ExpressionNode exp) { List<Base> result = new ArrayList<Base>(); if (focus.size() != 1) result.add(new BooleanType(false).noExtensions()); else if (focus.get(0) instanceof IntegerType) result.add(new BooleanType(true).noExtensions()); else if (focus.get(0) instanceof BooleanType) result.add(new BooleanType(true).noExtensions()); else if (focus.get(0) instanceof DecimalType) result.add(new BooleanType(true).noExtensions()); else if (focus.get(0) instanceof StringType) result.add(new BooleanType(Utilities.isDecimal(convertToString(focus.get(0)))).noExtensions()); else result.add(new BooleanType(false).noExtensions()); return result; }
private Base processConstant(ExecutionContext context, String constant) throws PathEngineException { if (constant.equals("true")) { return new BooleanType(true); } else if (constant.equals("false")) { return new BooleanType(false); } else if (constant.equals("{}")) { return null; } else if (Utilities.isInteger(constant)) { return new IntegerType(constant); } else if (Utilities.isDecimal(constant)) { return new DecimalType(constant); } else if (constant.startsWith("\'")) { return new StringType(processConstantString(constant)); } else if (constant.startsWith("%")) { return resolveConstant(context, constant); } else if (constant.startsWith("@")) { return processDateConstant(context.appInfo, constant.substring(1)); } else { return new StringType(constant); } }
private Base processConstant(ExecutionContext context, String constant) throws PathEngineException { if (constant.equals("true")) { return new BooleanType(true); } else if (constant.equals("false")) { return new BooleanType(false); } else if (constant.equals("{}")) { return null; } else if (Utilities.isInteger(constant)) { return new IntegerType(constant); } else if (Utilities.isDecimal(constant)) { return new DecimalType(constant); } else if (constant.startsWith("\'")) { return new StringType(processConstantString(constant)); } else if (constant.startsWith("%")) { return resolveConstant(context, constant); } else if (constant.startsWith("@")) { return processDateConstant(context.appInfo, constant.substring(1)); } else { return new StringType(constant); } }
private Type readConstant(String s, FHIRLexer lexer) throws FHIRLexerException { if (Utilities.isInteger(s)) return new IntegerType(s); else if (Utilities.isDecimal(s)) return new DecimalType(s); else if (Utilities.existsInList(s, "true", "false")) return new BooleanType(s.equals("true")); else return new StringType(lexer.processConstant(s)); }
private Base processConstant(FHIRLexer lexer) throws FHIRLexerException { if (lexer.isStringConstant()) { return new StringType(processConstantString(lexer.take(), lexer)).noExtensions(); } else if (Utilities.isInteger(lexer.getCurrent())) { return new IntegerType(lexer.take()).noExtensions(); } else if (Utilities.isDecimal(lexer.getCurrent())) { return new DecimalType(lexer.take()).noExtensions(); } else if (Utilities.existsInList(lexer.getCurrent(), "true", "false")) { return new BooleanType(lexer.take()).noExtensions(); } else if (lexer.getCurrent().equals("{}")) { lexer.take(); return null; } else if (lexer.getCurrent().startsWith("%") || lexer.getCurrent().startsWith("@")) { return new FHIRConstant(lexer.take()); } else throw lexer.error("Invalid Constant "+lexer.getCurrent()); }
rule(errors, IssueType.INVALID, e.line(), e.col(), path, Utilities.isDecimal(e.primitiveValue()), "The value '" + e.primitiveValue() + "' is not a valid decimal"); if (e.primitiveValue().contains(".")) { String head = e.primitiveValue().substring(0, e.primitiveValue().indexOf("."));
int sc = lexer.startCol; String pfx = lexer.peekType() == LexerTokenType.WORD ? lexer.word() : null; if (Utilities.isDecimal(pfx) && !lexer.peek(LexerTokenType.TOKEN, ":")) { TTLLiteral u = new TTLLiteral(sl, sc); u.value = pfx;
private List<Base> funcToDecimal(ExecutionContext context, List<Base> focus, ExpressionNode exp) { String s = convertToString(focus); List<Base> result = new ArrayList<Base>(); if (Utilities.isDecimal(s)) result.add(new DecimalType(s)); return result; }
private List<Base> funcToDecimal(ExecutionContext context, List<Base> focus, ExpressionNode exp) { String s = convertToString(focus); List<Base> result = new ArrayList<Base>(); if (Utilities.isDecimal(s)) result.add(new DecimalType(s)); return result; }
private List<Base> funcToDecimal(ExecutionContext context, List<Base> focus, ExpressionNode exp) { String s = convertToString(focus); List<Base> result = new ArrayList<Base>(); if (Utilities.isDecimal(s)) result.add(new DecimalType(s)); return result; }
private List<Base> funcToDecimal(ExecutionContext context, List<Base> focus, ExpressionNode exp) { String s = convertToString(focus); List<Base> result = new ArrayList<Base>(); if (Utilities.isDecimal(s)) result.add(new DecimalType(s).noExtensions()); if ("true".equals(s)) result.add(new DecimalType(1).noExtensions()); if ("false".equals(s)) result.add(new DecimalType(0).noExtensions()); return result; }
private Type readConstant(String s, FHIRLexer lexer) throws FHIRLexerException { if (Utilities.isInteger(s)) return new IntegerType(s); else if (Utilities.isDecimal(s)) return new DecimalType(s); else if (Utilities.existsInList(s, "true", "false")) return new BooleanType(s.equals("true")); else return new StringType(lexer.processConstant(s)); }
private Type readConstant(String s, FHIRLexer lexer) throws FHIRLexerException { if (Utilities.isInteger(s)) return new IntegerType(s); else if (Utilities.isDecimal(s)) return new DecimalType(s); else if (Utilities.existsInList(s, "true", "false")) return new BooleanType(s.equals("true")); else return new StringType(lexer.processConstant(s)); }