Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
http://markmail.org/message/cx7dzla46lcykkzq
An idea that I had while analyzing boilerplate code of the client Cayenne apps. An argument to Property.like(..) (or second argument to ExpressionFactory.likeExp(..)) requires a full pattern to match against. So people would often write their own utility code to wrap a String in "%" signs. Cayenne can easily take care of this via a few extra methods. In addition these new methods can do proper symbol escaping, making "like" much safer to use.
Property.contains(string); // same as Property.like("%" + string + "%");
Property.icontains(string); // case insensitive version
Property.startsWith(string); // same as Property.like(string + "%");
Property.istartsWith(string); // case insensitive version
Property.endsWith(string); // same as Property.like("%" + string);
Property.iendsWith(string); // case insensitive version