private ParameterMeta createParamMeta(final MethodAccess methodAccess, final int index, final List<TypeType> typeTypes, final Param requestParam) { final ParameterMetaBuilder builder = ParameterMetaBuilder.parameterMetaBuilder(); builder.setType(typeTypes.get(index)); builder.setParam(requestParam);
private ParameterMeta createParamMeta(final MethodAccess methodAccess, final int index, final List<TypeType> typeTypes, final Param requestParam) { final ParameterMetaBuilder builder = ParameterMetaBuilder.parameterMetaBuilder(); builder.setType(typeTypes.get(index)); builder.setParam(requestParam); final Type type = methodAccess.method().getGenericParameterTypes()[index]; if (type instanceof ParameterizedType) { final ParameterizedType parameterizedType = ((ParameterizedType) type); final Class containerClass = (Class) parameterizedType.getRawType(); builder.setClassType(containerClass); /* It is a collection or a map. */ if (Collection.class.isAssignableFrom(containerClass)) { builder.setCollection(); builder.setComponentClass((Class)parameterizedType.getActualTypeArguments()[0]); } else if (Map.class.isAssignableFrom(containerClass)){ builder.setMap(); builder.setComponentClassKey((Class) parameterizedType.getActualTypeArguments()[0]); builder.setComponentClassValue((Class) parameterizedType.getActualTypeArguments()[1]); } } else { final Class classType = methodAccess.method().getParameterTypes()[index]; builder.setClassType(classType); if (classType.isArray()) { builder.setComponentClass(classType.getComponentType()); builder.setArray(); } } return builder.build(); }
private ParameterMeta createParamMeta(final MethodAccess methodAccess, final int index, final List<TypeType> typeTypes, final Param requestParam) { final ParameterMetaBuilder builder = ParameterMetaBuilder.parameterMetaBuilder(); builder.setType(typeTypes.get(index)); builder.setParam(requestParam);