
com.easy.query.core.proxy.SQLFunctionExpressionUtil Maven / Gradle / Ivy
package com.easy.query.core.proxy;
import com.easy.query.core.expression.builder.core.SQLNative;
import com.easy.query.core.expression.parser.core.available.RuntimeContextAvailable;
import com.easy.query.core.expression.parser.core.available.TableAvailable;
import com.easy.query.core.expression.parser.core.base.scec.core.SQLNativeChainExpressionContextImpl;
import com.easy.query.core.func.SQLFunc;
import com.easy.query.core.func.SQLFunction;
import java.util.function.Function;
/**
* create time 2023/12/6 11:26
* 文件说明
*
* @author xuejiaming
*/
public class SQLFunctionExpressionUtil {
public static & RuntimeContextAvailable> void accept(T sqlNative, TableAvailable table, Function sqlFunc){
SQLFunction sqlFunction = sqlFunc.apply(sqlNative.getRuntimeContext().fx());
String sqlSegment = sqlFunction.sqlSegment(table);
sqlNative.sqlNativeSegment(sqlSegment,context->{
sqlFunction.consume(new SQLNativeChainExpressionContextImpl(table,context));
});
}
public static & RuntimeContextAvailable> void accept(T sqlNative, TableAvailable table, Function sqlFunc,boolean asc){
SQLFunction sqlFunction = sqlFunc.apply(sqlNative.getRuntimeContext().fx());
String sqlSegment = sqlFunction.sqlSegment(table)+(asc?" ASC":" DESC");
sqlNative.sqlNativeSegment(sqlSegment,context->{
sqlFunction.consume(new SQLNativeChainExpressionContextImpl(table,context));
});
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy