1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.gageot.excel.core;
18
19 import java.io.IOException;
20
21 import org.apache.poi.hssf.usermodel.HSSFCell;
22
23 /***
24 * Callback interface used by ExcelTemplate's query methods.
25 * Implementations of this interface perform the actual work of extracting
26 * results from cells, but don't need to worry about exception handling.
27 * IOExceptions will be caught and handled correctly by the ExcelTemplate class.
28 *
29 * <p>In contrast to a SheetExtractor, a CellCallbackHandler object is
30 * typically stateful: It keeps the result state within the object, to be
31 * available for later inspection.
32 *
33 * @author David Gageot
34 * @see SheetExtractor
35 * @see RowCallbackHandler
36 * @see CellMapper
37 */
38 public interface CellCallbackHandler {
39
40 /***
41 * Implementations must implement this method to process each cell of data
42 * in the HSSFSheet. This method should extract the current value.
43 * Exactly what the implementation chooses to do is up to it;
44 * a trivial implementation might simply count cells,
45 * while another implementation might build an XML document.
46 * @param cell the HSSFCell to process
47 * @param rowNum the number of the current row
48 * @param columnNum the number of the current column
49 * @throws IOException if a IOException is encountered getting
50 * column values (that is, there's no need to catch IOException)
51 */
52 void processCell (HSSFCell cell, int rowNum, int columnNum) throws IOException;
53 }