HostInfo
Date: 2017-02-10

javax.jmdns.impl

## Class HostInfo

- java.lang.Object
- - javax.jmdns.impl.HostInfo

- All Implemented Interfaces:
    DNSStatefulObject

      public class HostInfo
      extends java.lang.Object
      implements DNSStatefulObject

  HostInfo information on the local host to be able to cope with change of addresses.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface javax.jmdns.impl.DNSStatefulObject

      `DNSStatefulObject.DefaultImplementation, DNSStatefulObject.DNSStatefulObjectSemaphore`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.net.InetAddress` | `_address`
    `protected java.net.NetworkInterface` | `_interfaze`
    `protected java.lang.String` | `_name`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `advanceState(DNSTask task)` Sets the state and notifies all objects that wait on the ServiceInfo.
    `java.util.Collection<DNSRecord>` | `answers(boolean unique, int ttl)`
    `void` | `associateWithTask(DNSTask task, DNSState state)` Sets the task associated with this Object.
    `boolean` | `cancelState()` Sets the state and notifies all objects that wait on the ServiceInfo.
    `boolean` | `closeState()` Sets the state and notifies all objects that wait on the ServiceInfo.
    `boolean` | `conflictWithRecord(DNSRecord.Address record)`
    `JmDNSImpl` | `getDns()` Returns the DNS associated with this object.
    `java.net.InetAddress` | `getInetAddress()`
    `java.net.NetworkInterface` | `getInterface()`
    `java.lang.String` | `getName()`
    `boolean` | `isAnnounced()` Returns true, if this is an announced state.
    `boolean` | `isAnnouncing()` Returns true, if this is an announcing state.
    `boolean` | `isAssociatedWithTask(DNSTask task, DNSState state)` Checks if this object is associated with the task and in the same state.
    `boolean` | `isCanceled()` Returns true, if this is a canceled state.
    `boolean` | `isCanceling()` Returns true, if this is a canceling state.
    `boolean` | `isClosed()` Returns true, if this is a closed state.
    `boolean` | `isClosing()` Returns true, if this is a closing state.
    `boolean` | `isProbing()` Returns true, if this is a probing state.
    `static HostInfo` | `newHostInfo(java.net.InetAddress address, JmDNSImpl dns, java.lang.String jmdnsName)`
    `boolean` | `recoverState()` Sets the state and notifies all objects that wait on the ServiceInfo.
    `void` | `removeAssociationWithTask(DNSTask task)` Remove the association of the task with this Object.
    `boolean` | `revertState()` Sets the state and notifies all objects that wait on the ServiceInfo.
    `java.lang.String` | `toString()`
    `boolean` | `waitForAnnounced(long timeout)` Waits for the object to be announced.
    `boolean` | `waitForCanceled(long timeout)` Waits for the object to be canceled.

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

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

- - ### Field Detail

    - #### _name

          protected java.lang.String _name

    - #### _address

          protected java.net.InetAddress _address

    - #### _interfaze

          protected java.net.NetworkInterface _interfaze

  - ### Method Detail

    - #### newHostInfo

          public static HostInfo newHostInfo(java.net.InetAddress address,
                             JmDNSImpl dns,
                             java.lang.String jmdnsName)

      Parameters:
        `address` - IP address to bind
        `dns` - JmDNS instance
        `jmdnsName` - JmDNS name
      Returns:
        new HostInfo

    - #### getName

          public java.lang.String getName()

    - #### getInetAddress

          public java.net.InetAddress getInetAddress()

    - #### getInterface

          public java.net.NetworkInterface getInterface()

    - #### conflictWithRecord

          public boolean conflictWithRecord(DNSRecord.Address record)

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### answers

          public java.util.Collection<DNSRecord> answers(boolean unique,
                                                int ttl)

    - #### getDns

          public JmDNSImpl getDns()

      Returns the DNS associated with this object.
      Specified by:
        `getDns` in interface `DNSStatefulObject`
      Returns:
        DNS resolver

    - #### advanceState

          public boolean advanceState(DNSTask task)

      Sets the state and notifies all objects that wait on the ServiceInfo.
      Specified by:
        `advanceState` in interface `DNSStatefulObject`
      Parameters:
        `task` - associated task
      Returns:
        `true`false otherwise.
      See Also:
        `DNSState.advance()`

    - #### removeAssociationWithTask

          public void removeAssociationWithTask(DNSTask task)

      Remove the association of the task with this Object.
      Specified by:
        `removeAssociationWithTask` in interface `DNSStatefulObject`
      Parameters:
        `task` - associated task

    - #### revertState

          public boolean revertState()

      Sets the state and notifies all objects that wait on the ServiceInfo.
      Specified by:
        `revertState` in interface `DNSStatefulObject`
      Returns:
        `true`false otherwise.
      See Also:
        `DNSState.revert()`

    - #### associateWithTask

          public void associateWithTask(DNSTask task,
                               DNSState state)

      Sets the task associated with this Object.
      Specified by:
        `associateWithTask` in interface `DNSStatefulObject`
      Parameters:
        `task` - associated task
        `state` - state of the task

    - #### isAssociatedWithTask

          public boolean isAssociatedWithTask(DNSTask task,
                                     DNSState state)

      Checks if this object is associated with the task and in the same state.
      Specified by:
        `isAssociatedWithTask` in interface `DNSStatefulObject`
      Parameters:
        `task` - associated task
        `state` - state of the task
      Returns:
        `true` is the task is associated with this object, `false` otherwise.

    - #### cancelState

          public boolean cancelState()

      Sets the state and notifies all objects that wait on the ServiceInfo.
      Specified by:
        `cancelState` in interface `DNSStatefulObject`
      Returns:
        `true`false otherwise.

    - #### closeState

          public boolean closeState()

      Sets the state and notifies all objects that wait on the ServiceInfo.
      Specified by:
        `closeState` in interface `DNSStatefulObject`
      Returns:
        `true`false otherwise.

    - #### recoverState

          public boolean recoverState()

      Sets the state and notifies all objects that wait on the ServiceInfo.
      Specified by:
        `recoverState` in interface `DNSStatefulObject`
      Returns:
        `true`false otherwise.

    - #### isProbing

          public boolean isProbing()

      Returns true, if this is a probing state.
      Specified by:
        `isProbing` in interface `DNSStatefulObject`
      Returns:
        `true` if probing state, `false` otherwise

    - #### isAnnouncing

          public boolean isAnnouncing()

      Returns true, if this is an announcing state.
      Specified by:
        `isAnnouncing` in interface `DNSStatefulObject`
      Returns:
        `true` if announcing state, `false` otherwise

    - #### isAnnounced

          public boolean isAnnounced()

      Returns true, if this is an announced state.
      Specified by:
        `isAnnounced` in interface `DNSStatefulObject`
      Returns:
        `true` if announced state, `false` otherwise

    - #### isCanceling

          public boolean isCanceling()

      Returns true, if this is a canceling state.
      Specified by:
        `isCanceling` in interface `DNSStatefulObject`
      Returns:
        `true` if canceling state, `false` otherwise

    - #### isCanceled

          public boolean isCanceled()

      Returns true, if this is a canceled state.
      Specified by:
        `isCanceled` in interface `DNSStatefulObject`
      Returns:
        `true` if canceled state, `false` otherwise

    - #### isClosing

          public boolean isClosing()

      Returns true, if this is a closing state.
      Specified by:
        `isClosing` in interface `DNSStatefulObject`
      Returns:
        `true` if closing state, `false` otherwise

    - #### isClosed

          public boolean isClosed()

      Returns true, if this is a closed state.
      Specified by:
        `isClosed` in interface `DNSStatefulObject`
      Returns:
        `true` if closed state, `false` otherwise

    - #### waitForAnnounced

          public boolean waitForAnnounced(long timeout)

      Waits for the object to be announced.
      Specified by:
        `waitForAnnounced` in interface `DNSStatefulObject`
      Parameters:
        `timeout` - the maximum time to wait in milliseconds.
      Returns:
        `true` if the object is announced, `false` otherwise

    - #### waitForCanceled

          public boolean waitForCanceled(long timeout)

      Waits for the object to be canceled.
      Specified by:
        `waitForCanceled` in interface `DNSStatefulObject`
      Parameters:
        `timeout` - the maximum time to wait in milliseconds.
      Returns:
        `true` if the object is canceled, `false` otherwise