Class RowFilter.Builder (2.17.1)

public static final class RowFilter.Builder extends GeneratedMessageV3.Builder<RowFilter.Builder> implements RowFilterOrBuilder

Takes a row as input and produces an alternate view of the row based on specified rules. For example, a RowFilter might trim down a row to include just the cells from columns matching a given regular expression, or might return all the cells of a row but not their values. More complicated filters can be composed out of these components to express requests such as, "within every column of a particular family, give just the two most recent cells which are older than timestamp X." There are two broad categories of RowFilters (true filters and transformers), as well as two ways to compose simple filters into more complex ones (chains and interleaves). They work as follows:

  • True filters alter the input row by excluding some of its cells wholesale from the output row. An example of a true filter is the value_regex_filter, which excludes cells whose values don't match the specified pattern. All regex true filters use RE2 syntax (https://github.com/google/re2/wiki/Syntax) in raw byte mode (RE2::Latin1), and are evaluated as full matches. An important point to keep in mind is that RE2(.) is equivalent by default to RE2([^\n]), meaning that it does not match newlines. When attempting to match an arbitrary byte, you should therefore use the escape sequence \C, which may need to be further escaped as \\C in your client language.
  • Transformers alter the input row by changing the values of some of its cells in the output, without excluding them completely. Currently, the only supported transformer is the strip_value_transformer, which replaces every cell's value with the empty string.
  • Chains and interleaves are described in more detail in the RowFilter.Chain and RowFilter.Interleave documentation. The total serialized size of a RowFilter message must not exceed 20480 bytes, and RowFilters may not be nested within each other (in Chains or Interleaves) to a depth of more than 20.

Protobuf type google.bigtable.v2.RowFilter

Implements

RowFilterOrBuilder

Static Methods

getDescriptor()

public static final Descriptors.Descriptor getDescriptor()
Returns
TypeDescription
Descriptor

Methods

addRepeatedField(Descriptors.FieldDescriptor field, Object value)

public RowFilter.Builder addRepeatedField(Descriptors.FieldDescriptor field, Object value)
Parameters
NameDescription
fieldFieldDescriptor
valueObject
Returns
TypeDescription
RowFilter.Builder
Overrides

build()

public RowFilter build()
Returns
TypeDescription
RowFilter

buildPartial()

public RowFilter buildPartial()
Returns
TypeDescription
RowFilter

clear()

public RowFilter.Builder clear()
Returns
TypeDescription
RowFilter.Builder
Overrides

clearApplyLabelTransformer()

public RowFilter.Builder clearApplyLabelTransformer()

Applies the given label to all cells in the output row. This allows the client to determine which results were produced from which part of the filter. Values must be at most 15 characters in length, and match the RE2 pattern [a-z0-9\\-]+ Due to a technical limitation, it is not currently possible to apply multiple labels to a cell. As a result, a Chain may have no more than one sub-filter which contains a apply_label_transformer. It is okay for an Interleave to contain multiple apply_label_transformers, as they will be applied to separate copies of the input. This may be relaxed in the future.

string apply_label_transformer = 19;

Returns
TypeDescription
RowFilter.Builder

This builder for chaining.

clearBlockAllFilter()

public RowFilter.Builder clearBlockAllFilter()

Does not match any cells, regardless of input. Useful for temporarily disabling just part of a filter.

bool block_all_filter = 18;

Returns
TypeDescription
RowFilter.Builder

This builder for chaining.

clearCellsPerColumnLimitFilter()

public RowFilter.Builder clearCellsPerColumnLimitFilter()

Matches only the most recent N cells within each column. For example, if N=2, this filter would match column foo:bar at timestamps 10 and 9, skip all earlier cells in foo:bar, and then begin matching again in column foo:bar2. If duplicate cells are present, as is possible when using an Interleave, each copy of the cell is counted separately.

int32 cells_per_column_limit_filter = 12;

Returns
TypeDescription
RowFilter.Builder

This builder for chaining.

clearCellsPerRowLimitFilter()

public RowFilter.Builder clearCellsPerRowLimitFilter()

Matches only the first N cells of each row. If duplicate cells are present, as is possible when using an Interleave, each copy of the cell is counted separately.

int32 cells_per_row_limit_filter = 11;

Returns
TypeDescription
RowFilter.Builder

This builder for chaining.

clearCellsPerRowOffsetFilter()

public RowFilter.Builder clearCellsPerRowOffsetFilter()

Skips the first N cells of each row, matching all subsequent cells. If duplicate cells are present, as is possible when using an Interleave, each copy of the cell is counted separately.

int32 cells_per_row_offset_filter = 10;

Returns
TypeDescription
RowFilter.Builder

This builder for chaining.

clearChain()

public RowFilter.Builder clearChain()

Applies several RowFilters to the data in sequence, progressively narrowing the results.

.google.bigtable.v2.RowFilter.Chain chain = 1;

Returns
TypeDescription
RowFilter.Builder

clearColumnQualifierRegexFilter()

public RowFilter.Builder clearColumnQualifierRegexFilter()

Matches only cells from columns whose qualifiers satisfy the given RE2 regex. Note that, since column qualifiers can contain arbitrary bytes, the \C escape sequence must be used if a true wildcard is desired. The . character will not match the new line character \n, which may be present in a binary qualifier.

bytes column_qualifier_regex_filter = 6;

Returns
TypeDescription
RowFilter.Builder

This builder for chaining.

clearColumnRangeFilter()

public RowFilter.Builder clearColumnRangeFilter()

Matches only cells from columns within the given range.

.google.bigtable.v2.ColumnRange column_range_filter = 7;

Returns
TypeDescription
RowFilter.Builder

clearCondition()

public RowFilter.Builder clearCondition()

Applies one of two possible RowFilters to the data based on the output of a predicate RowFilter.

.google.bigtable.v2.RowFilter.Condition condition = 3;

Returns
TypeDescription
RowFilter.Builder

clearFamilyNameRegexFilter()

public RowFilter.Builder clearFamilyNameRegexFilter()

Matches only cells from columns whose families satisfy the given RE2 regex. For technical reasons, the regex must not contain the : character, even if it is not being used as a literal. Note that, since column families cannot contain the new line character \n, it is sufficient to use . as a full wildcard when matching column family names.

