Home / Class/ HostsFileParser Class — netty Architecture

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());

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