Home / Class/ PemValue Class — netty Architecture

PemValue Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  4512054b_c835_cdda_ef35_b2ef54bf9a66["PemValue"]
  767b5827_ada5_5200_12f8_18d5deda4eb4["PemValue.java"]
  4512054b_c835_cdda_ef35_b2ef54bf9a66 -->|defined in| 767b5827_ada5_5200_12f8_18d5deda4eb4
  2773bb48_7f1f_547c_de6e_914d1c592d78["PemValue()"]
  4512054b_c835_cdda_ef35_b2ef54bf9a66 -->|method| 2773bb48_7f1f_547c_de6e_914d1c592d78
  1c298aea_cc96_db54_2d95_78780aba9ef1["isSensitive()"]
  4512054b_c835_cdda_ef35_b2ef54bf9a66 -->|method| 1c298aea_cc96_db54_2d95_78780aba9ef1
  e7534677_3e9d_8c97_dab4_dd4d5d7b8de2["ByteBuf()"]
  4512054b_c835_cdda_ef35_b2ef54bf9a66 -->|method| e7534677_3e9d_8c97_dab4_dd4d5d7b8de2
  b15325fd_ec8c_6635_90df_88bc09550339["deallocate()"]
  4512054b_c835_cdda_ef35_b2ef54bf9a66 -->|method| b15325fd_ec8c_6635_90df_88bc09550339

Relationship Graph

Source Code

handler/src/main/java/io/netty/handler/ssl/PemValue.java lines 31–105

class PemValue extends AbstractReferenceCounted implements PemEncoded {

    private final ByteBuf content;

    private final boolean sensitive;

    PemValue(ByteBuf content, boolean sensitive) {
        this.content = ObjectUtil.checkNotNull(content, "content");
        this.sensitive = sensitive;
    }

    @Override
    public boolean isSensitive() {
        return sensitive;
    }

    @Override
    public ByteBuf content() {
        int count = refCnt();
        if (count <= 0) {
            throw new IllegalReferenceCountException(count);
        }

        return content;
    }

    @Override
    public PemValue copy() {
        return replace(content.copy());
    }

    @Override
    public PemValue duplicate() {
        return replace(content.duplicate());
    }

    @Override
    public PemValue retainedDuplicate() {
        return replace(content.retainedDuplicate());
    }

    @Override
    public PemValue replace(ByteBuf content) {
        return new PemValue(content, sensitive);
    }

    @Override
    public PemValue touch() {
        return (PemValue) super.touch();
    }

    @Override
    public PemValue touch(Object hint) {
        content.touch(hint);
        return this;
    }

    @Override
    public PemValue retain() {
        return (PemValue) super.retain();
    }

    @Override
    public PemValue retain(int increment) {
        return (PemValue) super.retain(increment);
    }

    @Override
    protected void deallocate() {
        if (sensitive) {
            SslUtils.zeroout(content);
        }
        content.release();
    }
}

Frequently Asked Questions

What is the PemValue class?
PemValue is a class in the netty codebase, defined in handler/src/main/java/io/netty/handler/ssl/PemValue.java.
Where is PemValue defined?
PemValue is defined in handler/src/main/java/io/netty/handler/ssl/PemValue.java at line 31.

Analyze Your Own Codebase

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

Try Supermodel Free