]> gitweb.fperrin.net Git - Dictionary.git/blob - src/com/hughes/android/dictionary/engine/TokenRow.java
7b7736c46bc899289db2c0c36b45c71bc49e54a4
[Dictionary.git] / src / com / hughes / android / dictionary / engine / TokenRow.java
1 // Copyright 2011 Google Inc. All Rights Reserved.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 //     http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14
15 package com.hughes.android.dictionary.engine;
16
17 import java.io.IOException;
18 import java.io.PrintStream;
19 import java.io.RandomAccessFile;
20 import java.util.List;
21
22 import com.ibm.icu.text.Transliterator;
23
24 public class TokenRow extends RowBase {
25   
26   public final boolean hasMainEntry;
27   
28   TokenRow(final RandomAccessFile raf, final int thisRowIndex, final Index index, final boolean hasMainEntry) throws IOException {
29     super(raf, thisRowIndex, index);
30     this.hasMainEntry = hasMainEntry;
31   }
32
33   TokenRow(final int referenceIndex, final int thisRowIndex, final Index index, final boolean hasMainEntry) {
34     super(referenceIndex, thisRowIndex, index);
35     this.hasMainEntry = hasMainEntry;
36   }
37   
38   public String toString() {
39     return getToken() + "@" + referenceIndex;
40   }
41
42   @Override
43   public TokenRow getTokenRow(final boolean search) {
44     return this;
45   }
46
47   @Override
48   public void setTokenRow(TokenRow tokenRow) {
49     throw new RuntimeException("Shouldn't be setting TokenRow's TokenRow!");
50   }
51   
52   public String getToken() {
53     return index.sortedIndexEntries.get(referenceIndex).token;
54   }
55
56   @Override
57   public void print(final PrintStream out) {
58     final String surrounder = hasMainEntry ? "***" : "===";
59     out.println(surrounder + getToken() + surrounder);
60   }
61
62   @Override
63   public String getRawText(boolean compact) {
64     return getToken();
65   }
66
67   @Override
68   public RowMatchType matches(List<String> searchTokens, Transliterator normalizer, boolean swapPairEntries) {
69     return RowMatchType.NO_MATCH;
70   }
71
72
73 }