Package org.jivesoftware.smack.util.dns
Class DNSResolver
- java.lang.Object
-
- org.jivesoftware.smack.util.dns.DNSResolver
-
- Direct Known Subclasses:
DNSJavaResolver,JavaxResolver,MiniDnsResolver
public abstract class DNSResolver extends java.lang.Object
Implementations of this interface define a class that is capable of resolving DNS addresses.
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.util.logging.LoggerLOGGER
-
Constructor Summary
Constructors Modifier Constructor Description protectedDNSResolver(boolean supportsDnssec)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description java.util.List<java.net.InetAddress>lookupHostAddress(DnsName name, java.util.List<RemoteConnectionEndpointLookupFailure> lookupFailures, ConnectionConfiguration.DnssecMode dnssecMode)protected java.util.List<java.net.InetAddress>lookupHostAddress0(DnsName name, java.util.List<RemoteConnectionEndpointLookupFailure> lookupFailures, ConnectionConfiguration.DnssecMode dnssecMode)Lookup the IP addresses of a given host name.java.util.Collection<SRV>lookupSrvRecords(DnsName name, java.util.List<RemoteConnectionEndpointLookupFailure> lookupFailures, ConnectionConfiguration.DnssecMode dnssecMode)Gets a list of service records for the specified service.protected abstract java.util.Collection<SRV>lookupSrvRecords0(DnsName name, java.util.List<RemoteConnectionEndpointLookupFailure> lookupFailures, ConnectionConfiguration.DnssecMode dnssecMode)protected static booleanshouldContinue(java.lang.CharSequence name, java.lang.CharSequence hostname, java.util.List<java.net.InetAddress> hostAddresses)
-
-
-
Field Detail
-
LOGGER
protected static final java.util.logging.Logger LOGGER
-
-
Constructor Detail
-
DNSResolver
protected DNSResolver(boolean supportsDnssec)
-
-
Method Detail
-
lookupSrvRecords
public final java.util.Collection<SRV> lookupSrvRecords(DnsName name, java.util.List<RemoteConnectionEndpointLookupFailure> lookupFailures, ConnectionConfiguration.DnssecMode dnssecMode)
Gets a list of service records for the specified service.- Parameters:
name- The symbolic name of the service.lookupFailures- list of exceptions that occurred during lookup.dnssecMode- security mode.- Returns:
- The list of SRV records mapped to the service name.
-
lookupSrvRecords0
protected abstract java.util.Collection<SRV> lookupSrvRecords0(DnsName name, java.util.List<RemoteConnectionEndpointLookupFailure> lookupFailures, ConnectionConfiguration.DnssecMode dnssecMode)
-
lookupHostAddress
public final java.util.List<java.net.InetAddress> lookupHostAddress(DnsName name, java.util.List<RemoteConnectionEndpointLookupFailure> lookupFailures, ConnectionConfiguration.DnssecMode dnssecMode)
-
lookupHostAddress0
protected java.util.List<java.net.InetAddress> lookupHostAddress0(DnsName name, java.util.List<RemoteConnectionEndpointLookupFailure> lookupFailures, ConnectionConfiguration.DnssecMode dnssecMode)
Lookup the IP addresses of a given host name. Returnsnullif there was an error, in which the error reason will be added in form of aHostAddresstofailedAddresses. Returns a empty list in case the DNS name exists but has no associated A or AAAA resource records. Otherwise, if the resolution was successful and there is at least one A or AAAA resource record, then a non-empty list will be returned.Concrete DNS resolver implementations are free to overwrite this, but have to stick to the interface contract.
- Parameters:
name- the DNS name to lookuplookupFailures- list of exceptions that occurred during lookup.dnssecMode- the selected DNSSEC mode- Returns:
- A list, either empty or non-empty, or
null
-
shouldContinue
protected static boolean shouldContinue(java.lang.CharSequence name, java.lang.CharSequence hostname, java.util.List<java.net.InetAddress> hostAddresses)
-
-