package com.megatim.fdxcommons.tools.database.queries;
|
|
import java.util.List;
|
import java.util.stream.IntStream;
|
|
/**
|
*
|
* @author Gabuntu
|
*/
|
public class GroupByQuery {
|
|
private final List<String> groupingColumns;
|
|
public GroupByQuery(List<String> groupingColumns) {
|
this.groupingColumns = groupingColumns;
|
}
|
|
public String query() {
|
StringBuilder query = new StringBuilder("");
|
if (!groupingColumns.isEmpty()) {
|
query
|
.append(" GROUP BY ")
|
.append(buildQuery());
|
}
|
return query.toString();
|
}
|
|
private String buildQuery() {
|
StringBuilder query = new StringBuilder();
|
|
int size = groupingColumns.size();
|
IntStream.range(0, size).forEach(index -> {
|
String column = groupingColumns.get(index);
|
query.append(column);
|
if ((index + 1) < size) {
|
query.append(",");
|
}
|
});
|
|
return query.toString();
|
}
|
}
|