Package clips.directory.editors.serviceGroup

Source Code of clips.directory.editors.serviceGroup.TableModelServicesFromGroup

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package clips.directory.editors.serviceGroup;

import cli_fmw.delegate.directory.complex.DirectoryLocator;
import clips.delegate.directory.filtered.DirectoryService;
import clips.delegate.directory.filtered.DirectoryServiceItem;
import clips.delegate.directory.complex.DirectoryServicesGroupItem;
import cli_fmw.main.ClipsException;
import cli_fmw.utils.ErrorValue;
import cli_fmw.utils.MessageBox;
import cli_fmw.utils.Selector;
import clips.delegate.directory.simple.reqType.DirectoryReqTypeItem;
import clips.delegate.directory.simple.serviceClass.DirectoryServiceClassItem;
import clips.delegate.directory.simple.visitType.DirectoryVisitTypeItem;
import javax.swing.table.AbstractTableModel;

/**
*
* @author lacoste
*/
public class TableModelServicesFromGroup extends AbstractTableModel {

    public static final int COLCOUNT = 7;
    public static final int COL_SERVICE = 0;
    public static final int COL_SERV_CLASS = 1;
    public static final int COL_REQ_TYPE = 2;
    public static final int COL_VISIT_TYPE = 3;
    public static final int COL_DURATION = 4;
    public static final int COL_DESCRIPTION = 5;
    public static final int COL_CHECKUP = 6;

    private Selector<DirectoryServiceItem> services;

    public TableModelServicesFromGroup(DirectoryServicesGroupItem serviceGroup)
            throws ClipsException {
        DirectoryService svc = (DirectoryService) DirectoryLocator.getDirectory(DirectoryService.class, false);
        services = svc.getFilteredItems(serviceGroup);
    }

    @Override
    public int getRowCount() {
        return services.size();
    }

    @Override
    public int getColumnCount() {
        return COLCOUNT;
    }

    @Override
    public String getColumnName(int column) {
        switch (column) {
            case COL_SERVICE:
                return "Название";
            case COL_SERV_CLASS:
                return "Класс услуги";
            case COL_DURATION:
                return "Длительность";
            case COL_REQ_TYPE:
                return "Тип приема";
            case COL_VISIT_TYPE:
                return "Вид обращения";
            case COL_DESCRIPTION:
                return "Описание";
            case COL_CHECKUP:
                return "Анализ";
            default:
                return "";
        }
    }

    @Override
    public boolean isCellEditable(int rowIndex, int col) {
        if (col == COL_DURATION || col == COL_DESCRIPTION || col == COL_SERV_CLASS
                || col == COL_REQ_TYPE || col == COL_VISIT_TYPE) {
            return true;
        } else {
            return false;
        }
    }

    @Override
    public Class<?> getColumnClass(int col) {
        if (col == COL_DURATION) {
            return Integer.class;
        }
        return super.getColumnClass(col);
    }

    @Override
    public Object getValueAt(int row, int col) {
        try {
            DirectoryServiceItem service = services.get(row);
            if (col == COL_SERVICE) {
                return service.toString();
            } else if (col == COL_SERV_CLASS) {
                return service.getServiceClass();
            } else if (col == COL_DURATION) {
                return service.getDefaultDuration();
            } else if (col == COL_DESCRIPTION) {
                return service.getDescription();
            } else if (col == COL_CHECKUP) {
                return service.getCheckUpType() != null ? service.getCheckUpType() : "";
            } else if (col == COL_REQ_TYPE) {
                return service.getReqType() != null ? service.getReqType() : "";
            } else if (col == COL_VISIT_TYPE) {
                return service.getVisitType() != null ? service.getVisitType() : "";
            } else {
                return null;
            }
        } catch (ClipsException ex) {
            return new ErrorValue(ex);
        }
    }

    @Override
    public void setValueAt(Object aValue, int row, int col) {
        try {
            DirectoryServiceItem service = services.get(row);
            if (col == COL_SERVICE) {
                service.setTitle(aValue.toString());
            } else if (col == COL_DURATION) {
                service.setDefaultDuration((Integer) aValue);
            } else if (col == COL_DESCRIPTION) {
                service.setDescription(aValue.toString());
            } else if (col == COL_SERV_CLASS) {
                service.setServiceClass((DirectoryServiceClassItem) aValue);
            } else if (col == COL_REQ_TYPE) {
                service.setReqType((DirectoryReqTypeItem) aValue);
            } else if (col == COL_VISIT_TYPE) {
                service.setVisitType((DirectoryVisitTypeItem) aValue);
            }
        } catch (ClipsException ex) {
            MessageBox.showException(ex);
        }
    }
}
TOP

Related Classes of clips.directory.editors.serviceGroup.TableModelServicesFromGroup

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.