Skip to content

Commit 1499272

Browse files
committed
Make the medium in AdaptionInfo nullable
1 parent a678512 commit 1499272

4 files changed

Lines changed: 44 additions & 5 deletions

File tree

library/config/checkstyle/suppressions.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
<suppress checks="VisibilityModifier" files="ConferenceInfoAdapter.java"/>
1111
<suppress checks="VisibilityModifier" files="EpisodeInfoAdapter.java"/>
1212
<suppress checks="VisibilityModifier" files="NotificationAdapter.java"/>
13+
<suppress checks="VisibilityModifier" files="AdaptionInfoAdapter.java"/>
1314

1415
<!-- Ignore parameter count of API methods. -->
1516
<suppress checks="ParameterNumber" files="InternalApi.java"/>
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package me.proxer.library.api;
2+
3+
import com.squareup.moshi.FromJson;
4+
import com.squareup.moshi.Json;
5+
import me.proxer.library.entity.info.AdaptionInfo;
6+
import me.proxer.library.enums.Medium;
7+
import me.proxer.library.util.ProxerUtils;
8+
9+
/**
10+
* @author Ruben Gees
11+
*/
12+
class AdaptionInfoAdapter {
13+
14+
@FromJson
15+
AdaptionInfo fromJson(final IntermediateAdaptionInfo json) {
16+
return new AdaptionInfo(json.id, json.name, ProxerUtils.toApiEnum(Medium.class, json.medium));
17+
}
18+
19+
static class IntermediateAdaptionInfo {
20+
21+
@Json(name = "id")
22+
String id;
23+
24+
@Json(name = "name")
25+
String name;
26+
27+
@Json(name = "medium")
28+
String medium;
29+
}
30+
}

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

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -216,17 +216,18 @@ private void initMoshi() {
216216
moshi = builder
217217
.add(new VoidAdapter())
218218
.add(new DateAdapter())
219+
.add(new PageAdapter())
219220
.add(new BooleanAdapter())
220-
.add(new PrimitiveBooleanAdapter())
221-
.add(new DelimitedEnumSetAdapterFactory())
222221
.add(new HttpUrlAdapter())
223-
.add(new NotificationAdapter())
224222
.add(new ConferenceAdapter())
225-
.add(new ConferenceInfoAdapter())
226223
.add(new EpisodeInfoAdapter())
227-
.add(new PageAdapter())
224+
.add(new AdaptionInfoAdapter())
225+
.add(new NotificationAdapter())
226+
.add(new ConferenceInfoAdapter())
227+
.add(new PrimitiveBooleanAdapter())
228228
.add(new NotificationInfoAdapter())
229229
.add(new FixRatingDetailsAdapter())
230+
.add(new DelimitedEnumSetAdapterFactory())
230231
.build();
231232
}
232233

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,13 @@ public class AdaptionInfo implements ProxerIdItem {
2929
/**
3030
* Returns the medium
3131
*/
32+
@Nullable
3233
@Json(name = "medium")
3334
private Medium medium;
35+
36+
public AdaptionInfo(final String id, final String name, @Nullable final Medium medium) {
37+
this.id = id;
38+
this.name = name;
39+
this.medium = medium;
40+
}
3441
}

0 commit comments

Comments
 (0)