From 663d00e2ab359cd8ca2c55275b62f829f1828328 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Fri, 1 Jul 2011 14:04:21 +0000 Subject: [PATCH] #788125 : added some utility methods to ExpressionUtils --- .../mysema/query/types/ExpressionUtils.java | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/querydsl-core/src/main/java/com/mysema/query/types/ExpressionUtils.java b/querydsl-core/src/main/java/com/mysema/query/types/ExpressionUtils.java index 5f1741107..3a2475644 100644 --- a/querydsl-core/src/main/java/com/mysema/query/types/ExpressionUtils.java +++ b/querydsl-core/src/main/java/com/mysema/query/types/ExpressionUtils.java @@ -10,6 +10,8 @@ import java.util.List; import javax.annotation.Nullable; +import com.mysema.query.QueryMetadata; + /** * ExpressionUtils provides utilities for constructing common operation instances @@ -19,6 +21,80 @@ import javax.annotation.Nullable; */ public final class ExpressionUtils { + /** + * Create a new Constant expression + * + * @param + * @param value + * @return + */ + public static Expression constant(T value) { + return new ConstantImpl(value); + } + + /** + * Create a new TemplateExpression + * + * @param + * @param cl + * @param template + * @param args + * @return + */ + public static Expression template(Class cl, String template, Expression... args) { + return TemplateExpressionImpl.create(cl, template, args); + } + + /** + * Create a new SubQuery expression + * + * @param + * @param type + * @param metadata + * @return + */ + public static Expression subQuery(Class type, QueryMetadata metadata) { + return new SubQueryExpressionImpl(type, metadata); + } + + /** + * Create a new Operation expression + * + * @param + * @param type + * @param operator + * @param args + * @return + */ + public static Expression operation(Class type, Operator operator, Expression... args) { + return OperationImpl.create(type, operator, args); + } + + /** + * Create a new variable Path expression + * + * @param + * @param type + * @param variable + * @return + */ + public static Expression path(Class type, String variable) { + return new PathImpl(type, PathMetadataFactory.forVariable(variable)); + } + + /** + * Create a new property Path expression + * + * @param + * @param type + * @param parent + * @param property + * @return + */ + public static Expression path(Class type, Path parent, String property) { + return new PathImpl(type, PathMetadataFactory.forProperty(parent, property)); + } + /** * Create the intersection of the given arguments *