string family_name_regex_filter = 5;

Returns
TypeDescription
RowFilter.Builder

This builder for chaining.

clearField(Descriptors.FieldDescriptor field)

public RowFilter.Builder clearField(Descriptors.FieldDescriptor field)
Parameter
NameDescription
fieldFieldDescriptor
Returns
TypeDescription
RowFilter.Builder
Overrides

clearFilter()

public RowFilter.Builder clearFilter()
Returns
TypeDescription
RowFilter.Builder

clearInterleave()

public RowFilter.Builder clearInterleave()

Applies several RowFilters to the data in parallel and combines the results.

.google.bigtable.v2.RowFilter.Interleave interleave = 2;

Returns
TypeDescription
RowFilter.Builder

clearOneof(Descriptors.OneofDescriptor oneof)

public RowFilter.Builder clearOneof(Descriptors.OneofDescriptor oneof)
Parameter
NameDescription
oneofOneofDescriptor
Returns
TypeDescription
RowFilter.Builder
Overrides

clearPassAllFilter()

public RowFilter.Builder clearPassAllFilter()

Matches all cells, regardless of input. Functionally equivalent to leaving filter unset, but included for completeness.

bool pass_all_filter = 17;

Returns
TypeDescription
RowFilter.Builder

This builder for chaining.

clearRowKeyRegexFilter()

public RowFilter.Builder clearRowKeyRegexFilter()

Matches only cells from rows whose keys satisfy the given RE2 regex. In other words, passes through the entire row when the key matches, and otherwise produces an empty row. Note that, since row keys can contain arbitrary bytes, the \C escape sequence must be used if a true wildcard is desired. The . character will not match the new line character \n, which may be present in a binary key.

bytes row_key_regex_filter = 4;

Returns
TypeDescription
RowFilter.Builder

This builder for chaining.

clearRowSampleFilter()

public RowFilter.Builder clearRowSampleFilter()

Matches all cells from a row with probability p, and matches no cells from the row with probability 1-p.

double row_sample_filter = 14;

Returns
TypeDescription
RowFilter.Builder

This builder for chaining.

clearSink()

public RowFilter.Builder clearSink()

ADVANCED USE ONLY. Hook for introspection into the RowFilter. Outputs all cells directly to the output of the read rather than to any parent filter. Consider the following example: Chain( FamilyRegex("A"), Interleave( All(), Chain(Label("foo"), Sink()) ), QualifierRegex("B") ) A,A,1,w A,B,2,x B,B,4,z | FamilyRegex("A") | A,A,1,w A,B,2,x | +------------+-------------+ | | All() Label(foo) | | A,A,1,w A,A,1,w,labels:[foo] A,B,2,x A,B,2,x,labels:[foo] | | | Sink() --------------+ | | | +------------+ x------+ A,A,1,w,labels:[foo] | A,B,2,x,labels:[foo] A,A,1,w | A,B,2,x | | | QualifierRegex("B") | | | A,B,2,x | | | +--------------------------------+ | A,A,1,w,labels:[foo] A,B,2,x,labels:[foo] // could be switched A,B,2,x // could be switched Despite being excluded by the qualifier filter, a copy of every cell that reaches the sink is present in the final result. As with an Interleave, duplicate cells are possible, and appear in an unspecified mutual order. In this case we have a duplicate with column "A:B" and timestamp 2, because one copy passed through the all filter while the other was passed through the label and sink. Note that one copy has label "foo", while the other does not. Cannot be used within the predicate_filter, true_filter, or false_filter of a Condition.

bool sink = 16;

Returns
TypeDescription
RowFilter.Builder

This builder for chaining.

clearStripValueTransformer()

public RowFilter.Builder clearStripValueTransformer()

Replaces each cell's value with the empty string.

bool strip_value_transformer = 13;

Returns
TypeDescription
RowFilter.Builder

This builder for chaining.

clearTimestampRangeFilter()

public RowFilter.Builder clearTimestampRangeFilter()

Matches only cells with timestamps within the given range.

.google.bigtable.v2.TimestampRange timestamp_range_filter = 8;

Returns
TypeDescription
RowFilter.Builder

clearValueRangeFilter()

public RowFilter.Builder clearValueRangeFilter()

Matches only cells with values that fall within the given range.

.google.bigtable.v2.ValueRange value_range_filter = 15;

Returns
TypeDescription
RowFilter.Builder

clearValueRegexFilter()

public RowFilter.Builder clearValueRegexFilter()

Matches only cells with values that satisfy the given regular expression. Note that, since cell values can contain arbitrary bytes, the \C escape sequence must be used if a true wildcard is desired. The . character will not match the new line character \n, which may be present in a binary value.

bytes value_regex_filter = 9;

Returns
TypeDescription
RowFilter.Builder

This builder for chaining.

clone()

public RowFilter.Builder clone()
Returns
TypeDescription
RowFilter.Builder
Overrides

getApplyLabelTransformer()

public String getApplyLabelTransformer()

Applies the given label to all cells in the output row. This allows the client to determine which results were produced from which part of the filter. Values must be at most 15 characters in length, and match the RE2 pattern [a-z0-9\\-]+ Due to a technical limitation, it is not currently possible to apply multiple labels to a cell. As a result, a Chain may have no more than one sub-filter which contains a apply_label_transformer. It is okay for an Interleave to contain multiple apply_label_transformers, as they will be applied to separate copies of the input. This may be relaxed in the future.

string apply_label_transformer = 19;

Returns
TypeDescription
String

The applyLabelTransformer.

getApplyLabelTransformerBytes()

public ByteString getApplyLabelTransformerBytes()

Applies the given label to all cells in the output row. This allows the client to determine which results were produced from which part of the filter. Values must be at most 15 characters in length, and match the RE2 pattern [a-z0-9\\-]+ Due to a technical limitation, it is not currently possible to apply multiple labels to a cell. As a result, a Chain may have no more than one sub-filter which contains a apply_label_transformer. It is okay for an Interleave to contain multiple apply_label_transformers, as they will be applied to separate copies of the input. This may be relaxed in the future.

string apply_label_transformer = 19;

