public class Name
extends java.lang.Object
implements java.lang.Comparable, java.io.Serializable
Modifier and Type | Field and Description |
---|---|
static Name |
empty
The root name
|
static Name |
root
The root name
|
Constructor and Description |
---|
Name(byte[] b)
Create a new name from DNS wire format
|
Name(DNSInput in)
Create a new name from DNS a wire format message
|
Name(Name src,
int n)
Create a new name by removing labels from the beginning of an existing Name
|
Name(java.lang.String s)
Create a new name from a string.
|
Name(java.lang.String s,
Name origin)
Create a new name from a string and an origin.
|
Modifier and Type | Method and Description |
---|---|
Name |
canonicalize()
Returns a canonicalized version of the Name (all lowercase).
|
int |
compareTo(java.lang.Object o)
Compares this Name to another Object.
|
static Name |
concatenate(Name prefix,
Name suffix)
Creates a new name by concatenating two existing names.
|
boolean |
equals(java.lang.Object arg)
Are these two Names equivalent?
|
static Name |
fromConstantString(java.lang.String s)
Create a new name from a constant string.
|
Name |
fromDNAME(DNAMERecord dname)
Generates a new Name to be used when following a DNAME.
|
static Name |
fromString(java.lang.String s)
Create a new name from a string.
|
static Name |
fromString(java.lang.String s,
Name origin)
Create a new name from a string and an origin.
|
byte[] |
getLabel(int n)
Retrieve the nth label of a Name.
|
java.lang.String |
getLabelString(int n)
Convert the nth label in a Name to a String
|
int |
hashCode()
Computes a hashcode based on the value
|
boolean |
isAbsolute()
Is this name absolute?
|
boolean |
isWild()
Is this name a wildcard?
|
int |
labels()
The number of labels in the name.
|
short |
length()
The length of the name.
|
Name |
relativize(Name origin)
If this name is a subdomain of origin, return a new name relative to
origin with the same value.
|
boolean |
subdomain(Name domain)
Is the current Name a subdomain of the specified name?
|
java.lang.String |
toString()
Convert a Name to a String
|
java.lang.String |
toString(boolean omitFinalDot)
Convert a Name to a String
|
byte[] |
toWire()
Emit a Name in DNS wire format
|
void |
toWire(DNSOutput out,
Compression c)
Emit a Name in DNS wire format
|
void |
toWire(DNSOutput out,
Compression c,
boolean canonical)
Emit a Name in DNS wire format
|
byte[] |
toWireCanonical()
Emit a Name in canonical DNS wire format (all lowercase)
|
void |
toWireCanonical(DNSOutput out)
Emit a Name in canonical DNS wire format (all lowercase)
|
Name |
wild(int n)
Generates a new Name with the first n labels replaced by a wildcard
|
public static final Name root
public static final Name empty
public Name(java.lang.String s, Name origin) throws TextParseException
s
- The string to be convertedorigin
- If the name is not absolute, the origin to be appended.TextParseException
- The name is invalid.public Name(java.lang.String s) throws TextParseException
s
- The string to be convertedTextParseException
- The name is invalid.public Name(DNSInput in) throws WireParseException
in
- A stream containing the DNS message which is currently
positioned at the start of the name to be read.WireParseException
public Name(byte[] b) throws java.io.IOException
b
- A byte array containing the wire format of the name.java.io.IOException
public Name(Name src, int n)
src
- An existing Namen
- The number of labels to remove from the beginning in the copypublic static Name fromString(java.lang.String s, Name origin) throws TextParseException
s
- The string to be convertedorigin
- If the name is not absolute, the origin to be appended.TextParseException
- The name is invalid.public static Name fromString(java.lang.String s) throws TextParseException
s
- The string to be convertedTextParseException
- The name is invalid.public static Name fromConstantString(java.lang.String s)
s
- The string to be convertedjava.lang.IllegalArgumentException
- The name is invalid.public static Name concatenate(Name prefix, Name suffix) throws NameTooLongException
prefix
- The prefix name.suffix
- The suffix name.NameTooLongException
- The name is too long.public Name relativize(Name origin)
origin
- The origin to remove.public Name wild(int n)
public Name canonicalize()
public Name fromDNAME(DNAMERecord dname) throws NameTooLongException
dname
- The DNAME record to follow.NameTooLongException
- The resulting name is too long.public boolean isWild()
public boolean isAbsolute()
public short length()
public int labels()
public boolean subdomain(Name domain)
public java.lang.String toString(boolean omitFinalDot)
omitFinalDot
- If true, and the name is absolute, omit the final dot.public java.lang.String toString()
toString
in class java.lang.Object
public byte[] getLabel(int n)
n
- The label to be retrieved. The first label is 0.public java.lang.String getLabelString(int n)
n
- The label to be converted to a (printable) String. The first
label is 0.public void toWire(DNSOutput out, Compression c)
out
- The output stream containing the DNS message.c
- The compression context, or null of no compression is desired.java.lang.IllegalArgumentException
- The name is not absolute.public byte[] toWire()
java.lang.IllegalArgumentException
- The name is not absolute.public void toWireCanonical(DNSOutput out)
out
- The output stream to which the message is written.public byte[] toWireCanonical()
public void toWire(DNSOutput out, Compression c, boolean canonical)
out
- The output stream containing the DNS message.c
- The compression context, or null of no compression is desired.canonical
- If true, emit the name in canonicalized form
(all lowercase).java.lang.IllegalArgumentException
- The name is not absolute.public boolean equals(java.lang.Object arg)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public int compareTo(java.lang.Object o)
compareTo
in interface java.lang.Comparable
o
- The Object to be compared.java.lang.ClassCastException
- if the argument is not a Name.Copyright © 2019 dnsjava.org. All rights reserved.