[ https://issues.apache.org/jira/browse/CODEC-158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13558006#comment-13558006 ]
Thomas Neidhart commented on CODEC-158: --------------------------------------- I am in favor of integrating this change as it makes sense and is quite useful as Mirko pointed out in his example. Regarding the name, what do you think of the following: * [Binary, String]Coder * [Binary, String]Endec (see http://en.wikipedia.org/wiki/Endec) > 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, 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