[
https://issues.apache.org/jira/browse/AVRO-1024?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13204085#comment-13204085
]
Doug Cutting commented on AVRO-1024:
------------------------------------
This exposes more of the implementation. It means we could not easily switch
from using the Parser or from using Jackson to implement this without
potentially breaking applications that use this API. The Parser is already
largely exposed, since the base class is ParsingEncoder, and we're unlikely to
use a different JSON library than Jackson, so perhaps this is okay. What do
others think?
On the patch itself, it would be better to access these via accessor methods
rather than protected fields. And once something's public or protected then it
needs javadoc. We should include a unit test for this. Perhaps the example
you provide above of changing the way unions are serialized would make a good
test?
> Allow users to subclass JsonEncoder
> -----------------------------------
>
> Key: AVRO-1024
> URL: https://issues.apache.org/jira/browse/AVRO-1024
> Project: Avro
> Issue Type: Improvement
> Components: java
> Affects Versions: 1.5.4
> Reporter: Elliott Clark
> Attachments: AVRO-1024-1.patch
>
>
> Users who want to use a different representation of json from the JsonEncoder
> are forced to re-implement all of it since JsonEncoder's internals are all
> private. For example I wanted to make the json not contain type hints for
> unions. That required only overriding one method after this fix.
> To fix this making things protected will allow users to change just code that
> is needed.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira