diff --git a/querydsl-core/src/main/java/com/querydsl/core/types/ConstantImpl.java b/querydsl-core/src/main/java/com/querydsl/core/types/ConstantImpl.java index 9f2b3b930..381ce6aed 100644 --- a/querydsl-core/src/main/java/com/querydsl/core/types/ConstantImpl.java +++ b/querydsl-core/src/main/java/com/querydsl/core/types/ConstantImpl.java @@ -104,6 +104,10 @@ public final class ConstantImpl extends ExpressionBase implements Constant return new ConstantImpl(obj); } + public static Constant create(Class type, T constant) { + return new ConstantImpl(type, constant); + } + private final T constant; /** @@ -112,7 +116,7 @@ public final class ConstantImpl extends ExpressionBase implements Constant * @param constant constant */ @SuppressWarnings("unchecked") //The class of the constant will mandate the type - public ConstantImpl(T constant) { + private ConstantImpl(T constant) { this((Class)constant.getClass(), constant); } @@ -122,7 +126,7 @@ public final class ConstantImpl extends ExpressionBase implements Constant * @param type type of the expression * @param constant constant */ - public ConstantImpl(Class type, T constant) { + private ConstantImpl(Class type, T constant) { super(type); this.constant = constant; } diff --git a/querydsl-scala/src/main/scala/com/querydsl/scala/Expressions.scala b/querydsl-scala/src/main/scala/com/querydsl/scala/Expressions.scala index 381572f52..39ccb6457 100644 --- a/querydsl-scala/src/main/scala/com/querydsl/scala/Expressions.scala +++ b/querydsl-scala/src/main/scala/com/querydsl/scala/Expressions.scala @@ -28,7 +28,7 @@ object Constants { def constant(value: String) = ConstantImpl.create(value) - def constant[T](value: T) = new ConstantImpl(value) + def constant[T](value: T) = ConstantImpl.create(value) } diff --git a/querydsl-sql/src/main/java/com/querydsl/sql/SQLExpressions.java b/querydsl-sql/src/main/java/com/querydsl/sql/SQLExpressions.java index 45b57f531..7951bcbff 100644 --- a/querydsl-sql/src/main/java/com/querydsl/sql/SQLExpressions.java +++ b/querydsl-sql/src/main/java/com/querydsl/sql/SQLExpressions.java @@ -641,7 +641,7 @@ public final class SQLExpressions { * @return nth_value(expr, n) */ public static WindowOver nthValue(Expression expr, Number n) { - return nthValue(expr, new ConstantImpl(n)); + return nthValue(expr, ConstantImpl.create(n)); } /** @@ -664,7 +664,7 @@ public final class SQLExpressions { * @return ntile(num) */ public static WindowOver ntile(T num) { - return new WindowOver((Class)num.getClass(), SQLOps.NTILE, new ConstantImpl(num)); + return new WindowOver((Class)num.getClass(), SQLOps.NTILE, ConstantImpl.create(num)); } /** @@ -800,7 +800,7 @@ public final class SQLExpressions { if (arg.doubleValue() < 0.0 || arg.doubleValue() > 1.0) { throw new IllegalArgumentException("The percentile value should be a number between 0 and 1"); } - return percentileCont(new ConstantImpl(arg)); + return percentileCont(ConstantImpl.create(arg)); } /** @@ -829,7 +829,7 @@ public final class SQLExpressions { if (arg.doubleValue() < 0.0 || arg.doubleValue() > 1.0) { throw new IllegalArgumentException("The percentile value should be a number between 0 and 1"); } - return percentileDisc(new ConstantImpl(arg)); + return percentileDisc(ConstantImpl.create(arg)); } /**