This filter is used to filter cells based on value. It takes a {@link CompareFilter.CompareOp}operator (equal, greater, not equal, etc), and either a byte [] value or a ByteArrayComparable.
If we have a byte [] value then we just do a lexicographic compare. For example, if passed value is 'b' and cell has 'a' and the compare operator is LESS, then we will filter out this cell (return true). If this is not sufficient (eg you want to deserialize a long and then compare it to a fixed long value), then you can pass in your own comparator instead.
You must also specify a family and qualifier. Only the value of this column will be tested. When using this filter on a {@link Scan} with specifiedinputs, the column to be tested should also be added as input (otherwise the filter will regard the column as missing).
To prevent the entire row from being emitted if the column is not found on a row, use {@link #setFilterIfMissing}. Otherwise, if the column is found, the entire row will be emitted only if the value passes. If the value fails, the row will be filtered out.
In order to test values of previous versions (timestamps), set {@link #setLatestVersionOnly} to false. The default is true, meaning thatonly the latest version's value is tested and all previous versions are ignored.
To filter based on the value of all scanned columns, use {@link ValueFilter}.