[#1841] Add SortField Field.sort(SortOrder) to allow for dynamic sorting

This commit is contained in:
Lukas Eder 2012-09-24 21:51:07 +02:00
parent 58fa624c81
commit 8f53755f94
2 changed files with 22 additions and 2 deletions

View File

@ -167,6 +167,9 @@ public interface Field<T> extends NamedTypeProviderQueryPart<T>, AliasProvider<F
/**
* Create an ascending sort field from this field
* <p>
* 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<T> extends NamedTypeProviderQueryPart<T>, AliasProvider<F
/**
* Create a descending sort field from this field
* <p>
* This is the same as calling {@link #sort(SortOrder)} with
* {@link SortOrder#DESC}
*
* @return This field as a descending sort field
*/
@Support
SortField<T> 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<T> sort(SortOrder order);
/**
* Create a sort field of the form <code><pre>
* CASE [this] WHEN [sortList.get(0)] THEN 0

View File

@ -139,12 +139,17 @@ abstract class AbstractField<T> extends AbstractNamedTypeProviderQueryPart<T> im
@Override
public final SortField<T> asc() {
return new SortFieldImpl<T>(this, SortOrder.ASC);
return sort(SortOrder.ASC);
}
@Override
public final SortField<T> desc() {
return new SortFieldImpl<T>(this, SortOrder.DESC);
return sort(SortOrder.DESC);
}
@Override
public final SortField<T> sort(SortOrder order) {
return new SortFieldImpl<T>(this, order);
}
@Override