Returns
TypeDescription
ByteString

The bytes for applyLabelTransformer.

getBlockAllFilter()

public boolean getBlockAllFilter()

Does not match any cells, regardless of input. Useful for temporarily disabling just part of a filter.

bool block_all_filter = 18;

Returns
TypeDescription
boolean

The blockAllFilter.

getCellsPerColumnLimitFilter()

public int getCellsPerColumnLimitFilter()

Matches only the most recent N cells within each column. For example, if N=2, this filter would match column foo:bar at timestamps 10 and 9, skip all earlier cells in foo:bar, and then begin matching again in column foo:bar2. If duplicate cells are present, as is possible when using an Interleave, each copy of the cell is counted separately.

int32 cells_per_column_limit_filter = 12;

Returns
TypeDescription
int

The cellsPerColumnLimitFilter.

getCellsPerRowLimitFilter()

public int getCellsPerRowLimitFilter()

Matches only the first N cells of each row. If duplicate cells are present, as is possible when using an Interleave, each copy of the cell is counted separately.

int32 cells_per_row_limit_filter = 11;

Returns
TypeDescription
int

The cellsPerRowLimitFilter.

getCellsPerRowOffsetFilter()

public int getCellsPerRowOffsetFilter()

Skips the first N cells of each row, matching all subsequent cells. If duplicate cells are present, as is possible when using an Interleave, each copy of the cell is counted separately.

int32 cells_per_row_offset_filter = 10;

Returns
TypeDescription
int

The cellsPerRowOffsetFilter.

getChain()

public RowFilter.Chain getChain()

Applies several RowFilters to the data in sequence, progressively narrowing the results.

.google.bigtable.v2.RowFilter.Chain chain = 1;

Returns
TypeDescription
RowFilter.Chain

The chain.

getChainBuilder()

public RowFilter.Chain.Builder getChainBuilder()

Applies several RowFilters to the data in sequence, progressively narrowing the results.

.google.bigtable.v2.RowFilter.Chain chain = 1;

Returns
TypeDescription
RowFilter.Chain.Builder

getChainOrBuilder()

public RowFilter.ChainOrBuilder getChainOrBuilder()

Applies several RowFilters to the data in sequence, progressively narrowing the results.

.google.bigtable.v2.RowFilter.Chain chain = 1;

Returns
TypeDescription
RowFilter.ChainOrBuilder

getColumnQualifierRegexFilter()

public ByteString getColumnQualifierRegexFilter()

Matches only cells from columns whose qualifiers satisfy the given RE2 regex. Note that, since column qualifiers can contain arbitrary bytes, the \C escape sequence must be used if a true wildcard is desired. The . character will not match the new line character \n, which may be present in a binary qualifier.

bytes column_qualifier_regex_filter = 6;

Returns
TypeDescription
ByteString

The columnQualifierRegexFilter.

getColumnRangeFilter()

public ColumnRange getColumnRangeFilter()

Matches only cells from columns within the given range.

.google.bigtable.v2.ColumnRange column_range_filter = 7;

Returns
TypeDescription
ColumnRange

The columnRangeFilter.

getColumnRangeFilterBuilder()

public ColumnRange.Builder getColumnRangeFilterBuilder()

Matches only cells from columns within the given range.

.google.bigtable.v2.ColumnRange column_range_filter = 7;

Returns
TypeDescription
ColumnRange.Builder

getColumnRangeFilterOrBuilder()

public ColumnRangeOrBuilder getColumnRangeFilterOrBuilder()

Matches only cells from columns within the given range.

.google.bigtable.v2.ColumnRange column_range_filter = 7;

Returns
TypeDescription
ColumnRangeOrBuilder

getCondition()

public RowFilter.Condition getCondition()

Applies one of two possible RowFilters to the data based on the output of a predicate RowFilter.

.google.bigtable.v2.RowFilter.Condition condition = 3;

Returns
TypeDescription
RowFilter.Condition

The condition.

getConditionBuilder()

public RowFilter.Condition.Builder getConditionBuilder()

Applies one of two possible RowFilters to the data based on the output of a predicate RowFilter.

.google.bigtable.v2.RowFilter.Condition condition = 3;

Returns
TypeDescription
RowFilter.Condition.Builder

getConditionOrBuilder()

public RowFilter.ConditionOrBuilder getConditionOrBuilder()

Applies one of two possible RowFilters to the data based on the output of a predicate RowFilter.

.google.bigtable.v2.RowFilter.Condition condition = 3;

Returns
TypeDescription
RowFilter.ConditionOrBuilder

getDefaultInstanceForType()

public RowFilter getDefaultInstanceForType()
Returns
TypeDescription
RowFilter

getDescriptorForType()

public Descriptors.Descriptor getDescriptorForType()
Returns
TypeDescription
Descriptor
Overrides

getFamilyNameRegexFilter()

public String getFamilyNameRegexFilter()

Matches only cells from columns whose families satisfy the given RE2 regex. For technical reasons, the regex must not contain the : character, even if it is not being used as a literal. Note that, since column families cannot contain the new line character \n, it is sufficient to use . as a full wildcard when matching column family names.

string family_name_regex_filter = 5;

Returns
TypeDescription
String

The familyNameRegexFilter.

getFamilyNameRegexFilterBytes()

public ByteString getFamilyNameRegexFilterBytes()

Matches only cells from columns whose families satisfy the given RE2 regex. For technical reasons, the regex must not contain the : character, even if it is not being used as a literal. Note that, since column families cannot contain the new line character \n, it is sufficient to use . as a full wildcard when matching column family names.

string family_name_regex_filter = 5;

Returns
TypeDescription
ByteString

The bytes for familyNameRegexFilter.

getFilterCase()

public RowFilter.FilterCase getFilterCase()
Returns
TypeDescription
RowFilter.FilterCase

getInterleave()

public RowFilter.Interleave getInterleave()

Applies several RowFilters to the data in parallel and combines the results.

.google.bigtable.v2.RowFilter.Interleave interleave = 2;

Returns
TypeDescription
RowFilter.Interleave

The interleave.

getInterleaveBuilder()

public RowFilter.Interleave.Builder getInterleaveBuilder()

