AbstractTimeSeriesRequestBuilder.java

1
package pl.zankowski.iextrading4j.client.rest.request.datapoint;
2
3
import com.google.common.collect.Maps;
4
import pl.zankowski.iextrading4j.client.rest.manager.RestRequest;
5
import pl.zankowski.iextrading4j.client.rest.manager.RestRequestBuilder;
6
import pl.zankowski.iextrading4j.client.rest.request.IEXCloudV1RestRequest;
7
import pl.zankowski.iextrading4j.client.rest.request.IRestRequestBuilder;
8
9
import javax.ws.rs.core.GenericType;
10
import java.time.LocalDate;
11
import java.time.format.DateTimeFormatter;
12
import java.util.Map;
13
14
public class AbstractTimeSeriesRequestBuilder<R, B extends IRestRequestBuilder<R>> implements IEXCloudV1RestRequest<R> {
15
16
    public static final DateTimeFormatter IEX_DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");
17
18
    private static final String RANGE_PARAM_NAME = "range";
19
    private static final String CALENDAR_PARAM_NAME = "calendar";
20
    private static final String LIMIT_PARAM_NAME = "limit";
21
    private static final String FROM_PARAM_NAME = "from";
22
    private static final String TO_PARAM_NAME = "to";
23
    private static final String ON_PARAM_NAME = "on";
24
    private static final String LAST_PARAM_NAME = "last";
25
    private static final String FIRST_PARAM_NAME = "first";
26
    private static final String UPDATED_PARAM_NAME = "updated";
27
    private static final String SUBATTRIBUTE_PARAM_NAME = "subattribute";
28
    private static final String DATE_FIELD_PARAM_NAME = "dateField";
29
30
    private final Map<String, String> queryParameters = Maps.newHashMap();
31
32
    private final String id;
33
    private final GenericType<R> responseType;
34
    private String key;
35
    private String subKey;
36
37
    protected AbstractTimeSeriesRequestBuilder(final String id, final GenericType<R> responseType) {
38
        this.id = id;
39
        this.responseType = responseType;
40
    }
41
42
    public B withFrom(final LocalDate from) {
43
        queryParameters.put(FROM_PARAM_NAME, IEX_DATE_FORMATTER.format(from));
44 1 1. withFrom : replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withFrom → KILLED
        return (B) this;
45
    }
46
47
    public B withTo(final LocalDate to) {
48
        queryParameters.put(TO_PARAM_NAME, IEX_DATE_FORMATTER.format(to));
49 1 1. withTo : replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withTo → KILLED
        return (B) this;
50
    }
51
52
    protected B withOn(final LocalDate on) {
53
        queryParameters.put(ON_PARAM_NAME, IEX_DATE_FORMATTER.format(on));
54 1 1. withOn : replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withOn → KILLED
        return (B) this;
55
    }
56
57
    public B withLast(final int last) {
58
        queryParameters.put(LAST_PARAM_NAME, String.valueOf(last));
59 1 1. withLast : replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withLast → KILLED
        return (B) this;
60
    }
61
62
    public B withFirst(final int first) {
63
        queryParameters.put(FIRST_PARAM_NAME, String.valueOf(first));
64 1 1. withFirst : replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withFirst → KILLED
        return (B) this;
65
    }
66
67
    public B withRange(final TimeSeriesRange range) {
68
        queryParameters.put(RANGE_PARAM_NAME, range.getCode());
69 1 1. withRange : replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withRange → KILLED
        return (B) this;
70
    }
71
72
    public B withRange(final int number, final TimeSeriesRangeUnit unit) {
73
        queryParameters.put(RANGE_PARAM_NAME, number + unit.getCode());
74 1 1. withRange : replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withRange → KILLED
        return (B) this;
75
    }
76
77
    public B withCalendar(final boolean state) {
78
        queryParameters.put(CALENDAR_PARAM_NAME, String.valueOf(state));
79 1 1. withCalendar : replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withCalendar → KILLED
        return (B) this;
80
    }
81
82
    protected B withLimit(final int limit) {
83
        queryParameters.put(LIMIT_PARAM_NAME, String.valueOf(limit));
84 1 1. withLimit : replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withLimit → KILLED
        return (B) this;
85
    }
86
87
    protected B withUpdated(final boolean state) {
88
        queryParameters.put(UPDATED_PARAM_NAME, String.valueOf(state));
89 1 1. withUpdated : replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withUpdated → KILLED
        return (B) this;
90
    }
91
92
    protected B withSubattribute(final String subattribute) {
93
        queryParameters.put(SUBATTRIBUTE_PARAM_NAME, subattribute);
94 1 1. withSubattribute : replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withSubattribute → KILLED
        return (B) this;
95
    }
96
97
    protected B withSubattribute(final String keyName, final String value) {
98
        queryParameters.put(SUBATTRIBUTE_PARAM_NAME, keyName + "|" + value);
99 1 1. withSubattribute : replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withSubattribute → KILLED
        return (B) this;
100
    }
101
102
    protected B withDateField(final String dateField) {
103
        queryParameters.put(DATE_FIELD_PARAM_NAME, dateField);
104 1 1. withDateField : replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withDateField → NO_COVERAGE
        return (B) this;
105
    }
106
107
    protected B withKey(final String key) {
108
        this.key = key;
109 1 1. withKey : replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withKey → KILLED
        return (B) this;
110
    }
111
112
    protected B withSubKey(final String subKey) {
113
        this.subKey = subKey;
114 1 1. withSubKey : replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withSubKey → KILLED
        return (B) this;
115
    }
116
117
    @Override
118
    public RestRequest<R> build() {
119 1 1. build : negated conditional → KILLED
        if (subKey != null) {
120 1 1. build : replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::build → KILLED
            return RestRequestBuilder.<R>builder()
121
                    .withPath("/time-series/{id}/{key}/{subKey}")
122
                    .addPathParam("id", id)
123
                    .addPathParam("key", key)
124
                    .addPathParam("subKey", subKey).get()
125
                    .withResponse(responseType)
126
                    .addQueryParam(queryParameters)
127
                    .build();
128
        }
129 1 1. build : negated conditional → KILLED
        if (key != null) {
130 1 1. build : replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::build → KILLED
            return RestRequestBuilder.<R>builder()
131
                    .withPath("/time-series/{id}/{key}")
132
                    .addPathParam("id", id)
133
                    .addPathParam("key", key).get()
134
                    .withResponse(responseType)
135
                    .addQueryParam(queryParameters)
136
                    .build();
137
        }
138 1 1. build : replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::build → NO_COVERAGE
        return RestRequestBuilder.<R>builder()
139
                .withPath("/time-series/{id}")
140
                .addPathParam("id", id).get()
141
                .withResponse(responseType)
142
                .addQueryParam(queryParameters)
143
                .build();
144
    }
145
146
}

