samples/messagedigest/src-bridge/org/apidesign/impl/security/extension/BridgeToNew.java
1.1 --- a/samples/messagedigest/src-bridge/org/apidesign/impl/security/extension/BridgeToNew.java Sat Jun 14 09:52:23 2008 +0200
1.2 +++ b/samples/messagedigest/src-bridge/org/apidesign/impl/security/extension/BridgeToNew.java Sat Jun 14 09:52:25 2008 +0200
1.3 @@ -5,40 +5,37 @@
1.4
1.5 package org.apidesign.impl.security.extension;
1.6
1.7 -import org.apidesign.impl.security.friendapi.DigestImplementation;
1.8 -import org.apidesign.impl.security.friendapi.DigestProvider;
1.9 import java.nio.ByteBuffer;
1.10 import java.security.MessageDigest;
1.11 import java.security.NoSuchAlgorithmException;
1.12 import java.util.logging.Level;
1.13 import java.util.logging.Logger;
1.14 +import org.apidesign.spi.security.Digestor;
1.15
1.16 /**
1.17 *
1.18 * @author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
1.19 */
1.20 // BEGIN: day.end.bridges.BridgeToNew
1.21 -public class BridgeToNew implements DigestProvider {
1.22 -
1.23 - public DigestImplementation create(String algorithm) {
1.24 +public class BridgeToNew extends Digestor<MessageDigest> {
1.25 + @Override
1.26 + protected MessageDigest create(String algorithm) {
1.27 try {
1.28 - final MessageDigest md = MessageDigest.getInstance(algorithm);
1.29 - return new DigestImplementation(algorithm) {
1.30 -
1.31 - @Override
1.32 - public void update(ByteBuffer bb) {
1.33 - md.update(bb);
1.34 - }
1.35 -
1.36 - @Override
1.37 - public byte[] digest() {
1.38 - return md.digest();
1.39 - }
1.40 - };
1.41 + return MessageDigest.getInstance(algorithm);
1.42 } catch (NoSuchAlgorithmException ex) {
1.43 - Logger.getLogger(BridgeToNew.class.getName()).log(Level.INFO, null, ex);
1.44 + Logger.getLogger(BridgeToNew.class.getName()).log(Level.FINE, "Cannot find " + algorithm, ex);
1.45 return null;
1.46 }
1.47 }
1.48 +
1.49 + @Override
1.50 + protected byte[] digest(MessageDigest data) {
1.51 + return data.digest();
1.52 + }
1.53 +
1.54 + @Override
1.55 + protected void update(MessageDigest data, ByteBuffer input) {
1.56 + data.update(input);
1.57 + }
1.58 }
1.59 // END: day.end.bridges.BridgeToNew