RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
OptionalIntAdapter.java
1package com.osroyale.util;
2
3import com.google.gson.TypeAdapter;
4import com.google.gson.stream.JsonReader;
5import com.google.gson.stream.JsonToken;
6import com.google.gson.stream.JsonWriter;
7
8import java.io.IOException;
9import java.util.OptionalInt;
10
11public class OptionalIntAdapter extends TypeAdapter<OptionalInt> {
12
13 @Override
14 public void write(JsonWriter out, OptionalInt value) throws IOException {
15 if (value.isPresent()) {
16 out.value(value.getAsInt());
17 } else {
18 out.nullValue();
19 }
20 }
21
22 @Override
23 public OptionalInt read(JsonReader in) throws IOException {
24 if (in.peek() == JsonToken.NULL) {
25 in.nextNull();
26 return OptionalInt.empty();
27 } else {
28 return OptionalInt.of(in.nextInt());
29 }
30 }
31}