1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.hadoop.hbase.client;
19
20 import java.util.ArrayList;
21 import java.util.List;
22 import java.util.Map;
23 import java.util.NavigableMap;
24 import java.util.UUID;
25
26 import org.apache.hadoop.hbase.classification.InterfaceAudience;
27 import org.apache.hadoop.hbase.classification.InterfaceStability;
28 import org.apache.hadoop.hbase.Cell;
29 import org.apache.hadoop.hbase.CellUtil;
30 import org.apache.hadoop.hbase.KeyValue;
31 import org.apache.hadoop.hbase.security.access.Permission;
32 import org.apache.hadoop.hbase.security.visibility.CellVisibility;
33 import org.apache.hadoop.hbase.util.Bytes;
34
35
36
37
38
39
40
41
42
43
44
45
46 @InterfaceAudience.Public
47 @InterfaceStability.Stable
48 public class Append extends Mutation {
49
50
51
52
53
54
55 public Append setReturnResults(boolean returnResults) {
56 super.setReturnResults(returnResults);
57 return this;
58 }
59
60
61
62
63
64 public boolean isReturnResults() {
65 return super.isReturnResults();
66 }
67
68
69
70
71
72
73
74 public Append(byte[] row) {
75 this(row, 0, row.length);
76 }
77
78
79
80
81 public Append(Append a) {
82 this.row = a.getRow();
83 this.ts = a.getTimeStamp();
84 this.familyMap.putAll(a.getFamilyCellMap());
85 for (Map.Entry<String, byte[]> entry : a.getAttributesMap().entrySet()) {
86 this.setAttribute(entry.getKey(), entry.getValue());
87 }
88 }
89
90
91
92
93
94
95
96
97 public Append(final byte [] rowArray, final int rowOffset, final int rowLength) {
98 checkRow(rowArray, rowOffset, rowLength);
99 this.row = Bytes.copy(rowArray, rowOffset, rowLength);
100 }
101
102
103
104
105
106
107
108
109 public Append add(byte [] family, byte [] qualifier, byte [] value) {
110 KeyValue kv = new KeyValue(this.row, family, qualifier, this.ts, KeyValue.Type.Put, value);
111 return add(kv);
112 }
113
114
115
116
117
118
119 @SuppressWarnings("unchecked")
120 public Append add(final Cell cell) {
121
122 byte [] family = CellUtil.cloneFamily(cell);
123 List<Cell> list = this.familyMap.get(family);
124 if (list == null) {
125 list = new ArrayList<Cell>();
126 }
127
128 list.add(cell);
129 this.familyMap.put(family, list);
130 return this;
131 }
132
133 @Override
134 public Append setAttribute(String name, byte[] value) {
135 return (Append) super.setAttribute(name, value);
136 }
137
138 @Override
139 public Append setId(String id) {
140 return (Append) super.setId(id);
141 }
142
143 @Override
144 @Deprecated
145 public Append setWriteToWAL(boolean write) {
146 return (Append) super.setWriteToWAL(write);
147 }
148
149 @Override
150 public Append setDurability(Durability d) {
151 return (Append) super.setDurability(d);
152 }
153
154 @Override
155 public Append setFamilyCellMap(NavigableMap<byte[], List<Cell>> map) {
156 return (Append) super.setFamilyCellMap(map);
157 }
158
159 @Override
160 @Deprecated
161 public Append setFamilyMap(NavigableMap<byte[], List<KeyValue>> map) {
162 return (Append) super.setFamilyMap(map);
163 }
164
165 @Override
166 public Append setClusterIds(List<UUID> clusterIds) {
167 return (Append) super.setClusterIds(clusterIds);
168 }
169
170 @Override
171 public Append setCellVisibility(CellVisibility expression) {
172 return (Append) super.setCellVisibility(expression);
173 }
174
175 @Override
176 public Append setACL(String user, Permission perms) {
177 return (Append) super.setACL(user, perms);
178 }
179
180 @Override
181 public Append setACL(Map<String, Permission> perms) {
182 return (Append) super.setACL(perms);
183 }
184
185 @Override
186 public Append setTTL(long ttl) {
187 return (Append) super.setTTL(ttl);
188 }
189 }