Mutations

44

1.1
Location : withFrom
Killed by : pl.zankowski.iextrading4j.client.rest.request.datapoint.TimeSeriesRequestBuilderTest.[engine:junit-jupiter]/[class:pl.zankowski.iextrading4j.client.rest.request.datapoint.TimeSeriesRequestBuilderTest]/[method:shouldSuccessfullyCreateRequestWithParameters()]
replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withFrom → KILLED

49

1.1
Location : withTo
Killed by : pl.zankowski.iextrading4j.client.rest.request.datapoint.TimeSeriesRequestBuilderTest.[engine:junit-jupiter]/[class:pl.zankowski.iextrading4j.client.rest.request.datapoint.TimeSeriesRequestBuilderTest]/[method:shouldSuccessfullyCreateRequestWithParameters()]
replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withTo → KILLED

54

1.1
Location : withOn
Killed by : pl.zankowski.iextrading4j.client.rest.request.datapoint.TimeSeriesRequestBuilderTest.[engine:junit-jupiter]/[class:pl.zankowski.iextrading4j.client.rest.request.datapoint.TimeSeriesRequestBuilderTest]/[method:shouldSuccessfullyCreateRequestWithParameters()]
replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withOn → KILLED

59

1.1
Location : withLast
Killed by : pl.zankowski.iextrading4j.client.rest.request.datapoint.TimeSeriesRequestBuilderTest.[engine:junit-jupiter]/[class:pl.zankowski.iextrading4j.client.rest.request.datapoint.TimeSeriesRequestBuilderTest]/[method:shouldSuccessfullyCreateRequestWithParameters()]
replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withLast → KILLED

64

1.1
Location : withFirst
Killed by : pl.zankowski.iextrading4j.client.rest.request.datapoint.TimeSeriesRequestBuilderTest.[engine:junit-jupiter]/[class:pl.zankowski.iextrading4j.client.rest.request.datapoint.TimeSeriesRequestBuilderTest]/[method:shouldSuccessfullyCreateRequestWithParameters()]
replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withFirst → KILLED

69

1.1
Location : withRange
Killed by : pl.zankowski.iextrading4j.client.rest.request.datapoint.TimeSeriesRequestBuilderTest.[engine:junit-jupiter]/[class:pl.zankowski.iextrading4j.client.rest.request.datapoint.TimeSeriesRequestBuilderTest]/[method:shouldSuccessfullyCreateRequestWithParameters()]
replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withRange → KILLED

74

1.1
Location : withRange
Killed by : pl.zankowski.iextrading4j.client.rest.request.datapoint.TimeSeriesRequestBuilderTest.[engine:junit-jupiter]/[class:pl.zankowski.iextrading4j.client.rest.request.datapoint.TimeSeriesRequestBuilderTest]/[method:shouldSuccessfullyCreateRequestWithSpecialRange()]
replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withRange → KILLED

