Skip to content
Snippets Groups Projects
Commit 92ba16c3 authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

Improved code, refactored it a bit, implemented full null safety

parent 146177e8
Branches
Tags
No related merge requests found
Showing
with 165 additions and 30 deletions
package de.kuschku.libquassel.events; package de.kuschku.libquassel.events;
import android.support.annotation.NonNull;
@SuppressWarnings("WeakerAccess")
public class LoginSuccessfulEvent { public class LoginSuccessfulEvent {
public LoginSuccessfulEvent() { public LoginSuccessfulEvent() {
} }
@NonNull
@Override @Override
public String toString() { public String toString() {
return "LoginSuccessfulEvent{}"; return "LoginSuccessfulEvent{}";
......
package de.kuschku.libquassel.events; package de.kuschku.libquassel.events;
@SuppressWarnings("WeakerAccess")
public class StatusMessageEvent { public class StatusMessageEvent {
public final String scope; public final String scope;
public final String message; public final String message;
......
package de.kuschku.libquassel.exceptions; package de.kuschku.libquassel.exceptions;
import android.support.annotation.Nullable;
public class UnknownTypeException extends IllegalArgumentException { public class UnknownTypeException extends IllegalArgumentException {
public final String typeName; public final String typeName;
...@@ -7,6 +9,7 @@ public class UnknownTypeException extends IllegalArgumentException { ...@@ -7,6 +9,7 @@ public class UnknownTypeException extends IllegalArgumentException {
this.typeName = typeName; this.typeName = typeName;
} }
@Nullable
@Override @Override
public String getLocalizedMessage() { public String getLocalizedMessage() {
return getMessage(); return getMessage();
......
package de.kuschku.libquassel.functions; package de.kuschku.libquassel.functions;
import android.support.annotation.NonNull;
public enum FunctionType { public enum FunctionType {
INVALID(0), INVALID(0),
SYNC(1), SYNC(1),
...@@ -15,6 +17,7 @@ public enum FunctionType { ...@@ -15,6 +17,7 @@ public enum FunctionType {
this.id = id; this.id = id;
} }
@NonNull
public static FunctionType fromId(int id) { public static FunctionType fromId(int id) {
switch (id) { switch (id) {
case 1: case 1:
......
package de.kuschku.libquassel.functions.serializers; package de.kuschku.libquassel.functions.serializers;
import android.support.annotation.NonNull;
import java.util.List; import java.util.List;
public interface FunctionSerializer<T> { public interface FunctionSerializer<T> {
List serialize(T data); @NonNull
List serialize(@NonNull T data);
T deserialize(List packedFunc); @NonNull
T deserialize(@NonNull List packedFunc);
} }
package de.kuschku.libquassel.functions.serializers; package de.kuschku.libquassel.functions.serializers;
import android.support.annotation.NonNull;
import java.util.List; import java.util.List;
import de.kuschku.libquassel.functions.types.InitDataFunction; import de.kuschku.libquassel.functions.types.InitDataFunction;
...@@ -7,17 +9,20 @@ import de.kuschku.libquassel.functions.types.PackedInitDataFunction; ...@@ -7,17 +9,20 @@ import de.kuschku.libquassel.functions.types.PackedInitDataFunction;
import de.kuschku.libquassel.functions.types.UnpackedInitDataFunction; import de.kuschku.libquassel.functions.types.UnpackedInitDataFunction;
public class InitDataFunctionSerializer implements FunctionSerializer<InitDataFunction> { public class InitDataFunctionSerializer implements FunctionSerializer<InitDataFunction> {
@NonNull
private static final InitDataFunctionSerializer serializer = new InitDataFunctionSerializer(); private static final InitDataFunctionSerializer serializer = new InitDataFunctionSerializer();
private InitDataFunctionSerializer() { private InitDataFunctionSerializer() {
} }
@NonNull
public static InitDataFunctionSerializer get() { public static InitDataFunctionSerializer get() {
return serializer; return serializer;
} }
@NonNull
@Override @Override
public List serialize(final InitDataFunction data) { public List serialize(@NonNull final InitDataFunction data) {
if (data instanceof UnpackedInitDataFunction) { if (data instanceof UnpackedInitDataFunction) {
return PackedInitDataFunctionSerializer.get().serialize((UnpackedInitDataFunction) data); return PackedInitDataFunctionSerializer.get().serialize((UnpackedInitDataFunction) data);
} else if (data instanceof PackedInitDataFunction) { } else if (data instanceof PackedInitDataFunction) {
...@@ -27,8 +32,9 @@ public class InitDataFunctionSerializer implements FunctionSerializer<InitDataFu ...@@ -27,8 +32,9 @@ public class InitDataFunctionSerializer implements FunctionSerializer<InitDataFu
} }
} }
@NonNull
@Override @Override
public InitDataFunction deserialize(final List packedFunc) { public InitDataFunction deserialize(@NonNull final List packedFunc) {
throw new IllegalArgumentException("Can not be applied to these arguments"); throw new IllegalArgumentException("Can not be applied to these arguments");
} }
} }
package de.kuschku.libquassel.functions.serializers; package de.kuschku.libquassel.functions.serializers;
import android.support.annotation.NonNull;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import java.util.List; import java.util.List;
...@@ -9,19 +11,24 @@ import de.kuschku.libquassel.functions.types.InitRequestFunction; ...@@ -9,19 +11,24 @@ import de.kuschku.libquassel.functions.types.InitRequestFunction;
import de.kuschku.libquassel.primitives.types.QVariant; import de.kuschku.libquassel.primitives.types.QVariant;
import static de.kuschku.libquassel.primitives.QMetaType.Type.QByteArray; import static de.kuschku.libquassel.primitives.QMetaType.Type.QByteArray;
import static de.kuschku.util.AndroidAssert.*;
@SuppressWarnings("unchecked")
public class InitRequestFunctionSerializer implements FunctionSerializer<InitRequestFunction> { public class InitRequestFunctionSerializer implements FunctionSerializer<InitRequestFunction> {
@NonNull
private static final InitRequestFunctionSerializer serializer = new InitRequestFunctionSerializer(); private static final InitRequestFunctionSerializer serializer = new InitRequestFunctionSerializer();
private InitRequestFunctionSerializer() { private InitRequestFunctionSerializer() {
} }
@NonNull
public static InitRequestFunctionSerializer get() { public static InitRequestFunctionSerializer get() {
return serializer; return serializer;
} }
@NonNull
@Override @Override
public List serialize(final InitRequestFunction data) { public List serialize(@NonNull final InitRequestFunction data) {
return Lists.newArrayList( return Lists.newArrayList(
FunctionType.INITREQUEST.id, FunctionType.INITREQUEST.id,
data.className, data.className,
...@@ -30,7 +37,8 @@ public class InitRequestFunctionSerializer implements FunctionSerializer<InitReq ...@@ -30,7 +37,8 @@ public class InitRequestFunctionSerializer implements FunctionSerializer<InitReq
} }
// TODO: Add this for all such serializers // TODO: Add this for all such serializers
public List serializePacked(final InitRequestFunction data) { @NonNull
public List serializePacked(@NonNull final InitRequestFunction data) {
return Lists.newArrayList( return Lists.newArrayList(
new QVariant<>(FunctionType.INITREQUEST.id), new QVariant<>(FunctionType.INITREQUEST.id),
new QVariant<>(QByteArray, data.className), new QVariant<>(QByteArray, data.className),
...@@ -38,11 +46,18 @@ public class InitRequestFunctionSerializer implements FunctionSerializer<InitReq ...@@ -38,11 +46,18 @@ public class InitRequestFunctionSerializer implements FunctionSerializer<InitReq
); );
} }
@NonNull
@Override @Override
public InitRequestFunction deserialize(final List packedFunc) { public InitRequestFunction deserialize(@NonNull final List packedFunc) {
assertTrue(packedFunc.size() >= 2);
String className = (String) packedFunc.remove(0);
String objectName = (String) packedFunc.remove(0);
assertNotNull(className);
return new InitRequestFunction( return new InitRequestFunction(
(String) packedFunc.remove(0), className,
(String) packedFunc.remove(0) objectName
); );
} }
} }
package de.kuschku.libquassel.functions.serializers; package de.kuschku.libquassel.functions.serializers;
import android.support.annotation.NonNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -8,18 +10,24 @@ import de.kuschku.libquassel.functions.types.UnpackedInitDataFunction; ...@@ -8,18 +10,24 @@ import de.kuschku.libquassel.functions.types.UnpackedInitDataFunction;
import de.kuschku.libquassel.primitives.types.QVariant; import de.kuschku.libquassel.primitives.types.QVariant;
import de.kuschku.libquassel.protocols.DatastreamPeer; import de.kuschku.libquassel.protocols.DatastreamPeer;
import static de.kuschku.util.AndroidAssert.*;
@SuppressWarnings({"unchecked", "ConstantConditions"})
public class PackedInitDataFunctionSerializer implements FunctionSerializer<UnpackedInitDataFunction> { public class PackedInitDataFunctionSerializer implements FunctionSerializer<UnpackedInitDataFunction> {
@NonNull
private static final PackedInitDataFunctionSerializer serializer = new PackedInitDataFunctionSerializer(); private static final PackedInitDataFunctionSerializer serializer = new PackedInitDataFunctionSerializer();
private PackedInitDataFunctionSerializer() { private PackedInitDataFunctionSerializer() {
} }
@NonNull
public static PackedInitDataFunctionSerializer get() { public static PackedInitDataFunctionSerializer get() {
return serializer; return serializer;
} }
@NonNull
@Override @Override
public List serialize(final UnpackedInitDataFunction data) { public List serialize(@NonNull final UnpackedInitDataFunction data) {
final List func = new ArrayList<>(); final List func = new ArrayList<>();
func.add(FunctionType.INITDATA.id); func.add(FunctionType.INITDATA.id);
func.add(data.className); func.add(data.className);
...@@ -28,8 +36,11 @@ public class PackedInitDataFunctionSerializer implements FunctionSerializer<Unpa ...@@ -28,8 +36,11 @@ public class PackedInitDataFunctionSerializer implements FunctionSerializer<Unpa
return func; return func;
} }
@NonNull
@Override @Override
public UnpackedInitDataFunction deserialize(final List packedFunc) { public UnpackedInitDataFunction deserialize(@NonNull final List packedFunc) {
assertTrue(packedFunc.size() >= 2);
return new UnpackedInitDataFunction( return new UnpackedInitDataFunction(
((QVariant<String>) packedFunc.remove(0)).data, ((QVariant<String>) packedFunc.remove(0)).data,
((QVariant<String>) packedFunc.remove(0)).data, ((QVariant<String>) packedFunc.remove(0)).data,
......
package de.kuschku.libquassel.functions.serializers; package de.kuschku.libquassel.functions.serializers;
import android.support.annotation.NonNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -9,18 +11,24 @@ import de.kuschku.libquassel.primitives.QMetaType; ...@@ -9,18 +11,24 @@ import de.kuschku.libquassel.primitives.QMetaType;
import de.kuschku.libquassel.primitives.types.QVariant; import de.kuschku.libquassel.primitives.types.QVariant;
import de.kuschku.libquassel.protocols.DatastreamPeer; import de.kuschku.libquassel.protocols.DatastreamPeer;
import static de.kuschku.util.AndroidAssert.*;
@SuppressWarnings({"unchecked", "ConstantConditions"})
public class PackedRpcCallFunctionSerializer implements FunctionSerializer<RpcCallFunction> { public class PackedRpcCallFunctionSerializer implements FunctionSerializer<RpcCallFunction> {
@NonNull
private static final PackedRpcCallFunctionSerializer serializer = new PackedRpcCallFunctionSerializer(); private static final PackedRpcCallFunctionSerializer serializer = new PackedRpcCallFunctionSerializer();
private PackedRpcCallFunctionSerializer() { private PackedRpcCallFunctionSerializer() {
} }
@NonNull
public static PackedRpcCallFunctionSerializer get() { public static PackedRpcCallFunctionSerializer get() {
return serializer; return serializer;
} }
@NonNull
@Override @Override
public List serialize(final RpcCallFunction data) { public List serialize(@NonNull final RpcCallFunction data) {
final List func = new ArrayList<>(); final List func = new ArrayList<>();
func.add(new QVariant<>(FunctionType.RPCCALL.id)); func.add(new QVariant<>(FunctionType.RPCCALL.id));
func.add(new QVariant<>(QMetaType.Type.QByteArray, data.functionName)); func.add(new QVariant<>(QMetaType.Type.QByteArray, data.functionName));
...@@ -28,8 +36,11 @@ public class PackedRpcCallFunctionSerializer implements FunctionSerializer<RpcCa ...@@ -28,8 +36,11 @@ public class PackedRpcCallFunctionSerializer implements FunctionSerializer<RpcCa
return func; return func;
} }
@NonNull
@Override @Override
public RpcCallFunction deserialize(final List packedFunc) { public RpcCallFunction deserialize(@NonNull final List packedFunc) {
assertTrue(packedFunc.size() >= 1);
return new RpcCallFunction( return new RpcCallFunction(
((QVariant<String>) packedFunc.remove(0)).data, ((QVariant<String>) packedFunc.remove(0)).data,
DatastreamPeer.unboxList(packedFunc) DatastreamPeer.unboxList(packedFunc)
......
package de.kuschku.libquassel.functions.serializers; package de.kuschku.libquassel.functions.serializers;
import android.support.annotation.NonNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -9,18 +11,24 @@ import de.kuschku.libquassel.primitives.QMetaType; ...@@ -9,18 +11,24 @@ import de.kuschku.libquassel.primitives.QMetaType;
import de.kuschku.libquassel.primitives.types.QVariant; import de.kuschku.libquassel.primitives.types.QVariant;
import de.kuschku.libquassel.protocols.DatastreamPeer; import de.kuschku.libquassel.protocols.DatastreamPeer;
public class PackedSyncFunctionSerializer implements FunctionSerializer<SyncFunction> { import static de.kuschku.util.AndroidAssert.*;
@SuppressWarnings({"unchecked", "ConstantConditions"})
public class PackedSyncFunctionSerializer<T> implements FunctionSerializer<SyncFunction<T>> {
@NonNull
private static final PackedSyncFunctionSerializer serializer = new PackedSyncFunctionSerializer(); private static final PackedSyncFunctionSerializer serializer = new PackedSyncFunctionSerializer();
private PackedSyncFunctionSerializer() { private PackedSyncFunctionSerializer() {
} }
@NonNull
public static PackedSyncFunctionSerializer get() { public static PackedSyncFunctionSerializer get() {
return serializer; return serializer;
} }
@NonNull
@Override @Override
public List serialize(final SyncFunction data) { public List serialize(@NonNull final SyncFunction data) {
final List func = new ArrayList<>(); final List func = new ArrayList<>();
func.add(new QVariant<>(FunctionType.SYNC.id)); func.add(new QVariant<>(FunctionType.SYNC.id));
func.add(new QVariant<>(QMetaType.Type.QByteArray, data.className)); func.add(new QVariant<>(QMetaType.Type.QByteArray, data.className));
...@@ -30,9 +38,12 @@ public class PackedSyncFunctionSerializer implements FunctionSerializer<SyncFunc ...@@ -30,9 +38,12 @@ public class PackedSyncFunctionSerializer implements FunctionSerializer<SyncFunc
return func; return func;
} }
@NonNull
@Override @Override
public SyncFunction deserialize(final List packedFunc) { public SyncFunction<T> deserialize(@NonNull final List packedFunc) {
return new SyncFunction( assertTrue(packedFunc.size() >= 3);
return new SyncFunction<>(
((QVariant<String>) packedFunc.remove(0)).data, ((QVariant<String>) packedFunc.remove(0)).data,
((QVariant<String>) packedFunc.remove(0)).data, ((QVariant<String>) packedFunc.remove(0)).data,
((QVariant<String>) packedFunc.remove(0)).data, ((QVariant<String>) packedFunc.remove(0)).data,
......
package de.kuschku.libquassel.functions.serializers; package de.kuschku.libquassel.functions.serializers;
import android.support.annotation.NonNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -8,18 +10,24 @@ import de.kuschku.libquassel.functions.FunctionType; ...@@ -8,18 +10,24 @@ import de.kuschku.libquassel.functions.FunctionType;
import de.kuschku.libquassel.functions.types.PackedInitDataFunction; import de.kuschku.libquassel.functions.types.PackedInitDataFunction;
import de.kuschku.libquassel.primitives.types.QVariant; import de.kuschku.libquassel.primitives.types.QVariant;
import static de.kuschku.util.AndroidAssert.*;
@SuppressWarnings({"unchecked", "ConstantConditions"})
public class UnpackedInitDataFunctionSerializer implements FunctionSerializer<PackedInitDataFunction> { public class UnpackedInitDataFunctionSerializer implements FunctionSerializer<PackedInitDataFunction> {
@NonNull
private static final UnpackedInitDataFunctionSerializer serializer = new UnpackedInitDataFunctionSerializer(); private static final UnpackedInitDataFunctionSerializer serializer = new UnpackedInitDataFunctionSerializer();
private UnpackedInitDataFunctionSerializer() { private UnpackedInitDataFunctionSerializer() {
} }
@NonNull
public static UnpackedInitDataFunctionSerializer get() { public static UnpackedInitDataFunctionSerializer get() {
return serializer; return serializer;
} }
@NonNull
@Override @Override
public List serialize(final PackedInitDataFunction data) { public List serialize(@NonNull final PackedInitDataFunction data) {
final List func = new ArrayList<>(); final List func = new ArrayList<>();
func.add(FunctionType.INITDATA.id); func.add(FunctionType.INITDATA.id);
func.add(data.className); func.add(data.className);
...@@ -28,8 +36,11 @@ public class UnpackedInitDataFunctionSerializer implements FunctionSerializer<Pa ...@@ -28,8 +36,11 @@ public class UnpackedInitDataFunctionSerializer implements FunctionSerializer<Pa
return func; return func;
} }
@NonNull
@Override @Override
public PackedInitDataFunction deserialize(final List packedFunc) { public PackedInitDataFunction deserialize(@NonNull final List packedFunc) {
assertTrue(packedFunc.size() >= 3);
return new PackedInitDataFunction( return new PackedInitDataFunction(
(String) packedFunc.remove(0), (String) packedFunc.remove(0),
(String) packedFunc.remove(0), (String) packedFunc.remove(0),
......
package de.kuschku.libquassel.functions.serializers; package de.kuschku.libquassel.functions.serializers;
import android.support.annotation.NonNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -8,18 +10,24 @@ import de.kuschku.libquassel.functions.types.RpcCallFunction; ...@@ -8,18 +10,24 @@ import de.kuschku.libquassel.functions.types.RpcCallFunction;
import de.kuschku.libquassel.primitives.QMetaType; import de.kuschku.libquassel.primitives.QMetaType;
import de.kuschku.libquassel.primitives.types.QVariant; import de.kuschku.libquassel.primitives.types.QVariant;
import static de.kuschku.util.AndroidAssert.*;
@SuppressWarnings({"unchecked", "ConstantConditions"})
public class UnpackedRpcCallFunctionSerializer implements FunctionSerializer<RpcCallFunction> { public class UnpackedRpcCallFunctionSerializer implements FunctionSerializer<RpcCallFunction> {
@NonNull
private static final UnpackedRpcCallFunctionSerializer serializer = new UnpackedRpcCallFunctionSerializer(); private static final UnpackedRpcCallFunctionSerializer serializer = new UnpackedRpcCallFunctionSerializer();
private UnpackedRpcCallFunctionSerializer() { private UnpackedRpcCallFunctionSerializer() {
} }
@NonNull
public static UnpackedRpcCallFunctionSerializer get() { public static UnpackedRpcCallFunctionSerializer get() {
return serializer; return serializer;
} }
@NonNull
@Override @Override
public List serialize(final RpcCallFunction data) { public List serialize(@NonNull final RpcCallFunction data) {
final List func = new ArrayList<>(); final List func = new ArrayList<>();
func.add(new QVariant<>(FunctionType.RPCCALL.id)); func.add(new QVariant<>(FunctionType.RPCCALL.id));
func.add(new QVariant<>(QMetaType.Type.QByteArray, data.functionName)); func.add(new QVariant<>(QMetaType.Type.QByteArray, data.functionName));
...@@ -27,8 +35,11 @@ public class UnpackedRpcCallFunctionSerializer implements FunctionSerializer<Rpc ...@@ -27,8 +35,11 @@ public class UnpackedRpcCallFunctionSerializer implements FunctionSerializer<Rpc
return func; return func;
} }
@NonNull
@Override @Override
public RpcCallFunction deserialize(final List packedFunc) { public RpcCallFunction deserialize(@NonNull final List packedFunc) {
assertTrue(packedFunc.size() >= 1);
return new RpcCallFunction( return new RpcCallFunction(
(String) packedFunc.remove(0), (String) packedFunc.remove(0),
packedFunc packedFunc
......
package de.kuschku.libquassel.functions.serializers; package de.kuschku.libquassel.functions.serializers;
import android.support.annotation.NonNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -8,18 +10,24 @@ import de.kuschku.libquassel.functions.types.SyncFunction; ...@@ -8,18 +10,24 @@ import de.kuschku.libquassel.functions.types.SyncFunction;
import de.kuschku.libquassel.primitives.QMetaType; import de.kuschku.libquassel.primitives.QMetaType;
import de.kuschku.libquassel.primitives.types.QVariant; import de.kuschku.libquassel.primitives.types.QVariant;
public class UnpackedSyncFunctionSerializer implements FunctionSerializer<SyncFunction> { import static de.kuschku.util.AndroidAssert.*;
@SuppressWarnings({"unchecked", "ConstantConditions"})
public class UnpackedSyncFunctionSerializer<T> implements FunctionSerializer<SyncFunction<T>> {
@NonNull
private static final UnpackedSyncFunctionSerializer serializer = new UnpackedSyncFunctionSerializer(); private static final UnpackedSyncFunctionSerializer serializer = new UnpackedSyncFunctionSerializer();
private UnpackedSyncFunctionSerializer() { private UnpackedSyncFunctionSerializer() {
} }
@NonNull
public static UnpackedSyncFunctionSerializer get() { public static UnpackedSyncFunctionSerializer get() {
return serializer; return serializer;
} }
@NonNull
@Override @Override
public List serialize(final SyncFunction data) { public List serialize(@NonNull final SyncFunction data) {
final List func = new ArrayList<>(); final List func = new ArrayList<>();
func.add(new QVariant<>(FunctionType.SYNC.id)); func.add(new QVariant<>(FunctionType.SYNC.id));
func.add(new QVariant<>(QMetaType.Type.QByteArray, data.className)); func.add(new QVariant<>(QMetaType.Type.QByteArray, data.className));
...@@ -29,9 +37,12 @@ public class UnpackedSyncFunctionSerializer implements FunctionSerializer<SyncFu ...@@ -29,9 +37,12 @@ public class UnpackedSyncFunctionSerializer implements FunctionSerializer<SyncFu
return func; return func;
} }
@NonNull
@Override @Override
public SyncFunction deserialize(final List packedFunc) { public SyncFunction<T> deserialize(@NonNull final List packedFunc) {
return new SyncFunction( assertTrue(packedFunc.size() >= 3);
return new SyncFunction<>(
(String) packedFunc.remove(0), (String) packedFunc.remove(0),
(String) packedFunc.remove(0), (String) packedFunc.remove(0),
(String) packedFunc.remove(0), (String) packedFunc.remove(0),
......
package de.kuschku.libquassel.functions.types; package de.kuschku.libquassel.functions.types;
import android.support.annotation.NonNull;
public class HandshakeFunction { public class HandshakeFunction {
public final Object data; public final Object data;
...@@ -7,6 +9,7 @@ public class HandshakeFunction { ...@@ -7,6 +9,7 @@ public class HandshakeFunction {
this.data = data; this.data = data;
} }
@NonNull
@Override @Override
public String toString() { public String toString() {
return "HandshakeFunction{" + return "HandshakeFunction{" +
......
package de.kuschku.libquassel.functions.types; package de.kuschku.libquassel.functions.types;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
public class InitRequestFunction { public class InitRequestFunction {
@NonNull
public final String className; public final String className;
@Nullable
public final String objectName; public final String objectName;
public InitRequestFunction(String className, String objectName) { public InitRequestFunction(@NonNull String className, @Nullable String objectName) {
this.className = className; this.className = className;
this.objectName = objectName; this.objectName = objectName;
} }
@NonNull
@Override @Override
public String toString() { public String toString() {
return "InitRequestFunction{" + return "InitRequestFunction{" +
......
package de.kuschku.libquassel.functions.types; package de.kuschku.libquassel.functions.types;
import android.support.annotation.NonNull;
import java.util.Map; import java.util.Map;
import de.kuschku.libquassel.primitives.types.QVariant; import de.kuschku.libquassel.primitives.types.QVariant;
public interface PackedFunction extends SerializedFunction<Map<String, QVariant>> { public interface PackedFunction extends SerializedFunction<Map<String, QVariant>> {
@NonNull
Map<String, QVariant> getData(); Map<String, QVariant> getData();
} }
package de.kuschku.libquassel.functions.types; package de.kuschku.libquassel.functions.types;
import android.support.annotation.NonNull;
import java.util.Map; import java.util.Map;
import de.kuschku.libquassel.primitives.types.QVariant; import de.kuschku.libquassel.primitives.types.QVariant;
public class PackedInitDataFunction extends InitDataFunction implements PackedFunction { public class PackedInitDataFunction extends InitDataFunction implements PackedFunction {
@NonNull
private final Map<String, QVariant> data; private final Map<String, QVariant> data;
public PackedInitDataFunction(String className, String objectName, Map<String, QVariant> data) { public PackedInitDataFunction(@NonNull String className, @NonNull String objectName, @NonNull Map<String, QVariant> data) {
this.className = className; this.className = className;
this.objectName = objectName; this.objectName = objectName;
this.data = data; this.data = data;
} }
@NonNull
@Override @Override
public Map<String, QVariant> getData() { public Map<String, QVariant> getData() {
return data; return data;
} }
@NonNull
@Override @Override
public String toString() { public String toString() {
return "PackedInitDataFunction{" + return "PackedInitDataFunction{" +
......
package de.kuschku.libquassel.functions.types; package de.kuschku.libquassel.functions.types;
import android.support.annotation.NonNull;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
public class RpcCallFunction { public class RpcCallFunction {
@NonNull
public final String functionName; public final String functionName;
@NonNull
public final List<Object> params; public final List<Object> params;
public RpcCallFunction(String functionName, List<Object> params) { public RpcCallFunction(@NonNull String functionName, @NonNull List<Object> params) {
this.functionName = functionName; this.functionName = functionName;
this.params = params; this.params = params;
} }
public RpcCallFunction(String functionName, Object... params) { public RpcCallFunction(@NonNull String functionName, @NonNull Object... params) {
this.functionName = functionName; this.functionName = functionName;
this.params = Arrays.asList(params); this.params = Arrays.asList(params);
} }
@NonNull
@Override @Override
public String toString() { public String toString() {
return "RpcCallFunction{" + return "RpcCallFunction{" +
......
package de.kuschku.libquassel.functions.types; package de.kuschku.libquassel.functions.types;
import android.support.annotation.NonNull;
public interface SerializedFunction<T> { public interface SerializedFunction<T> {
@NonNull
T getData(); T getData();
} }
package de.kuschku.libquassel.functions.types; package de.kuschku.libquassel.functions.types;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import java.util.List; import java.util.List;
public class SyncFunction<T> { public class SyncFunction<T> {
@NonNull
public final String className; public final String className;
@Nullable
public final String objectName; public final String objectName;
@NonNull
public final String methodName; public final String methodName;
@NonNull
public final List<T> params; public final List<T> params;
public SyncFunction(String className, String objectName, String methodName, List<T> params) { public SyncFunction(@NonNull String className, @Nullable String objectName, @NonNull String methodName, @NonNull List<T> params) {
this.className = className; this.className = className;
this.objectName = objectName; this.objectName = objectName;
this.methodName = methodName; this.methodName = methodName;
this.params = params; this.params = params;
} }
@NonNull
@Override @Override
public String toString() { public String toString() {
return "SyncFunction{" + return "SyncFunction{" +
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment