cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John Huss (JIRA)" <>
Subject [jira] [Closed] (CAY-1724) Add 'Property' class for easier and better Expression creation
Date Sun, 15 Jul 2012 20:19:34 GMT


John Huss closed CAY-1724.

       Resolution: Fixed
    Fix Version/s: 3.2M1
> Add 'Property' class for easier and better Expression creation
> --------------------------------------------------------------
>                 Key: CAY-1724
>                 URL:
>             Project: Cayenne
>          Issue Type: Improvement
>          Components: Core Library
>    Affects Versions: 3.2M1
>            Reporter: John Huss
>            Assignee: John Huss
>            Priority: Minor
>              Labels: patch
>             Fix For: 3.2M1
>         Attachments:
> Project Wonder (WebObjects) has a class which is basically just a wrapper around an attribute
or relationship name that gives you a way to create Expressions in type-safe manner and with
minimal effort.  Also sort orderings can be easily generated.  In Wonder, these "property"
objects are part of the entity template so they are generated automatically.
> So for example:
> public class _Artist extends CayenneDataObject {
>     public static final Property<String> NAME = new Property<String>(NAME_PROPERTY);
> ...
> }
> Then client code can do things like:
> new SelectQuery(Artist.class, NAME.eq("Pablo").andExp(, AGE.descs());
> This would select all artists with name equal to Pablo and age greater than 40 and order
them in descending age order.
> This concept has been proven to work incredibly well with WebObjects.  It's almost as
readable as using plain strings but has complete compile-time checking for the property name
and the type of the objects it is compared with.
> A complete implementation is attached.  It's very simple since ExpressionFactory does
the work.  If this is accepted, it would make sense to modify the built-in entity templates
to generate Property constants for all of the properties.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message