Package tigase.util.dns

# Class DNSResolverDefault

java.lang.Object
tigase.util.dns.DNSResolverDefault

All Implemented Interfaces:
  `DNSResolverIfc`

public class DNSResolverDefault extends Object implements DNSResolverIfc
DNSResolver class for handling DNS names

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static Map<String,DNSEntry>`
  `ip_cache`
  `static Map<String,DNSEntry[]>`
  `srv_cache`

  ### Fields inherited from interface tigase.util.dns.DNSResolverIfc

  `rand, TIGASE_PRIMARY_ADDRESS, TIGASE_SECONDARY_ADDRESS`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `DNSResolverDefault()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getDefaultHost()`
  Method provides default host information for the installation.
  `String[]`
  `getDefaultHosts()`
  Method provides an array of all local host informations, by default it contains defaultHost.
  `String[]`
  `getHostIPs(String hostname)`
  Resolve all IP addresses for the given `hostname`
  `DNSEntry[]`
  `getHostSRV_Entries(String hostname, String service, int defPort)`
  Retrieves list of DNS entries for given `hostname`.
  `String`
  `getPrimaryHost()`
  `String`
  `getSecondaryHost()`
  Method provides alternative host information for the current instance.
  `protected static boolean`
  `isHostValid(String host)`
  `static void`
  `main(String[] args)`
  `main` method outputting various information about hostnames
  `void`
  `setPrimaryHost(String tigasePrimaryHost)`
  `void`
  `setSecondaryHost(String tigaseSecondaryHost)`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface tigase.util.dns.DNSResolverIfc

  `getHostIP, getHostSRV_Entries, getHostSRV_Entry, getHostSRV_Entry, getHostSRV_IP`

- ## Field Details

  - ### ip_cache

    public static Map<String,DNSEntry> ip_cache

  - ### srv_cache

    public static Map<String,DNSEntry[]> srv_cache

- ## Constructor Details

  - ### DNSResolverDefault

    protected DNSResolverDefault()

- ## Method Details

  - ### isHostValid

    protected static boolean isHostValid(String host)

  - ### 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`

  - ### getDefaultHosts

    public String[] getDefaultHosts()
    Description copied from interface: `DNSResolverIfc`
    Method provides an array of all local host informations, by default it contains defaultHost.
    Specified by:
      `getDefaultHosts` in interface `DNSResolverIfc`
    Returns:
      an array of all local hosts.

  - ### getDefaultHost

    public String getDefaultHost()
    Description copied from interface: `DNSResolverIfc`
    Method provides default host information for the installation. It can be both hostname or IP address.
    Specified by:
      `getDefaultHost` in interface `DNSResolverIfc`
    Returns:
      a default host information.

  - ### getPrimaryHost

    public String getPrimaryHost()

  - ### setPrimaryHost

    public void setPrimaryHost(String tigasePrimaryHost)

  - ### getSecondaryHost

    public String getSecondaryHost()
    Description copied from interface: `DNSResolverIfc`
    Method provides alternative host information for the current instance. By default falls back to the default host information.
    Specified by:
      `getSecondaryHost` in interface `DNSResolverIfc`
    Returns:
      alternative host information.

  - ### setSecondaryHost

    public void setSecondaryHost(String tigaseSecondaryHost)

  - ### getHostIPs

    public String[] getHostIPs(String hostname) throws UnknownHostException
    Resolve all IP addresses for the given `hostname`
    Specified by:
      `getHostIPs` in interface `DNSResolverIfc`
    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 DNSEntry[] getHostSRV_Entries(String hostname, String service, int defPort) throws UnknownHostException
    Description copied from interface: `DNSResolverIfc`
    Retrieves list of DNS entries for given `hostname`. Allow specifying particular type of SRV record.
    Specified by:
      `getHostSRV_Entries` in interface `DNSResolverIfc`
    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`