samples/messagedigest/src-bridge/org/apidesign/impl/security/extension/BridgeToNew.java
1 package org.apidesign.impl.security.extension;
3 import java.nio.ByteBuffer;
4 import java.security.MessageDigest;
5 import java.security.NoSuchAlgorithmException;
6 import java.util.logging.Level;
7 import java.util.logging.Logger;
8 import org.apidesign.spi.security.Digestor;
12 * @author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
14 // BEGIN: day.end.bridges.BridgeToNew
15 public class BridgeToNew extends Digestor<MessageDigest> {
16 /** initializes the other bridge, and allow us to eliminate stack
18 private static final BridgeToOld oldBridge = new BridgeToOld();
21 protected MessageDigest create(String algorithm) {
22 // BEGIN: day.end.bridges.cyclecheck
23 if (oldBridge.isSearching()) {
24 // if the call is initiated from the other bridge, do not do
28 // END: day.end.bridges.cyclecheck
31 return MessageDigest.getInstance(algorithm);
32 } catch (NoSuchAlgorithmException ex) {
33 Logger.getLogger(BridgeToNew.class.getName()).log(
34 Level.FINE, "Cannot find " + algorithm, ex
41 protected byte[] digest(MessageDigest data) {
46 protected void update(MessageDigest data, ByteBuffer input) {
54 // END: day.end.bridges.BridgeToNew