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 and 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 and Description
    --- | ---
    `protected` | `DNSResolverDefault()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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 Detail

    - #### ip_cache

          public static Map<String,DNSEntry> ip_cache

    - #### srv_cache

          public static Map<String,DNSEntry[]> srv_cache

  - ### Constructor Detail

    - #### DNSResolverDefault

          protected DNSResolverDefault()

  - ### Method Detail

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

Copyright © 2004–2020 "Tigase, Inc.". All rights reserved.