TypeResolver
Date: 2017-02-10

javax.jmdns.impl.tasks.resolver

## Class TypeResolver

- java.lang.Object
- - java.util.TimerTask
  - - javax.jmdns.impl.tasks.DNSTask
    - - javax.jmdns.impl.tasks.resolver.DNSResolverTask
      - - javax.jmdns.impl.tasks.resolver.TypeResolver

- All Implemented Interfaces:
    java.lang.Runnable

      public class TypeResolver
      extends DNSResolverTask

  Helper class to resolve service types.

  The TypeResolver queries three times consecutively for service types, and then removes itself from the timer.

  The TypeResolver will run only if JmDNS is in state ANNOUNCED.

- - ### Field Summary

    - ### Fields inherited from class javax.jmdns.impl.tasks.resolver.DNSResolverTask

      `_count`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TypeResolver(JmDNSImpl jmDNSImpl)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected DNSOutgoing` | `addAnswers(DNSOutgoing out)` Overridden by subclasses to add questions to the message. Note: Because of message size limitation the returned message may be different than the message parameter.
    `protected DNSOutgoing` | `addQuestions(DNSOutgoing out)` Overridden by subclasses to add questions to the message. Note: Because of message size limitation the returned message may be different than the message parameter.
    `protected java.lang.String` | `description()` Returns a description of the resolver for debugging
    `java.lang.String` | `getName()` Return this task name.

    - ### Methods inherited from class javax.jmdns.impl.tasks.resolver.DNSResolverTask

      `run, start, toString`

    - ### Methods inherited from class javax.jmdns.impl.tasks.DNSTask

      `addAdditionalAnswer, addAnswer, addAnswer, addAuthoritativeAnswer, addQuestion, getDns`

    - ### Methods inherited from class java.util.TimerTask

      `cancel, scheduledExecutionTime`

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

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

- - ### Constructor Detail

    - #### TypeResolver

          public TypeResolver(JmDNSImpl jmDNSImpl)

      Parameters:
        `jmDNSImpl` -

  - ### Method Detail

    - #### getName

          public java.lang.String getName()

      Description copied from class: `DNSTask`
      Return this task name.
      Specified by:
        `getName` in class `DNSTask`
      Returns:
        task name

    - #### addAnswers

          protected DNSOutgoing addAnswers(DNSOutgoing out)
                                    throws java.io.IOException

      Description copied from class: `DNSResolverTask`
      Overridden by subclasses to add questions to the message.
      Note: Because of message size limitation the returned message may be different than the message parameter.
      Specified by:
        `addAnswers` in class `DNSResolverTask`
      Parameters:
        `out` - outgoing message
      Returns:
        the outgoing message.
      Throws:
        `java.io.IOException`

    - #### addQuestions

          protected DNSOutgoing addQuestions(DNSOutgoing out)
                                      throws java.io.IOException

      Description copied from class: `DNSResolverTask`
      Overridden by subclasses to add questions to the message.
      Note: Because of message size limitation the returned message may be different than the message parameter.
      Specified by:
        `addQuestions` in class `DNSResolverTask`
      Parameters:
        `out` - outgoing message
      Returns:
        the outgoing message.
      Throws:
        `java.io.IOException`

    - #### description

          protected java.lang.String description()

      Description copied from class: `DNSResolverTask`
      Returns a description of the resolver for debugging
      Specified by:
        `description` in class `DNSResolverTask`
      Returns:
        resolver description