[ https://issues.apache.org/jira/browse/CAY-1971?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14221939#comment-14221939 ]
Andrus Adamchik commented on CAY-1971: -------------------------------------- as part of this task, generic type of the argument of all 'like' methods in Property will be changed from <E> to String. As "LIKE" operation only applies to Strings. > Variants of Property.like(..) : contains(..), startsWith(..), endsWith(..) > -------------------------------------------------------------------------- > > Key: CAY-1971 > URL: https://issues.apache.org/jira/browse/CAY-1971 > Project: Cayenne > Issue Type: Improvement > Reporter: Andrus Adamchik > Assignee: Andrus Adamchik > Fix For: 4.0.M2 > > > 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.containsInsensitive(string); > Property.startsWith(string); // same as Property.like(string + "%"); > Property.startsWithInsensitive(string); > Property.endsWith(string); // same as Property.like("%" + string); > Property.endsWithInsensitive(string); -- This message was sent by Atlassian JIRA (v6.3.4#6332)