X-Git-Url: http://gitweb.fperrin.net/?a=blobdiff_plain;f=src%2Fcom%2Fhughes%2Fandroid%2Fdictionary%2FDictionaryInfo.java;h=0df04c43256d74a14b1c325a593598d6dcc7d75b;hb=83d9dc7cd871082a82c2dd0dbb7a0ceabd7c83a0;hp=efc0bfdab6b8335757aac92a0f87458f38e61598;hpb=3d72bc11d5ef9d58e62b5beb4e33a437da28d4b8;p=Dictionary.git diff --git a/src/com/hughes/android/dictionary/DictionaryInfo.java b/src/com/hughes/android/dictionary/DictionaryInfo.java index efc0bfd..0df04c4 100644 --- a/src/com/hughes/android/dictionary/DictionaryInfo.java +++ b/src/com/hughes/android/dictionary/DictionaryInfo.java @@ -16,7 +16,6 @@ package com.hughes.android.dictionary; import java.io.Serializable; import java.util.ArrayList; -import java.util.List; public class DictionaryInfo implements Serializable { @@ -25,10 +24,10 @@ public class DictionaryInfo implements Serializable { public static final class IndexInfo implements Serializable { private static final long serialVersionUID = 6524751236198309438L; - public static final int NUM_CSV_FIELDS = 3; + static final int NUM_CSV_FIELDS = 3; public final String shortName; // Often LangISO. - public final int allTokenCount; + final int allTokenCount; public final int mainTokenCount; public IndexInfo(String shortName, int allTokenCount, int mainTokenCount) { @@ -37,11 +36,10 @@ public class DictionaryInfo implements Serializable { this.mainTokenCount = mainTokenCount; } - public StringBuilder append(StringBuilder result) { + void append(StringBuilder result) { result.append(shortName); result.append("\t").append(allTokenCount); result.append("\t").append(mainTokenCount); - return result; } public IndexInfo(final String[] fields, int i) { @@ -57,13 +55,17 @@ public class DictionaryInfo implements Serializable { public long uncompressedBytes; public long zipBytes; public long creationMillis; - public final List indexInfos = new ArrayList(); + public final ArrayList indexInfos = new ArrayList<>(); public String dictInfo; public DictionaryInfo() { // Blank object. } + public boolean isValid() { + return indexInfos != null && !indexInfos.isEmpty(); + } + public StringBuilder append(final StringBuilder result) { result.append(uncompressedFilename); result.append("\t").append(downloadUrl); @@ -74,7 +76,7 @@ public class DictionaryInfo implements Serializable { for (final IndexInfo indexInfo : indexInfos) { indexInfo.append(result.append("\t")); } - result.append("\t").append(dictInfo.replaceAll("\n", "\\\\n")); + result.append("\t").append(dictInfo.replace("\n", "\\\\n")); return result; } @@ -87,11 +89,12 @@ public class DictionaryInfo implements Serializable { uncompressedBytes = Long.parseLong(fields[i++]); zipBytes = Long.parseLong(fields[i++]); final int size = Integer.parseInt(fields[i++]); + indexInfos.ensureCapacity(size); for (int j = 0; j < size; ++j) { indexInfos.add(new IndexInfo(fields, i)); i += IndexInfo.NUM_CSV_FIELDS; } - dictInfo = fields[i++].replaceAll("\\\\n", "\n"); + dictInfo = fields[i++].replace("\\\\n", "\n"); } @Override