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
23 import org.apache.commons.lang.NotImplementedException;
24 import org.apache.hadoop.hbase.classification.InterfaceAudience;
25 import org.apache.hadoop.hbase.Cell;
26 import org.apache.hadoop.hbase.client.Scan;
27
28
29
30
31
32 @InterfaceAudience.Private
33 public abstract class NonLazyKeyValueScanner implements KeyValueScanner {
34
35 @Override
36 public boolean requestSeek(Cell kv, boolean forward, boolean useBloom)
37 throws IOException {
38 return doRealSeek(this, kv, forward);
39 }
40
41 @Override
42 public boolean realSeekDone() {
43 return true;
44 }
45
46 @Override
47 public void enforceSeek() throws IOException {
48 throw new NotImplementedException("enforceSeek must not be called on a " +
49 "non-lazy scanner");
50 }
51
52 public static boolean doRealSeek(KeyValueScanner scanner,
53 Cell kv, boolean forward) throws IOException {
54 return forward ? scanner.reseek(kv) : scanner.seek(kv);
55 }
56
57 @Override
58 public boolean shouldUseScanner(Scan scan, Store store, long oldestUnexpiredTS) {
59
60 return true;
61 }
62
63 @Override
64 public boolean isFileScanner() {
65
66 return false;
67 }
68 @Override
69 public Cell getNextIndexedKey() {
70 return null;
71 }
72 }