Criteria.where(Condition) will support the construction of dynamic where clauses.
val noCondition = Conditions.just("1 = 1")
val condition = noCondition.and("name = :name").or(...)
client.select()
.from("table")
.matching(Criteria.where(condition))
.fetch()