]> gitweb.fperrin.net Git - Dictionary.git/blobdiff - src/com/hughes/android/dictionary/DictionaryInfo.java
Some lint fixes.
[Dictionary.git] / src / com / hughes / android / dictionary / DictionaryInfo.java
index 26c818a70cd4c4c2412b7a906ed041cf49bec016..4a135202322014530939e5d3e94822b4334eb931 100644 (file)
@@ -16,86 +16,90 @@ package com.hughes.android.dictionary;
 
 import java.io.Serializable;
 import java.util.ArrayList;
-import java.util.List;
 
 public class DictionaryInfo implements Serializable {
-  
-  private static final long serialVersionUID = -6850863377577700388L;
-  
-  public static final class IndexInfo {
-    public IndexInfo(String langIso, int allTokenCount, int mainTokenCount) {
-      this.langIso = langIso;
-      this.allTokenCount = allTokenCount;
-      this.mainTokenCount = mainTokenCount;
-    }
-    public final String langIso;
-    public final int allTokenCount;
-    public final int mainTokenCount;
-    
-    public static final int SIZE = 3;
-    
-    public StringBuilder append(StringBuilder result) {
-      result.append(langIso);
-      result.append("\t").append(allTokenCount);
-      result.append("\t").append(mainTokenCount);
-      return result;
-    }
 
-    public IndexInfo(final String[] fields, int i) {
-      langIso = fields[i++];
-      allTokenCount = Integer.parseInt(fields[i++]);
-      mainTokenCount = Integer.parseInt(fields[i++]);
+    private static final long serialVersionUID = -6850863377577700388L;
+
+    public static final class IndexInfo implements Serializable {
+        private static final long serialVersionUID = 6524751236198309438L;
+
+        static final int NUM_CSV_FIELDS = 3;
+
+        public final String shortName; // Often LangISO.
+        final int allTokenCount;
+        public final int mainTokenCount;
+
+        public IndexInfo(String shortName, int allTokenCount, int mainTokenCount) {
+            this.shortName = shortName;
+            this.allTokenCount = allTokenCount;
+            this.mainTokenCount = mainTokenCount;
+        }
+
+        void append(StringBuilder result) {
+            result.append(shortName);
+            result.append("\t").append(allTokenCount);
+            result.append("\t").append(mainTokenCount);
+        }
+
+        public IndexInfo(final String[] fields, int i) {
+            shortName = fields[i++];
+            allTokenCount = Integer.parseInt(fields[i++]);
+            mainTokenCount = Integer.parseInt(fields[i++]);
+        }
     }
 
-  }
-  
-  // Stuff populated from the text file.
-  public String uncompressedFilename;
-  public String downloadUrl;
-  public long uncompressedSize;
-  public long creationMillis;
-  public final List<IndexInfo> indexInfos = new ArrayList<DictionaryInfo.IndexInfo>();
-  public String dictInfo;
-
-  String name;  // Determined at runtime based on locale on device--user editable?
-  String localFile;  // Determined based on device's Environment.
-  
-  public StringBuilder append(final StringBuilder result) {
-    result.append(uncompressedFilename);
-    result.append("\t").append(downloadUrl);
-    result.append("\t").append(creationMillis);
-    result.append("\t").append(uncompressedSize);
-    result.append("\t").append(indexInfos.size());
-    for (final IndexInfo indexInfo : indexInfos) {
-      indexInfo.append(result.append("\t"));
+    // Stuff populated from the text file.
+    public String uncompressedFilename; // used as a key throughout the program.
+    public String downloadUrl;
+    public long uncompressedBytes;
+    public long zipBytes;
+    public long creationMillis;
+    public final ArrayList<IndexInfo> indexInfos = new ArrayList<>();
+    public String dictInfo;
+
+    public DictionaryInfo() {
+        // Blank object.
     }
-    result.append("\t").append(dictInfo.replaceAll("\n", "\\\\n"));
-    return result;
-  }
-
-  public DictionaryInfo(final String line) {
-    final String[] fields = line.split("\t");
-    int i = 0;
-    uncompressedFilename = fields[i++];
-    downloadUrl = fields[i++];
-    creationMillis = Long.parseLong(fields[i++]);
-    uncompressedSize = Long.parseLong(fields[i++]);
-    final int size = Integer.parseInt(fields[i++]);
-    for (int j = 0; j < size; ++j) {
-      indexInfos.add(new IndexInfo(fields, i));
-      i += IndexInfo.SIZE;
+
+    public boolean isValid() {
+        return !indexInfos.isEmpty();
     }
-    dictInfo = fields[i++].replaceAll("\\n", "\n");
-  }
 
-  public DictionaryInfo() {
-    // Blank object.
-  }
+    public StringBuilder append(final StringBuilder result) {
+        result.append(uncompressedFilename);
+        result.append("\t").append(downloadUrl);
+        result.append("\t").append(creationMillis);
+        result.append("\t").append(uncompressedBytes);
+        result.append("\t").append(zipBytes);
+        result.append("\t").append(indexInfos.size());
+        for (final IndexInfo indexInfo : indexInfos) {
+            indexInfo.append(result.append("\t"));
+        }
+        result.append("\t").append(dictInfo.replace("\n", "\\\\n"));
+        return result;
+    }
 
-  @Override
-  public String toString() {
-    return name;
-  }
+    public DictionaryInfo(final String line) {
+        final String[] fields = line.split("\t");
+        int i = 0;
+        uncompressedFilename = fields[i++];
+        downloadUrl = fields[i++];
+        creationMillis = Long.parseLong(fields[i++]);
+        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++].replace("\\\\n", "\n");
+    }
 
+    @Override
+    public String toString() {
+        return uncompressedFilename;
+    }
 
 }