You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by "Andrus Adamchik (JIRA)" <ji...@apache.org> on 2014/11/22 12:53:33 UTC
[jira] [Commented] (CAY-1971) Variants of Property.like(..) :
contains(..), startsWith(..), endsWith(..)
[ 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)