author | Jaroslav Tulach <jtulach@netbeans.org> |
Sat, 14 Jun 2008 09:52:21 +0200 | |
changeset 40 | 4a29f9676618 |
permissions | -rw-r--r-- |
jtulach@40 | 1 |
/* |
jtulach@40 | 2 |
* To change this template, choose Tools | Templates |
jtulach@40 | 3 |
* and open the template in the editor. |
jtulach@40 | 4 |
*/ |
jtulach@40 | 5 |
|
jtulach@40 | 6 |
package spi; |
jtulach@40 | 7 |
|
jtulach@40 | 8 |
import impl.spi.DigestorAccessor; |
jtulach@40 | 9 |
import java.nio.ByteBuffer; |
jtulach@40 | 10 |
|
jtulach@40 | 11 |
/** |
jtulach@40 | 12 |
* |
jtulach@40 | 13 |
* @author Jaroslav Tulach <jaroslav.tulach@apidesign.org> |
jtulach@40 | 14 |
*/ |
jtulach@40 | 15 |
public abstract class Digestor<Data> { |
jtulach@40 | 16 |
protected abstract byte[] digest(Data data); |
jtulach@40 | 17 |
protected abstract Data create(String algorithm); |
jtulach@40 | 18 |
protected abstract void update(Data data, ByteBuffer input); |
jtulach@40 | 19 |
|
jtulach@40 | 20 |
|
jtulach@40 | 21 |
static { |
jtulach@40 | 22 |
new DigestorAccessor() { |
jtulach@40 | 23 |
@Override |
jtulach@40 | 24 |
protected <Data> byte[] digest(Digestor<Data> dig, Data data) { |
jtulach@40 | 25 |
return dig.digest(data); |
jtulach@40 | 26 |
} |
jtulach@40 | 27 |
|
jtulach@40 | 28 |
@Override |
jtulach@40 | 29 |
protected <Data> Data create(Digestor<Data> dig, String algorithm) { |
jtulach@40 | 30 |
return dig.create(algorithm); |
jtulach@40 | 31 |
} |
jtulach@40 | 32 |
|
jtulach@40 | 33 |
@Override |
jtulach@40 | 34 |
protected <Data> void update(Digestor<Data> dig, Data data, ByteBuffer input) { |
jtulach@40 | 35 |
dig.update(data, input); |
jtulach@40 | 36 |
} |
jtulach@40 | 37 |
}; |
jtulach@40 | 38 |
} |
jtulach@40 | 39 |
} |