/**
 * Distributable under LGPL license.
 * See terms of license at gnu.org.
 *
 * Copyright (C)
 * <a href="http://www.inab.org">Spanish National Institute of Bioinformatics (INB)</a>
 * <a href="http://www.bsc.es">Barcelona Supercomputing Center (BSC)</a>
 * <a href="http://inb.bsc.es">Computational Node 6</a>
 */

package org.inb.biomoby.central.gui.renderer;

import javax.swing.JTable;
import javax.swing.SwingConstants;
import org.inb.biomoby.central.gui.renderer.CardinalityTableCellEditor.CardinalityComponent;
import org.inb.biomoby.shared.registry.Relationship;

/**
 * @author Dmitry Repchevsky
 */

public class CardinalityTableCellRenderer extends AbstractTableCellRenderer
{
    public CardinalityTableCellRenderer()
    {
        setHorizontalAlignment(SwingConstants.CENTER);
    }

    @Override
    public AbstractTableCellRenderer getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
    {
        AbstractTableCellRenderer renderer = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);

        if (value instanceof Relationship.RELATIONSHIP_TYPE)
        {
            Relationship.RELATIONSHIP_TYPE relationship = (Relationship.RELATIONSHIP_TYPE)value;

            if (relationship == Relationship.RELATIONSHIP_TYPE.HAS)
            {
                renderer.setText(CardinalityComponent.HAS_LABEL);
            }
            else if (relationship == Relationship.RELATIONSHIP_TYPE.HASA)
            {
                renderer.setText(CardinalityComponent.HASA_LABEL);
            }
        }

        return renderer;
    }
}
