From 32fb404ef3d99eb4aa9bc5e25e083bc13f5972dc Mon Sep 17 00:00:00 2001 From: vlad Date: Tue, 27 Feb 2018 23:54:23 -0800 Subject: Moved findEqFilter here --- .../scala/xyz/driver/restquery/query/SearchFilterExpr.scala | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main/scala/xyz/driver/restquery/query/SearchFilterExpr.scala b/src/main/scala/xyz/driver/restquery/query/SearchFilterExpr.scala index 8cbf685..ca631fc 100644 --- a/src/main/scala/xyz/driver/restquery/query/SearchFilterExpr.scala +++ b/src/main/scala/xyz/driver/restquery/query/SearchFilterExpr.scala @@ -1,8 +1,21 @@ package xyz.driver.restquery.query +import xyz.driver.restquery.query.SearchFilterBinaryOperation.Eq +import xyz.driver.restquery.query.SearchFilterExpr.{Atom, Dimension} + sealed trait SearchFilterExpr { def find(p: SearchFilterExpr => Boolean): Option[SearchFilterExpr] def replace(f: PartialFunction[SearchFilterExpr, SearchFilterExpr]): SearchFilterExpr + + def findEqFilter(fieldName: String): Option[SearchFilterExpr] = + findEqFilter(Dimension(None, fieldName)) + + def findEqFilter(dimension: Dimension): Option[SearchFilterExpr] = { + this.find { + case Atom.Binary(`dimension`, Eq, _) => true + case _ => false + } + } } object SearchFilterExpr { -- cgit v1.2.3