public void addArgument(DynamicInstantiationArgument argument) { if (instantiationTarget.getNature() == DynamicInstantiationTarget.Nature.LIST) { // really should not have an alias... if (argument.getAlias() != null) { log.debugf( "Argument [%s] for dynamic List instantiation declared an 'injection alias' [%s] " + "but such aliases are ignored for dynamic List instantiations", argument.getExpression().toString(), argument.getAlias()); } } else if (instantiationTarget.getNature() == DynamicInstantiationTarget.Nature.MAP) { // must(?) have an alias... log.warnf( "Argument [%s] for dynamic Map instantiation did not declare an 'injection alias' [%s] " + "but such aliases are needed for dynamic Map instantiations; " + "will likely cause problems later translating query", argument.getExpression().toString(), argument.getAlias()); } if (arguments == null) { arguments = new ArrayList<DynamicInstantiationArgument>(); } arguments.add(argument); }
@Override public Type getExpressionType() { return instantiationTarget.getTargetType(); }