
sf.dsl.example.WithinGroup Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sorm Show documentation
Show all versions of sorm Show documentation
java jpa tool for spring
The newest version!
package sf.dsl.example;
import sf.database.dialect.DBDialect;
import sf.database.jdbc.sql.SQLParameter;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean;
public class WithinGroup extends SimpleField {
private static final String ORDER_BY = "order by ";
private SimpleField simpleField;
private final List orderBy = new LinkedList<>();
public WithinGroup(SimpleField simpleField) {
this.simpleField = simpleField;
}
public WithinGroup orderBy(OrderField orderBy) {
this.orderBy.add(orderBy);
return this;
}
public WithinGroup orderBy(OrderField... orderBy) {
Collections.addAll(this.orderBy, orderBy);
return this;
}
@Override
public void toConditionSql(StringBuilder sb, List list, AtomicBoolean useDefaultTableNameAlias, boolean useTablePrefix, DBDialect dialect) {
simpleField.toConditionSql(sb, list, useDefaultTableNameAlias, useTablePrefix, dialect);
sb.append(" within group (");
if (!orderBy.isEmpty()) {
sb.append(ORDER_BY);
boolean b = false;
for (OrderField orderField : orderBy) {
if (b) {
sb.append(",");
}
b = true;
orderField.toConditionSql(sb, list, useDefaultTableNameAlias, useTablePrefix, dialect);
}
}
sb.append(")");
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy