1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.accumulo.core.util;
18
19 import java.nio.ByteBuffer;
20
21 import org.apache.accumulo.core.Constants;
22 import org.apache.hadoop.io.Text;
23
24 public final class TextUtil {
25 public static byte[] getBytes(Text text) {
26 byte[] bytes = text.getBytes();
27 if (bytes.length != text.getLength()) {
28 bytes = new byte[text.getLength()];
29 System.arraycopy(text.getBytes(), 0, bytes, 0, bytes.length);
30 }
31 return bytes;
32 }
33
34 public static ByteBuffer getByteBuffer(Text text) {
35 if (text == null)
36 return null;
37 byte[] bytes = text.getBytes();
38 return ByteBuffer.wrap(bytes, 0, text.getLength());
39 }
40
41 public static Text truncate(Text text, int maxLen) {
42 if (text.getLength() > maxLen) {
43 Text newText = new Text();
44 newText.append(text.getBytes(), 0, maxLen);
45 String suffix = "... TRUNCATED";
46 newText.append(suffix.getBytes(), 0, suffix.length());
47 return newText;
48 }
49
50 return text;
51 }
52
53 public static Text truncate(Text row) {
54 return truncate(row, Constants.MAX_DATA_TO_PRINT);
55 }
56 }