@Override Class[] preprocessParameterTypes(CallableMemberDescriptor memberDesc) { return memberDesc.getParamTypes(); }
/** * Replaces the last parameter type with the array component type of it. */ @Override Class[] preprocessParameterTypes(CallableMemberDescriptor memberDesc) { final Class[] preprocessedParamTypes = memberDesc.getParamTypes().clone(); int ln = preprocessedParamTypes.length; final Class varArgsCompType = preprocessedParamTypes[ln - 1].getComponentType(); if (varArgsCompType == null) { throw new BugException("Only varargs methods should be handled here"); } preprocessedParamTypes[ln - 1] = varArgsCompType; return preprocessedParamTypes; }
CallableMemberDescriptor maximal = maximalsIter.next(); final int cmpRes = compareParameterListPreferability( applicable.getParamTypes(), maximal.getParamTypes(), varArg); if (cmpRes > 0) { maximalsIter.remove();
private static Object newInstance(CallableMemberDescriptor constrDesc, Object[] args, BeansWrapper bw) throws InstantiationException, IllegalAccessException, InvocationTargetException, IllegalArgumentException, TemplateModelException { if (args == null) args = CollectionUtils.EMPTY_OBJECT_ARRAY; final Object[] packedArgs; if (constrDesc.isVarargs()) { // We have to put all the varargs arguments into a single array argument. final Class<?>[] paramTypes = constrDesc.getParamTypes(); final int fixedArgCnt = paramTypes.length - 1; packedArgs = new Object[fixedArgCnt + 1]; for (int i = 0; i < fixedArgCnt; i++) { packedArgs[i] = args[i]; } final Class<?> compType = paramTypes[fixedArgCnt].getComponentType(); final int varArgCnt = args.length - fixedArgCnt; final Object varArgsArray = Array.newInstance(compType, varArgCnt); for (int i = 0; i < varArgCnt; i++) { Array.set(varArgsArray, i, args[fixedArgCnt + i]); } packedArgs[fixedArgCnt] = varArgsArray; } else { packedArgs = args; } return constrDesc.invokeConstructor(bw, packedArgs); }
Object[] args, List modelArgs, CallableMemberDescriptor memberDesc, BeansWrapper unwrapper) throws TemplateModelException { final Class[] paramTypes = memberDesc.getParamTypes(); final int paramCount = paramTypes.length; final Class varArgsCompType = paramTypes[paramCount - 1].getComponentType();
for (Iterator membDescs = fixArgMethods.getMemberDescriptors(); membDescs.hasNext();) { CallableMemberDescriptor membDesc = (CallableMemberDescriptor) membDescs.next(); Class[] paramTypes = membDesc.getParamTypes();
forceNumberArgumentsToParameterTypes(pojoArgs, memberDesc.getParamTypes(), typeFlags); BeansWrapper.coerceBigDecimals(memberDesc.getParamTypes(), pojoArgs);
forceNumberArgumentsToParameterTypes(pojoArgsWithArray, memberDesc.getParamTypes(), typesFlags); BeansWrapper.coerceBigDecimals(memberDesc.getParamTypes(), pojoArgsWithArray);
@Override Class[] preprocessParameterTypes(CallableMemberDescriptor memberDesc) { return memberDesc.getParamTypes(); }
@Override Class[] preprocessParameterTypes(CallableMemberDescriptor memberDesc) { return memberDesc.getParamTypes(); }
/** * Replaces the last parameter type with the array component type of it. */ @Override Class[] preprocessParameterTypes(CallableMemberDescriptor memberDesc) { final Class[] preprocessedParamTypes = memberDesc.getParamTypes().clone(); int ln = preprocessedParamTypes.length; final Class varArgsCompType = preprocessedParamTypes[ln - 1].getComponentType(); if (varArgsCompType == null) { throw new BugException("Only varargs methods should be handled here"); } preprocessedParamTypes[ln - 1] = varArgsCompType; return preprocessedParamTypes; }
/** * Replaces the last parameter type with the array component type of it. */ @Override Class[] preprocessParameterTypes(CallableMemberDescriptor memberDesc) { final Class[] preprocessedParamTypes = memberDesc.getParamTypes().clone(); int ln = preprocessedParamTypes.length; final Class varArgsCompType = preprocessedParamTypes[ln - 1].getComponentType(); if (varArgsCompType == null) { throw new BugException("Only varargs methods should be handled here"); } preprocessedParamTypes[ln - 1] = varArgsCompType; return preprocessedParamTypes; }
CallableMemberDescriptor maximal = maximalsIter.next(); final int cmpRes = compareParameterListPreferability( applicable.getParamTypes(), maximal.getParamTypes(), varArg); if (cmpRes > 0) { maximalsIter.remove();
CallableMemberDescriptor maximal = maximalsIter.next(); final int cmpRes = compareParameterListPreferability( applicable.getParamTypes(), maximal.getParamTypes(), varArg); if (cmpRes > 0) { maximalsIter.remove();
private static Object newInstance(CallableMemberDescriptor constrDesc, Object[] args, BeansWrapper bw) throws InstantiationException, IllegalAccessException, InvocationTargetException, IllegalArgumentException, TemplateModelException { if (args == null) args = CollectionUtils.EMPTY_OBJECT_ARRAY; final Object[] packedArgs; if (constrDesc.isVarargs()) { // We have to put all the varargs arguments into a single array argument. final Class<?>[] paramTypes = constrDesc.getParamTypes(); final int fixedArgCnt = paramTypes.length - 1; packedArgs = new Object[fixedArgCnt + 1]; for (int i = 0; i < fixedArgCnt; i++) { packedArgs[i] = args[i]; } final Class<?> compType = paramTypes[fixedArgCnt].getComponentType(); final int varArgCnt = args.length - fixedArgCnt; final Object varArgsArray = Array.newInstance(compType, varArgCnt); for (int i = 0; i < varArgCnt; i++) { Array.set(varArgsArray, i, args[fixedArgCnt + i]); } packedArgs[fixedArgCnt] = varArgsArray; } else { packedArgs = args; } return constrDesc.invokeConstructor(bw, packedArgs); }
private static Object newInstance(CallableMemberDescriptor constrDesc, Object[] args, BeansWrapper bw) throws InstantiationException, IllegalAccessException, InvocationTargetException, IllegalArgumentException, TemplateModelException { if (args == null) args = CollectionUtils.EMPTY_OBJECT_ARRAY; final Object[] packedArgs; if (constrDesc.isVarargs()) { // We have to put all the varargs arguments into a single array argument. final Class<?>[] paramTypes = constrDesc.getParamTypes(); final int fixedArgCnt = paramTypes.length - 1; packedArgs = new Object[fixedArgCnt + 1]; for (int i = 0; i < fixedArgCnt; i++) { packedArgs[i] = args[i]; } final Class<?> compType = paramTypes[fixedArgCnt].getComponentType(); final int varArgCnt = args.length - fixedArgCnt; final Object varArgsArray = Array.newInstance(compType, varArgCnt); for (int i = 0; i < varArgCnt; i++) { Array.set(varArgsArray, i, args[fixedArgCnt + i]); } packedArgs[fixedArgCnt] = varArgsArray; } else { packedArgs = args; } return constrDesc.invokeConstructor(bw, packedArgs); }
Object[] args, List modelArgs, CallableMemberDescriptor memberDesc, BeansWrapper unwrapper) throws TemplateModelException { final Class[] paramTypes = memberDesc.getParamTypes(); final int paramCount = paramTypes.length; final Class varArgsCompType = paramTypes[paramCount - 1].getComponentType();
Object[] args, List modelArgs, CallableMemberDescriptor memberDesc, BeansWrapper unwrapper) throws TemplateModelException { final Class[] paramTypes = memberDesc.getParamTypes(); final int paramCount = paramTypes.length; final Class varArgsCompType = paramTypes[paramCount - 1].getComponentType();
for (Iterator membDescs = fixArgMethods.getMemberDescriptors(); membDescs.hasNext();) { CallableMemberDescriptor membDesc = (CallableMemberDescriptor) membDescs.next(); Class[] paramTypes = membDesc.getParamTypes();
for (Iterator membDescs = fixArgMethods.getMemberDescriptors(); membDescs.hasNext();) { CallableMemberDescriptor membDesc = (CallableMemberDescriptor) membDescs.next(); Class[] paramTypes = membDesc.getParamTypes();