A constructor for HSSFWorkbook that takes a Workbook object as an argument would allow the wrapping of subclasses of Workbook. Index: src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java =================================================================== RCS file: /home/cvspublic/jakarta-poi/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java,v retrieving revision 1.34 diff -u -r1.34 HSSFWorkbook.java --- src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java 20 Jun 2004 10:18:50 -0000 1.34 +++ src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java 12 Aug 2004 18:26:17 -0000 @@ -122,7 +122,12 @@ public HSSFWorkbook() { - workbook = Workbook.createWorkbook(); + this(Workbook.createWorkbook()); + } + + protected HSSFWorkbook(Workbook book) + { + workbook = book; sheets = new ArrayList(INITIAL_CAPACITY); names = new ArrayList(INITIAL_CAPACITY); }
Additionally, subclassing would be simpler if the "sheets" collection in HSSFWorkbook was given protected visibility.
You haven't explained why you need to subclass but I can't see that harm in it so I've committed the changes.