slachiewicz opened a new issue, #1074:
URL: https://github.com/apache/maven-doxia/issues/1074

   ### New feature, improvement proposal
   
   Follow-up to #1072 / #1073, which moves `SinkEventAttributeSet` to 
`doxia-sink-api` and leaves a deprecated subclass in 
`org.apache.maven.doxia.sink.impl`.
   
   That deprecated class cannot be removed while these protected hooks in 
`doxia-core` still take or return it, so the deprecation cannot be fulfilled 
within 2.x:
   
   - `AbstractXmlParser.getAttributesFromParser(XmlPullParser)`
   - `AbstractXmlParser.handleUnknown(String, SinkEventAttributeSet, Sink, int)`
   - `Xhtml5BaseParser.baseStartTag(String, SinkEventAttributeSet, Sink)`
   - `Xhtml5BaseParser.baseEndTag(String, SinkEventAttributeSet, Sink)`
   - `Xhtml5BaseParser.consecutiveSections(int, Sink, SinkEventAttributeSet)`
   
   They were left alone in #1073 on purpose. Retyping them is not a loud break 
but a silent one: a subclass compiled against the old signature stops 
overriding the method and is simply never called again, with no error at build 
or run time. Adding overloads does not help either, since the framework calls 
these, and it can only call one of them.
   
   ### Proposal
   
   For the next major version, retype them to take the `SinkEventAttributes` 
interface rather than a concrete attribute set. A parser hook has no reason to 
require the implementation type; everything these methods do with the argument 
is available on the interface. Then 
`org.apache.maven.doxia.sink.impl.SinkEventAttributeSet` has no remaining 
references and can go.
   
   Worth doing in that order, and in a release where a signature change on 
protected extension points is expected, rather than trying to sneak either half 
into 2.x.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to