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 15:44:33 UTC

[jira] [Closed] (CAY-1971) Variants of Property.like(..) : contains(..), startsWith(..), endsWith(..)

     [ https://issues.apache.org/jira/browse/CAY-1971?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrus Adamchik closed CAY-1971.
--------------------------------
    Resolution: Fixed

> 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.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



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)