package de.ppi.samples.fuwesta.selophane.widget;
import java.util.List;
import org.openqa.selenium.WebElement;
import org.selophane.elements.base.Element;
import org.selophane.elements.base.ImplementedBy;
import org.selophane.elements.widget.Button;
import de.ppi.samples.fuwesta.selophane.widget.ActionTableImpl.RowImpl;
/**
* A table with actions in the last column.
*
*/
@ImplementedBy(ActionTableImpl.class)
public interface ActionTable extends Element {
/**
* Return the number of rows with data.
*
* @return the number of rows with data.
*/
int getNrOfDataRows();
/**
* Return the number of columns with data.
*
* @return the number of columns with data.
*/
int getNrOfDataColumns();
/**
* Returns the header.
*
* @return the header.
*/
List<WebElement> getHeader();
/**
* Return a list of rows which contains the data.
*
* @return a list of rows which contains the data.
*/
List<Row> getDataRows();
/**
* A row of an action-table.
*
*/
@ImplementedBy(RowImpl.class)
public interface Row extends Element {
/**
* Returns the i-th element of the column starting by 0.
*
* @param i the nr of which element is wanted, index starts by 0.
* @return the i-th element of the column starting by 0.
*/
WebElement getColumn(int i);
/**
* Returns the list of {@link ActionButton}.
*
* @return the list of {@link ActionButton}.
*/
List<Button> getActions();
}
}