Completed
Pull Request — master (#70)
by Paweł
04:48
created

getDefaultForMethod(Method,String[])   A

Complexity

Conditions 1

Size

Total Lines 2
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 2
dl 0
loc 2
rs 10
c 1
b 0
f 0
1
package com.hltech.pact.gen.domain.client.model;
2
3
import com.google.common.collect.Lists;
0 ignored issues
show
Unused Code introduced by
Remove this unused import 'com.google.common.collect.Lists'.
Loading history...
4
import com.hltech.pact.gen.domain.client.util.RawHeadersParser;
5
import com.hltech.pact.gen.domain.client.util.TypeExtractor;
6
import lombok.Builder;
7
import lombok.Data;
8
import org.springframework.http.HttpStatus;
9
10
import java.lang.reflect.Method;
11
import java.util.List;
12
13
@Data
14
@Builder
15
public class ResponseRepresentation {
16
17
    private final HttpStatus status;
18
    private final List<Param> headers;
19
    private final Body body;
20
    private final String description;
21
    private final boolean emptyBodyExpected;
22
23
    public static ResponseRepresentation getDefaultForMethod(Method method, String[] responseHeaders) {
24
        return ResponseRepresentation.from(HttpStatus.OK, RawHeadersParser.parseAll(responseHeaders), method, "", false);
25
    }
26
27
    public static ResponseRepresentation from(HttpStatus status,
28
                                                          List<Param> headers,
29
                                                          Method method,
30
                                                          String description,
31
                                                          boolean isEmptyBodyExpected) {
32
33
        return ResponseRepresentation.builder()
34
            .status(status)
35
            .headers(headers)
36
            .body(Body.builder()
37
                .type(method.getReturnType())
38
                .genericArgumentTypes(
39
                    TypeExtractor.extractParameterTypesFromType(method.getGenericReturnType()))
40
                .build())
41
            .description(description)
42
            .emptyBodyExpected(isEmptyBodyExpected)
43
            .build();
44
    }
45
}
46