19
19
import com .google .firebase .firestore .core .FieldFilter .Operator ;
20
20
import java .util .Arrays ;
21
21
import java .util .List ;
22
+ import java .util .Objects ;
22
23
23
24
/**
24
25
* A {@code Filter} represents a restriction on one or more field values and can be used to refine
@@ -48,6 +49,26 @@ public Operator getOperator() {
48
49
public Object getValue () {
49
50
return value ;
50
51
}
52
+
53
+ @ Override
54
+ public boolean equals (Object o ) {
55
+ if (this == o ) return true ;
56
+ if (o == null || getClass () != o .getClass ()) return false ;
57
+
58
+ UnaryFilter that = (UnaryFilter ) o ;
59
+
60
+ return this .operator == that .operator
61
+ && Objects .equals (this .field , that .field )
62
+ && Objects .equals (this .value , that .value );
63
+ }
64
+
65
+ @ Override
66
+ public int hashCode () {
67
+ int result = field != null ? field .hashCode () : 0 ;
68
+ result = 31 * result + (operator != null ? operator .hashCode () : 0 );
69
+ result = 31 * result + (value != null ? value .hashCode () : 0 );
70
+ return result ;
71
+ }
51
72
}
52
73
53
74
static class CompositeFilter extends Filter {
@@ -68,6 +89,23 @@ public List<Filter> getFilters() {
68
89
public com .google .firebase .firestore .core .CompositeFilter .Operator getOperator () {
69
90
return operator ;
70
91
}
92
+
93
+ @ Override
94
+ public boolean equals (Object o ) {
95
+ if (this == o ) return true ;
96
+ if (o == null || getClass () != o .getClass ()) return false ;
97
+
98
+ CompositeFilter that = (CompositeFilter ) o ;
99
+
100
+ return this .operator == that .operator && Objects .equals (this .filters , that .filters );
101
+ }
102
+
103
+ @ Override
104
+ public int hashCode () {
105
+ int result = filters != null ? filters .hashCode () : 0 ;
106
+ result = 31 * result + (operator != null ? operator .hashCode () : 0 );
107
+ return result ;
108
+ }
71
109
}
72
110
73
111
/**
0 commit comments