Applies several RowFilters to the data in parallel and combines the results.

.google.bigtable.v2.RowFilter.Interleave interleave = 2;

Returns
TypeDescription
RowFilter.Interleave.Builder

getInterleaveOrBuilder()

public RowFilter.InterleaveOrBuilder getInterleaveOrBuilder()

Applies several RowFilters to the data in parallel and combines the results.

.google.bigtable.v2.RowFilter.Interleave interleave = 2;

Returns
TypeDescription
RowFilter.InterleaveOrBuilder

getPassAllFilter()

public boolean getPassAllFilter()

Matches all cells, regardless of input. Functionally equivalent to leaving filter unset, but included for completeness.

bool pass_all_filter = 17;

Returns
TypeDescription
boolean

The passAllFilter.

getRowKeyRegexFilter()

public ByteString getRowKeyRegexFilter()

Matches only cells from rows whose keys satisfy the given RE2 regex. In other words, passes through the entire row when the key matches, and otherwise produces an empty row. Note that, since row keys can contain arbitrary bytes, the \C escape sequence must be used if a true wildcard is desired. The . character will not match the new line character \n, which may be present in a binary key.

bytes row_key_regex_filter = 4;

Returns
TypeDescription
ByteString

The rowKeyRegexFilter.

getRowSampleFilter()

public double getRowSampleFilter()

Matches all cells from a row with probability p, and matches no cells from the row with probability 1-p.

double row_sample_filter = 14;

Returns
TypeDescription
double

The rowSampleFilter.

getSink()

public boolean getSink()

ADVANCED USE ONLY. Hook for introspection into the RowFilter. Outputs all cells directly to the output of the read rather than to any parent filter. Consider the following example: Chain( FamilyRegex("A"), Interleave( All(), Chain(Label("foo"), Sink()) ), QualifierRegex("B") ) A,A,1,w A,B,2,x B,B,4,z | FamilyRegex("A") | A,A,1,w A,B,2,x | +------------+-------------+ | | All() Label(foo) | | A,A,1,w A,A,1,w,labels:[foo] A,B,2,x A,B,2,x,labels:[foo] | | | Sink() --------------+ | | | +------------+ x------+ A,A,1,w,labels:[foo] | A,B,2,x,labels:[foo] A,A,1,w | A,B,2,x | | | QualifierRegex("B") | | | A,B,2,x | | | +--------------------------------+ | A,A,1,w,labels:[foo] A,B,2,x,labels:[foo] // could be switched A,B,2,x // could be switched Despite being excluded by the qualifier filter, a copy of every cell that reaches the sink is present in the final result. As with an Interleave, duplicate cells are possible, and appear in an unspecified mutual order. In this case we have a duplicate with column "A:B" and timestamp 2, because one copy passed through the all filter while the other was passed through the label and sink. Note that one copy has label "foo", while the other does not. Cannot be used within the predicate_filter, true_filter, or false_filter of a Condition.

bool sink = 16;

Returns
TypeDescription
boolean

The sink.

getStripValueTransformer()

public boolean getStripValueTransformer()

Replaces each cell's value with the empty string.

bool strip_value_transformer = 13;

Returns
TypeDescription
boolean

The stripValueTransformer.

getTimestampRangeFilter()

public TimestampRange getTimestampRangeFilter()

Matches only cells with timestamps within the given range.

.google.bigtable.v2.TimestampRange timestamp_range_filter = 8;

Returns
TypeDescription
TimestampRange

The timestampRangeFilter.

getTimestampRangeFilterBuilder()

public TimestampRange.Builder getTimestampRangeFilterBuilder()

Matches only cells with timestamps within the given range.

.google.bigtable.v2.TimestampRange timestamp_range_filter = 8;

Returns
TypeDescription
TimestampRange.Builder

getTimestampRangeFilterOrBuilder()

public TimestampRangeOrBuilder getTimestampRangeFilterOrBuilder()

Matches only cells with timestamps within the given range.

.google.bigtable.v2.TimestampRange timestamp_range_filter = 8;

Returns
TypeDescription
TimestampRangeOrBuilder

getValueRangeFilter()

public ValueRange getValueRangeFilter()

Matches only cells with values that fall within the given range.

.google.bigtable.v2.ValueRange value_range_filter = 15;

Returns
TypeDescription
ValueRange

The valueRangeFilter.

getValueRangeFilterBuilder()

public ValueRange.Builder getValueRangeFilterBuilder()

Matches only cells with values that fall within the given range.

.google.bigtable.v2.ValueRange value_range_filter = 15;

Returns
TypeDescription
ValueRange.Builder

getValueRangeFilterOrBuilder()

public ValueRangeOrBuilder getValueRangeFilterOrBuilder()

Matches only cells with values that fall within the given range.

.google.bigtable.v2.ValueRange value_range_filter = 15;

Returns
TypeDescription
ValueRangeOrBuilder

getValueRegexFilter()

public ByteString getValueRegexFilter()

Matches only cells with values that satisfy the given regular expression. Note that, since cell values can contain arbitrary bytes, the \C escape sequence must be used if a true wildcard is desired. The . character will not match the new line character \n, which may be present in a binary value.

bytes value_regex_filter = 9;

Returns
TypeDescription
ByteString

The valueRegexFilter.

hasApplyLabelTransformer()

public boolean hasApplyLabelTransformer()

Applies the given label to all cells in the output row. This allows the client to determine which results were produced from which part of the filter. Values must be at most 15 characters in length, and match the RE2 pattern [a-z0-9\\-]+ Due to a technical limitation, it is not currently possible to apply multiple labels to a cell. As a result, a Chain may have no more than one sub-filter which contains a apply_label_transformer. It is okay for an Interleave to contain multiple apply_label_transformers, as they will be applied to separate copies of the input. This may be relaxed in the future.

string apply_label_transformer = 19;

Returns
TypeDescription
boolean

Whether the applyLabelTransformer field is set.

hasBlockAllFilter()

public boolean hasBlockAllFilter()

Does not match any cells, regardless of input. Useful for temporarily disabling just part of a filter.

bool block_all_filter = 18;

Returns
TypeDescription
boolean

Whether the blockAllFilter field is set.

