diff --git a/jOOQ/src/main/java/org/jooq/Field.java b/jOOQ/src/main/java/org/jooq/Field.java index 2621b1dd42..36dc68a5b9 100644 --- a/jOOQ/src/main/java/org/jooq/Field.java +++ b/jOOQ/src/main/java/org/jooq/Field.java @@ -38,7 +38,6 @@ package org.jooq; import java.math.BigDecimal; import java.util.Collection; -import java.util.List; import java.util.Map; import org.jooq.impl.Factory; @@ -56,13 +55,20 @@ public interface Field extends NamedTypeProviderQueryPart, AliasProvider + * The name is any of these: + *
    + *
  • The formal name of the field, if it is a physical table/view field
  • + *
  • The alias of an aliased field
  • + *
  • A generated / unspecified value for any other expression
  • + *
*/ @Override String getName(); /** - * The type of the field + * The Java type of the field. */ @Override Class getType(); @@ -137,14 +143,14 @@ public interface Field extends NamedTypeProviderQueryPart, AliasProvider asc(); /** - * Create a descending sort field from this + * Create a descending sort field from this field * * @return This field as a descending sort field */ @@ -167,7 +173,7 @@ public interface Field extends NamedTypeProviderQueryPart, AliasProvider sortAsc(List sortList); + SortField sortAsc(Collection sortList); /** * Create a sort field of the form
@@ -205,7 +211,7 @@ public interface Field extends NamedTypeProviderQueryPart, AliasProvider sortDesc(List sortList);
+    SortField sortDesc(Collection sortList);
 
     /**
      * Create a sort field of the form 
diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractField.java b/jOOQ/src/main/java/org/jooq/impl/AbstractField.java
index f782c949b0..2c1e2f2ec9 100644
--- a/jOOQ/src/main/java/org/jooq/impl/AbstractField.java
+++ b/jOOQ/src/main/java/org/jooq/impl/AbstractField.java
@@ -140,11 +140,12 @@ abstract class AbstractField extends AbstractNamedTypeProviderQueryPart im
     }
 
     @Override
-    public final SortField sortAsc(List sortList) {
+    public final SortField sortAsc(Collection sortList) {
         Map map = new LinkedHashMap();
 
-        for (int i = 0; i < sortList.size(); i++) {
-            map.put(sortList.get(i), i);
+        int i = 0;
+        for (T value : sortList) {
+            map.put(value, i++);
         }
 
         return sort(map);
@@ -156,11 +157,12 @@ abstract class AbstractField extends AbstractNamedTypeProviderQueryPart im
     }
 
     @Override
-    public final SortField sortDesc(List sortList) {
+    public final SortField sortDesc(Collection sortList) {
         Map map = new LinkedHashMap();
 
-        for (int i = 0; i < sortList.size(); i++) {
-            map.put(sortList.get(i), -i);
+        int i = 0;
+        for (T value : sortList) {
+            map.put(value, i--);
         }
 
         return sort(map);