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 OrderedInt16 extends OrderedBytesBase<Short> {
34
35 public static final OrderedInt16 ASCENDING = new OrderedInt16(Order.ASCENDING);
36 public static final OrderedInt16 DESCENDING = new OrderedInt16(Order.DESCENDING);
37
38 protected OrderedInt16(Order order) { super(order); }
39
40 @Override
41 public boolean isNullable() { return false; }
42
43 @Override
44 public int encodedLength(Short val) { return 3; }
45
46 @Override
47 public Class<Short> encodedClass() { return Short.class; }
48
49 @Override
50 public Short decode(PositionedByteRange src) {
51 return OrderedBytes.decodeInt16(src);
52 }
53
54 @Override
55 public int encode(PositionedByteRange dst, Short val) {
56 if (null == val) throw new IllegalArgumentException("Null values not supported.");
57 return OrderedBytes.encodeInt16(dst, val, order);
58 }
59
60
61
62
63 public short decodeShort(PositionedByteRange src) {
64 return OrderedBytes.decodeInt16(src);
65 }
66
67
68
69
70 public int encodeShort(PositionedByteRange dst, short val) {
71 return OrderedBytes.encodeInt16(dst, val, order);
72 }
73 }