No Operation Expression for Filter Pattern

No Operation Expression for Filter Pattern

Sometimes, it is necessary to conditionally build a filter. To avoid writing complex code that calls different methods on PipelineStage depending on whether a filter needs to be added, users can use a no-operation (noop) expression. This approach simplifies the code and improves readability.

Code

protected Expression buildQueryExpression(Table table, String customerType, Integer revenueTotal) { Exprs exprs = api.queryApi().exprs() List<Expression> expressions = [] if (customerType) { expressions += table.getAt("CustomerType").equal(customerType) } if (revenueTotal) { expressions += table.getAt("Revenue").lessThan(revenueTotal) } return expressions ? exprs.and(*expressions) : exprs.bool(true)

 

Found an issue in documentation? Write to us.