/*
 * GroupTotals.java
 *
 * Created on May 4, 2007, 8:35 PM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package net.avman.RRSupport;

import java.math.BigDecimal;
import java.util.ArrayList;

/**
 *
 * @author vdayal
 */
public class GroupTotals {
    public int level;
    public int RecNum;
    public int [] GrpRecCount;
    public int StartingPageNum=-1;

    public ArrayList GroupValues=null;
    public double [] tots;
    public double [][] LevelTotals=null;


    /** Creates a new instance of GroupTotals */
    public GroupTotals(int level) {
        this.level=level;
    }
    
    public void ProcessGroups(ArrayList grps) {
      GroupValues = new ArrayList(grps);
    }
    
    public void setTotals(double [] tots)  {
        this.tots=tots;
    }  
    
    public void setLevelTotals(double [][] Tots)
    {
        LevelTotals = new double[Tots.length][];
        System.out.println("** Tots.length="+Tots.length);
        for (int i=0; i < Tots.length; i++)
        {
            LevelTotals[i]= new double[Tots[i].length];
            for (int j=0; j < Tots[i].length; j++)
            {
                LevelTotals[i][j] = Tots[i][j];
            }
        }
    }
    
    public void setGroupCounts(int [] GrpRecCount) {
        this.GrpRecCount=GrpRecCount;
    }
    
    
    public void setGroupRecNum(int RecNum)
    {
        this.RecNum = RecNum;
    }
    
    public void setStartingPageNum(int PageNum) {
        this.StartingPageNum = PageNum;
    }

     public int getGroupRecNum() {
        return RecNum;
    }

    public void debug()
    {
        System.out.print("*** Level="+level+";Record Number="+RecNum);
        for(int i=0; i < GroupValues.size(); i++) {
            System.out.print(";i="+i+";key="+GroupValues.get(i));
        }
        for(int i=0; i < tots.length; i++)
            System.out.print(";i="+i+";val="+tots[i]);   
        System.out.println();
        
        for (int k=0; k < LevelTotals.length; k++)
        {
            System.out.print("LevelTotals="+k+";GrpRecCount="+GrpRecCount[k]);
            for (int l=0; l < LevelTotals[k].length; l++) {
                System.out.print(";l="+l+";val="+LevelTotals[k][l]);
            }
            System.out.println();
        }
        System.out.println("*** Done level="+level);
        
    }
}
