Package org.minidns.dnsmessage
Class DnsMessage.Builder
- java.lang.Object
-
- org.minidns.dnsmessage.DnsMessage.Builder
-
- Enclosing class:
- DnsMessage
public static final class DnsMessage.Builder extends java.lang.Object
-
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description DnsMessage.Builder
addAdditionalResourceRecord(Record<? extends Data> record)
DnsMessage.Builder
addAdditionalResourceRecords(java.util.List<Record<? extends Data>> records)
DnsMessage.Builder
addAnswer(Record<? extends Data> answer)
DnsMessage.Builder
addAnswers(java.util.Collection<Record<? extends Data>> records)
DnsMessage.Builder
addNameserverRecords(Record<? extends Data> record)
DnsMessage.Builder
addQuestion(Question question)
DnsMessage
build()
void
copyFlagsFrom(DnsMessage dnsMessage)
java.util.List<Record<? extends Data>>
getAdditionalResourceRecords()
java.util.List<Record<? extends Data>>
getAnswers()
Edns.Builder
getEdnsBuilder()
Get the @{link EDNS} builder.DnsMessage.Builder
setAdditionalResourceRecords(java.util.Collection<Record<? extends Data>> records)
DnsMessage.Builder
setAnswers(java.util.Collection<Record<? extends Data>> records)
DnsMessage.Builder
setAuthenticData(boolean authenticData)
Set the authentic data flag on this DNS message.DnsMessage.Builder
setAuthoritativeAnswer(boolean authoritativeAnswer)
Set the authoritative answer flag.DnsMessage.Builder
setCheckDisabled(boolean checkingDisabled)
Deprecated.DnsMessage.Builder
setCheckingDisabled(boolean checkingDisabled)
Change the check status of this packet.DnsMessage.Builder
setId(int id)
Set the current DNS message id.DnsMessage.Builder
setNameserverRecords(java.util.Collection<Record<? extends Data>> records)
DnsMessage.Builder
setOpcode(DnsMessage.OPCODE opcode)
DnsMessage.Builder
setQrFlag(boolean query)
Set the QR flag.DnsMessage.Builder
setQuestion(Question question)
Set the question part of this message.DnsMessage.Builder
setQuestions(java.util.List<Question> questions)
Set the question part of this message.DnsMessage.Builder
setReceiveTimestamp(long receiveTimestamp)
DnsMessage.Builder
setRecursionAvailable(boolean recursionAvailable)
Set the recursion available flog from this DNS message.DnsMessage.Builder
setRecursionDesired(boolean recursionDesired)
Set the recursion desired flag on this message.DnsMessage.Builder
setResponseCode(DnsMessage.RESPONSE_CODE responseCode)
DnsMessage.Builder
setTruncated(boolean truncated)
Set the truncation bit on this DNS message.java.lang.String
toString()
-
-
-
Method Detail
-
setId
public DnsMessage.Builder setId(int id)
Set the current DNS message id.- Parameters:
id
- The new DNS message id.- Returns:
- a reference to this builder.
-
setOpcode
public DnsMessage.Builder setOpcode(DnsMessage.OPCODE opcode)
-
setResponseCode
public DnsMessage.Builder setResponseCode(DnsMessage.RESPONSE_CODE responseCode)
-
setQrFlag
public DnsMessage.Builder setQrFlag(boolean query)
Set the QR flag. Note that this will betrue
if the message is a response andfalse
if it is a query.- Parameters:
query
- The new QR flag status.- Returns:
- a reference to this builder.
-
setAuthoritativeAnswer
public DnsMessage.Builder setAuthoritativeAnswer(boolean authoritativeAnswer)
Set the authoritative answer flag.- Parameters:
authoritativeAnswer
- Tge new authoritative answer value.- Returns:
- a reference to this builder.
-
setTruncated
public DnsMessage.Builder setTruncated(boolean truncated)
Set the truncation bit on this DNS message.- Parameters:
truncated
- The new truncated bit status.- Returns:
- a reference to this builder.
-
setRecursionDesired
public DnsMessage.Builder setRecursionDesired(boolean recursionDesired)
Set the recursion desired flag on this message.- Parameters:
recursionDesired
- The new recusrion setting.- Returns:
- a reference to this builder.
-
setRecursionAvailable
public DnsMessage.Builder setRecursionAvailable(boolean recursionAvailable)
Set the recursion available flog from this DNS message.- Parameters:
recursionAvailable
- The new recursion available status.- Returns:
- a reference to this builder.
-
setAuthenticData
public DnsMessage.Builder setAuthenticData(boolean authenticData)
Set the authentic data flag on this DNS message.- Parameters:
authenticData
- The new authentic data flag value.- Returns:
- a reference to this builder.
-
setCheckDisabled
@Deprecated public DnsMessage.Builder setCheckDisabled(boolean checkingDisabled)
Deprecated.Change the check status of this packet.- Parameters:
checkingDisabled
- The new check disabled value.- Returns:
- a reference to this builder.
-
setCheckingDisabled
public DnsMessage.Builder setCheckingDisabled(boolean checkingDisabled)
Change the check status of this packet.- Parameters:
checkingDisabled
- The new check disabled value.- Returns:
- a reference to this builder.
-
copyFlagsFrom
public void copyFlagsFrom(DnsMessage dnsMessage)
-
setReceiveTimestamp
public DnsMessage.Builder setReceiveTimestamp(long receiveTimestamp)
-
addQuestion
public DnsMessage.Builder addQuestion(Question question)
-
setQuestions
public DnsMessage.Builder setQuestions(java.util.List<Question> questions)
Set the question part of this message.- Parameters:
questions
- The questions.- Returns:
- a reference to this builder.
-
setQuestion
public DnsMessage.Builder setQuestion(Question question)
Set the question part of this message.- Parameters:
question
- The question.- Returns:
- a reference to this builder.
-
addAnswer
public DnsMessage.Builder addAnswer(Record<? extends Data> answer)
-
addAnswers
public DnsMessage.Builder addAnswers(java.util.Collection<Record<? extends Data>> records)
-
setAnswers
public DnsMessage.Builder setAnswers(java.util.Collection<Record<? extends Data>> records)
-
getAnswers
public java.util.List<Record<? extends Data>> getAnswers()
-
addNameserverRecords
public DnsMessage.Builder addNameserverRecords(Record<? extends Data> record)
-
setNameserverRecords
public DnsMessage.Builder setNameserverRecords(java.util.Collection<Record<? extends Data>> records)
-
setAdditionalResourceRecords
public DnsMessage.Builder setAdditionalResourceRecords(java.util.Collection<Record<? extends Data>> records)
-
addAdditionalResourceRecord
public DnsMessage.Builder addAdditionalResourceRecord(Record<? extends Data> record)
-
addAdditionalResourceRecords
public DnsMessage.Builder addAdditionalResourceRecords(java.util.List<Record<? extends Data>> records)
-
getAdditionalResourceRecords
public java.util.List<Record<? extends Data>> getAdditionalResourceRecords()
-
getEdnsBuilder
public Edns.Builder getEdnsBuilder()
Get the @{link EDNS} builder. If no builder has been set so far, then a new one will be created.The EDNS record can be used to announce the supported size of UDP payload as well as additional flags.
Note that some networks and firewalls are known to block big UDP payloads. 1280 should be a reasonable value, everything below 512 is treated as 512 and should work on all networks.
- Returns:
- a EDNS builder.
-
build
public DnsMessage build()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-