package net.sf.jasperreports.crosstabs.design;

import java.io.Serializable;

public class JRCrosstabOrigin implements Serializable {
  private static final long serialVersionUID = 10200L;
  
  public static final byte TYPE_HEADER_CELL = 1;
  
  public static final byte TYPE_WHEN_NO_DATA_CELL = 2;
  
  public static final byte TYPE_ROW_GROUP_HEADER = 3;
  
  public static final byte TYPE_ROW_GROUP_TOTAL_HEADER = 4;
  
  public static final byte TYPE_COLUMN_GROUP_HEADER = 5;
  
  public static final byte TYPE_COLUMN_GROUP_TOTAL_HEADER = 6;
  
  public static final byte TYPE_DATA_CELL = 7;
  
  private final JRDesignCrosstab crosstab;
  
  private final byte type;
  
  private final String rowGroupName;
  
  private final String columnGroupName;
  
  public JRCrosstabOrigin(JRDesignCrosstab crosstab, byte type) {
    this(crosstab, type, null, null);
  }
  
  public JRCrosstabOrigin(JRDesignCrosstab crosstab, byte type, String rowGroupName, String columnGroupName) {
    this.crosstab = crosstab;
    this.type = type;
    this.rowGroupName = rowGroupName;
    this.columnGroupName = columnGroupName;
  }
  
  public byte getType() {
    return this.type;
  }
  
  public String getRowGroupName() {
    return this.rowGroupName;
  }
  
  public String getColumnGroupName() {
    return this.columnGroupName;
  }
  
  public JRDesignCrosstab getCrosstab() {
    return this.crosstab;
  }
}
