strangedb/src/main/java/it/cavallium/strangedb/java/objects/EnhancedObjectUpgrader.java

48 lines
1.4 KiB
Java

package it.cavallium.strangedb.java.objects;
import it.cavallium.strangedb.java.annotations.DbDataType;
import it.cavallium.strangedb.java.annotations.DbPrimitiveType;
import java.io.IOException;
import java.util.function.Supplier;
public interface EnhancedObjectUpgrader {
<T> T getPrimitiveField(int id, DbPrimitiveType integer) throws IOException;
default int getPrimitiveBoolean(int id) throws IOException {
return getPrimitiveField(id, DbPrimitiveType.BOOLEAN);
}
default int getPrimitiveByte(int id) throws IOException {
return getPrimitiveField(id, DbPrimitiveType.BYTE);
}
default int getPrimitiveShort(int id) throws IOException {
return getPrimitiveField(id, DbPrimitiveType.SHORT);
}
default int getPrimitiveChar(int id) throws IOException {
return getPrimitiveField(id, DbPrimitiveType.CHAR);
}
default int getPrimitiveInt(int id) throws IOException {
return getPrimitiveField(id, DbPrimitiveType.INTEGER);
}
default long getPrimitiveLong(int id) throws IOException {
return getPrimitiveField(id, DbPrimitiveType.LONG);
}
default float getPrimitiveFloat(int id) throws IOException {
return getPrimitiveField(id, DbPrimitiveType.FLOAT);
}
default double getPrimitiveDouble(int id) throws IOException {
return getPrimitiveField(id, DbPrimitiveType.DOUBLE);
}
Object getField(int id, DbDataType type) throws IOException;
Object getMethod(int id, DbDataType type) throws IOException;
}