ImmutableDomainWildcardMapping Class — netty Architecture
Architecture documentation for the ImmutableDomainWildcardMapping class in DomainWildcardMappingBuilder.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 1b688622_d3ad_614c_6e06_5e6f7bf6585c["ImmutableDomainWildcardMapping"] 653d8053_2ce6_0eaa_6829_31ac8dec04c8["DomainWildcardMappingBuilder.java"] 1b688622_d3ad_614c_6e06_5e6f7bf6585c -->|defined in| 653d8053_2ce6_0eaa_6829_31ac8dec04c8 065c7eed_c01c_c1c0_0a1b_73d5a27a73d6["ImmutableDomainWildcardMapping()"] 1b688622_d3ad_614c_6e06_5e6f7bf6585c -->|method| 065c7eed_c01c_c1c0_0a1b_73d5a27a73d6 3dbdfbfa_85e8_6086_2783_ed1a8d86ce53["V()"] 1b688622_d3ad_614c_6e06_5e6f7bf6585c -->|method| 3dbdfbfa_85e8_6086_2783_ed1a8d86ce53 d33fa659_e844_479c_869c_14e039b1beec["String()"] 1b688622_d3ad_614c_6e06_5e6f7bf6585c -->|method| d33fa659_e844_479c_869c_14e039b1beec
Relationship Graph
Source Code
common/src/main/java/io/netty/util/DomainWildcardMappingBuilder.java lines 101–158
private static final class ImmutableDomainWildcardMapping<V> implements Mapping<String, V> {
private static final String REPR_HEADER = "ImmutableDomainWildcardMapping(default: ";
private static final String REPR_MAP_OPENING = ", map: ";
private static final String REPR_MAP_CLOSING = ")";
private final V defaultValue;
private final Map<String, V> map;
ImmutableDomainWildcardMapping(V defaultValue, Map<String, V> map) {
this.defaultValue = defaultValue;
this.map = new LinkedHashMap<String, V>(map);
}
@Override
public V map(String hostname) {
if (hostname != null) {
hostname = normalize(hostname);
// Let's try an exact match first
V value = map.get(hostname);
if (value != null) {
return value;
}
// No exact match, let's try a wildcard match.
int idx = hostname.indexOf('.');
if (idx != -1) {
value = map.get(hostname.substring(idx));
if (value != null) {
return value;
}
}
}
return defaultValue;
}
@SuppressWarnings("deprecation")
static String normalize(String hostname) {
return DomainNameMapping.normalizeHostname(hostname);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(REPR_HEADER).append(defaultValue).append(REPR_MAP_OPENING).append('{');
for (Map.Entry<String, V> entry : map.entrySet()) {
String hostname = entry.getKey();
if (hostname.charAt(0) == '.') {
hostname = '*' + hostname;
}
sb.append(hostname).append('=').append(entry.getValue()).append(", ");
}
sb.setLength(sb.length() - 2);
return sb.append('}').append(REPR_MAP_CLOSING).toString();
}
}
Source
Frequently Asked Questions
What is the ImmutableDomainWildcardMapping class?
ImmutableDomainWildcardMapping is a class in the netty codebase, defined in common/src/main/java/io/netty/util/DomainWildcardMappingBuilder.java.
Where is ImmutableDomainWildcardMapping defined?
ImmutableDomainWildcardMapping is defined in common/src/main/java/io/netty/util/DomainWildcardMappingBuilder.java at line 101.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free