Add unimi adapters
This commit is contained in:
parent
379326fd63
commit
9f2feb1195
@ -0,0 +1,40 @@
|
||||
package org.warp.commonutils.moshi;
|
||||
|
||||
import com.squareup.moshi.JsonAdapter;
|
||||
import com.squareup.moshi.JsonReader;
|
||||
import com.squareup.moshi.JsonWriter;
|
||||
import it.unimi.dsi.fastutil.booleans.BooleanArrayList;
|
||||
import it.unimi.dsi.fastutil.booleans.BooleanList;
|
||||
import it.unimi.dsi.fastutil.booleans.BooleanLists;
|
||||
import it.unimi.dsi.fastutil.bytes.ByteArrayList;
|
||||
import java.io.IOException;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
class BooleanListJsonAdapter extends JsonAdapter<BooleanList> {
|
||||
|
||||
@Override
|
||||
public @NotNull BooleanList fromJson(@NotNull JsonReader reader) throws IOException {
|
||||
reader.beginArray();
|
||||
BooleanArrayList modifiableOutput = new BooleanArrayList();
|
||||
while (reader.hasNext()) {
|
||||
modifiableOutput.add(reader.nextBoolean());
|
||||
}
|
||||
reader.endArray();
|
||||
return BooleanLists.unmodifiable(modifiableOutput);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void toJson(@NotNull JsonWriter writer, @Nullable BooleanList value) throws IOException {
|
||||
if (value == null) {
|
||||
writer.nullValue();
|
||||
return;
|
||||
}
|
||||
|
||||
writer.beginArray();
|
||||
for (int i = 0; i < value.size(); i++) {
|
||||
writer.value(value.getBoolean(i));
|
||||
}
|
||||
writer.endArray();
|
||||
}
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package org.warp.commonutils.moshi;
|
||||
|
||||
import com.squareup.moshi.JsonAdapter;
|
||||
import com.squareup.moshi.JsonReader;
|
||||
import com.squareup.moshi.JsonWriter;
|
||||
import it.unimi.dsi.fastutil.bytes.ByteArrayList;
|
||||
import it.unimi.dsi.fastutil.bytes.ByteList;
|
||||
import it.unimi.dsi.fastutil.bytes.ByteLists;
|
||||
import java.io.IOException;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
class ByteListJsonAdapter extends JsonAdapter<ByteList> {
|
||||
|
||||
@Override
|
||||
public @NotNull ByteList fromJson(@NotNull JsonReader reader) throws IOException {
|
||||
reader.beginArray();
|
||||
ByteArrayList modifiableOutput = new ByteArrayList();
|
||||
while (reader.hasNext()) {
|
||||
modifiableOutput.add((byte) reader.nextInt());
|
||||
}
|
||||
reader.endArray();
|
||||
return ByteLists.unmodifiable(modifiableOutput);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void toJson(@NotNull JsonWriter writer, @Nullable ByteList value) throws IOException {
|
||||
if (value == null) {
|
||||
writer.nullValue();
|
||||
return;
|
||||
}
|
||||
|
||||
writer.beginArray();
|
||||
for (int i = 0; i < value.size(); i++) {
|
||||
writer.value((long) value.getByte(i));
|
||||
}
|
||||
writer.endArray();
|
||||
}
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package org.warp.commonutils.moshi;
|
||||
|
||||
import com.squareup.moshi.JsonAdapter;
|
||||
import com.squareup.moshi.JsonReader;
|
||||
import com.squareup.moshi.JsonWriter;
|
||||
import it.unimi.dsi.fastutil.chars.CharArrayList;
|
||||
import it.unimi.dsi.fastutil.chars.CharList;
|
||||
import it.unimi.dsi.fastutil.chars.CharLists;
|
||||
import java.io.IOException;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
class CharListJsonAdapter extends JsonAdapter<CharList> {
|
||||
|
||||
@Override
|
||||
public @NotNull CharList fromJson(@NotNull JsonReader reader) throws IOException {
|
||||
reader.beginArray();
|
||||
CharArrayList modifiableOutput = new CharArrayList();
|
||||
while (reader.hasNext()) {
|
||||
modifiableOutput.add((char) reader.nextInt());
|
||||
}
|
||||
reader.endArray();
|
||||
return CharLists.unmodifiable(modifiableOutput);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void toJson(@NotNull JsonWriter writer, @Nullable CharList value) throws IOException {
|
||||
if (value == null) {
|
||||
writer.nullValue();
|
||||
return;
|
||||
}
|
||||
|
||||
writer.beginArray();
|
||||
for (int i = 0; i < value.size(); i++) {
|
||||
writer.value((long) value.getChar(i));
|
||||
}
|
||||
writer.endArray();
|
||||
}
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package org.warp.commonutils.moshi;
|
||||
|
||||
import com.squareup.moshi.JsonAdapter;
|
||||
import com.squareup.moshi.JsonReader;
|
||||
import com.squareup.moshi.JsonWriter;
|
||||
import it.unimi.dsi.fastutil.ints.IntArrayList;
|
||||
import it.unimi.dsi.fastutil.ints.IntList;
|
||||
import it.unimi.dsi.fastutil.ints.IntLists;
|
||||
import java.io.IOException;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
class IntListJsonAdapter extends JsonAdapter<IntList> {
|
||||
|
||||
@Override
|
||||
public @NotNull IntList fromJson(@NotNull JsonReader reader) throws IOException {
|
||||
reader.beginArray();
|
||||
IntArrayList modifiableOutput = new IntArrayList();
|
||||
while (reader.hasNext()) {
|
||||
modifiableOutput.add(reader.nextInt());
|
||||
}
|
||||
reader.endArray();
|
||||
return IntLists.unmodifiable(modifiableOutput);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void toJson(@NotNull JsonWriter writer, @Nullable IntList value) throws IOException {
|
||||
if (value == null) {
|
||||
writer.nullValue();
|
||||
return;
|
||||
}
|
||||
|
||||
writer.beginArray();
|
||||
for (int i = 0; i < value.size(); i++) {
|
||||
writer.value((long) value.getInt(i));
|
||||
}
|
||||
writer.endArray();
|
||||
}
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package org.warp.commonutils.moshi;
|
||||
|
||||
import com.squareup.moshi.JsonAdapter;
|
||||
import com.squareup.moshi.JsonReader;
|
||||
import com.squareup.moshi.JsonWriter;
|
||||
import it.unimi.dsi.fastutil.longs.LongArrayList;
|
||||
import it.unimi.dsi.fastutil.longs.LongList;
|
||||
import it.unimi.dsi.fastutil.longs.LongLists;
|
||||
import java.io.IOException;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
class LongListJsonAdapter extends JsonAdapter<LongList> {
|
||||
|
||||
@Override
|
||||
public @NotNull LongList fromJson(@NotNull JsonReader reader) throws IOException {
|
||||
reader.beginArray();
|
||||
LongArrayList modifiableOutput = new LongArrayList();
|
||||
while (reader.hasNext()) {
|
||||
modifiableOutput.add(reader.nextLong());
|
||||
}
|
||||
reader.endArray();
|
||||
return LongLists.unmodifiable(modifiableOutput);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void toJson(@NotNull JsonWriter writer, @Nullable LongList value) throws IOException {
|
||||
if (value == null) {
|
||||
writer.nullValue();
|
||||
return;
|
||||
}
|
||||
|
||||
writer.beginArray();
|
||||
for (int i = 0; i < value.size(); i++) {
|
||||
writer.value(value.getLong(i));
|
||||
}
|
||||
writer.endArray();
|
||||
}
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package org.warp.commonutils.moshi;
|
||||
|
||||
import com.squareup.moshi.JsonAdapter;
|
||||
import com.squareup.moshi.JsonReader;
|
||||
import com.squareup.moshi.JsonWriter;
|
||||
import it.unimi.dsi.fastutil.shorts.ShortArrayList;
|
||||
import it.unimi.dsi.fastutil.shorts.ShortList;
|
||||
import it.unimi.dsi.fastutil.shorts.ShortLists;
|
||||
import java.io.IOException;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
class ShortListJsonAdapter extends JsonAdapter<ShortList> {
|
||||
|
||||
@Override
|
||||
public @NotNull ShortList fromJson(@NotNull JsonReader reader) throws IOException {
|
||||
reader.beginArray();
|
||||
ShortArrayList modifiableOutput = new ShortArrayList();
|
||||
while (reader.hasNext()) {
|
||||
modifiableOutput.add((short) reader.nextInt());
|
||||
}
|
||||
reader.endArray();
|
||||
return ShortLists.unmodifiable(modifiableOutput);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void toJson(@NotNull JsonWriter writer, @Nullable ShortList value) throws IOException {
|
||||
if (value == null) {
|
||||
writer.nullValue();
|
||||
return;
|
||||
}
|
||||
|
||||
writer.beginArray();
|
||||
for (int i = 0; i < value.size(); i++) {
|
||||
writer.value((long) value.getShort(i));
|
||||
}
|
||||
writer.endArray();
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user