strangedb/src/main/java/org/warp/jcwdb/EntryReference.java

22 lines
550 B
Java
Raw Normal View History

2018-11-19 15:16:12 +01:00
package org.warp.jcwdb;
2018-11-20 18:39:48 +01:00
import java.io.IOException;
public class EntryReference<T> {
2018-11-19 15:16:12 +01:00
private final JCWDatabase db;
private final long entryId;
2018-11-20 18:39:48 +01:00
private final DBTypeParser<T> parser;
2018-11-19 15:16:12 +01:00
public T value;
2018-11-20 18:39:48 +01:00
public EntryReference(JCWDatabase db, long entryId, DBTypeParser<T> parser) throws IOException {
2018-11-19 15:16:12 +01:00
this.db = db;
this.entryId = entryId;
this.parser = parser;
2018-11-20 18:39:48 +01:00
this.value = db.getIndexManager().get(entryId, parser.getReader());
2018-11-19 15:16:12 +01:00
}
2018-11-20 18:39:48 +01:00
public void save() throws IOException {
db.getIndexManager().set(entryId, parser.getWriter(value));
2018-11-19 15:16:12 +01:00
}
}