Home / Class/ Socks4CommandStatus Class — netty Architecture

Socks4CommandStatus Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  71dfd1ac_155b_ed61_f92e_d5adbfaeaac4["Socks4CommandStatus"]
  6cfcf166_7000_495d_65f8_f1d11ba683f6["Socks4CommandStatus.java"]
  71dfd1ac_155b_ed61_f92e_d5adbfaeaac4 -->|defined in| 6cfcf166_7000_495d_65f8_f1d11ba683f6
  fa729673_e770_9a2f_54c6_d8a5bb9c8b5f["Socks4CommandStatus()"]
  71dfd1ac_155b_ed61_f92e_d5adbfaeaac4 -->|method| fa729673_e770_9a2f_54c6_d8a5bb9c8b5f
  f674d80e_80bd_9b00_8ef8_669581cad9cf["byteValue()"]
  71dfd1ac_155b_ed61_f92e_d5adbfaeaac4 -->|method| f674d80e_80bd_9b00_8ef8_669581cad9cf
  a26b2807_4a1e_3cc7_ef92_f4a29c22b609["isSuccess()"]
  71dfd1ac_155b_ed61_f92e_d5adbfaeaac4 -->|method| a26b2807_4a1e_3cc7_ef92_f4a29c22b609
  a6cea5c2_a177_c02f_d96a_0d71d260b96c["hashCode()"]
  71dfd1ac_155b_ed61_f92e_d5adbfaeaac4 -->|method| a6cea5c2_a177_c02f_d96a_0d71d260b96c
  4628c20f_7bac_71c9_a8d0_72defe28135a["equals()"]
  71dfd1ac_155b_ed61_f92e_d5adbfaeaac4 -->|method| 4628c20f_7bac_71c9_a8d0_72defe28135a
  7eac6831_b4de_a68a_9742_abeab9ec498b["compareTo()"]
  71dfd1ac_155b_ed61_f92e_d5adbfaeaac4 -->|method| 7eac6831_b4de_a68a_9742_abeab9ec498b
  ac7cd84e_b626_380a_09f6_23e7dc805638["String()"]
  71dfd1ac_155b_ed61_f92e_d5adbfaeaac4 -->|method| ac7cd84e_b626_380a_09f6_23e7dc805638

Relationship Graph

Source Code

codec-socks/src/main/java/io/netty/handler/codec/socksx/v4/Socks4CommandStatus.java lines 23–93

public class Socks4CommandStatus implements Comparable<Socks4CommandStatus> {

    public static final Socks4CommandStatus SUCCESS = new Socks4CommandStatus(0x5a, "SUCCESS");
    public static final Socks4CommandStatus REJECTED_OR_FAILED = new Socks4CommandStatus(0x5b, "REJECTED_OR_FAILED");
    public static final Socks4CommandStatus IDENTD_UNREACHABLE = new Socks4CommandStatus(0x5c, "IDENTD_UNREACHABLE");
    public static final Socks4CommandStatus IDENTD_AUTH_FAILURE = new Socks4CommandStatus(0x5d, "IDENTD_AUTH_FAILURE");

    public static Socks4CommandStatus valueOf(byte b) {
        switch (b) {
        case 0x5a:
            return SUCCESS;
        case 0x5b:
            return REJECTED_OR_FAILED;
        case 0x5c:
            return IDENTD_UNREACHABLE;
        case 0x5d:
            return IDENTD_AUTH_FAILURE;
        }

        return new Socks4CommandStatus(b);
    }

    private final byte byteValue;
    private final String name;
    private String text;

    public Socks4CommandStatus(int byteValue) {
        this(byteValue, "UNKNOWN");
    }

    public Socks4CommandStatus(int byteValue, String name) {
        this.name = ObjectUtil.checkNotNull(name, "name");
        this.byteValue = (byte) byteValue;
    }

    public byte byteValue() {
        return byteValue;
    }

    public boolean isSuccess() {
        return byteValue == 0x5a;
    }

    @Override
    public int hashCode() {
        return byteValue;
    }

    @Override
    public boolean equals(Object obj) {
        if (!(obj instanceof Socks4CommandStatus)) {
            return false;
        }

        return byteValue == ((Socks4CommandStatus) obj).byteValue;
    }

    @Override
    public int compareTo(Socks4CommandStatus o) {
        return byteValue - o.byteValue;
    }

    @Override
    public String toString() {
        String text = this.text;
        if (text == null) {
            this.text = text = name + '(' + (byteValue & 0xFF) + ')';
        }
        return text;
    }
}

Frequently Asked Questions

What is the Socks4CommandStatus class?
Socks4CommandStatus is a class in the netty codebase, defined in codec-socks/src/main/java/io/netty/handler/codec/socksx/v4/Socks4CommandStatus.java.
Where is Socks4CommandStatus defined?
Socks4CommandStatus is defined in codec-socks/src/main/java/io/netty/handler/codec/socksx/v4/Socks4CommandStatus.java at line 23.

Analyze Your Own Codebase

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

Try Supermodel Free