in poi/src/main/java/org/apache/poi/ss/formula/atp/XLookupFunction.java [151:261]
private AreaEval notFoundAreaEval(ValueEval notFound, int width) {
return new AreaEval() {
@Override
public int getFirstRow() {
return 0;
}
@Override
public int getLastRow() {
return 0;
}
@Override
public int getFirstColumn() {
return 0;
}
@Override
public int getLastColumn() {
return width - 1;
}
@Override
public ValueEval getAbsoluteValue(int row, int col) {
if (col == 0) {
return notFound;
}
return new StringEval("");
}
@Override
public boolean contains(int row, int col) {
return containsRow(row) && containsColumn(col);
}
@Override
public boolean containsColumn(int col) {
return col < width;
}
@Override
public boolean containsRow(int row) {
return row == 0;
}
@Override
public int getWidth() {
return width;
}
@Override
public int getHeight() {
return 1;
}
@Override
public ValueEval getRelativeValue(int relativeRowIndex, int relativeColumnIndex) {
return getAbsoluteValue(relativeRowIndex, relativeColumnIndex);
}
@Override
public AreaEval offset(int relFirstRowIx, int relLastRowIx, int relFirstColIx, int relLastColIx) {
return null;
}
@Override
public ValueEval getValue(int sheetIndex, int rowIndex, int columnIndex) {
return getAbsoluteValue(rowIndex, columnIndex);
}
@Override
public int getFirstSheetIndex() {
return 0;
}
@Override
public int getLastSheetIndex() {
return 0;
}
@Override
public ValueEval getValue(int rowIndex, int columnIndex) {
return getAbsoluteValue(rowIndex, columnIndex);
}
@Override
public boolean isColumn() {
return false;
}
@Override
public TwoDEval getRow(int rowIndex) {
return null;
}
@Override
public TwoDEval getColumn(int columnIndex) {
return null;
}
@Override
public boolean isSubTotal(int rowIndex, int columnIndex) {
return false;
}
@Override
public boolean isRowHidden(int rowIndex) {
return false;
}
};
}