X-Git-Url: http://gitweb.fperrin.net/?a=blobdiff_plain;f=src%2Fcom%2Fhughes%2Fandroid%2Fdictionary%2Fengine%2FAbstractEntry.java;h=77d26db9298168bf09b59e1efc7eee5d6dbd6972;hb=83d9dc7cd871082a82c2dd0dbb7a0ceabd7c83a0;hp=931f9a1bf3e4a53ae38384e773caf9072daa1cb5;hpb=3d72bc11d5ef9d58e62b5beb4e33a437da28d4b8;p=Dictionary.git diff --git a/src/com/hughes/android/dictionary/engine/AbstractEntry.java b/src/com/hughes/android/dictionary/engine/AbstractEntry.java index 931f9a1..77d26db 100644 --- a/src/com/hughes/android/dictionary/engine/AbstractEntry.java +++ b/src/com/hughes/android/dictionary/engine/AbstractEntry.java @@ -15,32 +15,34 @@ package com.hughes.android.dictionary.engine; import com.hughes.util.IndexedObject; +import com.hughes.util.StringUtil; +import java.io.DataInput; +import java.io.DataOutput; import java.io.IOException; -import java.io.RandomAccessFile; public abstract class AbstractEntry extends IndexedObject { public final EntrySource entrySource; - protected AbstractEntry(EntrySource entrySource) { + AbstractEntry(EntrySource entrySource) { super(-1); this.entrySource = entrySource; } - public AbstractEntry(Dictionary dictionary, RandomAccessFile raf, final int index) - throws IOException { + AbstractEntry(Dictionary dictionary, DataInput raf, final int index) + throws IOException { super(index); if (dictionary.dictFileVersion >= 1) { - final int entrySouceIdx = raf.readShort(); - this.entrySource = dictionary.sources.get(entrySouceIdx); + final int entrySourceIdx = dictionary.dictFileVersion >= 7 ? StringUtil.readVarInt(raf) : raf.readShort(); + this.entrySource = dictionary.sources.get(entrySourceIdx); } else { this.entrySource = null; } } - public void write(RandomAccessFile raf) throws IOException { - raf.writeShort(entrySource.index()); + void write(DataOutput raf) throws IOException { + StringUtil.writeVarInt(raf, entrySource.index()); } public abstract void addToDictionary(final Dictionary dictionary);