package org.jerlang.erts.prim_inet; import org.jerlang.type.Atom; public enum InetAddressFamily { INET_AF_INET(1, "inet"), INET_AF_INET6(2, "inet6"), INET_AF_ANY(3, "any"), // Fake for ANY in any address family INET_AF_LOOPBACK(4, "loopback"); //Fake for LOOPBACK in any address family private final Atom atom; private final int value; private InetAddressFamily(int value, String atom) { this.atom = Atom.of(atom); this.value = value; } public int value() { return value; } public static InetAddressFamily byValue(int value) { for (InetAddressFamily inetAddressFamily : values()) { if (inetAddressFamily.value == value) { return inetAddressFamily; } } return null; } public static InetAddressFamily byAtom(Atom atom) { for (InetAddressFamily inetAddressFamily : values()) { if (inetAddressFamily.atom.equals(atom)) { return inetAddressFamily; } } return null; } }