private AreaEval notFoundAreaEval()

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;
            }
        };
    }