Skip to content

Commit 805a392

Browse files
committed
Improve Kotlin interoperability by marking equals parameters as Nullable
1 parent ec9ad18 commit 805a392

40 files changed

Lines changed: 127 additions & 2 deletions

library/config/findbugs/findbugs-filter.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,10 @@
2828
<Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"/>
2929
</Match>
3030

31+
<!-- Suppress nullness warnings concerning the equals method. -->
32+
<Match>
33+
<Method name="equals" params="java.lang.Object"/>
34+
<Bug pattern="NP_METHOD_PARAMETER_TIGHTENS_ANNOTATION"/>
35+
</Match>
36+
3137
</FindBugsFilter>

library/src/main/java/me/proxer/library/api/ProxerResponse.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
*/
1111
@SuppressWarnings("TypeParameterUnusedInFormals")
1212
@ToString
13-
@EqualsAndHashCode
13+
@EqualsAndHashCode(onParam = @__({@Nullable}))
1414
@NoArgsConstructor(access = AccessLevel.PRIVATE)
1515
final class ProxerResponse<T> {
1616

library/src/main/java/me/proxer/library/entity/anime/Stream.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package me.proxer.library.entity.anime;
22

33
import com.squareup.moshi.Json;
4+
import lombok.EqualsAndHashCode;
45
import lombok.Getter;
56
import lombok.Value;
67
import me.proxer.library.entity.ProxerDateItem;
@@ -16,6 +17,7 @@
1617
* @author Ruben Gees
1718
*/
1819
@Value
20+
@EqualsAndHashCode(onParam = @__({@Nullable}))
1921
public class Stream implements ProxerIdItem, ProxerImageItem, ProxerDateItem {
2022

2123
/**

library/src/main/java/me/proxer/library/entity/info/Comment.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
package me.proxer.library.entity.info;
22

33
import com.squareup.moshi.Json;
4+
import lombok.EqualsAndHashCode;
45
import lombok.Getter;
56
import lombok.Value;
67
import me.proxer.library.entity.ProxerDateItem;
78
import me.proxer.library.entity.ProxerIdItem;
89
import me.proxer.library.entity.ProxerImageItem;
910
import me.proxer.library.enums.UserMediaProgress;
1011

12+
import javax.annotation.Nullable;
1113
import java.util.Date;
1214

1315
/**
@@ -16,6 +18,7 @@
1618
* @author Desnoo
1719
*/
1820
@Value
21+
@EqualsAndHashCode(onParam = @__({@Nullable}))
1922
public class Comment implements ProxerIdItem, ProxerImageItem, ProxerDateItem {
2023

2124
/**

library/src/main/java/me/proxer/library/entity/info/Entry.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
package me.proxer.library.entity.info;
22

33
import com.squareup.moshi.Json;
4+
import lombok.EqualsAndHashCode;
45
import lombok.Getter;
56
import lombok.Value;
67
import me.proxer.library.entity.ProxerIdItem;
78
import me.proxer.library.entity.list.IndustryCore;
89
import me.proxer.library.enums.*;
910

11+
import javax.annotation.Nullable;
1012
import java.util.List;
1113
import java.util.Set;
1214

@@ -17,6 +19,7 @@
1719
* @author Ruben Gees
1820
*/
1921
@Value
22+
@EqualsAndHashCode(onParam = @__({@Nullable}))
2023
public class Entry implements ProxerIdItem {
2124

2225
/**

library/src/main/java/me/proxer/library/entity/info/EntryCore.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package me.proxer.library.entity.info;
22

33
import com.squareup.moshi.Json;
4+
import lombok.EqualsAndHashCode;
45
import lombok.Getter;
56
import lombok.Value;
67
import me.proxer.library.entity.ProxerIdItem;
78
import me.proxer.library.enums.*;
89

10+
import javax.annotation.Nullable;
911
import java.util.Set;
1012

1113
/**
@@ -15,6 +17,7 @@
1517
* @author Desnoo
1618
*/
1719
@Value
20+
@EqualsAndHashCode(onParam = @__({@Nullable}))
1821
public class EntryCore implements ProxerIdItem {
1922

2023
/**

library/src/main/java/me/proxer/library/entity/info/EntrySeasonInfo.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
11
package me.proxer.library.entity.info;
22

33
import com.squareup.moshi.Json;
4+
import lombok.EqualsAndHashCode;
45
import lombok.Getter;
56
import lombok.Value;
67
import me.proxer.library.entity.ProxerIdItem;
78
import me.proxer.library.enums.Season;
89

10+
import javax.annotation.Nullable;
11+
912
/**
1013
* Entity holding the season of an entry.
1114
*
1215
* @author Ruben Gees
1316
*/
1417
@Value
18+
@EqualsAndHashCode(onParam = @__({@Nullable}))
1519
public class EntrySeasonInfo implements ProxerIdItem {
1620

1721
/**

library/src/main/java/me/proxer/library/entity/info/EntryTranslatorGroup.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
11
package me.proxer.library.entity.info;
22

33
import com.squareup.moshi.Json;
4+
import lombok.EqualsAndHashCode;
45
import lombok.Getter;
56
import lombok.Value;
67
import me.proxer.library.entity.ProxerIdItem;
78
import me.proxer.library.enums.Country;
89

10+
import javax.annotation.Nullable;
11+
912
/**
1013
* Entity containing the relevant info of a translator group, associated with an {@link Entry}.
1114
*
1215
* @author Ruben Gees
1316
*/
1417
@Value
18+
@EqualsAndHashCode(onParam = @__({@Nullable}))
1519
public class EntryTranslatorGroup implements ProxerIdItem {
1620

1721
/**

library/src/main/java/me/proxer/library/entity/info/Episode.java

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

33
import com.squareup.moshi.Json;
44
import lombok.AllArgsConstructor;
5+
import lombok.EqualsAndHashCode;
56
import lombok.Value;
67
import lombok.experimental.NonFinal;
78
import me.proxer.library.enums.MediaLanguage;
89

10+
import javax.annotation.Nullable;
11+
912
/**
1013
* Base entity holding the common data of an {@link AnimeEpisode} and {@link MangaEpisode}.
1114
*
@@ -14,6 +17,7 @@
1417
@Value
1518
@NonFinal
1619
@AllArgsConstructor()
20+
@EqualsAndHashCode(onParam = @__({@Nullable}))
1721
public abstract class Episode {
1822

1923
/**

library/src/main/java/me/proxer/library/entity/info/EpisodeInfo.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package me.proxer.library.entity.info;
22

33
import com.squareup.moshi.Json;
4+
import lombok.EqualsAndHashCode;
45
import lombok.Value;
56
import me.proxer.library.enums.Category;
67
import me.proxer.library.enums.MediaLanguage;
78

9+
import javax.annotation.Nullable;
810
import java.util.List;
911
import java.util.Set;
1012

@@ -14,6 +16,7 @@
1416
* @author Ruben Gees.
1517
*/
1618
@Value
19+
@EqualsAndHashCode(onParam = @__({@Nullable}))
1720
public class EpisodeInfo {
1821

1922
/**

0 commit comments

Comments
 (0)