https://issues.apache.org/bugzilla/show_bug.cgi?id=54916
--- Comment #4 from Andreas Beeker <[email protected]> --- Created attachment 31296 --> https://issues.apache.org/bugzilla/attachment.cgi?id=31296&action=edit delegate-example to handle parent relations In the attached example I'd like to demonstrate what I want to change in those many subclasses of POIXMLDocumentPart. The main problem (as stated in the bug thread) is, that the current implementation doesn't track the (incoming or parent) package relations right, i.e. a referenced child has only one package relation, which is definitely not true for shared objects like slide masters/layouts. The straightforward implementation would be, to deprecate POIXMLDocumentPart.getPackageRelationship() and introduce a POIXMLDocumentPart.getPackageRelationship(POIXMLDocumentPart parent) method instead, but as the code is already out in the wild, this is probably not the way to go. So instead I'd like to introduce a delegate mechanism. When the objects are linked together in POIXMLDocumentPart.read() this would take to care to create the necessary delegates. The delegate itself is a simple inner class extending the outer class so instance-of checks stay valid and the delegate can be used the same way the original class was. Instead of duplicating all method calls in the inner class and maybe forgetting to insert a call when a new method is introduced, I thought it's better to handle it via the following method prefix ... public sometype methodname(args ...) { if (isDelegate()) { return getThis().methodname(args ...); } // and now the normal method content } So what do you think about this? (... or maybe I missed a point of how these ooxml classes work ...) -- 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]
