Home / Class/ Digester Class — netty Architecture

Digester Class — netty Architecture

Architecture documentation for the Digester class in Digester.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  cea25495_36ea_7e55_947e_c07d0d92073c["Digester"]
  6c66d85b_a5ac_4239_5191_fbe69a5524b2["Digester.java"]
  cea25495_36ea_7e55_947e_c07d0d92073c -->|defined in| 6c66d85b_a5ac_4239_5191_fbe69a5524b2
  7f032263_0d19_8979_4a24_1138d24204b8["DigestCalculator()"]
  cea25495_36ea_7e55_947e_c07d0d92073c -->|method| 7f032263_0d19_8979_4a24_1138d24204b8
  eb04a816_d32a_7d34_cfa6_c935612cd8ed["Digester()"]
  cea25495_36ea_7e55_947e_c07d0d92073c -->|method| eb04a816_d32a_7d34_cfa6_c935612cd8ed
  31e1f561_f1b6_2d6a_5ed1_bababc1b9719["AlgorithmIdentifier()"]
  cea25495_36ea_7e55_947e_c07d0d92073c -->|method| 31e1f561_f1b6_2d6a_5ed1_bababc1b9719
  713a23bc_4164_806e_f247_b1243cb4a5ea["OutputStream()"]
  cea25495_36ea_7e55_947e_c07d0d92073c -->|method| 713a23bc_4164_806e_f247_b1243cb4a5ea
  511cfc18_837c_dded_db2b_017f7c7b9aef["getDigest()"]
  cea25495_36ea_7e55_947e_c07d0d92073c -->|method| 511cfc18_837c_dded_db2b_017f7c7b9aef

Relationship Graph

Source Code

example/src/main/java/io/netty/example/ocsp/Digester.java lines 37–81

public final class Digester implements DigestCalculator {

    public static DigestCalculator sha1() {
        Digest digest = new SHA1Digest();
        AlgorithmIdentifier algId = new AlgorithmIdentifier(
                OIWObjectIdentifiers.idSHA1);

        return new Digester(digest, algId);
    }

    public static DigestCalculator sha256() {
        Digest digest = new SHA256Digest();

        // The OID for SHA-256: http://www.oid-info.com/get/2.16.840.1.101.3.4.2.1
        ASN1ObjectIdentifier oid = new ASN1ObjectIdentifier(
                "2.16.840.1.101.3.4.2.1").intern();
        AlgorithmIdentifier algId = new AlgorithmIdentifier(oid);

        return new Digester(digest, algId);
    }

    private final DigestOutputStream dos;

    private final AlgorithmIdentifier algId;

    private Digester(Digest digest, AlgorithmIdentifier algId) {
        this.dos = new DigestOutputStream(digest);
        this.algId = algId;
    }

    @Override
    public AlgorithmIdentifier getAlgorithmIdentifier() {
        return algId;
    }

    @Override
    public OutputStream getOutputStream() {
        return dos;
    }

    @Override
    public byte[] getDigest() {
        return dos.getDigest();
    }
}

Frequently Asked Questions

What is the Digester class?
Digester is a class in the netty codebase, defined in example/src/main/java/io/netty/example/ocsp/Digester.java.
Where is Digester defined?
Digester is defined in example/src/main/java/io/netty/example/ocsp/Digester.java at line 37.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free