]> gitweb.fperrin.net Git - Dictionary.git/blob - src/com/hughes/android/dictionary/Entry.java
go
[Dictionary.git] / src / com / hughes / android / dictionary / Entry.java
1 package com.hughes.android.dictionary;\r
2 \r
3 import java.util.regex.Pattern;\r
4 \r
5 public final class Entry {\r
6 \r
7   static final byte LANG1 = 0;\r
8   static final byte LANG2 = 1;\r
9 \r
10   static final Pattern lineSplitPattern = Pattern.compile("\\s+::\\s+");\r
11 \r
12   String lang1 = "";\r
13   String lang2 = "";\r
14 \r
15   boolean parseFromLine(final String line) {\r
16     final String[] parts = lineSplitPattern.split(line);\r
17     if (parts.length != 2) {\r
18       System.err.println("Entry:" + "Invalid line: " + line);\r
19       return false;\r
20     }\r
21     lang1 = parts[0];\r
22     lang2 = parts[1];\r
23     return true;\r
24   }\r
25 \r
26   String getAllText(final byte lang) {\r
27     if (lang == LANG1) {\r
28       return lang1;\r
29     }\r
30     assert lang == LANG2;\r
31     return lang2;\r
32   }\r
33   \r
34   String getIndexableText(final byte lang) {\r
35     String text = getAllText(lang);\r
36     text = text.replaceAll("[\"\\.!?,]", "");\r
37     text = text.replaceAll("\\{[^}]+\\}", "");\r
38     return text;\r
39   }\r
40 \r
41   public String normalizeToken(final String token, final byte lang) {\r
42     return token.toLowerCase().replaceAll("ß", "ss").replaceAll("ä", "ae")\r
43         .replaceAll("ö", "oe").replaceAll("ü", "ue")\r
44         .replaceAll("[^A-Za-z]", "");\r
45   }\r
46 \r
47 }\r