package org.example.join.domain;

import com.baomidou.mybatisplus.core.toolkit.StringPool;
import lombok.RequiredArgsConstructor;
import org.example.join.sql.SqlContext;

@RequiredArgsConstructor
public class QueryColumn extends AbstractQueryColumn {

    /**
     * 表
     */
    private final Table table;

    /**
     * 字段名
     */
    private final String name;

    @Override
    protected QueryColumn copy() {
        return new QueryColumn(this.table, this.name);
    }

    @Override
    public String toSql() {
        String sql = SqlContext.getTableAlias(table) + StringPool.DOT + name;
        return spliceCompute(sql);
    }

}