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 @InterfaceAudience.Public
31 @InterfaceStability.Evolving
32 public class OrderedString extends OrderedBytesBase<String> {
33
34 public static final OrderedString ASCENDING = new OrderedString(Order.ASCENDING);
35 public static final OrderedString DESCENDING = new OrderedString(Order.DESCENDING);
36
37 protected OrderedString(Order order) { super(order); }
38
39 @Override
40 public int encodedLength(String val) {
41
42 return null == val ? 1 : val.getBytes(OrderedBytes.UTF8).length + 2;
43 }
44
45 @Override
46 public Class<String> encodedClass() { return String.class; }
47
48 @Override
49 public String decode(PositionedByteRange src) {
50 return OrderedBytes.decodeString(src);
51 }
52
53 @Override
54 public int encode(PositionedByteRange dst, String val) {
55 return OrderedBytes.encodeString(dst, val, order);
56 }
57 }