Skip to content

Commit e4308ed

Browse files
committed
Implement equals & hashCode
1 parent 5a11982 commit e4308ed

File tree

12 files changed

+64
-1
lines changed

12 files changed

+64
-1
lines changed

build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ dependencies {
1616
implementation group: 'com.squareup.retrofit2', name: 'converter-gson', version: '2.6.1'
1717
implementation 'com.google.code.gson:gson:2.8.5'
1818
implementation 'net.jodah:typetools:0.6.1'
19+
implementation group: 'org.projectlombok', name: 'lombok', version: '1.18.10'
20+
annotationProcessor group: 'org.projectlombok', name: 'lombok', version: '1.18.10'
1921
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
2022
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.1.1'
2123
}

src/main/java/com/aaaccell/fixer/request/AuthenticatedRequest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,14 @@
22

33
import com.aaaccell.fixer.FixerService;
44
import com.aaaccell.fixer.response.Response;
5+
import lombok.EqualsAndHashCode;
56

7+
@EqualsAndHashCode(callSuper = false)
68
public abstract class AuthenticatedRequest<T extends Response> extends Request<T> {
9+
10+
@EqualsAndHashCode.Exclude
711
FixerService fixerService;
12+
813
String accessKey;
914

1015
AuthenticatedRequest(FixerService fixerService, String accessKey) {

src/main/java/com/aaaccell/fixer/request/ConvertRequest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22

33
import com.aaaccell.fixer.FixerService;
44
import com.aaaccell.fixer.response.ConvertResponse;
5+
import lombok.EqualsAndHashCode;
56
import retrofit2.Call;
67

78
import java.math.BigDecimal;
89
import java.time.LocalDate;
910

11+
@EqualsAndHashCode(callSuper = true)
1012
public class ConvertRequest extends AuthenticatedRequest<ConvertResponse> {
1113

1214
private String from;

src/main/java/com/aaaccell/fixer/request/Request.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@
44
import retrofit2.Call;
55

66
import java.io.IOException;
7+
import java.io.Serializable;
78
import java.util.concurrent.Callable;
89

9-
public abstract class Request<T extends Response> implements Callable {
10+
public abstract class Request<T extends Response> implements Callable, Serializable {
1011

1112
abstract Call<T> getCall();
1213

src/main/java/com/aaaccell/fixer/request/SymbolsRequest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22

33
import com.aaaccell.fixer.FixerService;
44
import com.aaaccell.fixer.response.SymbolsResponse;
5+
import lombok.EqualsAndHashCode;
56
import retrofit2.Call;
67

8+
@EqualsAndHashCode(callSuper = true)
79
public class SymbolsRequest extends AuthenticatedRequest<SymbolsResponse> {
810

911
public SymbolsRequest(FixerService fixerService, String accessKey) {

src/main/java/com/aaaccell/fixer/request/TimeSeriesRequest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.aaaccell.fixer.FixerService;
44
import com.aaaccell.fixer.response.TimeSeriesResponse;
55
import com.aaaccell.fixer.util.LocalDateHelper;
6+
import lombok.EqualsAndHashCode;
67
import retrofit2.Call;
78

89
import java.io.IOException;
@@ -15,6 +16,7 @@
1516
import java.util.concurrent.Future;
1617
import java.util.stream.Collectors;
1718

19+
@EqualsAndHashCode(callSuper = true)
1820
public class TimeSeriesRequest extends AuthenticatedRequest<TimeSeriesResponse> {
1921

2022
private static final long MAX_TIME_FRAME = 365;

src/main/java/com/aaaccell/fixer/response/ConvertResponse.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
package com.aaaccell.fixer.response;
22

3+
import lombok.EqualsAndHashCode;
4+
35
import java.math.BigDecimal;
46

7+
@EqualsAndHashCode(callSuper = true)
58
public class ConvertResponse extends Response {
69

10+
@EqualsAndHashCode
711
public class Query {
812
private String from;
913
private String to;
@@ -34,6 +38,7 @@ public void setAmount(BigDecimal amount) {
3438
}
3539
}
3640

41+
@EqualsAndHashCode
3742
public class Info {
3843
private Integer timestamp;
3944
private BigDecimal rate;

src/main/java/com/aaaccell/fixer/response/ErrorResponse.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package com.aaaccell.fixer.response;
22

3+
import lombok.EqualsAndHashCode;
4+
5+
@EqualsAndHashCode(callSuper = true)
36
public class ErrorResponse extends Response {
47

58
public class Error {

src/main/java/com/aaaccell/fixer/response/Response.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package com.aaaccell.fixer.response;
22

3+
import lombok.EqualsAndHashCode;
4+
5+
@EqualsAndHashCode
36
abstract public class Response {
47
private boolean success;
58

src/main/java/com/aaaccell/fixer/response/SymbolsResponse.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
package com.aaaccell.fixer.response;
22

3+
import lombok.EqualsAndHashCode;
4+
35
import java.util.HashMap;
46
import java.util.LinkedHashMap;
57

8+
@EqualsAndHashCode(callSuper = true)
69
public class SymbolsResponse extends Response {
710
private LinkedHashMap<String, String> symbols;
811

0 commit comments

Comments
 (0)