hasCellsPerColumnLimitFilter()

public boolean hasCellsPerColumnLimitFilter()

Matches only the most recent N cells within each column. For example, if N=2, this filter would match column foo:bar at timestamps 10 and 9, skip all earlier cells in foo:bar, and then begin matching again in column foo:bar2. If duplicate cells are present, as is possible when using an Interleave, each copy of the cell is counted separately.

int32 cells_per_column_limit_filter = 12;

Returns
TypeDescription
boolean

Whether the cellsPerColumnLimitFilter field is set.

hasCellsPerRowLimitFilter()

public boolean hasCellsPerRowLimitFilter()

Matches only the first N cells of each row. If duplicate cells are present, as is possible when using an Interleave, each copy of the cell is counted separately.

int32 cells_per_row_limit_filter = 11;

Returns
TypeDescription
boolean

Whether the cellsPerRowLimitFilter field is set.

hasCellsPerRowOffsetFilter()

public boolean hasCellsPerRowOffsetFilter()

Skips the first N cells of each row, matching all subsequent cells. If duplicate cells are present, as is possible when using an Interleave, each copy of the cell is counted separately.

int32 cells_per_row_offset_filter = 10;

Returns
TypeDescription
boolean

Whether the cellsPerRowOffsetFilter field is set.

hasChain()

public boolean hasChain()

Applies several RowFilters to the data in sequence, progressively narrowing the results.

.google.bigtable.v2.RowFilter.Chain chain = 1;

Returns
TypeDescription
boolean

Whether the chain field is set.

hasColumnQualifierRegexFilter()

public boolean hasColumnQualifierRegexFilter()

Matches only cells from columns whose qualifiers satisfy the given RE2 regex. Note that, since column qualifiers can contain arbitrary bytes, the \C escape sequence must be used if a true wildcard is desired. The . character will not match the new line character \n, which may be present in a binary qualifier.

bytes column_qualifier_regex_filter = 6;

Returns
TypeDescription
boolean

Whether the columnQualifierRegexFilter field is set.

hasColumnRangeFilter()

public boolean hasColumnRangeFilter()

Matches only cells from columns within the given range.

.google.bigtable.v2.ColumnRange column_range_filter = 7;

Returns
TypeDescription
boolean

Whether the columnRangeFilter field is set.

hasCondition()

public boolean hasCondition()

Applies one of two possible RowFilters to the data based on the output of a predicate RowFilter.

.google.bigtable.v2.RowFilter.Condition condition = 3;

Returns
TypeDescription
boolean

Whether the condition field is set.

hasFamilyNameRegexFilter()

public boolean hasFamilyNameRegexFilter()

Matches only cells from columns whose families satisfy the given RE2 regex. For technical reasons, the regex must not contain the : character, even if it is not being used as a literal. Note that, since column families cannot contain the new line character \n, it is sufficient to use . as a full wildcard when matching column family names.

string family_name_regex_filter = 5;

Returns
TypeDescription
boolean

Whether the familyNameRegexFilter field is set.

hasInterleave()

public boolean hasInterleave()

Applies several RowFilters to the data in parallel and combines the results.

.google.bigtable.v2.RowFilter.Interleave interleave = 2;

Returns
TypeDescription
boolean

Whether the interleave field is set.

hasPassAllFilter()

public boolean hasPassAllFilter()

Matches all cells, regardless of input. Functionally equivalent to leaving filter unset, but included for completeness.

bool pass_all_filter = 17;

Returns
TypeDescription
boolean

Whether the passAllFilter field is set.

hasRowKeyRegexFilter()

public boolean hasRowKeyRegexFilter()

Matches only cells from rows whose keys satisfy the given RE2 regex. In other words, passes through the entire row when the key matches, and otherwise produces an empty row. Note that, since row keys can contain arbitrary bytes, the \C escape sequence must be used if a true wildcard is desired. The . character will not match the new line character \n, which may be present in a binary key.

bytes row_key_regex_filter = 4;

Returns
TypeDescription
boolean

Whether the rowKeyRegexFilter field is set.

hasRowSampleFilter()

public boolean hasRowSampleFilter()

Matches all cells from a row with probability p, and matches no cells from the row with probability 1-p.

double row_sample_filter = 14;

Returns
TypeDescription
boolean

Whether the rowSampleFilter field is set.

hasSink()

public boolean hasSink()

ADVANCED USE ONLY. Hook for introspection into the RowFilter. Outputs all cells directly to the output of the read rather than to any parent filter. Consider the following example: Chain( FamilyRegex("A"), Interleave( All(), Chain(Label("foo"), Sink()) ), QualifierRegex("B") ) A,A,1,w A,B,2,x B,B,4,z | FamilyRegex("A") | A,A,1,w A,B,2,x | +------------+-------------+ | | All() Label(foo) | | A,A,1,w A,A,1,w,labels:[foo] A,B,2,x A,B,2,x,labels:[foo] | | | Sink() --------------+ | | | +------------+ x------+ A,A,1,w,labels:[foo] | A,B,2,x,labels:[foo] A,A,1,w | A,B,2,x | | | QualifierRegex("B") | | | A,B,2,x | | | +--------------------------------+ | A,A,1,w,labels:[foo] A,B,2,x,labels:[foo] // could be switched A,B,2,x // could be switched Despite being excluded by the qualifier filter, a copy of every cell that reaches the sink is present in the final result. As with an Interleave, duplicate cells are possible, and appear in an unspecified mutual order. In this case we have a duplicate with column "A:B" and timestamp 2, because one copy passed through the all filter while the other was passed through the label and sink. Note that one copy has label "foo", while the other does not. Cannot be used within the predicate_filter, true_filter, or false_filter of a Condition.

bool sink = 16;

Returns
TypeDescription
boolean

Whether the sink field is set.

hasStripValueTransformer()

public boolean hasStripValueTransformer()

Replaces each cell's value with the empty string.

bool strip_value_transformer = 13;

Returns
TypeDescription
boolean

Whether the stripValueTransformer field is set.

hasTimestampRangeFilter()

public boolean hasTimestampRangeFilter()

Matches only cells with timestamps within the given range.

