@Override public Map<String, Object> toMap() { return params.map(); }
@Override public Set<String> getFieldNames() { return params.map().keySet(); }
public CompositeParams add(Params parameters){ if(null != parameters){ map.putAll(parameters.map()); list.add(parameters); } return this; }
@SuppressWarnings({ "unchecked", "rawtypes" }) public Map<String, Object> toMap(Object object) throws InvalidParametersException { if(null == object){ throw new InvalidParameterException("Cannot convert null to map"); } if(object instanceof Map){ return ((Map)object); }else if(object instanceof Params){ return ((Params)object).map(); } if(Beans.isSimpleProperty(object.getClass())){ throw new InvalidParameterException("Cannot convert value of simple type '" + object.getClass().getName() + "' to map"); } return Beans.toMap(object); }
@Override protected void buildStatement_(SqlContext context, Sql sql, SqlStatementBuilder stm, Params params) throws IOException { if(null != funcCondition && !funcCondition.apply(context)) { return; } if(null != exprCondition && !EL.test(exprCondition, null, params.map())){ return; } super.buildStatement_(context, sql, stm, params); } }
@Override protected Object getParameterValue(SqlStatementBuilder stm, Params params) { Map<String, Object> vars = new HashMap<>(); vars.put("$params", params); vars.putAll(params.map()); if(null != stm.getVars()) { vars.putAll(stm.getVars()); } return expression.getValue(stm.context(), vars); } }
@Override public SqlValue getValue(SqlContext context, Params parameters) { return SqlValue.of(expression.getValue(context, parameters.map())); }
protected void id(Object id){ Args.notNull(id,"id"); params().putAll(context.getParameterStrategy().createIdParameters(context, em, id).map()); }
protected void toSql_(Appendable out, String dynamicLastName, Params params, OrmContext context) throws IOException{ if(null != firstName){ out.append(firstName).append('.'); } if(null != secondaryName){ out.append(secondaryName).append('.'); } if(null != dynamicLastName) { dynamicLastName = EL.createCompositeExpression(dynamicLastName).getValue(params.map()).toString(); out.append(dynamicLastName); Db db = context.getDb(); if(!db.checkTableExists(dynamicLastName)) { Dmo dmo = Dmo.get(context.getName()); dmo.cmdCreateTable(em).changeTableName(dynamicLastName).execute(); } }else if(null != em){ out.append(em.getTableName()); }else{ out.append(lastName); } }
@Override public SqlValue getValue(SqlContext context, Params parameters) { Object v; if(parameters.isArray()) { v = parameters.get(index); }else { v = parameters.get(name); } if(null == v && null != defaultValue) { v = defaultValue.getValue(context, parameters.map()); return SqlValue.generated(trySerialize(v)); }else{ return SqlValue.of(trySerialize(v)); } }