You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cayenne.apache.org by Andrus Adamchik <an...@objectstyle.org> on 2013/08/01 19:21:23 UTC

Re: svn commit: r1509274 - /cayenne/main/trunk/framework/cayenne-core-unpublished/src/main/java/org/apache/cayenne/query/SelectQuery.java

Not that I have any objections, but I am wondering what good does it do for you to subclass Ordering?

Andrus


On Aug 1, 2013, at 6:03 PM, johnthuss@apache.org wrote:

> Author: johnthuss
> Date: Thu Aug  1 15:03:33 2013
> New Revision: 1509274
> 
> URL: http://svn.apache.org/r1509274
> Log:
> Allow an Ordering subclass to be used where Ordering is accepted
> 
> Modified:
>    cayenne/main/trunk/framework/cayenne-core-unpublished/src/main/java/org/apache/cayenne/query/SelectQuery.java
> 
> Modified: cayenne/main/trunk/framework/cayenne-core-unpublished/src/main/java/org/apache/cayenne/query/SelectQuery.java
> URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-core-unpublished/src/main/java/org/apache/cayenne/query/SelectQuery.java?rev=1509274&r1=1509273&r2=1509274&view=diff
> ==============================================================================
> --- cayenne/main/trunk/framework/cayenne-core-unpublished/src/main/java/org/apache/cayenne/query/SelectQuery.java (original)
> +++ cayenne/main/trunk/framework/cayenne-core-unpublished/src/main/java/org/apache/cayenne/query/SelectQuery.java Thu Aug  1 15:03:33 2013
> @@ -91,7 +91,7 @@ public class SelectQuery<T> extends Qual
>      * 
>      * @since 3.2
>      */
> -    public static <T> SelectQuery<T> query(Class<T> rootClass, Expression qualifier, List<Ordering> orderings) {
> +    public static <T> SelectQuery<T> query(Class<T> rootClass, Expression qualifier, List<? extends Ordering> orderings) {
>         return new SelectQuery<T>(rootClass, qualifier, orderings);
>     }
> 
> @@ -173,7 +173,7 @@ public class SelectQuery<T> extends Qual
>      *            defines how to order the results, may be null.
>      * @since 3.1
>      */
> -    public SelectQuery(ObjEntity root, Expression qualifier, List<Ordering> orderings) {
> +    public SelectQuery(ObjEntity root, Expression qualifier, List<? extends Ordering> orderings) {
>         this();
>         this.init(root, qualifier);
>         addOrderings(orderings);
> @@ -215,7 +215,7 @@ public class SelectQuery<T> extends Qual
>      *            defines how to order the results, may be null.
>      * @since 3.1
>      */
> -    public SelectQuery(Class<T> rootClass, Expression qualifier, List<Ordering> orderings) {
> +    public SelectQuery(Class<T> rootClass, Expression qualifier, List<? extends Ordering> orderings) {
>         init(rootClass, qualifier);
>         addOrderings(orderings);
>     }
> @@ -257,7 +257,7 @@ public class SelectQuery<T> extends Qual
>      *            defines how to order the results, may be null.
>      * @since 3.1
>      */
> -    public SelectQuery(DbEntity root, Expression qualifier, List<Ordering> orderings) {
> +    public SelectQuery(DbEntity root, Expression qualifier, List<? extends Ordering> orderings) {
>         this();
>         this.init(root, qualifier);
>         addOrderings(orderings);
> @@ -290,7 +290,7 @@ public class SelectQuery<T> extends Qual
>      *            defines how to order the results, may be null.
>      * @since 3.1
>      */
> -    public SelectQuery(String objEntityName, Expression qualifier, List<Ordering> orderings) {
> +    public SelectQuery(String objEntityName, Expression qualifier, List<? extends Ordering> orderings) {
>         init(objEntityName, qualifier);
>         addOrderings(orderings);
>     }
> @@ -497,7 +497,7 @@ public class SelectQuery<T> extends Qual
>     /**
>      * Adds a list of orderings.
>      */
> -    public void addOrderings(List<Ordering> orderings) {
> +    public void addOrderings(List<? extends Ordering> orderings) {
>         // If the supplied list of orderings is null, do not attempt to add
>         // to the collection (addAll() will NPE otherwise).
>         if (orderings != null)
> 
> 
> 


Re: svn commit: r1509274 - /cayenne/main/trunk/framework/cayenne-core-unpublished/src/main/java/org/apache/cayenne/query/SelectQuery.java

Posted by Hugi Thordarson <hu...@karlmenn.is>.
…Hugi still uses that subclass—and is still a WO guy :). The class in question is rather simple and really just a Cayenne-ized version of ERXSortOrdering. Quite convenient.

https://bitbucket.org/hugi/jambalaya/src/4a0b939d5a4e5d82f124cc46439a4cd6803efcd1/src/main/java/com/eplica/jambalaya/ChainableOrdering.java

- hugi


On 1.8.2013, at 18:47, John Huss <jo...@gmail.com> wrote:

> I'm not using it right now, but a good while ago Hugi, a former WO guy, posted a subclass called ChainableOrdering that added a few methods that provided a more fluent API for combining Orderings.  I had changed Ordering.orderList to accept subclasses, but not SelectQuery, so it seemed good to make it consistent as well.  Anyway, you never know what someone might come up with.
> 
> 
> On Thu, Aug 1, 2013 at 12:21 PM, Andrus Adamchik <an...@objectstyle.org> wrote:
> Not that I have any objections, but I am wondering what good does it do for you to subclass Ordering?
> 
> Andrus
> 
> 
> On Aug 1, 2013, at 6:03 PM, johnthuss@apache.org wrote:
> 
> > Author: johnthuss
> > Date: Thu Aug  1 15:03:33 2013
> > New Revision: 1509274
> >
> > URL: http://svn.apache.org/r1509274
> > Log:
> > Allow an Ordering subclass to be used where Ordering is accepted
> >
> > Modified:
> >    cayenne/main/trunk/framework/cayenne-core-unpublished/src/main/java/org/apache/cayenne/query/SelectQuery.java
> >
> > Modified: cayenne/main/trunk/framework/cayenne-core-unpublished/src/main/java/org/apache/cayenne/query/SelectQuery.java
> > URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-core-unpublished/src/main/java/org/apache/cayenne/query/SelectQuery.java?rev=1509274&r1=1509273&r2=1509274&view=diff
> > ==============================================================================
> > --- cayenne/main/trunk/framework/cayenne-core-unpublished/src/main/java/org/apache/cayenne/query/SelectQuery.java (original)
> > +++ cayenne/main/trunk/framework/cayenne-core-unpublished/src/main/java/org/apache/cayenne/query/SelectQuery.java Thu Aug  1 15:03:33 2013
> > @@ -91,7 +91,7 @@ public class SelectQuery<T> extends Qual
> >      *
> >      * @since 3.2
> >      */
> > -    public static <T> SelectQuery<T> query(Class<T> rootClass, Expression qualifier, List<Ordering> orderings) {
> > +    public static <T> SelectQuery<T> query(Class<T> rootClass, Expression qualifier, List<? extends Ordering> orderings) {
> >         return new SelectQuery<T>(rootClass, qualifier, orderings);
> >     }
> >
> > @@ -173,7 +173,7 @@ public class SelectQuery<T> extends Qual
> >      *            defines how to order the results, may be null.
> >      * @since 3.1
> >      */
> > -    public SelectQuery(ObjEntity root, Expression qualifier, List<Ordering> orderings) {
> > +    public SelectQuery(ObjEntity root, Expression qualifier, List<? extends Ordering> orderings) {
> >         this();
> >         this.init(root, qualifier);
> >         addOrderings(orderings);
> > @@ -215,7 +215,7 @@ public class SelectQuery<T> extends Qual
> >      *            defines how to order the results, may be null.
> >      * @since 3.1
> >      */
> > -    public SelectQuery(Class<T> rootClass, Expression qualifier, List<Ordering> orderings) {
> > +    public SelectQuery(Class<T> rootClass, Expression qualifier, List<? extends Ordering> orderings) {
> >         init(rootClass, qualifier);
> >         addOrderings(orderings);
> >     }
> > @@ -257,7 +257,7 @@ public class SelectQuery<T> extends Qual
> >      *            defines how to order the results, may be null.
> >      * @since 3.1
> >      */
> > -    public SelectQuery(DbEntity root, Expression qualifier, List<Ordering> orderings) {
> > +    public SelectQuery(DbEntity root, Expression qualifier, List<? extends Ordering> orderings) {
> >         this();
> >         this.init(root, qualifier);
> >         addOrderings(orderings);
> > @@ -290,7 +290,7 @@ public class SelectQuery<T> extends Qual
> >      *            defines how to order the results, may be null.
> >      * @since 3.1
> >      */
> > -    public SelectQuery(String objEntityName, Expression qualifier, List<Ordering> orderings) {
> > +    public SelectQuery(String objEntityName, Expression qualifier, List<? extends Ordering> orderings) {
> >         init(objEntityName, qualifier);
> >         addOrderings(orderings);
> >     }
> > @@ -497,7 +497,7 @@ public class SelectQuery<T> extends Qual
> >     /**
> >      * Adds a list of orderings.
> >      */
> > -    public void addOrderings(List<Ordering> orderings) {
> > +    public void addOrderings(List<? extends Ordering> orderings) {
> >         // If the supplied list of orderings is null, do not attempt to add
> >         // to the collection (addAll() will NPE otherwise).
> >         if (orderings != null)
> >
> >
> >
> 
> 


Re: svn commit: r1509274 - /cayenne/main/trunk/framework/cayenne-core-unpublished/src/main/java/org/apache/cayenne/query/SelectQuery.java

Posted by John Huss <jo...@gmail.com>.
I'm not using it right now, but a good while ago Hugi, a former WO guy,
posted a subclass called ChainableOrdering that added a few methods that
provided a more fluent API for combining Orderings.  I had changed
Ordering.orderList to accept subclasses, but not SelectQuery, so it seemed
good to make it consistent as well.  Anyway, you never know what someone
might come up with.


On Thu, Aug 1, 2013 at 12:21 PM, Andrus Adamchik <an...@objectstyle.org>wrote:

> Not that I have any objections, but I am wondering what good does it do
> for you to subclass Ordering?
>
> Andrus
>
>
> On Aug 1, 2013, at 6:03 PM, johnthuss@apache.org wrote:
>
> > Author: johnthuss
> > Date: Thu Aug  1 15:03:33 2013
> > New Revision: 1509274
> >
> > URL: http://svn.apache.org/r1509274
> > Log:
> > Allow an Ordering subclass to be used where Ordering is accepted
> >
> > Modified:
> >
>  cayenne/main/trunk/framework/cayenne-core-unpublished/src/main/java/org/apache/cayenne/query/SelectQuery.java
> >
> > Modified:
> cayenne/main/trunk/framework/cayenne-core-unpublished/src/main/java/org/apache/cayenne/query/SelectQuery.java
> > URL:
> http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-core-unpublished/src/main/java/org/apache/cayenne/query/SelectQuery.java?rev=1509274&r1=1509273&r2=1509274&view=diff
> >
> ==============================================================================
> > ---
> cayenne/main/trunk/framework/cayenne-core-unpublished/src/main/java/org/apache/cayenne/query/SelectQuery.java
> (original)
> > +++
> cayenne/main/trunk/framework/cayenne-core-unpublished/src/main/java/org/apache/cayenne/query/SelectQuery.java
> Thu Aug  1 15:03:33 2013
> > @@ -91,7 +91,7 @@ public class SelectQuery<T> extends Qual
> >      *
> >      * @since 3.2
> >      */
> > -    public static <T> SelectQuery<T> query(Class<T> rootClass,
> Expression qualifier, List<Ordering> orderings) {
> > +    public static <T> SelectQuery<T> query(Class<T> rootClass,
> Expression qualifier, List<? extends Ordering> orderings) {
> >         return new SelectQuery<T>(rootClass, qualifier, orderings);
> >     }
> >
> > @@ -173,7 +173,7 @@ public class SelectQuery<T> extends Qual
> >      *            defines how to order the results, may be null.
> >      * @since 3.1
> >      */
> > -    public SelectQuery(ObjEntity root, Expression qualifier,
> List<Ordering> orderings) {
> > +    public SelectQuery(ObjEntity root, Expression qualifier, List<?
> extends Ordering> orderings) {
> >         this();
> >         this.init(root, qualifier);
> >         addOrderings(orderings);
> > @@ -215,7 +215,7 @@ public class SelectQuery<T> extends Qual
> >      *            defines how to order the results, may be null.
> >      * @since 3.1
> >      */
> > -    public SelectQuery(Class<T> rootClass, Expression qualifier,
> List<Ordering> orderings) {
> > +    public SelectQuery(Class<T> rootClass, Expression qualifier, List<?
> extends Ordering> orderings) {
> >         init(rootClass, qualifier);
> >         addOrderings(orderings);
> >     }
> > @@ -257,7 +257,7 @@ public class SelectQuery<T> extends Qual
> >      *            defines how to order the results, may be null.
> >      * @since 3.1
> >      */
> > -    public SelectQuery(DbEntity root, Expression qualifier,
> List<Ordering> orderings) {
> > +    public SelectQuery(DbEntity root, Expression qualifier, List<?
> extends Ordering> orderings) {
> >         this();
> >         this.init(root, qualifier);
> >         addOrderings(orderings);
> > @@ -290,7 +290,7 @@ public class SelectQuery<T> extends Qual
> >      *            defines how to order the results, may be null.
> >      * @since 3.1
> >      */
> > -    public SelectQuery(String objEntityName, Expression qualifier,
> List<Ordering> orderings) {
> > +    public SelectQuery(String objEntityName, Expression qualifier,
> List<? extends Ordering> orderings) {
> >         init(objEntityName, qualifier);
> >         addOrderings(orderings);
> >     }
> > @@ -497,7 +497,7 @@ public class SelectQuery<T> extends Qual
> >     /**
> >      * Adds a list of orderings.
> >      */
> > -    public void addOrderings(List<Ordering> orderings) {
> > +    public void addOrderings(List<? extends Ordering> orderings) {
> >         // If the supplied list of orderings is null, do not attempt to
> add
> >         // to the collection (addAll() will NPE otherwise).
> >         if (orderings != null)
> >
> >
> >
>
>