You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.1 KiB
Java
59 lines
1.1 KiB
Java
6 years ago
|
package de.banananetwork.serialize;
|
||
|
|
||
|
public interface SerializedData implements Serializable {
|
||
|
|
||
|
@Override
|
||
|
default SerializedData serialize() {
|
||
|
return this;
|
||
|
}
|
||
|
|
||
|
void put(String key, int value);
|
||
|
|
||
|
void put(String key, String value);
|
||
|
|
||
|
default void put(String key, Serializable value) {
|
||
|
put(key, value.serialize());
|
||
|
}
|
||
|
|
||
|
void put(String key, SerializedData value);
|
||
|
|
||
|
void put(String key, int[] values);
|
||
|
|
||
|
void put(String key, String[] values);
|
||
|
|
||
|
default put(String key, Serializable[] values) {
|
||
|
put(key, Arrays.stream(values).map(Serializable::serialize).toArray(SerializedData[]::new));
|
||
|
}
|
||
|
|
||
|
void put(String key, SerializedData[] values);
|
||
|
|
||
|
boolean exists(String key);
|
||
|
|
||
|
Type getType(String key);
|
||
|
|
||
|
boolean isType(String key, Type type);
|
||
|
|
||
|
String[] getKeys();
|
||
|
|
||
|
int getInt(String key);
|
||
|
|
||
|
String getString(String key);
|
||
|
|
||
|
SerializedData getData(String key);
|
||
|
|
||
|
int[] getIntArray(String key);
|
||
|
|
||
|
String[] getStringArray(String key);
|
||
|
|
||
|
SerializedData[] getDataArray(String key);
|
||
|
|
||
|
public enum Type {
|
||
|
INT,
|
||
|
INT_ARRAY,
|
||
|
STRING,
|
||
|
STRING_ARRAY,
|
||
|
SERIALIZED_DATA,
|
||
|
SERIALIZED_DATA_ARRAY;
|
||
|
}
|
||
|
|
||
|
}
|