samples/messagedigest/src-bridge/org/apidesign/impl/security/extension/BridgeToNew.java
2 * To change this template, choose Tools | Templates
3 * and open the template in the editor.
6 package org.apidesign.impl.security.extension;
8 import java.nio.ByteBuffer;
9 import java.security.MessageDigest;
10 import java.security.NoSuchAlgorithmException;
11 import java.util.logging.Level;
12 import java.util.logging.Logger;
13 import org.apidesign.spi.security.Digestor;
17 * @author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
19 // BEGIN: day.end.bridges.BridgeToNew
20 public class BridgeToNew extends Digestor<MessageDigest> {
21 /** initializes the other bridge, and allow us to eliminate stack overflow */
22 private static final BridgeToOld oldBridge = new BridgeToOld();
25 protected MessageDigest create(String algorithm) {
26 // BEGIN: day.end.bridges.cyclecheck
27 if (oldBridge.isSearching()) {
28 // if the call is initiated from the other bridge, do not do
32 // END: day.end.bridges.cyclecheck
35 return MessageDigest.getInstance(algorithm);
36 } catch (NoSuchAlgorithmException ex) {
37 Logger.getLogger(BridgeToNew.class.getName()).log(Level.FINE, "Cannot find " + algorithm, ex);
43 protected byte[] digest(MessageDigest data) {
48 protected void update(MessageDigest data, ByteBuffer input) {
56 // END: day.end.bridges.BridgeToNew