2 * To change this template, choose Tools | Templates
3 * and open the template in the editor.
6 package org.apidesign.spi.security;
8 import org.apidesign.impl.security.spi.DigestorAccessor;
9 import java.nio.ByteBuffer;
13 * @author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
15 // BEGIN: day.end.bridges.Digestor
16 public abstract class Digestor<Data> {
17 protected abstract byte[] digest(Data data);
18 protected abstract Data create(String algorithm);
19 protected abstract void update(Data data, ByteBuffer input);
21 // END: day.end.bridges.Digestor
23 new DigestorAccessor() {
25 protected <Data> byte[] digest(Digestor<Data> dig, Data data) {
26 return dig.digest(data);
30 protected <Data> Data create(Digestor<Data> dig, String algorithm) {
31 return dig.create(algorithm);
35 protected <Data> void update(Digestor<Data> dig, Data data, ByteBuffer input) {
36 dig.update(data, input);