
package com.jeelowcode.framework.plus.entity;


import com.jeelowcode.framework.plus.build.ISQLExpression;
import com.jeelowcode.framework.plus.build.buildmodel.SQLInterpretContext;
import com.jeelowcode.framework.plus.chain.entity.DataPermissionFilterEntity;
import com.jeelowcode.framework.plus.chain.entity.TenantIdFilterEntity;
import com.jeelowcode.framework.plus.core.model.SqlFormatModel;


public class SqlInfoEntity extends SqlResultEntity {

    //表达式
    private ISQLExpression<SqlFormatModel> sqlExpression;
    //sql参数上下文
    private SQLInterpretContext context;

    //责任链模式参数
    private String sql;
    //sql解析等级 设置了的话，就单独使用某一个等级
    private Integer sqlParserLevel;

    //租户相关条件过滤
    private TenantIdFilterEntity tenantIdFilterEntity;
    //数据权限相关
    private DataPermissionFilterEntity dataPermissionFilterEntity;


    public ISQLExpression<SqlFormatModel> getSqlExpression() {
        return sqlExpression;
    }

    public void setSqlExpression(ISQLExpression<SqlFormatModel> sqlExpression) {
        this.sqlExpression = sqlExpression;
    }

    public SQLInterpretContext getContext() {
        return context;
    }

    public void setContext(SQLInterpretContext context) {
        this.context = context;
    }

    public String getSql() {
        return sql;
    }

    public void setSql(String sql) {
        this.sql = sql;
    }

    public TenantIdFilterEntity getTenantIdFilterEntity() {
        return tenantIdFilterEntity;
    }

    public void setTenantIdFilterEntity(TenantIdFilterEntity tenantIdFilterEntity) {
        this.tenantIdFilterEntity = tenantIdFilterEntity;
    }

    public DataPermissionFilterEntity getDataPermissionFilterEntity() {
        return dataPermissionFilterEntity;
    }

    public void setDataPermissionFilterEntity(DataPermissionFilterEntity dataPermissionFilterEntity) {
        this.dataPermissionFilterEntity = dataPermissionFilterEntity;
    }

    public Integer getSqlParserLevel() {
        return sqlParserLevel;
    }

    public void setSqlParserLevel(Integer sqlParserLevel) {
        this.sqlParserLevel = sqlParserLevel;
    }
}
