| Total Complexity | 5 |
| Total Lines | 20 |
| Duplicated Lines | 0 % |
| Changes | 0 | ||
| 1 | package com.hltech.pact.gen.domain.client.util; |
||
| 9 | public final class RequestBodyExtractor { |
||
| 10 | |||
| 11 | private RequestBodyExtractor() {} |
||
| 12 | |||
| 13 | public static Body extract(Parameter[] parameters) { |
||
| 14 | Parameter responseParameter = Arrays.stream(parameters) |
||
| 15 | .filter(RequestBodyExtractor::isRequestBody) |
||
| 16 | .findFirst() |
||
| 17 | .orElse(null); |
||
| 18 | |||
| 19 | return Body.builder() |
||
| 20 | .type(responseParameter != null ? responseParameter.getType() : null) |
||
| 21 | .genericArgumentTypes(TypeExtractor.extractParameterTypesFromType( |
||
| 22 | responseParameter != null ? responseParameter.getParameterizedType() : null)) |
||
| 23 | .build(); |
||
| 24 | } |
||
| 25 | |||
| 26 | private static boolean isRequestBody(Parameter parameter) { |
||
| 27 | return parameter.getAnnotations().length == 0 |
||
| 28 | || parameter.isAnnotationPresent(RequestBody.class); |
||
| 29 | } |
||
| 31 |