public static class DnsMessage.Builder
extends java.lang.Object
| Modifier and Type | Method and 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.
|
public DnsMessage.Builder setId(int id)
id - The new DNS message id.public DnsMessage.Builder setOpcode(DnsMessage.OPCODE opcode)
public DnsMessage.Builder setResponseCode(DnsMessage.RESPONSE_CODE responseCode)
public DnsMessage.Builder setQrFlag(boolean query)
query - The new QR flag status.public DnsMessage.Builder setAuthoritativeAnswer(boolean authoritativeAnswer)
authoritativeAnswer - Tge new authoritative answer value.public DnsMessage.Builder setTruncated(boolean truncated)
truncated - The new truncated bit status.public DnsMessage.Builder setRecursionDesired(boolean recursionDesired)
recursionDesired - The new recusrion setting.public DnsMessage.Builder setRecursionAvailable(boolean recursionAvailable)
recursionAvailable - The new recursion available status.public DnsMessage.Builder setAuthenticData(boolean authenticData)
authenticData - The new authentic data flag value.@Deprecated public DnsMessage.Builder setCheckDisabled(boolean checkingDisabled)
checkingDisabled - The new check disabled value.public DnsMessage.Builder setCheckingDisabled(boolean checkingDisabled)
checkingDisabled - The new check disabled value.public void copyFlagsFrom(DnsMessage dnsMessage)
public DnsMessage.Builder setReceiveTimestamp(long receiveTimestamp)
public DnsMessage.Builder addQuestion(Question question)
public DnsMessage.Builder setQuestions(java.util.List<Question> questions)
questions - The questions.public DnsMessage.Builder setQuestion(Question question)
question - The question.public DnsMessage.Builder addAnswer(Record<? extends Data> answer)
public DnsMessage.Builder addAnswers(java.util.Collection<Record<? extends Data>> records)
public DnsMessage.Builder setAnswers(java.util.Collection<Record<? extends Data>> records)
public DnsMessage.Builder addNameserverRecords(Record<? extends Data> record)
public DnsMessage.Builder setNameserverRecords(java.util.Collection<Record<? extends Data>> records)
public DnsMessage.Builder setAdditionalResourceRecords(java.util.Collection<Record<? extends Data>> records)
public DnsMessage.Builder addAdditionalResourceRecord(Record<? extends Data> record)
public DnsMessage.Builder addAdditionalResourceRecords(java.util.List<Record<? extends Data>> records)
public java.util.List<Record<? extends Data>> getAdditionalResourceRecords()
public Edns.Builder getEdnsBuilder()
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.
public DnsMessage build()