Class DefaultHostsFileEntriesResolver

    • Field Detail

      • DEFAULT_REFRESH_INTERVAL

        private static final long DEFAULT_REFRESH_INTERVAL
      • refreshInterval

        private final long refreshInterval
      • lastRefresh

        private final java.util.concurrent.atomic.AtomicLong lastRefresh
      • inet4Entries

        private volatile java.util.Map<java.lang.String,​java.util.List<java.net.InetAddress>> inet4Entries
      • inet6Entries

        private volatile java.util.Map<java.lang.String,​java.util.List<java.net.InetAddress>> inet6Entries
    • Constructor Detail

      • DefaultHostsFileEntriesResolver

        public DefaultHostsFileEntriesResolver()
    • Method Detail

      • address

        public java.net.InetAddress address​(java.lang.String inetHost,
                                            ResolvedAddressTypes resolvedAddressTypes)
        Description copied from interface: HostsFileEntriesResolver
        Resolve the address of a hostname against the entries in a hosts file, depending on some address types.
        Specified by:
        address in interface HostsFileEntriesResolver
        Parameters:
        inetHost - the hostname to resolve
        resolvedAddressTypes - the address types to resolve
        Returns:
        the first matching address
      • addresses

        public java.util.List<java.net.InetAddress> addresses​(java.lang.String inetHost,
                                                              ResolvedAddressTypes resolvedAddressTypes)
        Resolves all addresses of a hostname against the entries in a hosts file, depending on the specified ResolvedAddressTypes.
        Parameters:
        inetHost - the hostname to resolve
        resolvedAddressTypes - the address types to resolve
        Returns:
        all matching addresses or null in case the hostname cannot be resolved
      • ensureHostsFileEntriesAreFresh

        private void ensureHostsFileEntriesAreFresh()
      • normalize

        java.lang.String normalize​(java.lang.String inetHost)
      • allAddresses

        private static java.util.List<java.net.InetAddress> allAddresses​(java.util.List<java.net.InetAddress> a,
                                                                         java.util.List<java.net.InetAddress> b)
      • firstAddress

        private static java.net.InetAddress firstAddress​(java.util.List<java.net.InetAddress> addresses)