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 |