.google.bigtable.v2.TimestampRange timestamp_range_filter = 8;

Returns
TypeDescription
boolean

Whether the timestampRangeFilter field is set.

hasValueRangeFilter()

public boolean hasValueRangeFilter()

Matches only cells with values that fall within the given range.

.google.bigtable.v2.ValueRange value_range_filter = 15;

Returns
TypeDescription
boolean

Whether the valueRangeFilter field is set.

hasValueRegexFilter()

public boolean hasValueRegexFilter()

Matches only cells with values that satisfy the given regular expression. Note that, since cell values can contain arbitrary bytes, the \C escape sequence must be used if a true wildcard is desired. The . character will not match the new line character \n, which may be present in a binary value.

bytes value_regex_filter = 9;

Returns
TypeDescription
boolean

Whether the valueRegexFilter field is set.

internalGetFieldAccessorTable()

protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Returns
TypeDescription
FieldAccessorTable
Overrides

isInitialized()

public final boolean isInitialized()
Returns
TypeDescription
boolean
Overrides

mergeChain(RowFilter.Chain value)

public RowFilter.Builder mergeChain(RowFilter.Chain value)

Applies several RowFilters to the data in sequence, progressively narrowing the results.

.google.bigtable.v2.RowFilter.Chain chain = 1;

Parameter
NameDescription
valueRowFilter.Chain
Returns
TypeDescription
RowFilter.Builder

mergeColumnRangeFilter(ColumnRange value)

public RowFilter.Builder mergeColumnRangeFilter(ColumnRange value)

Matches only cells from columns within the given range.

.google.bigtable.v2.ColumnRange column_range_filter = 7;

Parameter
NameDescription
valueColumnRange
Returns
TypeDescription
RowFilter.Builder

mergeCondition(RowFilter.Condition value)

public RowFilter.Builder mergeCondition(RowFilter.Condition value)

Applies one of two possible RowFilters to the data based on the output of a predicate RowFilter.

.google.bigtable.v2.RowFilter.Condition condition = 3;

Parameter
NameDescription
valueRowFilter.Condition
Returns
TypeDescription
RowFilter.Builder

mergeFrom(RowFilter other)

public RowFilter.Builder mergeFrom(RowFilter other)
Parameter
NameDescription
otherRowFilter
Returns
TypeDescription
RowFilter.Builder

mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)

public RowFilter.Builder mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
Parameters
NameDescription
inputCodedInputStream
extensionRegistryExtensionRegistryLite
Returns
TypeDescription
RowFilter.Builder
Overrides Exceptions
TypeDescription
IOException

mergeFrom(Message other)

public RowFilter.Builder mergeFrom(Message other)
Parameter
NameDescription
otherMessage
Returns
TypeDescription
RowFilter.Builder
Overrides

mergeInterleave(RowFilter.Interleave value)

public RowFilter.Builder mergeInterleave(RowFilter.Interleave value)

Applies several RowFilters to the data in parallel and combines the results.

.google.bigtable.v2.RowFilter.Interleave interleave = 2;

Parameter
NameDescription
valueRowFilter.Interleave
Returns
TypeDescription
RowFilter.Builder

mergeTimestampRangeFilter(TimestampRange value)

public RowFilter.Builder mergeTimestampRangeFilter(TimestampRange value)

Matches only cells with timestamps within the given range.

.google.bigtable.v2.TimestampRange timestamp_range_filter = 8;

Parameter
NameDescription
valueTimestampRange
Returns
TypeDescription
RowFilter.Builder

mergeUnknownFields(UnknownFieldSet unknownFields)

public final RowFilter.Builder mergeUnknownFields(UnknownFieldSet unknownFields)
Parameter
NameDescription
unknownFieldsUnknownFieldSet
Returns
TypeDescription
RowFilter.Builder
Overrides

mergeValueRangeFilter(ValueRange value)

public RowFilter.Builder mergeValueRangeFilter(ValueRange value)

Matches only cells with values that fall within the given range.

.google.bigtable.v2.ValueRange value_range_filter = 15;

Parameter
NameDescription
valueValueRange
Returns
TypeDescription
RowFilter.Builder

setApplyLabelTransformer(String value)

public RowFilter.Builder setApplyLabelTransformer(String value)

Applies the given label to all cells in the output row. This allows the client to determine which results were produced from which part of the filter. Values must be at most 15 characters in length, and match the RE2 pattern [a-z0-9\\-]+ Due to a technical limitation, it is not currently possible to apply multiple labels to a cell. As a result, a Chain may have no more than one sub-filter which contains a apply_label_transformer. It is okay for an Interleave to contain multiple apply_label_transformers, as they will be applied to separate copies of the input. This may be relaxed in the future.

string apply_label_transformer = 19;

Parameter
NameDescription
valueString

The applyLabelTransformer to set.

Returns
TypeDescription
RowFilter.Builder

This builder for chaining.

setApplyLabelTransformerBytes(ByteString value)

public RowFilter.Builder setApplyLabelTransformerBytes(ByteString value)

Applies the given label to all cells in the output row. This allows the client to determine which results were produced from which part of the filter. Values must be at most 15 characters in length, and match the RE2 pattern [a-z0-9\\-]+ Due to a technical limitation, it is not currently possible to apply multiple labels to a cell. As a result, a Chain may have no more than one sub-filter which contains a apply_label_transformer. It is okay for an Interleave to contain multiple apply_label_transformers, as they will be applied to separate copies of the input. This may be relaxed in the future.

string apply_label_transformer = 19;

Parameter
NameDescription
valueByteString

The bytes for applyLabelTransformer to set.

Returns
TypeDescription
RowFilter.Builder

This builder for chaining.

setBlockAllFilter(boolean value)

public RowFilter.Builder setBlockAllFilter(boolean value)

Does not match any cells, regardless of input. Useful for temporarily disabling just part of a filter.

bool block_all_filter = 18;

Parameter
NameDescription
valueboolean

The blockAllFilter to set.

Returns
TypeDescription
RowFilter.Builder

This builder for chaining.

setCellsPerColumnLimitFilter(int value)

public RowFilter.Builder setCellsPerColumnLimitFilter(int value)

