[ https://issues.apache.org/jira/browse/CODEC-158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13469272#comment-13469272 ]
Sebb commented on CODEC-158: ---------------------------- I would be OK with any of those; prefer the ones starting with Bin because they will more likely appear in IDE auto-complete lists. This suggests another possibility: BinaryCodecI (better sorting version of IBinaryCodec). > Add Codec, StringCodec, and BinaryCodec interfaces that extend both encoder > and decoder > --------------------------------------------------------------------------------------- > > Key: CODEC-158 > URL: https://issues.apache.org/jira/browse/CODEC-158 > Project: Commons Codec > Issue Type: Improvement > Affects Versions: 1.7 > Reporter: Mirko Raner > Priority: Minor > Attachments: CODEC-158.patch > > Original Estimate: 1h > Remaining Estimate: 1h > > Currently, there are no common interfaces that extend both the encoder and > the decoder interfaces. This makes it hard to deal with a codec as a single > entity and requires separate treatment of encoder and decoder parts. > For example, let's say you want to develop a storage abstraction that uses an > encoding. Right now, you would need to write > class Storage > { > @Inject Encoder encoder; > @Inject Decoder decoder; > //... > } > In practice, encoder and decoder need to match, and most likely both encoder > and decoder would be bound to the same implementation, like Base64 or > URLCodec. Because of the lack of a common superinterface they need to be > specified separately. There are some classes like BaseNCodec that can be used > to unify some of the encoders and decoders, but they are too specific and > restrictive. > Ideally, I would like to write: > class Storage > { > @Inject Codec codec; > //... > } > Assuming that combined encoder/decoder classes like Base64 would implement > that Codec interface, this could be directly bound to a combined > encoder/decoder implementation. > It would be nice if these interfaces were added and the existing codec > classes (BaseNCodec, Hex, QCodec, QuotedPrintableCodec, URLCodec) could be > modified to implement these new interfaces. > I'm happy to contribute a patch if there is interest in this feature. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira