Another API idea that I just 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 the following methods:


Property.contains(string);
// same as Property.like("%" + string + "%");

Property.startsWith(string);
// same as Property.like(string + "%");

Property.endsWith(string);
// same as Property.like("%" + string);

In addition to saving the user from String concatenation, these new methods can 
do proper symbol escaping, making "like" much safer to use.

Andrus

Reply via email to