In writing unit tests for bug 60887, I have found an issue that I believe will be confusing to users. I put setters and getters in XSSFHeaderFooter for the global header/footer attributes. The reason I put it there is that these attributes are indeed global for the sheet, they are not specific to First, or Even/Odd headers and footers. Unfortunately this class is Abstract, and needs to be that way due to the way XSSFHeader, XSSFFirstHeader, etc. work. So the confusion I can foresee is that If a user has different First and EvenOdd Headers and Footers, Settiong these attributes in one will set that attribute in all the rest. It is not intuitively obvious that if you create an XSSFOddHeader, and an XSSFEvenHeader that they refer to the same XSSFHeaderFooter object. It then follows that it wouldn't be obvious by looking at the interface that changing AlignWithMargins in one will make the same change in all the rest, but it does. I am not real sure how to deal with this. As it stands, the classes require an intimate knowledge of the underlying structures in order to use them effectively, and that is just not right for a user facing interface.
On Tue, Mar 21, 2017 at 4:16 PM, <bugzi...@apache.org> wrote: > https://bz.apache.org/bugzilla/show_bug.cgi?id=60887 > > --- Comment #2 from Greg Woolsey <gwool...@apache.org> --- > Sounds appropriate to me. > > -- > You are receiving this mail because: > You are the assignee for the bug. > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org > For additional commands, e-mail: dev-h...@poi.apache.org > >