diff --git a/querydsl-core/src/main/java/com/querydsl/core/group/GMap.java b/querydsl-core/src/main/java/com/querydsl/core/group/GMap.java index 787d31e4b..fd41197f7 100644 --- a/querydsl-core/src/main/java/com/querydsl/core/group/GMap.java +++ b/querydsl-core/src/main/java/com/querydsl/core/group/GMap.java @@ -21,7 +21,7 @@ import com.mysema.commons.lang.Pair; * @param * @param */ -abstract class GMap extends AbstractGroupExpression, Map> { +abstract class GMap> extends AbstractGroupExpression, M> { private static final long serialVersionUID = 7106389414200843920L; @@ -29,10 +29,10 @@ abstract class GMap extends AbstractGroupExpression, Map> super(Map.class, qpair); } - protected abstract Map createMap(); + protected abstract M createMap(); - public static GMap createLinked(QPair expr) { - return new GMap(expr) { + public static GMap> createLinked(QPair expr) { + return new GMap>(expr) { @Override protected Map createMap() { return new LinkedHashMap(); @@ -40,29 +40,29 @@ abstract class GMap extends AbstractGroupExpression, Map> }; } - public static , U> GMap createSorted(QPair expr) { - return new GMap(expr) { + public static , U> GMap> createSorted(QPair expr) { + return new GMap>(expr) { @Override - protected Map createMap() { + protected SortedMap createMap() { return new TreeMap(); } }; } - public static GMap createSorted(QPair expr, final Comparator comparator) { - return new GMap(expr) { + public static GMap> createSorted(QPair expr, final Comparator comparator) { + return new GMap>(expr) { @Override - protected Map createMap() { + protected SortedMap createMap() { return new TreeMap(comparator); } }; } @Override - public GroupCollector, Map> createGroupCollector() { - return new GroupCollector, Map>() { + public GroupCollector, M> createGroupCollector() { + return new GroupCollector, M>() { - private final Map map = createMap(); + private final M map = createMap(); @Override public void add(Pair pair) { @@ -70,7 +70,7 @@ abstract class GMap extends AbstractGroupExpression, Map> } @Override - public Map get() { + public M get() { return map; } diff --git a/querydsl-core/src/main/java/com/querydsl/core/group/GSet.java b/querydsl-core/src/main/java/com/querydsl/core/group/GSet.java index 57035dafd..c97fbba02 100644 --- a/querydsl-core/src/main/java/com/querydsl/core/group/GSet.java +++ b/querydsl-core/src/main/java/com/querydsl/core/group/GSet.java @@ -13,10 +13,7 @@ */ package com.querydsl.core.group; -import java.util.Comparator; -import java.util.LinkedHashSet; -import java.util.Set; -import java.util.TreeSet; +import java.util.*; import com.querydsl.core.types.Expression; @@ -25,12 +22,12 @@ import com.querydsl.core.types.Expression; * * @param */ -abstract class GSet extends AbstractGroupExpression> { +abstract class GSet> extends AbstractGroupExpression { private static final long serialVersionUID = -1575808026237160843L; - public static GSet createLinked(Expression expr) { - return new GSet(expr) { + public static GSet> createLinked(Expression expr) { + return new GSet>(expr) { @Override protected Set createSet() { return new LinkedHashSet(); @@ -38,19 +35,19 @@ abstract class GSet extends AbstractGroupExpression> { }; } - public static > GSet createSorted(Expression expr) { - return new GSet(expr) { + public static > GSet> createSorted(Expression expr) { + return new GSet>(expr) { @Override - protected Set createSet() { + protected SortedSet createSet() { return new TreeSet(); } }; } - public static GSet createSorted(Expression expr, final Comparator comparator) { - return new GSet(expr) { + public static GSet> createSorted(Expression expr, final Comparator comparator) { + return new GSet>(expr) { @Override - protected Set createSet() { + protected SortedSet createSet() { return new TreeSet(comparator); } }; @@ -60,13 +57,13 @@ abstract class GSet extends AbstractGroupExpression> { super(Set.class, expr); } - protected abstract Set createSet(); + protected abstract S createSet(); @Override - public GroupCollector> createGroupCollector() { - return new GroupCollector>() { + public GroupCollector createGroupCollector() { + return new GroupCollector() { - private final Set set = createSet(); + private final S set = createSet(); @Override public void add(T o) { @@ -76,7 +73,7 @@ abstract class GSet extends AbstractGroupExpression> { } @Override - public Set get() { + public S get() { return set; } diff --git a/querydsl-core/src/main/java/com/querydsl/core/group/GroupBy.java b/querydsl-core/src/main/java/com/querydsl/core/group/GroupBy.java index 366c63dd1..c0693f09c 100644 --- a/querydsl-core/src/main/java/com/querydsl/core/group/GroupBy.java +++ b/querydsl-core/src/main/java/com/querydsl/core/group/GroupBy.java @@ -13,10 +13,7 @@ */ package com.querydsl.core.group; -import java.util.Comparator; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; import com.mysema.commons.lang.Pair; import com.querydsl.core.types.Expression; @@ -125,7 +122,7 @@ public final class GroupBy { * @param expression * @return */ - public static > AbstractGroupExpression> sortedSet(Expression expression) { + public static > AbstractGroupExpression> sortedSet(Expression expression) { return GSet.createSorted(expression); } @@ -135,8 +132,8 @@ public final class GroupBy { * @param groupExpression * @return */ - public static > GroupExpression> sortedSet(GroupExpression groupExpression) { - return new MixinGroupExpression>(groupExpression, GSet.createSorted(groupExpression)); + public static > GroupExpression> sortedSet(GroupExpression groupExpression) { + return new MixinGroupExpression>(groupExpression, GSet.createSorted(groupExpression)); } @@ -147,7 +144,7 @@ public final class GroupBy { * @param comparator * @return */ - public static AbstractGroupExpression> sortedSet(Expression expression, Comparator comparator) { + public static AbstractGroupExpression> sortedSet(Expression expression, Comparator comparator) { return GSet.createSorted(expression, comparator); } @@ -158,8 +155,8 @@ public final class GroupBy { * @param comparator * @return */ - public static GroupExpression> sortedSet(GroupExpression groupExpression, Comparator comparator) { - return new MixinGroupExpression>(groupExpression, GSet.createSorted(groupExpression, comparator)); + public static GroupExpression> sortedSet(GroupExpression groupExpression, Comparator comparator) { + return new MixinGroupExpression>(groupExpression, GSet.createSorted(groupExpression, comparator)); } @@ -214,7 +211,7 @@ public final class GroupBy { * @param value * @return */ - public static , V> AbstractGroupExpression,Map> sortedMap(Expression key, Expression value) { + public static , V> AbstractGroupExpression, SortedMap> sortedMap(Expression key, Expression value) { return GMap.createSorted(QPair.create(key, value)); } @@ -225,7 +222,7 @@ public final class GroupBy { * @param value * @return */ - public static , V, T extends Comparable> AbstractGroupExpression, Map> sortedMap(GroupExpression key, Expression value) { + public static , V, T extends Comparable> AbstractGroupExpression, SortedMap> sortedMap(GroupExpression key, Expression value) { return sortedMap(key, new GOne(value)); } @@ -236,7 +233,7 @@ public final class GroupBy { * @param value * @return */ - public static , V, U> AbstractGroupExpression, Map> sortedMap(Expression key, GroupExpression value) { + public static , V, U> AbstractGroupExpression, SortedMap> sortedMap(Expression key, GroupExpression value) { return sortedMap(new GOne(key), value); } @@ -247,8 +244,8 @@ public final class GroupBy { * @param value * @return */ - public static , V, T extends Comparable, U> AbstractGroupExpression, Map> sortedMap(GroupExpression key, GroupExpression value) { - return new GMap.Mixin>(key, value, GMap.createSorted(QPair.create(key, value))); + public static , V, T extends Comparable, U> AbstractGroupExpression, SortedMap> sortedMap(GroupExpression key, GroupExpression value) { + return new GMap.Mixin>(key, value, GMap.createSorted(QPair.create(key, value))); } /** @@ -259,7 +256,7 @@ public final class GroupBy { * @param comparator * @return */ - public static AbstractGroupExpression,Map> sortedMap(Expression key, Expression value, Comparator comparator) { + public static AbstractGroupExpression, SortedMap> sortedMap(Expression key, Expression value, Comparator comparator) { return GMap.createSorted(QPair.create(key, value), comparator); } @@ -271,7 +268,7 @@ public final class GroupBy { * @param comparator * @return */ - public static AbstractGroupExpression, Map> sortedMap(GroupExpression key, Expression value, Comparator comparator) { + public static AbstractGroupExpression, SortedMap> sortedMap(GroupExpression key, Expression value, Comparator comparator) { return sortedMap(key, new GOne(value), comparator); } @@ -283,7 +280,7 @@ public final class GroupBy { * @param comparator * @return */ - public static AbstractGroupExpression, Map> sortedMap(Expression key, GroupExpression value, Comparator comparator) { + public static AbstractGroupExpression, SortedMap> sortedMap(Expression key, GroupExpression value, Comparator comparator) { return sortedMap(new GOne(key), value, comparator); } @@ -295,8 +292,8 @@ public final class GroupBy { * @param comparator * @return */ - public static AbstractGroupExpression, Map> sortedMap(GroupExpression key, GroupExpression value, Comparator comparator) { - return new GMap.Mixin>(key, value, GMap.createSorted(QPair.create(key, value), comparator)); + public static AbstractGroupExpression, SortedMap> sortedMap(GroupExpression key, GroupExpression value, Comparator comparator) { + return new GMap.Mixin>(key, value, GMap.createSorted(QPair.create(key, value), comparator)); }