package com.ecep.contract.controller.table.cell;

import static com.ecep.contract.SpringApp.getBean;

import com.ecep.contract.service.CompanyService;
import com.ecep.contract.vo.CompanyVo;

import javafx.util.Callback;
import lombok.NoArgsConstructor;

/**
 * 公司单元格
 */
@NoArgsConstructor
public class CompanyTableCell<V> extends AsyncUpdateTableCell<V, Integer, CompanyVo> {
    /**
     * 创建单元格工厂
     * 
     * @param companyService 公司服务
     * @return 单元格工厂
     */
    public static <V> Callback<javafx.scene.control.TableColumn<V, Integer>, javafx.scene.control.TableCell<V, Integer>> forTableColumn(
            CompanyService companyService) {
        return param -> new CompanyTableCell<V>(companyService);
    }

    public CompanyTableCell(CompanyService companyService) {
        setService(companyService);
    }

    @Override
    protected CompanyService getServiceBean() {
        return getBean(CompanyService.class);
    }

}
