com.vaadin.ui.components.grid.FooterRow Maven / Gradle / Ivy
/*
* Copyright (C) 2000-2024 Vaadin Ltd
*
* This program is available under Vaadin Commercial License and Service Terms.
*
* See for the full
* license.
*/
package com.vaadin.ui.components.grid;
import java.io.Serializable;
import java.util.Collection;
import java.util.Set;
import com.vaadin.ui.Component;
import com.vaadin.ui.Grid;
import com.vaadin.ui.Grid.Column;
/**
* A footer row in a Grid.
*
* @author Vaadin Ltd
* @since 8.0
*/
public interface FooterRow extends Serializable {
/**
* Returns the cell on this row corresponding to the given column id.
*
* @see Column#setId(String)
*
* @param columnId
* the id of the column whose footer cell to get, not null
* @return the footer cell
* @throws IllegalArgumentException
* if there is no such column in the grid
*/
public FooterCell getCell(String columnId);
/**
* Returns the cell on this row corresponding to the given column.
*
* @param column
* the column whose footer cell to get, not null
* @return the footer cell
* @throws IllegalArgumentException
* if there is no such column in the grid
*/
public FooterCell getCell(Grid.Column, ?> column);
/**
* Merges column cells in the row. Original cells are hidden, and new merged
* cell is shown instead. The cell has a width of all merged cells together,
* inherits styles of the first merged cell but has empty caption.
*
* @param cellsToMerge
* the cells which should be merged. The cells should not be
* merged to any other cell set.
* @return the remaining visible cell after the merge
*
* @see #join(FooterCell...)
* @see com.vaadin.ui.AbstractComponent#setCaption(String) setCaption
*/
FooterCell join(Set cellsToMerge);
/**
* Merges column cells in the row. Original cells are hidden, and new merged
* cell is shown instead. The cell has a width of all merged cells together,
* inherits styles of the first merged cell but has empty caption.
*
* @param cellsToMerge
* the cells which should be merged. The cells should not be
* merged to any other cell set.
* @return the remaining visible cell after the merge
*
* @see #join(Set)
* @see com.vaadin.ui.AbstractComponent#setCaption(String) setCaption
*/
FooterCell join(FooterCell... cellsToMerge);
/**
* Merges cells corresponding to the given columns in the row. Original
* cells are hidden, and new merged cell is shown instead. The cell has a
* width of all merged cells together, inherits styles of the first merged
* cell but has empty caption.
*
* @param columnsToMerge
* the columns of the cells that should be merged. The cells
* should not be merged to any other cell set.
* @return the remaining visible cell after the merge
*
* @see #join(Set)
* @see com.vaadin.ui.AbstractComponent#setCaption(String) setCaption
*/
FooterCell join(Grid.Column, ?>... columnsToMerge);
/**
* Merges cells corresponding to the given column ids in the row. Original
* cells are hidden, and new merged cell is shown instead. The cell has a
* width of all merged cells together, inherits styles of the first merged
* cell but has empty caption.
*
* @param columnIdsToMerge
* the ids of the columns of the cells that should be merged. The
* cells should not be merged to any other cell set.
* @return the remaining visible cell after the merge
*
* @see #join(Set)
* @see com.vaadin.ui.AbstractComponent#setCaption(String) setCaption
* @see Column#setId(String)
*/
FooterCell join(String... columnIdsToMerge);
/**
* Returns the custom style name for this row.
*
* @return the style name or null if no style name has been set
*/
public String getStyleName();
/**
* Sets a custom style name for this row.
*
* @param styleName
* the style name to set or null to not use any style name
*/
public void setStyleName(String styleName);
/**
* Gets a collection of all components inside this row.
*
* The order of the components in the returned collection is not specified.
*
* @return a collection of components in the row
*
* @since 8.0.3
*/
public Collection extends Component> getComponents();
}