X-Git-Url: http://gitweb.fperrin.net/?a=blobdiff_plain;f=src%2Fcom%2Fhughes%2Fandroid%2Fdictionary%2Fengine%2FEntrySource.java;h=635724f05075c71f912a6d6f8fdf3c740037094a;hb=8674b09eae371994e01e0af541b546fced86c366;hp=bded4d5aa04a1d956f9de1993af5badcbd467cda;hpb=319caebfa9fa020c44b61b7014cc8570bc14a2fa;p=Dictionary.git diff --git a/src/com/hughes/android/dictionary/engine/EntrySource.java b/src/com/hughes/android/dictionary/engine/EntrySource.java index bded4d5..635724f 100644 --- a/src/com/hughes/android/dictionary/engine/EntrySource.java +++ b/src/com/hughes/android/dictionary/engine/EntrySource.java @@ -1,46 +1,73 @@ +// Copyright 2011 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package com.hughes.android.dictionary.engine; +import java.io.DataInput; +import java.io.DataOutput; import java.io.IOException; -import java.io.RandomAccessFile; -import java.io.Serializable; import com.hughes.util.IndexedObject; import com.hughes.util.raf.RAFListSerializer; -public class EntrySource extends IndexedObject implements Serializable { - - private static final long serialVersionUID = -1323165134846120269L; - - final String name; - final int pairEntryStart; - - public EntrySource(final int index, final String name, final int pairEntryStart) { - super(index); - this.name = name; - this.pairEntryStart = pairEntryStart; - } - - @Override - public String toString() { - return name; - } - - - public static RAFListSerializer SERIALIZER = new RAFListSerializer() { +public class EntrySource extends IndexedObject { + + final String name; + @SuppressWarnings("CanBeFinal") + int numEntries; + + @SuppressWarnings("WeakerAccess") + public EntrySource(final int index, final String name, int numEntries) { + super(index); + this.name = name; + this.numEntries = numEntries; + } @Override - public EntrySource read(RandomAccessFile raf, int readIndex) + public String toString() { + return name; + } + + public int getNumEntries() { + return numEntries; + } + + public String getName() { + return name; + } + + public static final class Serializer implements RAFListSerializer { + + final Dictionary dictionary; + + Serializer(Dictionary dictionary) { + this.dictionary = dictionary; + } + + @Override + public EntrySource read(DataInput raf, int readIndex) throws IOException { - final String name = raf.readUTF(); - final int pairEntryStart = raf.readInt(); - return new EntrySource(readIndex, name, pairEntryStart); + final String name = raf.readUTF(); + final int numEntries = dictionary.dictFileVersion >= 3 ? raf.readInt() : 0; + return new EntrySource(readIndex, name, numEntries); + } + + @Override + public void write(DataOutput raf, EntrySource t) throws IOException { + raf.writeUTF(t.name); + raf.writeInt(t.numEntries); + } } - @Override - public void write(RandomAccessFile raf, EntrySource t) throws IOException { - raf.writeUTF(t.name); - raf.writeInt(t.pairEntryStart); - } - }; - }