2933 |
14 Nov 14 |
olle |
1 |
package net.sf.basedb.meludi.query; |
2933 |
14 Nov 14 |
olle |
2 |
|
2933 |
14 Nov 14 |
olle |
3 |
import java.util.Collection; |
2933 |
14 Nov 14 |
olle |
4 |
import java.util.Collections; |
2933 |
14 Nov 14 |
olle |
5 |
|
2933 |
14 Nov 14 |
olle |
6 |
import net.sf.basedb.core.BaseException; |
2933 |
14 Nov 14 |
olle |
7 |
import net.sf.basedb.core.DbControl; |
2933 |
14 Nov 14 |
olle |
8 |
import net.sf.basedb.core.query.Expression; |
2933 |
14 Nov 14 |
olle |
9 |
import net.sf.basedb.core.query.Query; |
2933 |
14 Nov 14 |
olle |
10 |
import net.sf.basedb.core.query.QueryElement; |
2933 |
14 Nov 14 |
olle |
11 |
import net.sf.basedb.util.EqualsHelper; |
2933 |
14 Nov 14 |
olle |
12 |
|
2933 |
14 Nov 14 |
olle |
13 |
/** |
2933 |
14 Nov 14 |
olle |
Expression that converts a string value to lowercase. |
2933 |
14 Nov 14 |
olle |
@author nicklas |
2933 |
14 Nov 14 |
olle |
@since 2.15 |
2933 |
14 Nov 14 |
olle |
17 |
*/ |
2933 |
14 Nov 14 |
olle |
18 |
public class LowerExpression |
2933 |
14 Nov 14 |
olle |
19 |
implements Expression |
2933 |
14 Nov 14 |
olle |
20 |
{ |
2933 |
14 Nov 14 |
olle |
21 |
|
2933 |
14 Nov 14 |
olle |
22 |
private final Expression e; |
2933 |
14 Nov 14 |
olle |
23 |
|
2933 |
14 Nov 14 |
olle |
24 |
public LowerExpression(Expression e) |
2933 |
14 Nov 14 |
olle |
25 |
{ |
2933 |
14 Nov 14 |
olle |
26 |
this.e = e; |
2933 |
14 Nov 14 |
olle |
27 |
} |
2933 |
14 Nov 14 |
olle |
28 |
|
2933 |
14 Nov 14 |
olle |
29 |
@Override |
2933 |
14 Nov 14 |
olle |
30 |
public String toQl(Query query, DbControl dc) |
2933 |
14 Nov 14 |
olle |
31 |
throws BaseException |
2933 |
14 Nov 14 |
olle |
32 |
{ |
2933 |
14 Nov 14 |
olle |
33 |
return "lower("+e.toQl(query, dc) + ")"; |
2933 |
14 Nov 14 |
olle |
34 |
} |
2933 |
14 Nov 14 |
olle |
35 |
|
2933 |
14 Nov 14 |
olle |
36 |
@Override |
2933 |
14 Nov 14 |
olle |
37 |
public Collection<? extends QueryElement> getChildren() |
2933 |
14 Nov 14 |
olle |
38 |
{ |
2933 |
14 Nov 14 |
olle |
39 |
return Collections.singleton(e); |
2933 |
14 Nov 14 |
olle |
40 |
} |
2933 |
14 Nov 14 |
olle |
41 |
|
2933 |
14 Nov 14 |
olle |
42 |
@Override |
2933 |
14 Nov 14 |
olle |
43 |
public String toString() |
2933 |
14 Nov 14 |
olle |
44 |
{ |
2933 |
14 Nov 14 |
olle |
45 |
return "lower(" + e + ")"; |
2933 |
14 Nov 14 |
olle |
46 |
} |
2933 |
14 Nov 14 |
olle |
47 |
|
2933 |
14 Nov 14 |
olle |
48 |
/** |
2933 |
14 Nov 14 |
olle |
This expression is equal to another LowerExpression if their |
2933 |
14 Nov 14 |
olle |
child expressions are equal. |
2933 |
14 Nov 14 |
olle |
51 |
*/ |
2933 |
14 Nov 14 |
olle |
52 |
@Override |
2933 |
14 Nov 14 |
olle |
53 |
public boolean equals(Object other) |
2933 |
14 Nov 14 |
olle |
54 |
{ |
2933 |
14 Nov 14 |
olle |
55 |
if (this == other) return true; |
2933 |
14 Nov 14 |
olle |
56 |
if ((other == null) || (super.getClass() != other.getClass())) return false; |
2933 |
14 Nov 14 |
olle |
57 |
LowerExpression o = (LowerExpression)other; |
2933 |
14 Nov 14 |
olle |
58 |
return EqualsHelper.equals(e, o.e); |
2933 |
14 Nov 14 |
olle |
59 |
} |
2933 |
14 Nov 14 |
olle |
60 |
|
2933 |
14 Nov 14 |
olle |
61 |
@Override |
2933 |
14 Nov 14 |
olle |
62 |
public int hashCode() |
2933 |
14 Nov 14 |
olle |
63 |
{ |
2933 |
14 Nov 14 |
olle |
64 |
return EqualsHelper.hashCode(e) + getClass().hashCode(); |
2933 |
14 Nov 14 |
olle |
65 |
} |
2933 |
14 Nov 14 |
olle |
66 |
} |