private List<Base> funcCount(ExecutionContext context, List<Base> focus, ExpressionNode exp) { List<Base> result = new ArrayList<Base>(); result.add(new IntegerType(focus.size()).noExtensions()); return result; }
private List<Base> funcLength(ExecutionContext context, List<Base> focus, ExpressionNode exp) { List<Base> result = new ArrayList<Base>(); if (focus.size() == 1) { String s = convertToString(focus.get(0)); result.add(new IntegerType(s.length()).noExtensions()); } return result; }
private List<Base> funcToInteger(ExecutionContext context, List<Base> focus, ExpressionNode exp) { String s = convertToString(focus); List<Base> result = new ArrayList<Base>(); if (Utilities.isInteger(s)) result.add(new IntegerType(s).noExtensions()); else if ("true".equals(s)) result.add(new IntegerType(1).noExtensions()); else if ("false".equals(s)) result.add(new IntegerType(0).noExtensions()); return result; }
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()); }
private List<Base> funcCount(ExecutionContext context, List<Base> focus, ExpressionNode exp) { List<Base> result = new ArrayList<Base>(); result.add(new IntegerType(focus.size()).noExtensions()); return result; }
private List<Base> funcToInteger(ExecutionContext context, List<Base> focus, ExpressionNode exp) { String s = convertToString(focus); List<Base> result = new ArrayList<Base>(); if (Utilities.isInteger(s)) result.add(new IntegerType(s).noExtensions()); else if ("true".equals(s)) result.add(new IntegerType(1).noExtensions()); else if ("false".equals(s)) result.add(new IntegerType(0).noExtensions()); return result; }
private List<Base> funcLength(ExecutionContext context, List<Base> focus, ExpressionNode exp) { List<Base> result = new ArrayList<Base>(); if (focus.size() == 1) { String s = convertToString(focus.get(0)); result.add(new IntegerType(s.length()).noExtensions()); } return result; }
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()); }