/** * Gets list of rules. * * @param methods array of methods what represents rule methods * @return list of rules meta-info */ private static List<RuleInfo> getRulesDecorated(Method[] methods) { List<RuleInfo> rules = new ArrayList<RuleInfo>(methods.length); for (Method method : methods) { // Check that method should be ignored or not. if (isIgnored(method)) { continue; } String methodName = method.getName(); Class<?>[] paramTypes = method.getParameterTypes(); Class<?> returnType = VariationsResult.class; Class<?>[] newParams = new Class<?>[]{VariationsPack.class}; Class<?>[] extendedParamTypes = ArrayUtils.addAll(paramTypes, newParams); RuleInfo ruleInfoEnhanced = InterfaceGenerator.createRuleInfo(methodName, extendedParamTypes, returnType); RuleInfo ruleInfoOriginal = InterfaceGenerator.createRuleInfo(methodName, paramTypes, method.getReturnType()); rules.add(ruleInfoEnhanced); rules.add(ruleInfoOriginal); } return rules; }
/** * Gets list of rules. * * @param methods array of methods what represents rule methods * @return list of rules meta-info */ private static List<RuleInfo> getRulesDecorated(Method[] methods) { List<RuleInfo> rules = new ArrayList<RuleInfo>(methods.length); for (Method method : methods) { // Check that method should be ignored or not. if (isIgnored(method)) { continue; } String methodName = method.getName(); Class<?>[] paramTypes = method.getParameterTypes(); Class<?> returnType = VariationsResult.class; Class<?>[] newParams = new Class<?>[]{VariationsPack.class}; Class<?>[] extendedParamTypes = ArrayUtils.addAll(paramTypes, newParams); RuleInfo ruleInfoEnhanced = InterfaceGenerator.createRuleInfo(methodName, extendedParamTypes, returnType); RuleInfo ruleInfoOriginal = InterfaceGenerator.createRuleInfo(methodName, paramTypes, method.getReturnType()); rules.add(ruleInfoEnhanced); rules.add(ruleInfoOriginal); } return rules; }
/** * Gets list of rules. * * @param methods array of methods what represents rule methods * @return list of rules meta-info */ private static List<RuleInfo> getRulesDecorated(Method[] methods) { List<RuleInfo> rules = new ArrayList<RuleInfo>(methods.length); for (Method method : methods) { // Check that method should be ignored or not. if (isIgnored(method)) { continue; } String methodName = method.getName(); Class<?>[] paramTypes = method.getParameterTypes(); Class<?> returnType = method.getReturnType(); Class<?>[] newParams = new Class<?>[]{IRulesRuntimeContext.class}; Class<?>[] extendedParamTypes = ArrayUtils.addAll(newParams, paramTypes); RuleInfo ruleInfo = InterfaceGenerator.createRuleInfo(methodName, extendedParamTypes, returnType); rules.add(ruleInfo); } return rules; }
/** * Gets list of rules. * * @param methods array of methods what represents rule methods * @return list of rules meta-info */ private static List<RuleInfo> getRulesDecorated(Method[] methods) { List<RuleInfo> rules = new ArrayList<RuleInfo>(methods.length); for (Method method : methods) { // Check that method should be ignored or not. if (isIgnored(method)) { continue; } String methodName = method.getName(); Class<?>[] paramTypes = method.getParameterTypes(); Class<?> returnType = method.getReturnType(); Class<?>[] newParams = new Class<?>[]{IRulesRuntimeContext.class}; Class<?>[] extendedParamTypes = ArrayUtils.addAll(newParams, paramTypes); RuleInfo ruleInfo = InterfaceGenerator.createRuleInfo(methodName, extendedParamTypes, returnType); rules.add(ruleInfo); } return rules; }
/** * Gets rule information of IOpenField instance. * * @param field IOpenField instance * @return rule info */ private static RuleInfo getRuleInfoForField(IOpenField field) { String methodName = ClassUtils.getter(field.getName()); Class<?>[] paramTypes = new Class<?>[0]; Class<?> returnType = field.getType().getInstanceClass(); RuleInfo ruleInfo = createRuleInfo(methodName, paramTypes, returnType); return ruleInfo; }
/** * Gets rule information of IOpenMethod instance. * * @param method IOpenMethod instance * @return rule info */ private static RuleInfo getRuleInfoForMethod(IOpenMethod method) { String methodName = method.getName(); IOpenClass[] paramClasses = method.getSignature().getParameterTypes(); Class<?> returnType = method.getType().getInstanceClass(); Class<?>[] paramTypes = getInstanceClasses(paramClasses); RuleInfo ruleInfo = createRuleInfo(methodName, paramTypes, returnType); return ruleInfo; }