CavalliumDBEngine/src/main/java/it/cavallium/dbengine/client/Sort.java

42 lines
1.1 KiB
Java
Raw Normal View History

2021-10-28 17:18:23 +02:00
package it.cavallium.dbengine.client;
2023-01-22 01:48:35 +01:00
import it.cavallium.dbengine.client.query.BaseType;
2021-10-28 17:18:23 +02:00
import it.cavallium.dbengine.client.query.current.data.DocSort;
import it.cavallium.dbengine.client.query.current.data.NoSort;
import it.cavallium.dbengine.client.query.current.data.NumericSort;
import it.cavallium.dbengine.client.query.current.data.RandomSort;
import it.cavallium.dbengine.client.query.current.data.ScoreSort;
import org.jetbrains.annotations.NotNull;
public record Sort(@NotNull it.cavallium.dbengine.client.query.current.data.Sort querySort) {
public boolean isSorted() {
2023-01-22 01:48:35 +01:00
return querySort.getBaseType$() != BaseType.NoSort;
2021-10-28 17:18:23 +02:00
}
public static Sort random() {
return new Sort(RandomSort.of());
}
public static Sort score() {
return new Sort(ScoreSort.of());
}
public static Sort no() {
return new Sort(NoSort.of());
}
public static Sort doc() {
return new Sort(DocSort.of());
}
public static Sort numeric(String field, boolean reverse) {
return new Sort(NumericSort.of(field, reverse));
}
@Override
public String toString() {
return querySort.toString();
}
}