tigase.util
Class DNSResolver

java.lang.Object
  extended by tigase.util.DNSResolver

public class DNSResolver
extends Object

DNSResolver class for handling DNS names

Since:
Mon Sep 11 09:59:02 2006
Author:
Artur Hefczyc

Field Summary
static Map<String,DNSEntry> ip_cache
          Field description
static Map<String,DNSEntry[]> srv_cache
          Field description
 
Constructor Summary
DNSResolver()
           
 
Method Summary
static String getDefaultHostname()
          Method description
static String[] getDefHostNames()
          Method description
static String getHostIP(String hostname)
          Resolve IP address for the given hostname
static String[] getHostIPs(String hostname)
          Resolve all IP addresses for the given hostname
static DNSEntry[] getHostSRV_Entries(String hostname)
          Retrieves list of SRV DNS entries for given hostname.
static DNSEntry[] getHostSRV_Entries(String hostname, String service, int defPort)
          Retrieves list of DNS entries for given hostname.
static DNSEntry getHostSRV_Entry(String hostname)
          Retrieves service DNS entry with highest priority for given hostname.
static DNSEntry getHostSRV_Entry(String hostname, String service, int defPort)
          Retrieves list of DNS entries for given hostname.
static String getHostSRV_IP(String hostname)
          Returns IP address of the machine providing the service.
static void main(String[] args)
          main method outputting various information about hostnames
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

srv_cache

public static Map<String,DNSEntry[]> srv_cache
Field description


ip_cache

public static Map<String,DNSEntry> ip_cache
Field description

Constructor Detail

DNSResolver

public DNSResolver()
Method Detail

getDefHostNames

public static String[] getDefHostNames()
Method description

Returns:

getDefaultHostname

public static String getDefaultHostname()
Method description

Returns:

getHostIP

public static String getHostIP(String hostname)
                        throws UnknownHostException
Resolve IP address for the given hostname

Parameters:
hostname - the domain name for which this record is valid
Returns:
IP address of the machine providing the service.
Throws:
UnknownHostException

getHostIPs

public static String[] getHostIPs(String hostname)
                           throws UnknownHostException
Resolve all IP addresses for the given hostname

Parameters:
hostname - the domain name for which this record is valid
Returns:
Array of all IP addresses on which target host provide service.
Throws:
UnknownHostException

getHostSRV_Entries

public static DNSEntry[] getHostSRV_Entries(String hostname)
                                     throws UnknownHostException
Retrieves list of SRV DNS entries for given hostname. Performs lookup for _xmpp-server._tcp SRV records.

Parameters:
hostname - the domain name for which this record is valid
Returns:
Array of the DNSEntry objects containing SRV DNS records
Throws:
UnknownHostException

getHostSRV_Entries

public static DNSEntry[] getHostSRV_Entries(String hostname,
                                            String service,
                                            int defPort)
                                     throws UnknownHostException
Retrieves list of DNS entries for given hostname. Allow specifying particular type of SRV record.

Parameters:
hostname - the domain name for which this record is valid
service - type of SRV records, for example _xmpp-server._tcp
defPort - default port number in case DNS records is missing one.
Returns:
Array of the DNSEntry records
Throws:
UnknownHostException

getHostSRV_Entry

public static DNSEntry getHostSRV_Entry(String hostname)
                                 throws UnknownHostException
Retrieves service DNS entry with highest priority for given hostname. Performs lookup for _xmpp-server._tcp SRV records.

Parameters:
hostname - name to resolve
Returns:
DNSEntry object containing DNS record with highest priority for given hostname
Throws:
UnknownHostException

getHostSRV_Entry

public static DNSEntry getHostSRV_Entry(String hostname,
                                        String service,
                                        int defPort)
                                 throws UnknownHostException
Retrieves list of DNS entries for given hostname. Allow specifying particular type of SRV record.

Parameters:
hostname - name to resolve
service - type of SRV records, for example _xmpp-server._tcp
defPort - default port number in case DNS records is missing one.
Returns:
DNSEntry object containing DNS record with highest priority for given hostname
Throws:
UnknownHostException

getHostSRV_IP

public static String getHostSRV_IP(String hostname)
                            throws UnknownHostException
Returns IP address of the machine providing the service.

Parameters:
hostname - the domain name for which this record is valid
Returns:
Throws:
UnknownHostException

main

public static void main(String[] args)
                 throws Exception
main method outputting various information about hostnames

Parameters:
args - a String[] containing domains to query, if none provided default one will be used
Throws:
Exception


Copyright © 2013 Tigase. All Rights Reserved.