/*
 * @(#)GraphDataFromRow.java
 *
 * Copyright 2001-2002 by Oracle Corporation,
 * 500 Oracle Parkway, Redwood Shores, California, 94065, U.S.A.
 * All rights reserved.
 *
 * This software is the confidential and proprietary information
 * of Oracle Corporation.
 */

package oracle.jbo.html.jsp.graph;

abstract public class GraphDataFromRow
      extends GraphModelBase
{
    
    private int numberOfColumnValuesPerMarker = 1;

    public GraphDataFromRow()
    {
    	super();
    }


    // implement GraphBinding abstract methods.
    protected String getColumnLabel(int i)
    {
	   return (getColumnLabelsInternal())[i]; 
    }

    protected int getColumnCount()
    {
       int cc = getDataValueAttrNamesInternal().length;

	   logDebug("GraphDataFromRow : Column count " + cc);

	   return cc;
    }


    protected String getRowLabel(int i)
    {
	   int rangeIndex = rowIndexToRangeIndex(i);

	   Object val =  getAttributeFromRow(rangeIndex, getSeriesLabelAttrName());
        
       if (val == null)
            val = emptyString;
            
       return val.toString();
    }

    protected long getRowCount()
    {
        long rc = getRowSetIterator().getRowCountInRange();

	    logDebug("GraphDataFromRow : row count " + rc);

	    return rc;
    }


    protected Object getValue(int row, int col)
    {
        int rangeIndex = rowIndexToRangeIndex(row);

        String s[] = getDataValueAttrNamesInternal();
        
        Object val =  getAttributeFromRow(rangeIndex, s[col]);
        
        if (val == null)
            val = emptyString;
            
        if ( val instanceof oracle.jbo.domain.Number)
            val = ((oracle.jbo.domain.Number)val).getData();

	logDebug("GraphDataFromRow : getValue (row,col)" + row + "," + col + " : " + val);

        return val;
    }


}




