NetUtilSubstitutions Class — netty Architecture
Architecture documentation for the NetUtilSubstitutions class in NetUtilSubstitutions.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD d09badc4_18f8_e480_4aa7_c96aa0dbb310["NetUtilSubstitutions"] 57f5862a_d0d4_2cbc_571e_8864156d87d0["NetUtilSubstitutions.java"] d09badc4_18f8_e480_4aa7_c96aa0dbb310 -->|defined in| 57f5862a_d0d4_2cbc_571e_8864156d87d0 efdd3c68_9747_2f37_b504_5e7c6ed3f2ab["NetUtilSubstitutions()"] d09badc4_18f8_e480_4aa7_c96aa0dbb310 -->|method| efdd3c68_9747_2f37_b504_5e7c6ed3f2ab
Relationship Graph
Source Code
common/src/main/java/io/netty/util/NetUtilSubstitutions.java lines 28–112
@TargetClass(NetUtil.class)
final class NetUtilSubstitutions {
private NetUtilSubstitutions() {
}
@Alias
@InjectAccessors(NetUtilLocalhost4Accessor.class)
public static Inet4Address LOCALHOST4;
@Alias
@InjectAccessors(NetUtilLocalhost6Accessor.class)
public static Inet6Address LOCALHOST6;
@Alias
@InjectAccessors(NetUtilLocalhostAccessor.class)
public static InetAddress LOCALHOST;
@Alias
@InjectAccessors(NetUtilNetworkInterfacesAccessor.class)
public static Collection<NetworkInterface> NETWORK_INTERFACES;
private static final class NetUtilLocalhost4Accessor {
static Inet4Address get() {
// using https://en.wikipedia.org/wiki/Initialization-on-demand_holder_idiom
return NetUtilLocalhost4LazyHolder.LOCALHOST4;
}
static void set(Inet4Address ignored) {
// a no-op setter to avoid exceptions when NetUtil is initialized at run-time
}
}
private static final class NetUtilLocalhost4LazyHolder {
private static final Inet4Address LOCALHOST4 = NetUtilInitializations.createLocalhost4();
}
private static final class NetUtilLocalhost6Accessor {
static Inet6Address get() {
// using https://en.wikipedia.org/wiki/Initialization-on-demand_holder_idiom
return NetUtilLocalhost6LazyHolder.LOCALHOST6;
}
static void set(Inet6Address ignored) {
// a no-op setter to avoid exceptions when NetUtil is initialized at run-time
}
}
private static final class NetUtilLocalhost6LazyHolder {
private static final Inet6Address LOCALHOST6 = NetUtilInitializations.createLocalhost6();
}
private static final class NetUtilLocalhostAccessor {
static InetAddress get() {
// using https://en.wikipedia.org/wiki/Initialization-on-demand_holder_idiom
return NetUtilLocalhostLazyHolder.LOCALHOST;
}
static void set(InetAddress ignored) {
// a no-op setter to avoid exceptions when NetUtil is initialized at run-time
}
}
private static final class NetUtilLocalhostLazyHolder {
private static final InetAddress LOCALHOST = NetUtilInitializations
.determineLoopback(NetUtilNetworkInterfacesLazyHolder.NETWORK_INTERFACES,
NetUtilLocalhost4LazyHolder.LOCALHOST4, NetUtilLocalhost6LazyHolder.LOCALHOST6)
.address();
}
private static final class NetUtilNetworkInterfacesAccessor {
static Collection<NetworkInterface> get() {
// using https://en.wikipedia.org/wiki/Initialization-on-demand_holder_idiom
return NetUtilNetworkInterfacesLazyHolder.NETWORK_INTERFACES;
}
static void set(Collection<NetworkInterface> ignored) {
// a no-op setter to avoid exceptions when NetUtil is initialized at run-time
}
}
private static final class NetUtilNetworkInterfacesLazyHolder {
Source
Frequently Asked Questions
What is the NetUtilSubstitutions class?
NetUtilSubstitutions is a class in the netty codebase, defined in common/src/main/java/io/netty/util/NetUtilSubstitutions.java.
Where is NetUtilSubstitutions defined?
NetUtilSubstitutions is defined in common/src/main/java/io/netty/util/NetUtilSubstitutions.java at line 28.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free