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 public abstract class Digestor<Data> {
16 protected abstract byte[] digest(Data data);
17 protected abstract Data create(String algorithm);
18 protected abstract void update(Data data, ByteBuffer input);
22 new DigestorAccessor() {
24 protected <Data> byte[] digest(Digestor<Data> dig, Data data) {
25 return dig.digest(data);
29 protected <Data> Data create(Digestor<Data> dig, String algorithm) {
30 return dig.create(algorithm);
34 protected <Data> void update(Digestor<Data> dig, Data data, ByteBuffer input) {
35 dig.update(data, input);