79

1.1
Location : withCalendar
Killed by : pl.zankowski.iextrading4j.client.rest.request.datapoint.TimeSeriesRequestBuilderTest.[engine:junit-jupiter]/[class:pl.zankowski.iextrading4j.client.rest.request.datapoint.TimeSeriesRequestBuilderTest]/[method:shouldSuccessfullyCreateRequestWithParameters()]
replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withCalendar → KILLED

84

1.1
Location : withLimit
Killed by : pl.zankowski.iextrading4j.client.rest.request.datapoint.TimeSeriesRequestBuilderTest.[engine:junit-jupiter]/[class:pl.zankowski.iextrading4j.client.rest.request.datapoint.TimeSeriesRequestBuilderTest]/[method:shouldSuccessfullyCreateRequestWithParameters()]
replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withLimit → KILLED

89

1.1
Location : withUpdated
Killed by : pl.zankowski.iextrading4j.client.rest.request.datapoint.TimeSeriesRequestBuilderTest.[engine:junit-jupiter]/[class:pl.zankowski.iextrading4j.client.rest.request.datapoint.TimeSeriesRequestBuilderTest]/[method:shouldSuccessfullyCreateRequestWithParameters()]
replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withUpdated → KILLED

94

1.1
Location : withSubattribute
Killed by : pl.zankowski.iextrading4j.client.rest.request.datapoint.TimeSeriesRequestBuilderTest.[engine:junit-jupiter]/[class:pl.zankowski.iextrading4j.client.rest.request.datapoint.TimeSeriesRequestBuilderTest]/[method:shouldSuccessfullyCreateRequestWithParameters()]
replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withSubattribute → KILLED

99

1.1
Location : withSubattribute
Killed by : pl.zankowski.iextrading4j.client.rest.request.datapoint.TimeSeriesRequestBuilderTest.[engine:junit-jupiter]/[class:pl.zankowski.iextrading4j.client.rest.request.datapoint.TimeSeriesRequestBuilderTest]/[method:shouldSuccessfullyCreateRequestWithSpecialRange()]
replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withSubattribute → KILLED

104

1.1
Location : withDateField
Killed by : none
replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withDateField → NO_COVERAGE

109

1.1
Location : withKey
Killed by : pl.zankowski.iextrading4j.client.rest.request.corporate.AdvancedBonusRequestBuilderTest.[engine:junit-jupiter]/[class:pl.zankowski.iextrading4j.client.rest.request.corporate.AdvancedBonusRequestBuilderTest]/[method:shouldSuccessfullyCreateRequest()]
replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withKey → KILLED

114

1.1
Location : withSubKey
Killed by : pl.zankowski.iextrading4j.client.rest.request.datapoint.TimeSeriesRequestBuilderTest.[engine:junit-jupiter]/[class:pl.zankowski.iextrading4j.client.rest.request.datapoint.TimeSeriesRequestBuilderTest]/[method:shouldSuccessfullyCreateRequestWithSpecialRange()]
replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::withSubKey → KILLED

119

1.1
Location : build
Killed by : pl.zankowski.iextrading4j.client.rest.request.corporate.AdvancedBonusRequestBuilderTest.[engine:junit-jupiter]/[class:pl.zankowski.iextrading4j.client.rest.request.corporate.AdvancedBonusRequestBuilderTest]/[method:shouldSuccessfullyCreateRequest()]
negated conditional → KILLED

120

1.1
Location : build
Killed by : pl.zankowski.iextrading4j.client.rest.request.datapoint.TimeSeriesRequestBuilderTest.[engine:junit-jupiter]/[class:pl.zankowski.iextrading4j.client.rest.request.datapoint.TimeSeriesRequestBuilderTest]/[method:shouldSuccessfullyCreateRequestWithSpecialRange()]
replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::build → KILLED

129

1.1
Location : build
Killed by : pl.zankowski.iextrading4j.client.rest.request.corporate.AdvancedBonusRequestBuilderTest.[engine:junit-jupiter]/[class:pl.zankowski.iextrading4j.client.rest.request.corporate.AdvancedBonusRequestBuilderTest]/[method:shouldSuccessfullyCreateRequest()]
negated conditional → KILLED

130

1.1
Location : build
Killed by : pl.zankowski.iextrading4j.client.rest.request.corporate.AdvancedBonusRequestBuilderTest.[engine:junit-jupiter]/[class:pl.zankowski.iextrading4j.client.rest.request.corporate.AdvancedBonusRequestBuilderTest]/[method:shouldSuccessfullyCreateRequest()]
replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::build → KILLED

138

1.1
Location : build
Killed by : none
replaced return value with null for pl/zankowski/iextrading4j/client/rest/request/datapoint/AbstractTimeSeriesRequestBuilder::build → NO_COVERAGE

Active mutators

Tests examined


Report generated by PIT 1.7.1