/** * Instantiates a list of formal parameters into an Object array * * @param runtimeContext * @param formalParameters * @return * @throws IOException */ public Object[] instantiate(List<Injectable> formalParameters, RuntimeContext runtimeContext) throws IOException { Object[] result = new Object[formalParameters.size()]; for (int pos = 0; pos < result.length; pos++) { Injectable fp = formalParameters.get(pos); result[pos] = fp.getValue(runtimeContext); } return result; }
public static void injectFields(final Object object, ClassMetadata metadata, RuntimeContext runtimeContext) throws IOException, PrivilegedActionException { logger.trace("entry {} {} {}", new Object[]{object, metadata, runtimeContext}); List<Injectable> injectableFields = metadata.getInjectableFields(); logger.trace("injectableFields are {}", injectableFields); for (Injectable injectableData : injectableFields) { Object value = injectableData.getValue(runtimeContext); Member member = injectableData.getMember(); logger.trace("Processing value {} and member {}", value, member); if (member instanceof Field) { injectField(object, value, (Field)member); } else if (member instanceof Method) { invokeMethod(object, value, (Method)member); } else { // should never get here throw new WebApplicationException(); } } logger.trace("exit"); }