mirror of
https://github.com/querydsl/querydsl.git
synced 2026-06-27 21:01:15 +08:00
This commit is contained in:
parent
9387eb4d1d
commit
145dc99cd4
@ -10,7 +10,7 @@ import java.io.Serializable;
|
||||
import net.jcip.annotations.Immutable;
|
||||
|
||||
import com.mysema.query.types.Expression;
|
||||
import com.mysema.query.types.template.StringTemplate;
|
||||
import com.mysema.query.types.TemplateExpressionImpl;
|
||||
|
||||
/**
|
||||
* JoinFlag defines a join related flag using an Expr instance
|
||||
@ -26,7 +26,7 @@ public class JoinFlag implements Serializable{
|
||||
private final Expression<?> flag;
|
||||
|
||||
public JoinFlag(String flag) {
|
||||
this.flag = StringTemplate.create(flag);
|
||||
this.flag = TemplateExpressionImpl.create(flag);
|
||||
}
|
||||
|
||||
public JoinFlag(Expression<?> flag) {
|
||||
|
||||
@ -11,7 +11,7 @@ import net.jcip.annotations.Immutable;
|
||||
|
||||
import com.mysema.commons.lang.Assert;
|
||||
import com.mysema.query.types.Expression;
|
||||
import com.mysema.query.types.template.StringTemplate;
|
||||
import com.mysema.query.types.TemplateExpressionImpl;
|
||||
|
||||
/**
|
||||
* Defines a positioned flag in a query for customization of query serialization
|
||||
@ -59,7 +59,7 @@ public class QueryFlag implements Serializable{
|
||||
private final Expression<?> flag;
|
||||
|
||||
public QueryFlag(Position position, String flag) {
|
||||
this(position, StringTemplate.create(flag));
|
||||
this(position, TemplateExpressionImpl.create(flag));
|
||||
}
|
||||
|
||||
public QueryFlag(Position position, Expression<?> flag) {
|
||||
|
||||
@ -12,7 +12,7 @@ import javax.annotation.Nullable;
|
||||
import com.mysema.util.ReflectionUtils;
|
||||
|
||||
/**
|
||||
* PathImpl defines a mixin version of the Path interface which can be used
|
||||
* PathImpl defines a default implementation of the Path interface which can be used
|
||||
* as a component and target in actual Path implementations
|
||||
*
|
||||
* @author tiwe
|
||||
|
||||
@ -8,7 +8,7 @@ package com.mysema.query.types;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Custom provides base types for custom expressions with integrated
|
||||
* TemplateExpression provides base types for custom expressions with integrated
|
||||
* serialization templates
|
||||
*
|
||||
* @author tiwe
|
||||
|
||||
@ -5,17 +5,18 @@
|
||||
*/
|
||||
package com.mysema.query.types;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* Mixin implementation of the TemplateExpression interface
|
||||
* Default implementation of the TemplateExpression interface
|
||||
*
|
||||
* @author tiwe
|
||||
*
|
||||
* @param <T>
|
||||
*/
|
||||
public class TemplateImpl<T> extends ExpressionBase<T> implements TemplateExpression<T> {
|
||||
public class TemplateExpressionImpl<T> extends ExpressionBase<T> implements TemplateExpression<T> {
|
||||
|
||||
private static final long serialVersionUID = 6951623726800809083L;
|
||||
|
||||
@ -23,7 +24,15 @@ public class TemplateImpl<T> extends ExpressionBase<T> implements TemplateExpres
|
||||
|
||||
private final Template template;
|
||||
|
||||
public TemplateImpl(Class<? extends T> type, List<Expression<?>> args, Template template){
|
||||
public static Expression<String> create(String template, Expression<?>... args){
|
||||
return create(TemplateFactory.DEFAULT.create(template), args);
|
||||
}
|
||||
|
||||
public static Expression<String> create(Template template, Expression<?>... args){
|
||||
return new TemplateExpressionImpl<String>(String.class, Arrays.<Expression<?>>asList(args), template);
|
||||
}
|
||||
|
||||
public TemplateExpressionImpl(Class<? extends T> type, List<Expression<?>> args, Template template){
|
||||
super(type);
|
||||
this.args = args;
|
||||
this.template = template;
|
||||
@ -12,7 +12,7 @@ import com.mysema.query.types.TemplateExpression;
|
||||
import com.mysema.query.types.Expression;
|
||||
import com.mysema.query.types.Template;
|
||||
import com.mysema.query.types.TemplateFactory;
|
||||
import com.mysema.query.types.TemplateImpl;
|
||||
import com.mysema.query.types.TemplateExpressionImpl;
|
||||
import com.mysema.query.types.Visitor;
|
||||
import com.mysema.query.types.expr.BooleanExpression;
|
||||
|
||||
@ -34,10 +34,10 @@ public class BooleanTemplate extends BooleanExpression implements TemplateExpres
|
||||
return new BooleanTemplate(template, Arrays.<Expression<?>>asList(args));
|
||||
}
|
||||
|
||||
private final TemplateExpression<Boolean> customMixin;
|
||||
private final TemplateExpression<Boolean> templateMixin;
|
||||
|
||||
public BooleanTemplate(Template template, List<Expression<?>> args){
|
||||
customMixin = new TemplateImpl<Boolean>(Boolean.class, args, template);
|
||||
templateMixin = new TemplateExpressionImpl<Boolean>(Boolean.class, args, template);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -47,22 +47,22 @@ public class BooleanTemplate extends BooleanExpression implements TemplateExpres
|
||||
|
||||
@Override
|
||||
public Expression<?> getArg(int index) {
|
||||
return customMixin.getArg(index);
|
||||
return templateMixin.getArg(index);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Expression<?>> getArgs() {
|
||||
return customMixin.getArgs();
|
||||
return templateMixin.getArgs();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Template getTemplate() {
|
||||
return customMixin.getTemplate();
|
||||
return templateMixin.getTemplate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o){
|
||||
return customMixin.equals(o);
|
||||
return templateMixin.equals(o);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -12,7 +12,7 @@ import com.mysema.query.types.TemplateExpression;
|
||||
import com.mysema.query.types.Expression;
|
||||
import com.mysema.query.types.Template;
|
||||
import com.mysema.query.types.TemplateFactory;
|
||||
import com.mysema.query.types.TemplateImpl;
|
||||
import com.mysema.query.types.TemplateExpressionImpl;
|
||||
import com.mysema.query.types.Visitor;
|
||||
import com.mysema.query.types.expr.ComparableExpression;
|
||||
|
||||
@ -35,11 +35,11 @@ public class ComparableTemplate<T extends Comparable<?>> extends ComparableExpre
|
||||
return new ComparableTemplate<T>(type, template, Arrays.<Expression<?>>asList(args));
|
||||
}
|
||||
|
||||
private final TemplateExpression<T> customMixin;
|
||||
private final TemplateExpression<T> templateMixin;
|
||||
|
||||
public ComparableTemplate(Class<T> type, Template template, List<Expression<?>> args) {
|
||||
super(type);
|
||||
customMixin = new TemplateImpl<T>(type, args, template);
|
||||
templateMixin = new TemplateExpressionImpl<T>(type, args, template);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -49,22 +49,22 @@ public class ComparableTemplate<T extends Comparable<?>> extends ComparableExpre
|
||||
|
||||
@Override
|
||||
public Expression<?> getArg(int index) {
|
||||
return customMixin.getArg(index);
|
||||
return templateMixin.getArg(index);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Expression<?>> getArgs() {
|
||||
return customMixin.getArgs();
|
||||
return templateMixin.getArgs();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Template getTemplate() {
|
||||
return customMixin.getTemplate();
|
||||
return templateMixin.getTemplate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o){
|
||||
return customMixin.equals(o);
|
||||
return templateMixin.equals(o);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -12,7 +12,7 @@ import com.mysema.query.types.TemplateExpression;
|
||||
import com.mysema.query.types.Expression;
|
||||
import com.mysema.query.types.Template;
|
||||
import com.mysema.query.types.TemplateFactory;
|
||||
import com.mysema.query.types.TemplateImpl;
|
||||
import com.mysema.query.types.TemplateExpressionImpl;
|
||||
import com.mysema.query.types.Visitor;
|
||||
import com.mysema.query.types.expr.DateExpression;
|
||||
|
||||
@ -33,11 +33,11 @@ public class DateTemplate<T extends Comparable<?>> extends DateExpression<T> imp
|
||||
return new DateTemplate<T>(type, template, Arrays.<Expression<?>>asList(args));
|
||||
}
|
||||
|
||||
private final TemplateExpression<T> customMixin;
|
||||
private final TemplateExpression<T> templateMixin;
|
||||
|
||||
public DateTemplate(Class<T> type, Template template, List<Expression<?>> args) {
|
||||
super(type);
|
||||
customMixin = new TemplateImpl<T>(type, args, template);
|
||||
templateMixin = new TemplateExpressionImpl<T>(type, args, template);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -47,22 +47,22 @@ public class DateTemplate<T extends Comparable<?>> extends DateExpression<T> imp
|
||||
|
||||
@Override
|
||||
public Expression<?> getArg(int index) {
|
||||
return customMixin.getArg(index);
|
||||
return templateMixin.getArg(index);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Expression<?>> getArgs() {
|
||||
return customMixin.getArgs();
|
||||
return templateMixin.getArgs();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Template getTemplate() {
|
||||
return customMixin.getTemplate();
|
||||
return templateMixin.getTemplate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o){
|
||||
return customMixin.equals(o);
|
||||
return templateMixin.equals(o);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -12,7 +12,7 @@ import com.mysema.query.types.TemplateExpression;
|
||||
import com.mysema.query.types.Expression;
|
||||
import com.mysema.query.types.Template;
|
||||
import com.mysema.query.types.TemplateFactory;
|
||||
import com.mysema.query.types.TemplateImpl;
|
||||
import com.mysema.query.types.TemplateExpressionImpl;
|
||||
import com.mysema.query.types.Visitor;
|
||||
import com.mysema.query.types.expr.DateTimeExpression;
|
||||
|
||||
@ -33,11 +33,11 @@ public class DateTimeTemplate<T extends Comparable<?>> extends DateTimeExpressio
|
||||
return new DateTimeTemplate<T>(type, template, Arrays.<Expression<?>>asList(args));
|
||||
}
|
||||
|
||||
private final TemplateExpression<T> customMixin;
|
||||
private final TemplateExpression<T> templateMixin;
|
||||
|
||||
public DateTimeTemplate(Class<T> type, Template template, List<Expression<?>> args) {
|
||||
super(type);
|
||||
customMixin = new TemplateImpl<T>(type, args, template);
|
||||
templateMixin = new TemplateExpressionImpl<T>(type, args, template);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -47,22 +47,22 @@ public class DateTimeTemplate<T extends Comparable<?>> extends DateTimeExpressio
|
||||
|
||||
@Override
|
||||
public Expression<?> getArg(int index) {
|
||||
return customMixin.getArg(index);
|
||||
return templateMixin.getArg(index);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Expression<?>> getArgs() {
|
||||
return customMixin.getArgs();
|
||||
return templateMixin.getArgs();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Template getTemplate() {
|
||||
return customMixin.getTemplate();
|
||||
return templateMixin.getTemplate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o){
|
||||
return customMixin.equals(o);
|
||||
return templateMixin.equals(o);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -12,7 +12,7 @@ import com.mysema.query.types.TemplateExpression;
|
||||
import com.mysema.query.types.Expression;
|
||||
import com.mysema.query.types.Template;
|
||||
import com.mysema.query.types.TemplateFactory;
|
||||
import com.mysema.query.types.TemplateImpl;
|
||||
import com.mysema.query.types.TemplateExpressionImpl;
|
||||
import com.mysema.query.types.Visitor;
|
||||
import com.mysema.query.types.expr.EnumExpression;
|
||||
|
||||
@ -35,11 +35,11 @@ public class EnumTemplate<T extends Enum<T>> extends EnumExpression<T> implement
|
||||
return new EnumTemplate<T>(type, template, Arrays.<Expression<?>>asList(args));
|
||||
}
|
||||
|
||||
private final TemplateExpression<T> customMixin;
|
||||
private final TemplateExpression<T> templateMixin;
|
||||
|
||||
public EnumTemplate(Class<T> type, Template template, List<Expression<?>> args) {
|
||||
super(type);
|
||||
customMixin = new TemplateImpl<T>(type, args, template);
|
||||
templateMixin = new TemplateExpressionImpl<T>(type, args, template);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -49,22 +49,22 @@ public class EnumTemplate<T extends Enum<T>> extends EnumExpression<T> implement
|
||||
|
||||
@Override
|
||||
public Expression<?> getArg(int index) {
|
||||
return customMixin.getArg(index);
|
||||
return templateMixin.getArg(index);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Expression<?>> getArgs() {
|
||||
return customMixin.getArgs();
|
||||
return templateMixin.getArgs();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Template getTemplate() {
|
||||
return customMixin.getTemplate();
|
||||
return templateMixin.getTemplate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o){
|
||||
return customMixin.equals(o);
|
||||
return templateMixin.equals(o);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -12,7 +12,7 @@ import com.mysema.query.types.TemplateExpression;
|
||||
import com.mysema.query.types.Expression;
|
||||
import com.mysema.query.types.Template;
|
||||
import com.mysema.query.types.TemplateFactory;
|
||||
import com.mysema.query.types.TemplateImpl;
|
||||
import com.mysema.query.types.TemplateExpressionImpl;
|
||||
import com.mysema.query.types.Visitor;
|
||||
import com.mysema.query.types.expr.NumberExpression;
|
||||
|
||||
@ -35,11 +35,11 @@ public class NumberTemplate<T extends Number & Comparable<?>> extends NumberExpr
|
||||
return new NumberTemplate<T>(type, template, Arrays.<Expression<?>>asList(args));
|
||||
}
|
||||
|
||||
private final TemplateExpression<T> customMixin;
|
||||
private final TemplateExpression<T> templateMixin;
|
||||
|
||||
public NumberTemplate(Class<T> type, Template template, List<Expression<?>> args) {
|
||||
super(type);
|
||||
customMixin = new TemplateImpl<T>(type, args, template);
|
||||
templateMixin = new TemplateExpressionImpl<T>(type, args, template);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -49,22 +49,22 @@ public class NumberTemplate<T extends Number & Comparable<?>> extends NumberExpr
|
||||
|
||||
@Override
|
||||
public Expression<?> getArg(int index) {
|
||||
return customMixin.getArg(index);
|
||||
return templateMixin.getArg(index);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Expression<?>> getArgs() {
|
||||
return customMixin.getArgs();
|
||||
return templateMixin.getArgs();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Template getTemplate() {
|
||||
return customMixin.getTemplate();
|
||||
return templateMixin.getTemplate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o){
|
||||
return customMixin.equals(o);
|
||||
return templateMixin.equals(o);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -12,7 +12,7 @@ import com.mysema.query.types.TemplateExpression;
|
||||
import com.mysema.query.types.Expression;
|
||||
import com.mysema.query.types.Template;
|
||||
import com.mysema.query.types.TemplateFactory;
|
||||
import com.mysema.query.types.TemplateImpl;
|
||||
import com.mysema.query.types.TemplateExpressionImpl;
|
||||
import com.mysema.query.types.Visitor;
|
||||
import com.mysema.query.types.expr.SimpleExpression;
|
||||
|
||||
@ -35,11 +35,11 @@ public class SimpleTemplate<T> extends SimpleExpression<T> implements TemplateEx
|
||||
return new SimpleTemplate<T>(type, template, Arrays.<Expression<?>>asList(args));
|
||||
}
|
||||
|
||||
private final TemplateExpression<T> customMixin;
|
||||
private final TemplateExpression<T> templateMixin;
|
||||
|
||||
public SimpleTemplate(Class<? extends T> type, Template template, List<Expression<?>> args) {
|
||||
super(type);
|
||||
customMixin = new TemplateImpl<T>(type, args, template);
|
||||
templateMixin = new TemplateExpressionImpl<T>(type, args, template);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -49,22 +49,22 @@ public class SimpleTemplate<T> extends SimpleExpression<T> implements TemplateEx
|
||||
|
||||
@Override
|
||||
public Expression<?> getArg(int index) {
|
||||
return customMixin.getArg(index);
|
||||
return templateMixin.getArg(index);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Expression<?>> getArgs() {
|
||||
return customMixin.getArgs();
|
||||
return templateMixin.getArgs();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Template getTemplate() {
|
||||
return customMixin.getTemplate();
|
||||
return templateMixin.getTemplate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o){
|
||||
return customMixin.equals(o);
|
||||
return templateMixin.equals(o);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -12,7 +12,7 @@ import com.mysema.query.types.TemplateExpression;
|
||||
import com.mysema.query.types.Expression;
|
||||
import com.mysema.query.types.Template;
|
||||
import com.mysema.query.types.TemplateFactory;
|
||||
import com.mysema.query.types.TemplateImpl;
|
||||
import com.mysema.query.types.TemplateExpressionImpl;
|
||||
import com.mysema.query.types.Visitor;
|
||||
import com.mysema.query.types.expr.StringExpression;
|
||||
|
||||
@ -34,10 +34,10 @@ public class StringTemplate extends StringExpression implements TemplateExpressi
|
||||
return new StringTemplate(template, Arrays.<Expression<?>>asList(args));
|
||||
}
|
||||
|
||||
private final TemplateExpression<String> customMixin;
|
||||
private final TemplateExpression<String> templateMixin;
|
||||
|
||||
public StringTemplate(Template template, List<Expression<?>> args){
|
||||
customMixin = new TemplateImpl<String>(String.class, args, template);
|
||||
templateMixin = new TemplateExpressionImpl<String>(String.class, args, template);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -47,22 +47,22 @@ public class StringTemplate extends StringExpression implements TemplateExpressi
|
||||
|
||||
@Override
|
||||
public Expression<?> getArg(int index) {
|
||||
return customMixin.getArg(index);
|
||||
return templateMixin.getArg(index);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Expression<?>> getArgs() {
|
||||
return customMixin.getArgs();
|
||||
return templateMixin.getArgs();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Template getTemplate() {
|
||||
return customMixin.getTemplate();
|
||||
return templateMixin.getTemplate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o){
|
||||
return customMixin.equals(o);
|
||||
return templateMixin.equals(o);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -12,7 +12,7 @@ import com.mysema.query.types.Expression;
|
||||
import com.mysema.query.types.Template;
|
||||
import com.mysema.query.types.TemplateExpression;
|
||||
import com.mysema.query.types.TemplateFactory;
|
||||
import com.mysema.query.types.TemplateImpl;
|
||||
import com.mysema.query.types.TemplateExpressionImpl;
|
||||
import com.mysema.query.types.Visitor;
|
||||
import com.mysema.query.types.expr.TimeExpression;
|
||||
|
||||
@ -33,11 +33,11 @@ public class TimeTemplate<T extends Comparable<?>> extends TimeExpression<T> imp
|
||||
return new TimeTemplate<T>(type, template, Arrays.<Expression<?>>asList(args));
|
||||
}
|
||||
|
||||
private final TemplateExpression<T> customMixin;
|
||||
private final TemplateExpression<T> templateMixin;
|
||||
|
||||
public TimeTemplate(Class<T> type, Template template, List<Expression<?>> args) {
|
||||
super(type);
|
||||
customMixin = new TemplateImpl<T>(type, args, template);
|
||||
templateMixin = new TemplateExpressionImpl<T>(type, args, template);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -47,22 +47,22 @@ public class TimeTemplate<T extends Comparable<?>> extends TimeExpression<T> imp
|
||||
|
||||
@Override
|
||||
public Expression<?> getArg(int index) {
|
||||
return customMixin.getArg(index);
|
||||
return templateMixin.getArg(index);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Expression<?>> getArgs() {
|
||||
return customMixin.getArgs();
|
||||
return templateMixin.getArgs();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Template getTemplate() {
|
||||
return customMixin.getTemplate();
|
||||
return templateMixin.getTemplate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o){
|
||||
return customMixin.equals(o);
|
||||
return templateMixin.equals(o);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -11,9 +11,9 @@ import org.junit.Test;
|
||||
|
||||
import com.mysema.query.types.ConstantImpl;
|
||||
import com.mysema.query.types.JavaTemplates;
|
||||
import com.mysema.query.types.TemplateExpressionImpl;
|
||||
import com.mysema.query.types.path.PathBuilder;
|
||||
import com.mysema.query.types.path.StringPath;
|
||||
import com.mysema.query.types.template.StringTemplate;
|
||||
|
||||
public class SerializerBaseTest {
|
||||
|
||||
@ -30,7 +30,7 @@ public class SerializerBaseTest {
|
||||
// constant
|
||||
serializer.handle(ConstantImpl.create(""));
|
||||
// custom
|
||||
serializer.handle(StringTemplate.create("xxx", ConstantImpl.create("")));
|
||||
serializer.handle(TemplateExpressionImpl.create("xxx", ConstantImpl.create("")));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user