@@ -68,6 +68,14 @@ private static void toParseableByteArray(ByteArrayOutputStream byteStream, Filte
6868 toParseableByteArray (byteStream , (KeyOnlyFilter ) filter );
6969 } else if (filter instanceof TimestampsFilter ) {
7070 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 );
7179 } else if (filter instanceof SkipFilter ) {
7280 toParseableByteArray (byteStream , (SkipFilter ) filter );
7381 } else if (filter instanceof WhileMatchFilter ) {
@@ -237,6 +245,77 @@ private static void toParseableByteArray(ByteArrayOutputStream byteStream, Times
237245 byteStream .write (')' );
238246 }
239247
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+
240319 // ColumnCountGetFilter(100)
241320 private static void toParseableByteArray (ByteArrayOutputStream byteStream ,
242321 ColumnCountGetFilter filter ) throws IOException {
0 commit comments