strangedb/src/main/java/it/cavallium/strangedb/java/objects/lists/ObjectStrangeDbList.java

39 lines
980 B
Java
Raw Normal View History

2019-03-07 16:20:34 +01:00
package it.cavallium.strangedb.java.objects.lists;
2019-02-01 00:04:51 +01:00
2019-02-05 17:56:28 +01:00
import it.unimi.dsi.fastutil.longs.LongArrayList;
2019-03-07 16:20:34 +01:00
import it.cavallium.strangedb.java.database.IDatabaseTools;
import it.cavallium.strangedb.java.annotations.DbDataType;
import it.cavallium.strangedb.java.annotations.DbField;
2019-02-01 00:04:51 +01:00
import java.io.IOException;
2019-03-07 19:02:10 +01:00
public class ObjectStrangeDbList<T> extends StrangeDbList<T> {
2019-02-01 00:04:51 +01:00
2019-03-07 11:41:45 +01:00
@DbField(id = 0, type = DbDataType.REFERENCES_LIST)
2019-02-05 17:56:28 +01:00
private LongArrayList indices;
@Override
protected LongArrayList getIndices() {
return indices;
}
2019-04-18 16:08:22 +02:00
public ObjectStrangeDbList() {
2019-02-01 00:04:51 +01:00
super();
}
2019-03-07 19:02:10 +01:00
public ObjectStrangeDbList(IDatabaseTools databaseTools) throws IOException {
2019-03-02 17:47:24 +01:00
super(databaseTools);
2019-02-05 17:56:28 +01:00
indices = new LongArrayList();
}
2019-02-01 00:04:51 +01:00
@Override
protected T loadItem(long uid) throws IOException {
2019-03-02 17:47:24 +01:00
return databaseTools.getObjectsIO().loadObject(uid);
2019-02-01 00:04:51 +01:00
}
@Override
protected void writeItemToDisk(long uid, T item) throws IOException {
2019-03-02 17:47:24 +01:00
databaseTools.getObjectsIO().setObject(uid, item);
2019-02-01 00:04:51 +01:00
}
}