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

22 lines
550 B
Java

package org.warp.jcwdb;
import java.io.IOException;
public class EntryReference<T> {
private final JCWDatabase db;
private final long entryId;
private final DBTypeParser<T> parser;
public T value;
public EntryReference(JCWDatabase db, long entryId, DBTypeParser<T> parser) throws IOException {
this.db = db;
this.entryId = entryId;
this.parser = parser;
this.value = db.getIndexManager().get(entryId, parser.getReader());
}
public void save() throws IOException {
db.getIndexManager().set(entryId, parser.getWriter(value));
}
}