diff --git a/querydsl-core/src/main/java/com/mysema/query/CascadingBoolean.java b/querydsl-core/src/main/java/com/mysema/query/CascadingBoolean.java index bd8c4057c..0e4bab186 100644 --- a/querydsl-core/src/main/java/com/mysema/query/CascadingBoolean.java +++ b/querydsl-core/src/main/java/com/mysema/query/CascadingBoolean.java @@ -36,5 +36,9 @@ public class CascadingBoolean { public Expr.EBoolean create(){ return expr; } + + public String toString(){ + return expr != null ? expr.toString() : super.toString(); + } } diff --git a/querydsl-core/src/main/java/com/mysema/query/DefaultMetadata.java b/querydsl-core/src/main/java/com/mysema/query/DefaultMetadata.java new file mode 100644 index 000000000..5f42411fb --- /dev/null +++ b/querydsl-core/src/main/java/com/mysema/query/DefaultMetadata.java @@ -0,0 +1,79 @@ +package com.mysema.query; + +import java.util.List; + +import com.mysema.query.grammar.OrderSpecifier; +import com.mysema.query.grammar.types.Expr; +import com.mysema.query.grammar.types.Expr.EBoolean; + +/** + * DefaultMetadata provides + * + * @author tiwe + * @version $Id$ + */ +public class DefaultMetadata implements QueryMetadata{ + + private List> groupBy; + + private EBoolean having; + + private List> joins; + + private List> orderBy; + + private List> select; + + private EBoolean where; + + public List> getGroupBy() { + return groupBy; + } + + public void setGroupBy(List> groupBy) { + this.groupBy = groupBy; + } + + public EBoolean getHaving() { + return having; + } + + public void setHaving(EBoolean having) { + this.having = having; + } + + public List> getJoins() { + return joins; + } + + public void setJoins(List> joins) { + this.joins = joins; + } + + public List> getOrderBy() { + return orderBy; + } + + public void setOrderBy(List> orderBy) { + this.orderBy = orderBy; + } + + public List> getSelect() { + return select; + } + + public void setSelect(List> select) { + this.select = select; + } + + public EBoolean getWhere() { + return where; + } + + public void setWhere(EBoolean where) { + this.where = where; + } + + + +} diff --git a/querydsl-core/src/main/java/com/mysema/query/QueryBase.java b/querydsl-core/src/main/java/com/mysema/query/QueryBase.java index cdf0d0969..e709f45f5 100644 --- a/querydsl-core/src/main/java/com/mysema/query/QueryBase.java +++ b/querydsl-core/src/main/java/com/mysema/query/QueryBase.java @@ -46,7 +46,26 @@ public class QueryBase> imp protected String toString; - private final Metadata metadata = new Metadata(); + private final QueryMetadata metadata = new QueryMetadata(){ + public List> getGroupBy() { + return groupBy; + } + public EBoolean getHaving() { + return having.create(); + } + public List> getJoins() { + return joins; + } + public List> getOrderBy() { + return orderBy; + } + public List> getSelect() { + return select; + } + public EBoolean getWhere() { + return where.create(); + } + }; public SubType from(Expr... o) { for (Expr expr : o){ @@ -110,7 +129,7 @@ public class QueryBase> imp return _this; } - public Metadata getMetadata(){ + public QueryMetadata getMetadata(){ return metadata; } @@ -118,28 +137,5 @@ public class QueryBase> imp return e; } - /** - * The Class Metadata. - */ - public class Metadata{ - public List> getGroupBy() { - return groupBy; - } - public EBoolean getHaving() { - return having.create(); - } - public List> getJoins() { - return joins; - } - public List> getOrderBy() { - return orderBy; - } - public List> getSelect() { - return select; - } - public EBoolean getWhere() { - return where.create(); - } - } } diff --git a/querydsl-core/src/main/java/com/mysema/query/QueryMetadata.java b/querydsl-core/src/main/java/com/mysema/query/QueryMetadata.java new file mode 100644 index 000000000..8b6dbd1f0 --- /dev/null +++ b/querydsl-core/src/main/java/com/mysema/query/QueryMetadata.java @@ -0,0 +1,29 @@ +package com.mysema.query; + +import java.util.List; + +import com.mysema.query.grammar.OrderSpecifier; +import com.mysema.query.grammar.types.Expr; +import com.mysema.query.grammar.types.Expr.EBoolean; + +/** + * QueryMetadata provides + * + * @author tiwe + * @version $Id$ + */ +public interface QueryMetadata { + + List> getGroupBy(); + + EBoolean getHaving(); + + List> getJoins(); + + List> getOrderBy(); + + List> getSelect(); + + EBoolean getWhere(); + +} \ No newline at end of file diff --git a/querydsl-core/src/main/java/com/mysema/query/grammar/Order.java b/querydsl-core/src/main/java/com/mysema/query/grammar/Order.java index f707b938d..593349e77 100644 --- a/querydsl-core/src/main/java/com/mysema/query/grammar/Order.java +++ b/querydsl-core/src/main/java/com/mysema/query/grammar/Order.java @@ -12,5 +12,14 @@ package com.mysema.query.grammar; * @version $Id$ */ public enum Order { - ASC, DESC + ASC{ + public String toString(){ + return "asc"; + } + }, + DESC{ + public String toString(){ + return "desc"; + } + } } \ No newline at end of file diff --git a/querydsl-core/src/main/java/com/mysema/query/grammar/OrderSpecifier.java b/querydsl-core/src/main/java/com/mysema/query/grammar/OrderSpecifier.java index f118ad3a3..b2facc0ff 100644 --- a/querydsl-core/src/main/java/com/mysema/query/grammar/OrderSpecifier.java +++ b/querydsl-core/src/main/java/com/mysema/query/grammar/OrderSpecifier.java @@ -18,4 +18,8 @@ import com.mysema.query.grammar.types.Expr; public class OrderSpecifier> { public Order order; public Expr target; + + public String toString(){ + return target + " " + order; + } } \ No newline at end of file