Package javax.jmdns.impl
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.- Author:
- Werner Randelshofer, Rick Blair, Pierre Frisch
-
-
Field Summary
Fields Modifier and Type Field Description protected List<DNSRecord>
_additionals
protected List<DNSRecord>
_answers
protected List<DNSRecord>
_authoritativeAnswers
protected List<DNSQuestion>
_questions
static boolean
MULTICAST
static boolean
UNICAST
-
Constructor Summary
Constructors Modifier Constructor Description protected
DNSMessage(int flags, int id, boolean multicast)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Collection<? extends DNSRecord>
getAdditionals()
List<DNSRecord>
getAllAnswers()
Collection<? extends DNSRecord>
getAnswers()
Collection<? extends DNSRecord>
getAuthorities()
int
getFlags()
int
getId()
int
getNumberOfAdditionals()
int
getNumberOfAnswers()
int
getNumberOfAuthorities()
int
getNumberOfQuestions()
int
getOperationCode()
Returns the operation code value.Collection<? extends DNSQuestion>
getQuestions()
boolean
isAuthoritativeAnswer()
Check if the message is an authoritative answer.boolean
isEmpty()
Check if the message is emptyboolean
isMulticast()
boolean
isQuery()
Check if the message is a query.boolean
isResponse()
Check if the message is a response.boolean
isTruncated()
Check if the message is truncated.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.protected String
print(byte[] data)
Debugging.void
setFlags(int flags)
void
setId(int id)
-
-
-
Field Detail
-
MULTICAST
public static final boolean MULTICAST
- See Also:
- Constant Field Values
-
UNICAST
public static final boolean UNICAST
- See Also:
- Constant Field Values
-
_questions
protected final List<DNSQuestion> _questions
-
-
Method Detail
-
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
-
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
protected String print(byte[] data)
Debugging.- Parameters:
data
-- Returns:
- data dump
-
-