if (dictFileVersion >= 5) {
htmlEntries = CachingList.create(
RAFList.create(ch, new HtmlEntry.Serializer(this, ch), ch.position(), dictFileVersion, dictInfo + " html: "),
- CACHE_SIZE, true);
+ CACHE_SIZE, false);
} else {
htmlEntries = Collections.emptyList();
}
import com.hughes.util.StringUtil;
import com.hughes.util.raf.RAFListSerializer;
+import com.hughes.util.raf.RAFListSerializerSkippable;
import com.ibm.icu.text.Transliterator;
import java.io.DataInput;
return new Row(this.index, rowIndex, dictionaryIndex);
}
- static final class Serializer implements RAFListSerializer<HtmlEntry> {
+ static final class Serializer implements RAFListSerializerSkippable<HtmlEntry> {
final Dictionary dictionary;
final FileChannel ch;
return new HtmlEntry(dictionary, ch, raf, index);
}
+ @Override
+ public void skip(DataInput raf, final int index) throws IOException {
+ if (dictionary.dictFileVersion >= 7)
+ {
+ StringUtil.readVarInt(raf);
+ }
+ else
+ {
+ raf.skipBytes(2);
+ }
+ int l = raf.readUnsignedShort();
+ raf.skipBytes(l);
+ }
+
@Override
public void write(DataOutput raf, HtmlEntry t) throws IOException {
t.writeBase(raf);