package com.ecep.contract.controller.project.sale_type;

import com.ecep.contract.controller.tab.TabSkin;
import com.ecep.contract.controller.table.AbstEntityTableTabSkin;
import com.ecep.contract.model.IdentityEntity;
import com.ecep.contract.service.ProjectSaleTypeService;
import com.ecep.contract.util.ParamUtils;
import com.ecep.contract.vm.IdentityViewModel;
import com.ecep.contract.vm.ProjectSaleTypeViewModel;
import com.ecep.contract.vo.ProjectSaleTypeVo;

public abstract class AbstProjectSaleTypeTableTabSkin<T extends IdentityEntity, TV extends IdentityViewModel<T>>
        extends
        AbstEntityTableTabSkin<ProjectSaleTypeWindowController, ProjectSaleTypeVo, ProjectSaleTypeViewModel, T, TV>
        implements TabSkin {

    public AbstProjectSaleTypeTableTabSkin(ProjectSaleTypeWindowController controller) {
        super(controller);
    }

    public ProjectSaleTypeService getSaleTypeService() {
        return controller.saleTypeService;
    }

    @Override
    public ParamUtils.Builder getSpecification(ProjectSaleTypeVo parent) {
        ParamUtils.Builder params = getSpecification();
        params.equals("saleType", parent.getId());
        return params;
    }
}
