001package com.mybatisflex.core.query;
002
003import com.mybatisflex.core.dialect.IDialect;
004import com.mybatisflex.core.exception.FlexAssert;
005
006import java.util.List;
007
008/**
009 * {@link QueryCondition} 适配器,用于将 {@link QueryColumn} 转换为 {@link QueryCondition}。
010 *
011 * @author 王帅
012 * @since 2024-09-29
013 */
014public class QueryConditionAdapter extends QueryCondition {
015
016    public QueryConditionAdapter(QueryColumn column) {
017        FlexAssert.notNull(column, "column");
018        super.column = column;
019    }
020
021    @Override
022    public Object getValue() {
023        return column instanceof HasParamsColumn ? ((HasParamsColumn) column).getParamValues() : null;
024    }
025
026    @Override
027    public String toSql(List<QueryTable> queryTables, IDialect dialect) {
028        return column.toConditionSql(queryTables, dialect);
029    }
030
031}