HostsFileParser Class — netty Architecture
Architecture documentation for the HostsFileParser class in HostsFileParser.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 21e04ee1_be05_b6bd_5b73_5df1cf450e31["HostsFileParser"] 8aacd5bd_aa6e_9646_b828_2ed5ee6ad796["HostsFileParser.java"] 21e04ee1_be05_b6bd_5b73_5df1cf450e31 -->|defined in| 8aacd5bd_aa6e_9646_b828_2ed5ee6ad796 e387074f_9eb5_21de_319c_a63b485cac51["HostsFileEntries()"] 21e04ee1_be05_b6bd_5b73_5df1cf450e31 -->|method| e387074f_9eb5_21de_319c_a63b485cac51 cc144698_8897_0a94_e3cd_708ac3332590["HostsFileParser()"] 21e04ee1_be05_b6bd_5b73_5df1cf450e31 -->|method| cc144698_8897_0a94_e3cd_708ac3332590 a7dc7301_b3c7_b273_38e7_403df1f76de9["toMapWithSingleValue()"] 21e04ee1_be05_b6bd_5b73_5df1cf450e31 -->|method| a7dc7301_b3c7_b273_38e7_403df1f76de9
Relationship Graph
Source Code
resolver/src/main/java/io/netty/resolver/HostsFileParser.java lines 34–123
public final class HostsFileParser {
/**
* Parse hosts file at standard OS location using the systems default {@link Charset} for decoding.
*
* @return a {@link HostsFileEntries}
*/
public static HostsFileEntries parseSilently() {
return hostsFileEntries(HostsFileEntriesProvider.parser().parseSilently());
}
/**
* Parse hosts file at standard OS location using the given {@link Charset}s one after each other until
* we were able to parse something or none is left.
*
* @param charsets the {@link Charset}s to try as file encodings when parsing.
* @return a {@link HostsFileEntries}
*/
public static HostsFileEntries parseSilently(Charset... charsets) {
return hostsFileEntries(HostsFileEntriesProvider.parser().parseSilently(charsets));
}
/**
* Parse hosts file at standard OS location using the system default {@link Charset} for decoding.
*
* @return a {@link HostsFileEntries}
* @throws IOException file could not be read
*/
public static HostsFileEntries parse() throws IOException {
return hostsFileEntries(HostsFileEntriesProvider.parser().parse());
}
/**
* Parse a hosts file using the system default {@link Charset} for decoding.
*
* @param file the file to be parsed
* @return a {@link HostsFileEntries}
* @throws IOException file could not be read
*/
public static HostsFileEntries parse(File file) throws IOException {
return hostsFileEntries(HostsFileEntriesProvider.parser().parse(file));
}
/**
* Parse a hosts file.
*
* @param file the file to be parsed
* @param charsets the {@link Charset}s to try as file encodings when parsing.
* @return a {@link HostsFileEntries}
* @throws IOException file could not be read
*/
public static HostsFileEntries parse(File file, Charset... charsets) throws IOException {
return hostsFileEntries(HostsFileEntriesProvider.parser().parse(file, charsets));
}
/**
* Parse a reader of hosts file format.
*
* @param reader the file to be parsed
* @return a {@link HostsFileEntries}
* @throws IOException file could not be read
*/
public static HostsFileEntries parse(Reader reader) throws IOException {
return hostsFileEntries(HostsFileEntriesProvider.parser().parse(reader));
}
/**
* Can't be instantiated.
*/
private HostsFileParser() {
}
@SuppressWarnings("unchecked")
private static HostsFileEntries hostsFileEntries(HostsFileEntriesProvider provider) {
return provider == HostsFileEntriesProvider.EMPTY ? HostsFileEntries.EMPTY :
new HostsFileEntries((Map<String, Inet4Address>) toMapWithSingleValue(provider.ipv4Entries()),
(Map<String, Inet6Address>) toMapWithSingleValue(provider.ipv6Entries()));
}
private static Map<String, ?> toMapWithSingleValue(Map<String, List<InetAddress>> fromMapWithListValue) {
Map<String, InetAddress> result = new HashMap<String, InetAddress>(fromMapWithListValue.size());
Source
Frequently Asked Questions
What is the HostsFileParser class?
HostsFileParser is a class in the netty codebase, defined in resolver/src/main/java/io/netty/resolver/HostsFileParser.java.
Where is HostsFileParser defined?
HostsFileParser is defined in resolver/src/main/java/io/netty/resolver/HostsFileParser.java at line 34.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free