Matches only the most recent N cells within each column. For example, if N=2, this filter would match column foo:bar at timestamps 10 and 9, skip all earlier cells in foo:bar, and then begin matching again in column foo:bar2. If duplicate cells are present, as is possible when using an Interleave, each copy of the cell is counted separately.

int32 cells_per_column_limit_filter = 12;

Parameter
NameDescription
valueint

The cellsPerColumnLimitFilter to set.

Returns
TypeDescription
RowFilter.Builder

This builder for chaining.

setCellsPerRowLimitFilter(int value)

public RowFilter.Builder setCellsPerRowLimitFilter(int value)

Matches only the first N cells of each row. If duplicate cells are present, as is possible when using an Interleave, each copy of the cell is counted separately.

int32 cells_per_row_limit_filter = 11;

Parameter
NameDescription
valueint

The cellsPerRowLimitFilter to set.

Returns
TypeDescription
RowFilter.Builder

This builder for chaining.

setCellsPerRowOffsetFilter(int value)

public RowFilter.Builder setCellsPerRowOffsetFilter(int value)

Skips the first N cells of each row, matching all subsequent cells. If duplicate cells are present, as is possible when using an Interleave, each copy of the cell is counted separately.

int32 cells_per_row_offset_filter = 10;

Parameter
NameDescription
valueint

The cellsPerRowOffsetFilter to set.

Returns
TypeDescription
RowFilter.Builder

This builder for chaining.

setChain(RowFilter.Chain value)

public RowFilter.Builder setChain(RowFilter.Chain value)

Applies several RowFilters to the data in sequence, progressively narrowing the results.

.google.bigtable.v2.RowFilter.Chain chain = 1;

Parameter
NameDescription
valueRowFilter.Chain
Returns
TypeDescription
RowFilter.Builder

setChain(RowFilter.Chain.Builder builderForValue)

public RowFilter.Builder setChain(RowFilter.Chain.Builder builderForValue)

Applies several RowFilters to the data in sequence, progressively narrowing the results.

.google.bigtable.v2.RowFilter.Chain chain = 1;

Parameter
NameDescription
builderForValueRowFilter.Chain.Builder
Returns
TypeDescription
RowFilter.Builder

setColumnQualifierRegexFilter(ByteString value)

public RowFilter.Builder setColumnQualifierRegexFilter(ByteString value)

Matches only cells from columns whose qualifiers satisfy the given RE2 regex. Note that, since column qualifiers can contain arbitrary bytes, the \C escape sequence must be used if a true wildcard is desired. The . character will not match the new line character \n, which may be present in a binary qualifier.

bytes column_qualifier_regex_filter = 6;

Parameter
NameDescription
valueByteString

The columnQualifierRegexFilter to set.

Returns
TypeDescription
RowFilter.Builder

This builder for chaining.

setColumnRangeFilter(ColumnRange value)

public RowFilter.Builder setColumnRangeFilter(ColumnRange value)

Matches only cells from columns within the given range.

.google.bigtable.v2.ColumnRange column_range_filter = 7;

Parameter
NameDescription
valueColumnRange
Returns
TypeDescription
RowFilter.Builder

setColumnRangeFilter(ColumnRange.Builder builderForValue)

public RowFilter.Builder setColumnRangeFilter(ColumnRange.Builder builderForValue)

Matches only cells from columns within the given range.

.google.bigtable.v2.ColumnRange column_range_filter = 7;

Parameter
NameDescription
builderForValueColumnRange.Builder
Returns
TypeDescription
RowFilter.Builder

setCondition(RowFilter.Condition value)

public RowFilter.Builder setCondition(RowFilter.Condition value)

Applies one of two possible RowFilters to the data based on the output of a predicate RowFilter.

.google.bigtable.v2.RowFilter.Condition condition = 3;

Parameter
NameDescription
valueRowFilter.Condition
Returns
TypeDescription
RowFilter.Builder

setCondition(RowFilter.Condition.Builder builderForValue)

public RowFilter.Builder setCondition(RowFilter.Condition.Builder builderForValue)

Applies one of two possible RowFilters to the data based on the output of a predicate RowFilter.

.google.bigtable.v2.RowFilter.Condition condition = 3;

Parameter
NameDescription
builderForValueRowFilter.Condition.Builder
Returns
TypeDescription
RowFilter.Builder

setFamilyNameRegexFilter(String value)

public RowFilter.Builder setFamilyNameRegexFilter(String value)

Matches only cells from columns whose families satisfy the given RE2 regex. For technical reasons, the regex must not contain the : character, even if it is not being used as a literal. Note that, since column families cannot contain the new line character \n, it is sufficient to use . as a full wildcard when matching column family names.

string family_name_regex_filter = 5;

Parameter
NameDescription
valueString

The familyNameRegexFilter to set.

Returns
TypeDescription
RowFilter.Builder

This builder for chaining.

setFamilyNameRegexFilterBytes(ByteString value)

public RowFilter.Builder setFamilyNameRegexFilterBytes(ByteString value)

Matches only cells from columns whose families satisfy the given RE2 regex. For technical reasons, the regex must not contain the : character, even if it is not being used as a literal. Note that, since column families cannot contain the new line character \n, it is sufficient to use . as a full wildcard when matching column family names.

string family_name_regex_filter = 5;

Parameter
NameDescription
valueByteString

The bytes for familyNameRegexFilter to set.

Returns
TypeDescription
RowFilter.Builder

This builder for chaining.

setField(Descriptors.FieldDescriptor field, Object value)

public RowFilter.Builder setField(Descriptors.FieldDescriptor field, Object value)
Parameters
NameDescription
fieldFieldDescriptor
valueObject
Returns
TypeDescription
RowFilter.Builder
Overrides

setInterleave(RowFilter.Interleave value)

public RowFilter.Builder setInterleave(RowFilter.Interleave value)

Applies several RowFilters to the data in parallel and combines the results.

.google.bigtable.v2.RowFilter.Interleave interleave = 2;

Parameter
NameDescription
valueRowFilter.Interleave
Returns
TypeDescription
RowFilter.Builder

setInterleave(RowFilter.Interleave.Builder builderForValue)

public RowFilter.Builder setInterleave(RowFilter.Interleave.Builder builderForValue)

