// persisted
final int dictFileVersion;
- final String dictInfo;
- final List<PairEntry> pairEntries;
- final List<TextEntry> textEntries;
- final List<EntrySource> sources;
- final List<Index> indices;
+ final long creationMillis;
+ public final String dictInfo;
+ public final List<PairEntry> pairEntries;
+ public final List<TextEntry> textEntries;
+ public final List<EntrySource> sources;
+ public final List<Index> indices;
public Dictionary(final String dictInfo) {
this.dictFileVersion = 0;
+ this.creationMillis = System.currentTimeMillis();
this.dictInfo = dictInfo;
pairEntries = new ArrayList<PairEntry>();
textEntries = new ArrayList<TextEntry>();
if (dictFileVersion != 0) {
throw new IOException("Invalid dictionary version: " + dictFileVersion);
}
+ creationMillis = raf.readLong();
dictInfo = raf.readUTF();
sources = CachingList.createFullyCached(RAFList.create(raf, EntrySource.SERIALIZER, raf.getFilePointer()));
pairEntries = CachingList.create(RAFList.create(raf, PairEntry.SERIALIZER, raf.getFilePointer()), CACHE_SIZE);
@Override
public void write(RandomAccessFile raf) throws IOException {
raf.writeInt(dictFileVersion);
+ raf.writeLong(creationMillis);
raf.writeUTF(dictInfo);
RAFList.write(raf, sources, EntrySource.SERIALIZER);
RAFList.write(raf, pairEntries, PairEntry.SERIALIZER);
public void print(final PrintStream out) {
out.println("dictInfo=" + dictInfo);
for (final Index index : indices) {
+ out.printf("Index: %s %s\n", index.shortName, index.longName);
index.print(out);
out.println();
}