java.lang.Object
org.josql.expressions.Expression
org.josql.expressions.BinaryExpression
org.josql.expressions.LikeExpression
- public class LikeExpression
- extends BinaryExpression
Represents a LHS [ NOT ] [ $ ] LIKE RHS expression.
It should be noted that unlike "normal" SQL the "." character is not supported since in
practice it tends to be redundant.
It is possible to use: $ in front of the "LIKE" to indicate that a case insensitive
comparison should be performed, for example:
SELECT *
FROM java.lang.String
WHERE toString $LIKE '%value'
Also, the LHS or RHS can be built up using the "+" operator to concatenate a string, thus:
SELECT *
FROM java.lang.String
WHREE toString $LIKE '%' + :myValue
In this way (using the named bind variable) you don't have to provide
the wildcard.
It is also possible to specify your own "wildcard" character in the Query object using:
Query.setWildcardCharacter(char)>Query.setWildcardCharacter(char) 55 .
Note: the implementation is a modified version of that provided by: Kevin Stannard
(http://www.jzoo.com/java/wildcardfilter/).
Last Modified By: $Author: barrygently $
Last Modified On: $Date: 2005/04/28 05:48:59 $
Current Revision: $Revision: 1.5 $
| Fields inherited from class org.josql.expressions.Expression |
|
not
private boolean not
ignoreCase
private boolean ignoreCase
pattern
private java.util.List pattern
LikeExpression
public LikeExpression()
isIgnoreCase
public boolean isIgnoreCase()
init
public void init(org.josql.Query q)
throws org.josql.QueryParseException
- Init the expression, we over-ride here so that if the RHS is fixed we can
init the pattern that will be used to match the expression.
- Overrides:
init in class BinaryExpression
setIgnoreCase
public void setIgnoreCase(boolean v)
isNot
public boolean isNot()
setNot
public void setNot(boolean v)
isTrue
public boolean isTrue(java.lang.Object o,
org.josql.Query q)
throws org.josql.QueryExecutionException
- Returns whether the LHS is "LIKE" the RHS.
A special case here is that if the LHS and RHS are both
null then true
is returned. Also, if either the LHS or RHS is not null and one is null then false
is returned.
- Specified by:
isTrue in class Expression
toString
public java.lang.String toString()
- Returns a string version of the expression.
Returns in the form:
Expression 55 [ NOT ] [ $ ]LIKE Expression 55
- Specified by:
toString in class Expression