Class DNSMessage

java.lang.Object
javax.jmdns.impl.DNSMessage
Direct Known Subclasses:
DNSIncoming, DNSOutgoing

public abstract class DNSMessage extends Object
DNSMessage define a DNS message either incoming or outgoing.
  • Field Details

    • MULTICAST

      public static final boolean MULTICAST
      See Also:
    • UNICAST

      public static final boolean UNICAST
      See Also:
    • _id

      private int _id
    • _multicast

      boolean _multicast
    • _flags

      private int _flags
    • _questions

      protected final List<DNSQuestion> _questions
    • _answers

      protected final List<DNSRecord> _answers
    • _authoritativeAnswers

      protected final List<DNSRecord> _authoritativeAnswers
    • _additionals

      protected final List<DNSRecord> _additionals
  • Constructor Details

    • DNSMessage

      protected DNSMessage(int flags, int id, boolean multicast)
      Parameters:
      flags -
      id -
      multicast -
  • Method Details

    • getId

      public int getId()
      Returns:
      message id
    • setId

      public void setId(int id)
      Parameters:
      id - the id to set
    • getFlags

      public int getFlags()
      Returns:
      message flags
    • setFlags

      public void setFlags(int flags)
      Parameters:
      flags - the flags to set
    • isMulticast

      public boolean isMulticast()
      Returns:
      true if multicast
    • getQuestions

      public Collection<? extends DNSQuestion> getQuestions()
      Returns:
      list of questions
    • getNumberOfQuestions

      public int getNumberOfQuestions()
      Returns:
      number of questions in the message
    • getAllAnswers

      public List<DNSRecord> getAllAnswers()
    • getAnswers

      public Collection<? extends DNSRecord> getAnswers()
      Returns:
      list of answers
    • getNumberOfAnswers

      public int getNumberOfAnswers()
      Returns:
      number of answers in the message
    • getAuthorities

      public Collection<? extends DNSRecord> getAuthorities()
      Returns:
      list of authorities
    • getNumberOfAuthorities

      public int getNumberOfAuthorities()
      Returns:
      number of authorities in the message
    • getAdditionals

      public Collection<? extends DNSRecord> getAdditionals()
      Returns:
      list of additional answers
    • getNumberOfAdditionals

      public int getNumberOfAdditionals()
      Returns:
      number of additional in the message
    • isValidResponseCode

      public boolean isValidResponseCode()
      Check is the response code is valid
      The only valid value is zero all other values signify an error and the message must be ignored.
      Returns:
      true if the message has a valid response code.
    • getOperationCode

      public int getOperationCode()
      Returns the operation code value. Currently only standard query 0 is valid.
      Returns:
      The operation code value.
    • isTruncated

      public boolean isTruncated()
      Check if the message is truncated.
      Returns:
      true if the message was truncated
    • isAuthoritativeAnswer

      public boolean isAuthoritativeAnswer()
      Check if the message is an authoritative answer.
      Returns:
      true if the message is an authoritative answer
    • isQuery

      public boolean isQuery()
      Check if the message is a query.
      Returns:
      true is the message is a query
    • isResponse

      public boolean isResponse()
      Check if the message is a response.
      Returns:
      true is the message is a response
    • isEmpty

      public boolean isEmpty()
      Check if the message is empty
      Returns:
      true is the message is empty
    • print

      String print()
      Debugging.
    • print

      protected String print(byte[] data)
      Debugging.
      Parameters:
      data -
      Returns:
      data dump