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.
dsaCalc/src/de/banananetwork/serialize/SerializedData.java

59 lines
1.1 KiB
Java

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;
}
}