[
https://issues.apache.org/jira/browse/CODEC-220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15288888#comment-15288888
]
Sebb commented on CODEC-220:
----------------------------
When combined with the static import of constants, the API looks like this:
import org.apache.commons.codec.digest.MessageDigestAlgorithms.*;
...
byte [] digest1 MessageDigestHelper.with(MD2).digest(new File("pom.xml"));
String algo = "NEW-1";
byte [] digest2 MessageDigestHelper.with(algo).digest(new File("pom.xml"));
This is similar to the enum approach which would look like:
byte [] digest1 MessageDigestEnum.MD2.digest(new File("pom.xml"));
> Possible more OO-like approach to DigestUtils
> ---------------------------------------------
>
> Key: CODEC-220
> URL: https://issues.apache.org/jira/browse/CODEC-220
> Project: Commons Codec
> Issue Type: Improvement
> Reporter: Sebb
> Attachments: MessageDigestHelper.java, MessageDigestHelper.java
>
>
> DigestUtils is starting to get a bit unwieldy with so many similar static
> methods.
> One approach would be to use a Fluent approach (method chaining).
> e.g. DigestUtils.MDA("My-Digest").digestHex(File f);
> There would only need to be digest,digestHex and update instance methods for
> the different input types, currently byte, ByteBuffer, InputStream, File.
> Whereas at present these are repeated for each digest type.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)