From 0dc86ac82cfb57fbb88faf6adb629be5963de13a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Fri, 4 Apr 2008 20:01:09 +0000 Subject: [PATCH] added annotations and sql modules renamed Simple to Literal in Expr and Path --- .../src/main/java/com/mysema/query/Query.java | 6 +-- .../main/java/com/mysema/query/QueryBase.java | 22 ++++------ .../com/mysema/query/grammar/Grammar.java | 1 - .../com/mysema/query/grammar/types/Alias.java | 12 ++--- .../com/mysema/query/grammar/types/Expr.java | 10 ++--- .../query/grammar/types/IntGrammar.java | 4 +- .../com/mysema/query/grammar/types/Path.java | 44 +++++++++---------- .../query/grammar/types/PathMetadata.java | 24 +++++----- .../mysema/query/grammar/types/Visitor.java | 10 ++--- .../query/grammar/types/VisitorAdapter.java | 14 +++--- 10 files changed, 69 insertions(+), 78 deletions(-) diff --git a/querydsl-core/src/main/java/com/mysema/query/Query.java b/querydsl-core/src/main/java/com/mysema/query/Query.java index 7f54af093..b0742a5a6 100644 --- a/querydsl-core/src/main/java/com/mysema/query/Query.java +++ b/querydsl-core/src/main/java/com/mysema/query/Query.java @@ -23,9 +23,9 @@ public interface Query>{ @Deprecated A join(Entity o); @Deprecated A fullJoin(Entity o); @Deprecated A leftJoin(Entity o); - @Deprecated A with(Expr.Boolean... o); - A where(Expr.Boolean... o); + @Deprecated A with(Expr.Boolean o); + A where(Expr.Boolean o); A groupBy(Expr... o); - A having(Expr.Boolean... o); + A having(Expr.Boolean o); A orderBy(OrderSpecifier... o); } \ No newline at end of file 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 cfa0092c5..719c22cee 100644 --- a/querydsl-core/src/main/java/com/mysema/query/QueryBase.java +++ b/querydsl-core/src/main/java/com/mysema/query/QueryBase.java @@ -23,7 +23,7 @@ import static com.mysema.query.grammar.types.Expr.*; public class QueryBase> implements Query { protected final List> groupBy = new ArrayList>(); - protected final List having = new ArrayList(); + protected final CascadingBoolean having = new CascadingBoolean(); protected final List joins = new ArrayList(); protected final List> orderBy = new ArrayList>(); @@ -52,8 +52,8 @@ public class QueryBase> implements Query { return (A) this; } - public A having(Expr.Boolean... o) { - having.addAll(Arrays.asList(o)); + public A having(Expr.Boolean o) { + having.and(o); return (A) this; } @@ -87,18 +87,14 @@ public class QueryBase> implements Query { return (A) this; } - public A where(Expr.Boolean... o) { - for (Expr.Boolean expr : o){ - where.and(expr); - } + public A where(Expr.Boolean o) { + where.and(o); return (A) this; } - public A with(Expr.Boolean... o) { + public A with(Expr.Boolean o) { if (!joins.isEmpty()){ - CascadingBoolean cb = new CascadingBoolean(); - for (Expr.Boolean expr : o) cb.and(expr); - joins.get(joins.size()-1).setCondition(cb.self()); + joins.get(joins.size()-1).setCondition(o); } return (A) this; } @@ -111,8 +107,8 @@ public class QueryBase> implements Query { public List> getGroupBy() { return groupBy; } - public List getHaving() { - return having; + public Expr.Boolean getHaving() { + return having.self(); } public List getJoins() { return joins; diff --git a/querydsl-core/src/main/java/com/mysema/query/grammar/Grammar.java b/querydsl-core/src/main/java/com/mysema/query/grammar/Grammar.java index 906cf3fa8..bb4a757fe 100644 --- a/querydsl-core/src/main/java/com/mysema/query/grammar/Grammar.java +++ b/querydsl-core/src/main/java/com/mysema/query/grammar/Grammar.java @@ -10,7 +10,6 @@ import static com.mysema.query.grammar.types.Factory.createBoolean; import static com.mysema.query.grammar.types.Factory.createConstant; import static com.mysema.query.grammar.types.Factory.createNumber; -import com.mysema.query.grammar.Ops.Op; import com.mysema.query.grammar.types.Expr; import com.mysema.query.grammar.types.Expr.CollectionType; diff --git a/querydsl-core/src/main/java/com/mysema/query/grammar/types/Alias.java b/querydsl-core/src/main/java/com/mysema/query/grammar/types/Alias.java index 23336be34..1ef9eecde 100644 --- a/querydsl-core/src/main/java/com/mysema/query/grammar/types/Alias.java +++ b/querydsl-core/src/main/java/com/mysema/query/grammar/types/Alias.java @@ -37,10 +37,10 @@ public class Alias { public Path getTo() {return to;} } - public static class NoEntity extends Expr.NoEntity implements Simple{ + public static class Literal extends Expr.Literal{ private final Expr from; private final java.lang.String to; - public NoEntity(Expr from, java.lang.String to) { + public Literal(Expr from, java.lang.String to) { super(from.getType()); this.from = from; this.to = to; @@ -52,10 +52,10 @@ public class Alias { public java.lang.String getTo() {return to;} } - public interface Simple{ - Expr getFrom(); - String getTo(); - } +// public interface Simple{ +// Expr getFrom(); +// String getTo(); +// } public interface ToPath{ Expr getFrom(); diff --git a/querydsl-core/src/main/java/com/mysema/query/grammar/types/Expr.java b/querydsl-core/src/main/java/com/mysema/query/grammar/types/Expr.java index aa91eb4df..735bb3bba 100644 --- a/querydsl-core/src/main/java/com/mysema/query/grammar/types/Expr.java +++ b/querydsl-core/src/main/java/com/mysema/query/grammar/types/Expr.java @@ -7,8 +7,6 @@ package com.mysema.query.grammar.types; import com.mysema.query.grammar.OrderSpecifier; - - /** * Expr provides * @@ -35,7 +33,7 @@ public abstract class Expr { // public Boolean ne(Expr right){return IntGrammar.ne(this, right);} // } - public static abstract class Boolean extends NoEntity{ + public static abstract class Boolean extends Literal{ public Boolean() {super(java.lang.Boolean.class);} public Boolean and(Boolean right) {return IntGrammar.and(this, right);} public Boolean or(Boolean right) {return IntGrammar.or(this, right);} @@ -45,7 +43,7 @@ public abstract class Expr { } - public static abstract class Comparable> extends NoEntity{ + public static abstract class Comparable> extends Literal{ public Comparable(Class type) {super(type);} public Boolean after(D right) {return IntGrammar.after(this,right);} public Boolean after(Expr right) {return IntGrammar.after(this,right);} @@ -94,8 +92,8 @@ public abstract class Expr { public Entity(Class type) {super(type);} } - public static abstract class NoEntity extends Expr{ - public NoEntity(Class type) {super(type);} + public static abstract class Literal extends Expr{ + public Literal(Class type) {super(type);} public Expr as(java.lang.String to){return IntGrammar.as(this, to);} } diff --git a/querydsl-core/src/main/java/com/mysema/query/grammar/types/IntGrammar.java b/querydsl-core/src/main/java/com/mysema/query/grammar/types/IntGrammar.java index b39a077b4..f02343c06 100644 --- a/querydsl-core/src/main/java/com/mysema/query/grammar/types/IntGrammar.java +++ b/querydsl-core/src/main/java/com/mysema/query/grammar/types/IntGrammar.java @@ -55,10 +55,10 @@ class IntGrammar{ return createBoolean(Ops.AND, left, right); } - static Alias.NoEntity as(Expr.NoEntity from, String to) { + static Alias.Literal as(Expr.Literal from, String to) { checkArg("from",from); checkArg("to",to); - return new Alias.NoEntity(from, to); + return new Alias.Literal(from, to); } static Alias.Entity as(Path.Entity from, Path.Entity to) { diff --git a/querydsl-core/src/main/java/com/mysema/query/grammar/types/Path.java b/querydsl-core/src/main/java/com/mysema/query/grammar/types/Path.java index 5e111fadf..91232e64c 100644 --- a/querydsl-core/src/main/java/com/mysema/query/grammar/types/Path.java +++ b/querydsl-core/src/main/java/com/mysema/query/grammar/types/Path.java @@ -30,7 +30,7 @@ public interface Path { // ExprBoolean isnull(); // } - public static class Boolean extends Expr.Boolean implements NoEntity{ + public static class Boolean extends Expr.Boolean implements Literal{ private final PathMetadata metadata; public Boolean(PathMetadata metadata) { this.metadata = metadata; @@ -47,7 +47,7 @@ public interface Path { Expr.Comparable size(); } - public static class Comparable> extends Expr.Comparable implements NoEntity{ + public static class Comparable> extends Expr.Comparable implements Literal{ private final PathMetadata metadata; public Comparable(Class type, PathMetadata metadata) { super(type); @@ -58,7 +58,7 @@ public interface Path { public Expr.Boolean isnull() {return IntGrammar.isnull(this);} } - public static class ComponentCollection extends Expr.NoEntity> implements Collection{ + public static class ComponentCollection extends Expr.Literal> implements Collection{ private final PathMetadata metadata; private final Class type; public ComponentCollection(Class type, PathMetadata metadata) { @@ -66,11 +66,11 @@ public interface Path { this.type = type; this.metadata = metadata; } - public Expr.NoEntity get(Expr index) { - return new NoEntitySimple(type, forListAccess(this, index)); + public Expr.Literal get(Expr index) { + return new SimpleLiteral(type, forListAccess(this, index)); } - public Expr.NoEntity get(int index) { - return new NoEntitySimple(type, forListAccess(this, index)); + public Expr.Literal get(int index) { + return new SimpleLiteral(type, forListAccess(this, index)); } public PathMetadata getMetadata() {return metadata;} public Expr.Boolean isnotnull() {return IntGrammar.isnotnull(this);} @@ -82,7 +82,7 @@ public interface Path { public Class getElementType() {return type;} } - public static class ComponentMap extends Expr.NoEntity> implements Map{ + public static class ComponentMap extends Expr.Literal> implements Map{ private final PathMetadata metadata; private final Class keyType; private final Class valueType; @@ -92,11 +92,11 @@ public interface Path { this.valueType = valueType; this.metadata = metadata; } - public Expr.NoEntity get(Expr key) { - return new NoEntitySimple(valueType, forMapAccess(this, key)); + public Expr.Literal get(Expr key) { + return new SimpleLiteral(valueType, forMapAccess(this, key)); } - public Expr.NoEntity get(K key) { - return new NoEntitySimple(valueType, forMapAccess(this, key)); + public Expr.Literal get(K key) { + return new SimpleLiteral(valueType, forMapAccess(this, key)); } public PathMetadata getMetadata() {return metadata;} public Expr.Boolean isnotnull() {return IntGrammar.isnotnull(this);} @@ -121,14 +121,14 @@ public interface Path { protected > Path.Comparable _comparable(java.lang.String path,Class type) { return new Path.Comparable(type, forProperty(this, path)); } - protected EntityRenamable _entity(java.lang.String path, Class type){ - return new EntityRenamable(type, forProperty(this, path)); + protected RenamableEntity _entity(java.lang.String path, Class type){ + return new RenamableEntity(type, forProperty(this, path)); } protected EntityCollection _entitycol(java.lang.String path,Class type) { return new EntityCollection(type, forProperty(this, path)); } - protected NoEntitySimple _simple(java.lang.String path, Class type){ - return new NoEntitySimple(type, forProperty(this, path)); + protected SimpleLiteral _simple(java.lang.String path, Class type){ + return new SimpleLiteral(type, forProperty(this, path)); } protected ComponentCollection _simplecol(java.lang.String path,Class type) { return new ComponentCollection(type, forProperty(this, path)); @@ -193,8 +193,8 @@ public interface Path { public Class getValueType() {return valueType; } } - public static class EntityRenamable extends Entity{ - protected EntityRenamable(Class type, PathMetadata metadata) {super(type, metadata);} + public static class RenamableEntity extends Entity{ + protected RenamableEntity(Class type, PathMetadata metadata) {super(type, metadata);} public Alias.Entity as(Path.Entity to) {return IntGrammar.as(this, to);} } @@ -205,13 +205,13 @@ public interface Path { Class getValueType(); } - public interface NoEntity extends Path{ + public interface Literal extends Path{ Expr as(java.lang.String to); } - public static class NoEntitySimple extends Expr.NoEntity implements NoEntity{ + public static class SimpleLiteral extends Expr.Literal implements Literal{ private final PathMetadata metadata; - public NoEntitySimple(Class type, PathMetadata metadata) { + public SimpleLiteral(Class type, PathMetadata metadata) { super(type); this.metadata = metadata; } @@ -220,7 +220,7 @@ public interface Path { public Expr.Boolean isnull() {return IntGrammar.isnull(this);} } - public static class String extends Expr.String implements NoEntity{ + public static class String extends Expr.String implements Literal{ private final PathMetadata metadata; public String(PathMetadata metadata) { this.metadata = metadata; diff --git a/querydsl-core/src/main/java/com/mysema/query/grammar/types/PathMetadata.java b/querydsl-core/src/main/java/com/mysema/query/grammar/types/PathMetadata.java index 45a1ea4df..4f07258a9 100644 --- a/querydsl-core/src/main/java/com/mysema/query/grammar/types/PathMetadata.java +++ b/querydsl-core/src/main/java/com/mysema/query/grammar/types/PathMetadata.java @@ -72,20 +72,18 @@ public final class PathMetadata { public PathType getPathType() { return pathType; - } - - /** - * Type provides - * - */ + } + public static class PathType extends Ops.Op> {} - public static PathType LISTVALUE = new PathType(); - public static PathType LISTVALUE_CONSTANT = new PathType(); - public static PathType MAPVALUE = new PathType(); - public static PathType MAPVALUE_CONSTANT = new PathType(); - public static PathType PROPERTY = new PathType(); - public static PathType VARIABLE = new PathType(); - public static PathType SIZE = new PathType(); + // bookmark.tags.size + + public static final PathType LISTVALUE = new PathType(); + public static final PathType LISTVALUE_CONSTANT = new PathType(); + public static final PathType MAPVALUE = new PathType(); + public static final PathType MAPVALUE_CONSTANT = new PathType(); + public static final PathType PROPERTY = new PathType(); + public static final PathType VARIABLE = new PathType(); + public static final PathType SIZE = new PathType(); } diff --git a/querydsl-core/src/main/java/com/mysema/query/grammar/types/Visitor.java b/querydsl-core/src/main/java/com/mysema/query/grammar/types/Visitor.java index a2ac9f0ef..dc3a1ec19 100644 --- a/querydsl-core/src/main/java/com/mysema/query/grammar/types/Visitor.java +++ b/querydsl-core/src/main/java/com/mysema/query/grammar/types/Visitor.java @@ -67,9 +67,9 @@ public abstract class Visitor> { protected abstract void visit(Alias.EntityCollection expr); - protected abstract void visit(Alias.NoEntity expr); + protected abstract void visit(Alias.Literal expr); - protected abstract void visit(Alias.Simple expr); +// protected abstract void visit(Alias.Simple expr); protected abstract void visit(Alias.ToPath expr); @@ -101,11 +101,11 @@ public abstract class Visitor> { protected abstract void visit(Path.EntityMap expr); - protected abstract void visit(Path.EntityRenamable expr); + protected abstract void visit(Path.RenamableEntity expr); - protected abstract void visit(Path.NoEntity expr); + protected abstract void visit(Path.Literal expr); - protected abstract void visit(Path.NoEntitySimple expr); + protected abstract void visit(Path.SimpleLiteral expr); protected abstract void visit(Path.String expr); diff --git a/querydsl-core/src/main/java/com/mysema/query/grammar/types/VisitorAdapter.java b/querydsl-core/src/main/java/com/mysema/query/grammar/types/VisitorAdapter.java index 73fd74b1a..e925e3202 100644 --- a/querydsl-core/src/main/java/com/mysema/query/grammar/types/VisitorAdapter.java +++ b/querydsl-core/src/main/java/com/mysema/query/grammar/types/VisitorAdapter.java @@ -24,10 +24,10 @@ public abstract class VisitorAdapter> extends Visito protected void visit(Alias.EntityCollection expr) { visit((Alias.ToPath) expr); } - @Override - protected void visit(Alias.NoEntity expr) { - visit((Alias.Simple) expr); - } +// @Override +// protected void visit(Alias.Literal expr) { +// visit((Alias.Simple) expr); +// } @Override protected void visit(Operation.Boolean expr) { visit((Operation) expr); @@ -76,18 +76,18 @@ public abstract class VisitorAdapter> extends Visito visit((Path.Map) expr); } @Override - protected void visit(Path.EntityRenamable expr) { + protected void visit(Path.RenamableEntity expr) { visit((Path.Entity) expr); } protected void visit(Path.Map expr){ visit((Path) expr); } @Override - protected void visit(Path.NoEntity expr) { + protected void visit(Path.Literal expr) { visit((Path) expr); } @Override - protected void visit(Path.NoEntitySimple expr) { + protected void visit(Path.SimpleLiteral expr) { visit((Path) expr); } @Override