public static ChartDataSource<Number> fromNumericCellRange(Sheet sheet, CellRangeAddress cellRangeAddress) {
return new AbstractCellRangeDataSource<Number>(sheet, cellRangeAddress) {
+ @Override
public Number getPointAt(int index) {
CellValue cellValue = getCellValueAt(index);
if (cellValue != null && cellValue.getCellType() == CellType.NUMERIC) {
}
}
+ @Override
public boolean isNumeric() {
return true;
}
public static ChartDataSource<String> fromStringCellRange(Sheet sheet, CellRangeAddress cellRangeAddress) {
return new AbstractCellRangeDataSource<String>(sheet, cellRangeAddress) {
+ @Override
public String getPointAt(int index) {
CellValue cellValue = getCellValueAt(index);
if (cellValue != null && cellValue.getCellType() == CellType.STRING) {
}
}
+ @Override
public boolean isNumeric() {
return false;
}
this.elements = elements.clone();
}
+ @Override
public int getPointCount() {
return elements.length;
}
+ @Override
public T getPointAt(int index) {
return elements[index];
}
+ @Override
public boolean isReference() {
return false;
}
+ @Override
public boolean isNumeric() {
Class<?> arrayComponentType = elements.getClass().getComponentType();
return (Number.class.isAssignableFrom(arrayComponentType));
}
+ @Override
public String getFormulaString() {
throw new UnsupportedOperationException("Literal data source can not be expressed by reference.");
}
this.evaluator = sheet.getWorkbook().getCreationHelper().createFormulaEvaluator();
}
+ @Override
public int getPointCount() {
return numOfCells;
}
+ @Override
public boolean isReference() {
return true;
}
+ @Override
public String getFormulaString() {
return cellRangeAddress.formatAsString(sheet.getSheetName(), true);
}