Home / Class/ PreferredAddressTypeComparator Class — netty Architecture

PreferredAddressTypeComparator Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  d936bca6_7303_e212_b330_1e15d446038f["PreferredAddressTypeComparator"]
  51a40e15_33a5_8e8c_2d82_f2b9993e6fab["PreferredAddressTypeComparator.java"]
  d936bca6_7303_e212_b330_1e15d446038f -->|defined in| 51a40e15_33a5_8e8c_2d82_f2b9993e6fab
  79c3597a_f904_be1e_73c1_652aeb36e4ae["PreferredAddressTypeComparator()"]
  d936bca6_7303_e212_b330_1e15d446038f -->|method| 79c3597a_f904_be1e_73c1_652aeb36e4ae
  5a7e5da5_8e6f_b52e_2578_21a7dbbe5b3f["compare()"]
  d936bca6_7303_e212_b330_1e15d446038f -->|method| 5a7e5da5_8e6f_b52e_2578_21a7dbbe5b3f

Relationship Graph

Source Code

resolver-dns/src/main/java/io/netty/resolver/dns/PreferredAddressTypeComparator.java lines 25–54

final class PreferredAddressTypeComparator implements Comparator<InetAddress> {

    private static final PreferredAddressTypeComparator IPv4 = new PreferredAddressTypeComparator(Inet4Address.class);
    private static final PreferredAddressTypeComparator IPv6 = new PreferredAddressTypeComparator(Inet6Address.class);

    static PreferredAddressTypeComparator comparator(SocketProtocolFamily family) {
        switch (family) {
            case INET:
                return IPv4;
            case INET6:
                return IPv6;
            default:
                throw new IllegalArgumentException();
        }
    }

    private final Class<? extends InetAddress> preferredAddressType;

    private PreferredAddressTypeComparator(Class<? extends InetAddress> preferredAddressType) {
        this.preferredAddressType = preferredAddressType;
    }

    @Override
    public int compare(InetAddress o1, InetAddress o2) {
        if (o1.getClass() == o2.getClass()) {
            return 0;
        }
        return preferredAddressType.isAssignableFrom(o1.getClass()) ? -1 : 1;
    }
}

Frequently Asked Questions

What is the PreferredAddressTypeComparator class?
PreferredAddressTypeComparator is a class in the netty codebase, defined in resolver-dns/src/main/java/io/netty/resolver/dns/PreferredAddressTypeComparator.java.
Where is PreferredAddressTypeComparator defined?
PreferredAddressTypeComparator is defined in resolver-dns/src/main/java/io/netty/resolver/dns/PreferredAddressTypeComparator.java at line 25.

Analyze Your Own Codebase

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

Try Supermodel Free