Uploaded image for project: 'Cayenne'
  1. Cayenne
  2. CAY-1971

Variants of Property.like(..) : contains(..), startsWith(..), endsWith(..)

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 4.0.M2
    • 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

      Attachments

        Activity

          People

            andrus Andrus Adamchik
            andrus Andrus Adamchik
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: