/*
* #%L
* data-exporter
* %%
* Copyright (C) 2012 - 2013 http://www.brsanthu.com
* %%
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* #L%
*/
package com.brsanthu.dataexporter.model;
import java.util.ArrayList;
import java.util.List;
/**
* Data row being exported.
*
* @author Santhosh Kumar
*/
public class Row {
private List<Object> cells = new ArrayList<Object>();
private List<Row> children = null;
public Row() {
//Default Constructor
}
public Row(Object... rowValues) {
add(rowValues);
}
public Row(List<? extends Object> rowValues) {
if (rowValues == null) {
throw new IllegalArgumentException("Parameter rowValues cannot be null");
}
for (Object object : rowValues) {
add(object);
}
}
public Row add(Object... rowValues) {
if (rowValues == null) {
throw new IllegalArgumentException("Parameter rowValues cannot be null");
}
for (Object value : rowValues) {
cells.add(value);
}
return this;
}
public Object getCellValue(CellDetails cellDetails) {
return cells.get(cellDetails.getColumnIndex());
}
public Object getCellValue(int index) {
return cells.get(index);
}
public void setCellValue(int index, Object value) {
cells.set(index, value);
}
public void addCellValue(Object value) {
cells.add(value);
}
public void clearCellValues() {
cells = new ArrayList<Object>();
}
public void setCellValues(List<Object> cells) {
this.cells = cells;
}
public List<Object> getCellValues() {
return cells;
}
public List<Row> getChildren() {
return children;
}
public void setChildren(List<Row> children) {
this.children = children;
}
public void addChild(Row child) {
if (children == null) {
children = new ArrayList<Row>();
}
children.add(child);
}
}