ColumnGroupOrColumn.java [tools/WepsReportData/src/usda/weru/util/table] Revision:   Date:
/*
 * ColumnGroupOrColumn.java
 *
 * Created on June 19, 2006, 11:10 AM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package usda.weru.util.table;

/**
 * Interface specifying methods that ColumnGroups and Columns must implement.
 * @author Joseph Levin
 */
public interface ColumnGroupOrColumn {
//    /**
//     * Return the Label used for this Column.
//     * @return The Label for this Column.
//     */
//    public Label getLabel();
    /**
     * Set the ColumnGroup this Column will be a part of.
     * @param parent The ColumnGroup this Column will be a part of.
     * @return 
     */
    public ColumnGroupOrColumn setParent(ColumnGroup parent);
    /**
     * Return the ColumnGroup this Column is a part of.
     * @return The ColumnGroup this Column is a part of.
     */
    public ColumnGroup getParentGroup();
    /**
     * Return the depth in the header that this Columns Label will appear.
     * @return The depth in the header.
     */
    public int depthInHeader();
    /**
     * Returns the number of Columns under this Column (inclusive).
     * @return The number of Columns under this Column (inclusive).
     */
    public int bottomBreadth();
    /**
     * 
     * @param child 
     * @return 
     */
    public boolean isFirstChild(ColumnGroupOrColumn child);
}