Skip to content

Commit

Permalink
2.1.2
Browse files Browse the repository at this point in the history
  • Loading branch information
sim-wangyan committed Oct 31, 2023
1 parent fc21e65 commit 37a4d4b
Show file tree
Hide file tree
Showing 13 changed files with 80 additions and 92 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
package io.xream.sqli.builder;

import io.xream.sqli.builder.internal.Bb;
import io.xream.sqli.builder.internal.BbQ;
import io.xream.sqli.builder.internal.CondQ;
import io.xream.sqli.builder.internal.SqlScript;
import io.xream.sqli.mapping.SqlNormalizer;
import io.xream.sqli.util.EnumUtil;
Expand All @@ -32,9 +32,9 @@
/**
* @author Sim
*/
public class BbQBuilder implements SqlNormalizer {
public class CondBuilder implements SqlNormalizer {

private BbQBuilder instance;
private CondBuilder instance;

private transient List<Bb> bbList;
protected transient boolean isAbort;
Expand All @@ -43,11 +43,11 @@ public class BbQBuilder implements SqlNormalizer {
private transient List<Bb> tempList;
private transient List<List<Bb>> subsList;

protected BbQBuilder(){
protected CondBuilder(){
this.instance = this;
}

protected BbQBuilder(List<Bb> bbList){
protected CondBuilder(List<Bb> bbList){
this.instance = this;
this.instance.bbList = bbList;
}
Expand All @@ -63,50 +63,50 @@ private List<List<Bb>> getSubsList(){
return this.subsList;
}

public static BbQBuilder builder(List<Bb> bbList){
return new BbQBuilder(bbList);
public static CondBuilder builder(List<Bb> bbList){
return new CondBuilder(bbList);
}

public static BbQBuilder builder() {
return new BbQBuilder(new ArrayList<>());
public static CondBuilder builder() {
return new CondBuilder(new ArrayList<>());
}

public BbQ build() {
public CondQ build() {
return () -> bbList;
}

public BbQBuilder bool(Bool condition, Then then) {
public CondBuilder bool(Bool condition, Then then) {
if (condition.isOk()) {
then.build(this.instance);
}
return this.instance;
}

public BbQBuilder eq(String property, Object value){
public CondBuilder eq(String property, Object value){
return doGle(Op.EQ, property, value);
}

public BbQBuilder lt(String property, Object value){
public CondBuilder lt(String property, Object value){
return doGle(Op.LT, property, value);
}

public BbQBuilder lte(String property, Object value){
public CondBuilder lte(String property, Object value){
return doGle(Op.LTE, property, value);
}

public BbQBuilder gt(String property, Object value){
public CondBuilder gt(String property, Object value){
return doGle(Op.GT, property, value);
}

public BbQBuilder gte(String property, Object value){
public CondBuilder gte(String property, Object value){
return doGle(Op.GTE, property, value);
}

public BbQBuilder ne(String property, Object value){
public CondBuilder ne(String property, Object value){
return doGle(Op.NE, property, value);
}

public BbQBuilder like(String property, String value){
public CondBuilder like(String property, String value){
if (SqliStringUtil.isNullOrEmpty(value)) {
isOr();
return instance;
Expand All @@ -115,7 +115,7 @@ public BbQBuilder like(String property, String value){
return doLike(Op.LIKE,property,likeValue);
}

public BbQBuilder likeRight(String property, String value){
public CondBuilder likeRight(String property, String value){
if (SqliStringUtil.isNullOrEmpty(value)) {
isOr();
return instance;
Expand All @@ -124,7 +124,7 @@ public BbQBuilder likeRight(String property, String value){
return doLike(Op.LIKE,property,likeValue);
}

public BbQBuilder notLike(String property, String value){
public CondBuilder notLike(String property, String value){
if (SqliStringUtil.isNullOrEmpty(value)) {
isOr();
return instance;
Expand All @@ -133,30 +133,30 @@ public BbQBuilder notLike(String property, String value){
return doLike(Op.NOT_LIKE,property,likeValue);
}

public BbQBuilder in(String property, List list){
public CondBuilder in(String property, List list){
return doIn(Op.IN,property,list);
}

public BbQBuilder inRequired(String property, List list){
public CondBuilder inRequired(String property, List list){
if (list == null || list.isEmpty()){
this.instance.isAbort = true;
}
return doIn(Op.IN,property,list);
}

public BbQBuilder nin(String property, List list){
public CondBuilder nin(String property, List list){
return doIn(Op.NOT_IN,property,list);
}

public BbQBuilder nonNull(String property){
public CondBuilder nonNull(String property){
return doNull(Op.IS_NOT_NULL,property);
}

public BbQBuilder isNull(String property){
public CondBuilder isNull(String property){
return doNull(Op.IS_NULL,property);
}

public BbQBuilder x(String sqlSegment, Object... values){
public CondBuilder x(String sqlSegment, Object... values){

if (SqliStringUtil.isNullOrEmpty(sqlSegment)){
isOr();
Expand All @@ -183,31 +183,31 @@ public BbQBuilder x(String sqlSegment, Object... values){
return instance;
}

public BbQBuilder and(){
public CondBuilder and(){
this.isOr = false;
return this.instance;
}

public BbQBuilder or(){
public CondBuilder or(){
this.isOr = true;
return this.instance;
}

public BbQBuilder and(BbSub sub){
public CondBuilder and(SubCond sub){
return orAnd(Op.AND, sub);
}

public BbQBuilder or(BbSub sub) {
public CondBuilder or(SubCond sub) {
return orAnd(Op.OR, sub);
}

private BbQBuilder orAnd(Op c, BbSub sub){
private CondBuilder orAnd(Op c, SubCond s){

BbQBuilder subBuilder = BbQBuilder.builder();
sub.buildBy(subBuilder);
BbQ bbQ = subBuilder.build();
CondBuilder sub = CondBuilder.builder();
s.buildBy(sub);
CondQ condQ = sub.build();

List<Bb> subList = bbQ.getBbList();
List<Bb> subList = condQ.getBbs();
if (subList == null || subList.isEmpty())
return instance;

Expand All @@ -221,7 +221,7 @@ private BbQBuilder orAnd(Op c, BbSub sub){
return instance;
}

public BbQBuilder beginSub(){
public CondBuilder beginSub(){
Bb bb = new Bb(isOr());
bb.setP(Op.SUB);

Expand All @@ -235,7 +235,7 @@ public BbQBuilder beginSub(){
return instance;
}

public BbQBuilder endSub(){
public CondBuilder endSub(){
isOr();
int size = getSubsList().size();
if (--size >= 0)
Expand All @@ -249,7 +249,7 @@ public BbQBuilder endSub(){
return this.instance;
}

private BbQBuilder doGle(Op p, String property, Object value) {
private CondBuilder doGle(Op p, String property, Object value) {
if (value == null){
isOr();
return instance;
Expand All @@ -270,7 +270,7 @@ private BbQBuilder doGle(Op p, String property, Object value) {
return instance;
}

private BbQBuilder doLike(Op p, String property, String likeWalue){
private CondBuilder doLike(Op p, String property, String likeWalue){

Bb bb = new Bb(isOr());
bb.setP(p);
Expand All @@ -280,7 +280,7 @@ private BbQBuilder doLike(Op p, String property, String likeWalue){
return instance;
}

private BbQBuilder doIn(Op p, String property, List<? extends Object> list){
private CondBuilder doIn(Op p, String property, List<? extends Object> list){

if (list == null || list.isEmpty()){
isOr();
Expand Down Expand Up @@ -310,7 +310,7 @@ private BbQBuilder doIn(Op p, String property, List<? extends Object> list){
return instance;
}

private BbQBuilder doNull(Op p, String property){
private CondBuilder doNull(Op p, String property){
if (SqliStringUtil.isNullOrEmpty(property)){
isOr();
return instance;
Expand Down
14 changes: 7 additions & 7 deletions sqli-builder/src/main/java/io/xream/sqli/builder/Q.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.xream.sqli.api.Routable;
import io.xream.sqli.builder.internal.Bb;
import io.xream.sqli.builder.internal.BbQ;
import io.xream.sqli.builder.internal.CondQ;
import io.xream.sqli.builder.internal.Distinct;
import io.xream.sqli.builder.internal.SourceScript;
import io.xream.sqli.mapping.Mappable;
Expand All @@ -39,7 +39,7 @@
* @author Sim
*
*/
public class Q<T> implements Mappable, BbQ, Paged, Routable {
public class Q<T> implements Mappable, CondQ, Paged, Routable {

private Class<T> clzz;
private boolean isTotalRowsIgnored;
Expand All @@ -49,7 +49,7 @@ public class Q<T> implements Mappable, BbQ, Paged, Routable {
private Object routeKey;
private List<Sort> sortList;
private List<KV> fixedSortList;
private List<Bb> bbList = new ArrayList<>();
private List<Bb> bbs = new ArrayList<>();
private boolean isAbort;

@JsonIgnore
Expand Down Expand Up @@ -159,12 +159,12 @@ public void setRouteKey(Object routeKey) {
}

@Override
public List<Bb> getBbList() {
return this.bbList;
public List<Bb> getBbs() {
return this.bbs;
}

protected void add(Bb bb) {
this.bbList.add(bb);
this.bbs.add(bb);
}

public boolean isFixedSort() {
Expand Down Expand Up @@ -197,7 +197,7 @@ public String toString() {
", rows=" + rows +
", last=" + last +
", sortList='" + sortList + '\'' +
", bbList=" + bbList +
", bbList=" + bbs +
", clz=" + clzz +
'}';
}
Expand Down
21 changes: 7 additions & 14 deletions sqli-builder/src/main/java/io/xream/sqli/builder/QB.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
/**
* @author Sim
*/
public class QB<T> extends BbQBuilder {
public class QB<T> extends CondBuilder {

private Q q;
private PageBuilder pageBuilder;
Expand Down Expand Up @@ -114,7 +114,7 @@ public QB<T> sort(String orderBy, Direction direction) {
}

private QB(Q q) {
super(q.getBbList());
super(q.getBbs());
this.q = q;
}

Expand Down Expand Up @@ -215,11 +215,11 @@ public QB x(String sqlSegment, Object...values){
return (QB) super.x(sqlSegment, values);
}

public QB and(BbSub sub){
public QB and(SubCond sub){
return (QB) super.and(sub);
}

public QB or(BbSub sub){
public QB or(SubCond sub){
return (QB) super.or(sub);
}

Expand All @@ -239,10 +239,6 @@ public QB or(){
return (QB) super.or();
}

public QB and(){
return (QB) super.and();
}


public void clear(){
this.q = null;
Expand Down Expand Up @@ -324,7 +320,7 @@ public SourceBuilder on(String key, Op op, JoinFrom joinFrom) {
}

@Override
public BbQBuilder more() {
public CondBuilder more() {
List<Bb> bbList = new ArrayList<>();
sourceScriptTemp.setBbList(bbList);
return builder(bbList);
Expand Down Expand Up @@ -578,11 +574,11 @@ public X x(String sqlSegment, Object...values){
return (X) super.x(sqlSegment, values);
}

public X and(BbSub sub){
public X and(SubCond sub){
return (X) super.and(sub);
}

public X or(BbSub sub){
public X or(SubCond sub){
return (X) super.or(sub);
}

Expand All @@ -602,9 +598,6 @@ public X or(){
return (X) super.or();
}

public X and(){
return (X) super.and();
}

public void clear(){
super.clear();
Expand Down
Loading

0 comments on commit 37a4d4b

Please sign in to comment.