package org.concordion.internal;
import java.util.ArrayList;
import java.util.List;
import org.concordion.api.Element;
public class Row {
private final Element rowElement;
Row(Element rowElement) {
assert rowElement.isNamed("tr");
this.rowElement = rowElement;
}
public boolean isHeaderRow() {
for (Element cell : getCells()) {
if (cell.isNamed("td")) {
return false;
}
}
return getCells().length > 0;
}
public Element getElement() {
return rowElement;
}
public Element[] getCells() {
List<Element> cells = new ArrayList<Element>();
for (Element childElement : rowElement.getChildElements()){
if (childElement.isNamed("td") || childElement.isNamed("th")) {
cells.add(childElement);
}
}
return cells.toArray(new Element[0]);
}
public int getIndexOfCell(Element cell) {
Element[] cells = getCells();
for (int i = 0; i < cells.length; i++) {
if (cells[i].equals(cell)) {
return i;
}
}
return -1;
}
}