1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.hadoop.hbase.regionserver;
20
21 import java.io.IOException;
22 import java.util.SortedSet;
23
24 import org.apache.commons.lang.NotImplementedException;
25 import org.apache.hadoop.hbase.classification.InterfaceAudience;
26 import org.apache.hadoop.hbase.Cell;
27 import org.apache.hadoop.hbase.client.Scan;
28
29
30
31
32
33 @InterfaceAudience.Private
34 public abstract class NonLazyKeyValueScanner implements KeyValueScanner {
35
36 @Override
37 public boolean requestSeek(Cell kv, boolean forward, boolean useBloom)
38 throws IOException {
39 return doRealSeek(this, kv, forward);
40 }
41
42 @Override
43 public boolean realSeekDone() {
44 return true;
45 }
46
47 @Override
48 public void enforceSeek() throws IOException {
49 throw new NotImplementedException("enforceSeek must not be called on a " +
50 "non-lazy scanner");
51 }
52
53 public static boolean doRealSeek(KeyValueScanner scanner,
54 Cell kv, boolean forward) throws IOException {
55 return forward ? scanner.reseek(kv) : scanner.seek(kv);
56 }
57
58 @Override
59 public boolean shouldUseScanner(Scan scan, SortedSet<byte[]> columns,
60 long oldestUnexpiredTS) {
61
62 return true;
63 }
64
65 @Override
66 public boolean isFileScanner() {
67
68 return false;
69 }
70 @Override
71 public Cell getNextIndexedKey() {
72 return null;
73 }
74 }