1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.hadoop.hbase.types;
19
20 import org.apache.hadoop.hbase.classification.InterfaceAudience;
21 import org.apache.hadoop.hbase.classification.InterfaceStability;
22 import org.apache.hadoop.hbase.util.Order;
23 import org.apache.hadoop.hbase.util.OrderedBytes;
24 import org.apache.hadoop.hbase.util.PositionedByteRange;
25
26
27
28
29
30
31 @InterfaceAudience.Public
32 @InterfaceStability.Evolving
33 public class OrderedBlobVar extends OrderedBytesBase<byte[]> {
34
35 public static final OrderedBlobVar ASCENDING = new OrderedBlobVar(Order.ASCENDING);
36 public static final OrderedBlobVar DESCENDING = new OrderedBlobVar(Order.DESCENDING);
37
38 protected OrderedBlobVar(Order order) { super(order); }
39
40 @Override
41 public int encodedLength(byte[] val) {
42 return null == val ? 1 : OrderedBytes.blobVarEncodedLength(val.length);
43 }
44
45 @Override
46 public Class<byte[]> encodedClass() { return byte[].class; }
47
48 @Override
49 public byte[] decode(PositionedByteRange src) {
50 return OrderedBytes.decodeBlobVar(src);
51 }
52
53 @Override
54 public int encode(PositionedByteRange dst, byte[] val) {
55 return OrderedBytes.encodeBlobVar(dst, val, order);
56 }
57
58
59
60
61 public int encode(PositionedByteRange dst, byte[] val, int voff, int vlen) {
62 return OrderedBytes.encodeBlobVar(dst, val, voff, vlen, order);
63 }
64 }