1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.hadoop.hbase.regionserver;
21
22 import java.io.IOException;
23 import java.util.SortedSet;
24
25 import org.apache.commons.lang.NotImplementedException;
26 import org.apache.hadoop.hbase.KeyValue;
27 import org.apache.hadoop.hbase.client.Scan;
28
29
30
31
32
33 public abstract class NonLazyKeyValueScanner implements KeyValueScanner {
34
35 @Override
36 public boolean requestSeek(KeyValue 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 KeyValue kv, boolean forward) throws IOException {
54 return forward ? scanner.reseek(kv) : scanner.seek(kv);
55 }
56
57 @Override
58 public boolean shouldUseScanner(Scan scan, SortedSet<byte[]> columns,
59 long oldestUnexpiredTS) {
60
61 return true;
62 }
63
64 @Override
65 public boolean isFileScanner() {
66
67 return false;
68 }
69 }