diff --git a/querydsl-core/src/main/java/com/querydsl/core/types/dsl/Expressions.java b/querydsl-core/src/main/java/com/querydsl/core/types/dsl/Expressions.java index cff744e93..19e2b236d 100644 --- a/querydsl-core/src/main/java/com/querydsl/core/types/dsl/Expressions.java +++ b/querydsl-core/src/main/java/com/querydsl/core/types/dsl/Expressions.java @@ -1418,6 +1418,33 @@ public final class Expressions { return new MapPath(keyType, valueType, queryType, metadata); } + /** + * Create a new Path expression + * + * @param arrayType array type + * @param variable variable name + * @param array type + * @param element type + * @return path expression + */ + public static ArrayPath arrayPath(Class arrayType, String variable) { + return new ArrayPath(arrayType, variable); + } + + /** + * Create a new Path expression + * + * @param arrayType array type + * @param parent path metadata + * @param property property name + * @param array type + * @param element type + * @return path expression + */ + public static ArrayPath arrayPath(Class arrayType, Path parent, String property) { + return new ArrayPath(arrayType, parent, property); + } + /** * Create a new Path expression * diff --git a/querydsl-core/src/test/java/com/querydsl/core/types/dsl/ExpressionsTest.java b/querydsl-core/src/test/java/com/querydsl/core/types/dsl/ExpressionsTest.java index f61edbe3f..87828b4dd 100644 --- a/querydsl-core/src/test/java/com/querydsl/core/types/dsl/ExpressionsTest.java +++ b/querydsl-core/src/test/java/com/querydsl/core/types/dsl/ExpressionsTest.java @@ -57,6 +57,11 @@ public class ExpressionsTest { assertReturnType(Expressions.class.getMethod(type + "Template", Class.class, Template.class, ImmutableList.class)); } } + + // arrays + assertReturnType(Expressions.class.getMethod("arrayPath", Class.class, String.class)); + assertReturnType(Expressions.class.getMethod("arrayPath", Class.class, Path.class, String.class)); + assertReturnType(Expressions.class.getMethod("arrayPath", Class.class, PathMetadata.class)); } private void assertReturnType(Method method) {