package com.megatim.fdxcommons.tools.database.queries; import java.util.List; import java.util.stream.IntStream; /** * * @author Gabuntu */ public class GroupByQuery { private final List groupingColumns; public GroupByQuery(List 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(); } }