@@ -68,6 +68,14 @@ private static void toParseableByteArray(ByteArrayOutputStream byteStream, Filte
68
68
toParseableByteArray (byteStream , (KeyOnlyFilter ) filter );
69
69
} else if (filter instanceof TimestampsFilter ) {
70
70
toParseableByteArray (byteStream , (TimestampsFilter ) filter );
71
+ } else if (filter instanceof MultiRowRangeFilter ) {
72
+ toParseableByteArray (byteStream , (MultiRowRangeFilter ) filter );
73
+ } else if (filter instanceof InclusiveStopFilter ) {
74
+ toParseableByteArray (byteStream , (InclusiveStopFilter ) filter );
75
+ } else if (filter instanceof ColumnRangeFilter ) {
76
+ toParseableByteArray (byteStream , (ColumnRangeFilter ) filter );
77
+ } else if (filter instanceof MultipleColumnPrefixFilter ) {
78
+ toParseableByteArray (byteStream , (MultipleColumnPrefixFilter ) filter );
71
79
} else if (filter instanceof SkipFilter ) {
72
80
toParseableByteArray (byteStream , (SkipFilter ) filter );
73
81
} else if (filter instanceof WhileMatchFilter ) {
@@ -237,6 +245,77 @@ private static void toParseableByteArray(ByteArrayOutputStream byteStream, Times
237
245
byteStream .write (')' );
238
246
}
239
247
248
+ // MultiRowRangeFilter('a',true,'b',false,'c',true,'d',false);
249
+ private static void toParseableByteArray (ByteArrayOutputStream byteStream , MultiRowRangeFilter filter ) throws IOException {
250
+ byteStream .write (filter .getClass ().getSimpleName ().getBytes ());
251
+ byteStream .write ('(' );
252
+
253
+ List <MultiRowRangeFilter .RowRange > ranges = filter .getRowRanges ();
254
+ for (int i = 0 ; i < ranges .size (); i ++) {
255
+ MultiRowRangeFilter .RowRange range = ranges .get (i );
256
+ byteStream .write ("'" .getBytes ());
257
+ byteStream .write (range .getStartRow ());
258
+ byteStream .write ("'," .getBytes ());
259
+ byteStream .write (Boolean .toString (range .isStartRowInclusive ()).getBytes ());
260
+ byteStream .write (',' );
261
+
262
+ byteStream .write ("'" .getBytes ());
263
+ byteStream .write (range .getStopRow ());
264
+ byteStream .write ("'," .getBytes ());
265
+ byteStream .write (Boolean .toString (range .isStopRowInclusive ()).getBytes ());
266
+ if (i < ranges .size () - 1 ) {
267
+ byteStream .write (',' );
268
+ }
269
+ }
270
+ byteStream .write (')' );
271
+ }
272
+
273
+ // InclusiveStopFilter('aaa');
274
+ private static void toParseableByteArray (ByteArrayOutputStream byteStream , InclusiveStopFilter filter ) throws IOException {
275
+ byteStream .write (filter .getClass ().getSimpleName ().getBytes ());
276
+ byteStream .write ('(' );
277
+ byteStream .write ('\'' );
278
+ byteStream .write (filter .getStopRowKey ());
279
+ byteStream .write ('\'' );
280
+ byteStream .write (')' );
281
+ }
282
+
283
+ // ColumnRangeFilter('a',true,'b',false);
284
+ private static void toParseableByteArray (ByteArrayOutputStream byteStream , ColumnRangeFilter filter ) throws IOException {
285
+ byteStream .write (filter .getClass ().getSimpleName ().getBytes ());
286
+ byteStream .write ('(' );
287
+
288
+ byteStream .write ("'" .getBytes ());
289
+ byteStream .write (filter .getMinColumn ());
290
+ byteStream .write ("'," .getBytes ());
291
+ byteStream .write (Boolean .toString (filter .getMinColumnInclusive ()).getBytes ());
292
+ byteStream .write (',' );
293
+
294
+ byteStream .write ("'" .getBytes ());
295
+ byteStream .write (filter .getMaxColumn ());
296
+ byteStream .write ("'," .getBytes ());
297
+ byteStream .write (Boolean .toString (filter .getMaxColumnInclusive ()).getBytes ());
298
+ byteStream .write (')' );
299
+ }
300
+
301
+ // MultipleColumnPrefixFilter('a','b','d');
302
+ private static void toParseableByteArray (ByteArrayOutputStream byteStream , MultipleColumnPrefixFilter filter ) throws IOException {
303
+ byteStream .write (filter .getClass ().getSimpleName ().getBytes ());
304
+ byteStream .write ('(' );
305
+
306
+ byte [][] ranges = filter .getPrefix ();
307
+ for (int i = 0 ; i < ranges .length ; i ++) {
308
+ byte [] range = ranges [i ];
309
+ byteStream .write ("'" .getBytes ());
310
+ byteStream .write (range );
311
+ byteStream .write ("'" .getBytes ());
312
+ if (i < ranges .length - 1 ) {
313
+ byteStream .write (',' );
314
+ }
315
+ }
316
+ byteStream .write (')' );
317
+ }
318
+
240
319
// ColumnCountGetFilter(100)
241
320
private static void toParseableByteArray (ByteArrayOutputStream byteStream ,
242
321
ColumnCountGetFilter filter ) throws IOException {
0 commit comments