https://bz.apache.org/bugzilla/show_bug.cgi?id=58245
Javen ONeal <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Workbook interface should |Make Workbook interface |extend Iterable<Sheet> |iterable over sheets --- Comment #1 from Javen ONeal <[email protected]> --- It looks like neither HSSFWorkbook nor XSSFWorkbook have sheet iterators defined for them. I'm not sure what's preferred in this case, upcasting all iterators to Iterator<Sheet> or leaving the iterators in their more specific sheet type. The former is how XSSFWorkbook.iterator is currently implemented. The latter is similar to how XSSFSheet.rowIterator is currently implemented. POI devs, what's preferred here? ============ ss.usermodel.Workbook: public interface Workbook extends Closeable, Iterable { Iterator<? extends Sheet> iterator(); } xssf.usermodel.XSSFWorkbook: public class XSSFWorkbook extends POIXMLDocument implements Workbook { @Override public Iterator<XSSFSheet> iterator() { return sheets.iterator(); } hssf.usermodel.HSSFWorkbook: public final class HSSFWorkbook extends POIDocument implements Workbook { @Override public Iterator<HSSFSheet> iterator() { return _sheets.iterator(); } xssf.streaming.SXSSFWorkbook: public class SXSSFWorkbook implements Workbook { @Override public Iterator<SXSSFSheet> iterator() { return new SXSSFSheetIterator(_wb.iterator()); } } ================= ss.usermodel.Workbook: public interface Workbook extends Closeable, Iterable { Iterator<Sheet> iterator(); } xssf.usermodel.XSSFWorkbook: public class XSSFWorkbook extends POIXMLDocument implements Workbook { @Override public Iterator<Sheet> iterator() { return (Iterator<Sheet>)(Iterator<? extends Sheet>) sheets.iterator(); } hssf.usermodel.HSSFWorkbook: public final class HSSFWorkbook extends POIDocument implements Workbook { @Override public Iterator<Sheet> iterator() { return (Iterator<Sheet>)(Iterator<? extends Sheet>) _sheets.iterator(); } xssf.streaming.SXSSFWorkbook: public class SXSSFWorkbook implements Workbook { @Override public Iterator<Sheet> iterator() { Iterator<SXSSFSheet> it = new SXSSFSheetIterator(_wb.iterator()); return (Iterator<Sheet>)(Iterator<? extends Sheet>) it; } } -- You are receiving this mail because: You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
