2019-03-07 11:41:45 +01:00
|
|
|
package it.cavallium.strangedb.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 11:41:45 +01:00
|
|
|
import it.cavallium.strangedb.database.IDatabaseTools;
|
|
|
|
import it.cavallium.strangedb.annotations.DbDataType;
|
|
|
|
import it.cavallium.strangedb.annotations.DbField;
|
2019-02-01 00:04:51 +01:00
|
|
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
2019-03-07 11:41:45 +01:00
|
|
|
public class ObjectStrandeDbList<T> extends StrandeDbList<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-03-07 11:41:45 +01:00
|
|
|
public ObjectStrandeDbList() {
|
2019-02-01 00:04:51 +01:00
|
|
|
super();
|
|
|
|
}
|
|
|
|
|
2019-03-07 11:41:45 +01:00
|
|
|
public ObjectStrandeDbList(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
|
|
|
}
|
|
|
|
}
|