From 8f53755f94d3cc44a46191b8bc551a7d9b2fdbef Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Mon, 24 Sep 2012 21:51:07 +0200 Subject: [PATCH] [#1841] Add SortField Field.sort(SortOrder) to allow for dynamic sorting --- jOOQ/src/main/java/org/jooq/Field.java | 15 +++++++++++++++ .../main/java/org/jooq/impl/AbstractField.java | 9 +++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/Field.java b/jOOQ/src/main/java/org/jooq/Field.java index be50cac9ae..8f7c468c57 100644 --- a/jOOQ/src/main/java/org/jooq/Field.java +++ b/jOOQ/src/main/java/org/jooq/Field.java @@ -167,6 +167,9 @@ public interface Field extends NamedTypeProviderQueryPart, AliasProvider + * This is the same as calling {@link #sort(SortOrder)} with + * {@link SortOrder#ASC} * * @return This field as an ascending sort field */ @@ -175,12 +178,24 @@ public interface Field extends NamedTypeProviderQueryPart, AliasProvider + * This is the same as calling {@link #sort(SortOrder)} with + * {@link SortOrder#DESC} * * @return This field as a descending sort field */ @Support SortField desc(); + /** + * Create an ascending/descending sort field from this field + * + * @param order The sort order + * @return This field as an ascending/descending sort field. + */ + @Support + SortField sort(SortOrder order); + /** * Create a sort field of the form
      * CASE [this] WHEN [sortList.get(0)] THEN 0
diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractField.java b/jOOQ/src/main/java/org/jooq/impl/AbstractField.java
index c03b00774a..3371f315ab 100644
--- a/jOOQ/src/main/java/org/jooq/impl/AbstractField.java
+++ b/jOOQ/src/main/java/org/jooq/impl/AbstractField.java
@@ -139,12 +139,17 @@ abstract class AbstractField extends AbstractNamedTypeProviderQueryPart im
 
     @Override
     public final SortField asc() {
-        return new SortFieldImpl(this, SortOrder.ASC);
+        return sort(SortOrder.ASC);
     }
 
     @Override
     public final SortField desc() {
-        return new SortFieldImpl(this, SortOrder.DESC);
+        return sort(SortOrder.DESC);
+    }
+
+    @Override
+    public final SortField sort(SortOrder order) {
+        return new SortFieldImpl(this, order);
     }
 
     @Override