Applies several RowFilters to the data in parallel and combines the results.

.google.bigtable.v2.RowFilter.Interleave interleave = 2;

Parameter
NameDescription
builderForValueRowFilter.Interleave.Builder
Returns
TypeDescription
RowFilter.Builder

setPassAllFilter(boolean value)

public RowFilter.Builder setPassAllFilter(boolean value)

Matches all cells, regardless of input. Functionally equivalent to leaving filter unset, but included for completeness.

bool pass_all_filter = 17;

Parameter
NameDescription
valueboolean

The passAllFilter to set.

Returns
TypeDescription
RowFilter.Builder

This builder for chaining.

setRepeatedField(Descriptors.FieldDescriptor field, int index, Object value)

public RowFilter.Builder setRepeatedField(Descriptors.FieldDescriptor field, int index, Object value)
Parameters
NameDescription
fieldFieldDescriptor
indexint
valueObject
Returns
TypeDescription
RowFilter.Builder
Overrides

setRowKeyRegexFilter(ByteString value)

public RowFilter.Builder setRowKeyRegexFilter(ByteString value)

Matches only cells from rows whose keys satisfy the given RE2 regex. In other words, passes through the entire row when the key matches, and otherwise produces an empty row. Note that, since row keys can contain arbitrary bytes, the \C escape sequence must be used if a true wildcard is desired. The . character will not match the new line character \n, which may be present in a binary key.

bytes row_key_regex_filter = 4;

Parameter
NameDescription
valueByteString

The rowKeyRegexFilter to set.

Returns
TypeDescription
RowFilter.Builder

This builder for chaining.

setRowSampleFilter(double value)

public RowFilter.Builder setRowSampleFilter(double value)

Matches all cells from a row with probability p, and matches no cells from the row with probability 1-p.

double row_sample_filter = 14;

Parameter
NameDescription
valuedouble

The rowSampleFilter to set.

Returns
TypeDescription
RowFilter.Builder

This builder for chaining.

setSink(boolean value)

public RowFilter.Builder setSink(boolean value)

ADVANCED USE ONLY. Hook for introspection into the RowFilter. Outputs all cells directly to the output of the read rather than to any parent filter. Consider the following example: Chain( FamilyRegex("A"), Interleave( All(), Chain(Label("foo"), Sink()) ), QualifierRegex("B") ) A,A,1,w A,B,2,x B,B,4,z | FamilyRegex("A") | A,A,1,w A,B,2,x | +------------+-------------+ | | All() Label(foo) | | A,A,1,w A,A,1,w,labels:[foo] A,B,2,x A,B,2,x,labels:[foo] | | | Sink() --------------+ | | | +------------+ x------+ A,A,1,w,labels:[foo] | A,B,2,x,labels:[foo] A,A,1,w | A,B,2,x | | | QualifierRegex("B") | | | A,B,2,x | | | +--------------------------------+ | A,A,1,w,labels:[foo] A,B,2,x,labels:[foo] // could be switched A,B,2,x // could be switched Despite being excluded by the qualifier filter, a copy of every cell that reaches the sink is present in the final result. As with an Interleave, duplicate cells are possible, and appear in an unspecified mutual order. In this case we have a duplicate with column "A:B" and timestamp 2, because one copy passed through the all filter while the other was passed through the label and sink. Note that one copy has label "foo", while the other does not. Cannot be used within the predicate_filter, true_filter, or false_filter of a Condition.

bool sink = 16;

Parameter
NameDescription
valueboolean

The sink to set.

Returns
TypeDescription
RowFilter.Builder

This builder for chaining.

setStripValueTransformer(boolean value)

public RowFilter.Builder setStripValueTransformer(boolean value)

Replaces each cell's value with the empty string.

bool strip_value_transformer = 13;

Parameter
NameDescription
valueboolean

The stripValueTransformer to set.

Returns
TypeDescription
RowFilter.Builder

This builder for chaining.

setTimestampRangeFilter(TimestampRange value)

public RowFilter.Builder setTimestampRangeFilter(TimestampRange value)

Matches only cells with timestamps within the given range.

.google.bigtable.v2.TimestampRange timestamp_range_filter = 8;

Parameter
NameDescription
valueTimestampRange
Returns
TypeDescription
RowFilter.Builder

setTimestampRangeFilter(TimestampRange.Builder builderForValue)

public RowFilter.Builder setTimestampRangeFilter(TimestampRange.Builder builderForValue)

Matches only cells with timestamps within the given range.

.google.bigtable.v2.TimestampRange timestamp_range_filter = 8;

Parameter
NameDescription
builderForValueTimestampRange.Builder
Returns
TypeDescription
RowFilter.Builder

setUnknownFields(UnknownFieldSet unknownFields)

public final RowFilter.Builder setUnknownFields(UnknownFieldSet unknownFields)
Parameter
NameDescription
unknownFieldsUnknownFieldSet
Returns
TypeDescription
RowFilter.Builder
Overrides

setValueRangeFilter(ValueRange value)

public RowFilter.Builder setValueRangeFilter(ValueRange value)

Matches only cells with values that fall within the given range.

.google.bigtable.v2.ValueRange value_range_filter = 15;

Parameter
NameDescription
valueValueRange
Returns
TypeDescription
RowFilter.Builder

setValueRangeFilter(ValueRange.Builder builderForValue)

public RowFilter.Builder setValueRangeFilter(ValueRange.Builder builderForValue)

Matches only cells with values that fall within the given range.

.google.bigtable.v2.ValueRange value_range_filter = 15;

Parameter
NameDescription
builderForValueValueRange.Builder
Returns
TypeDescription
RowFilter.Builder

setValueRegexFilter(ByteString value)

public RowFilter.Builder setValueRegexFilter(ByteString value)

Matches only cells with values that satisfy the given regular expression. Note that, since cell values can contain arbitrary bytes, the \C escape sequence must be used if a true wildcard is desired. The . character will not match the new line character \n, which may be present in a binary value.

bytes value_regex_filter = 9;

Parameter
NameDescription
valueByteString

The valueRegexFilter to set.

Returns
TypeDescription
RowFilter.Builder

This builder for chaining.