mirror of
https://github.com/querydsl/querydsl.git
synced 2026-06-24 21:07:26 +08:00
This commit is contained in:
parent
9630865be0
commit
c13105c1a0
@ -62,6 +62,7 @@ public interface Ops {
|
||||
Op<java.lang.String> LOWER = new Op<java.lang.String>();
|
||||
Op<java.lang.String> SUBSTR1ARG = new Op<java.lang.String>();
|
||||
Op<java.lang.String> SUBSTR2ARGS = new Op<java.lang.String>();
|
||||
Op<java.lang.String> SPLIT = new Op<java.lang.String>();
|
||||
Op<java.lang.String> TRIM = new Op<java.lang.String>();
|
||||
Op<java.lang.String> UPPER = new Op<java.lang.String>();
|
||||
|
||||
|
||||
@ -123,10 +123,11 @@ public abstract class Expr<D> {
|
||||
public String concat(java.lang.String str) {return IntGrammar.concat(this, str);}
|
||||
public Boolean like(java.lang.String str) { return IntGrammar.like(this, str); }
|
||||
public String lower() { return IntGrammar.lower(this); }
|
||||
public Expr<java.lang.String[]> split(java.lang.String regex) { return IntGrammar.split(this, regex);}
|
||||
public String substring(int beginIndex) { return IntGrammar.substring(this, beginIndex);}
|
||||
public String substring(int beginIndex, int endIndex) { return IntGrammar.substring(this, beginIndex, endIndex);}
|
||||
public String trim() { return IntGrammar.trim(this); }
|
||||
public String upper() { return IntGrammar.upper(this); }
|
||||
public String upper() { return IntGrammar.upper(this); }
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -50,5 +50,11 @@ public class Factory {
|
||||
checkArg("args",args);
|
||||
return new Operation.String(operator, args);
|
||||
}
|
||||
|
||||
public static final Expr<String[]> createStringArray(Op<String> operator, Expr<?>... args) {
|
||||
checkArg("operator",operator);
|
||||
checkArg("args",args);
|
||||
return new Operation.StringArray(operator, args);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -9,6 +9,7 @@ import static com.mysema.query.grammar.types.Factory.checkArg;
|
||||
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.createString;
|
||||
import static com.mysema.query.grammar.types.Factory.createStringArray;
|
||||
|
||||
import com.mysema.query.grammar.Ops;
|
||||
import com.mysema.query.grammar.Order;
|
||||
@ -228,6 +229,10 @@ class IntGrammar{
|
||||
static Expr.Boolean or(Expr.Boolean left, Expr.Boolean right) {
|
||||
return createBoolean(Ops.OR, left, right);
|
||||
}
|
||||
|
||||
static Expr<String[]> split(Expr<String> left, String regex){
|
||||
return createStringArray(Ops.SPLIT, left, createConstant(regex));
|
||||
}
|
||||
|
||||
static Expr.String substring(Expr<String> left, int beginIndex) {
|
||||
return createString(Ops.SUBSTR1ARG, left, createConstant(beginIndex));
|
||||
|
||||
@ -71,5 +71,17 @@ public interface Operation<OP,RT> {
|
||||
public Expr<?>[] getArgs() {return args;}
|
||||
public Op<java.lang.String> getOperator() {return op;}
|
||||
}
|
||||
|
||||
public static class StringArray extends Expr<java.lang.String[]> implements Operation<java.lang.String,java.lang.String[]>{
|
||||
private final Expr<?>[] args;
|
||||
private final Op<java.lang.String> op;
|
||||
public StringArray(Op<java.lang.String> op, Expr<?>... args){
|
||||
super(null);
|
||||
this.op = op;
|
||||
this.args = args;
|
||||
}
|
||||
public Expr<?>[] getArgs() {return args;}
|
||||
public Op<java.lang.String> getOperator() {return op;}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -81,6 +81,8 @@ public abstract class Visitor<T extends Visitor<T>> {
|
||||
|
||||
protected abstract void visit(Operation.String expr);
|
||||
|
||||
protected abstract void visit(Operation.StringArray expr);
|
||||
|
||||
protected abstract void visit(Operation<?, ?> expr);
|
||||
|
||||
protected abstract void visit(Path.Boolean expr);
|
||||
|
||||
@ -41,6 +41,10 @@ public abstract class VisitorAdapter<V extends VisitorAdapter<V>> extends Visito
|
||||
visit((Operation<?, ?>) expr);
|
||||
}
|
||||
@Override
|
||||
protected void visit(Operation.StringArray expr) {
|
||||
visit((Operation<?, ?>) expr);
|
||||
}
|
||||
@Override
|
||||
protected void visit(Path.Boolean expr) {
|
||||
visit((Path<?>) expr);
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user