|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectnet.sf.ivmaidns.dns.DNSName
public final class DNSName
Class for representing DNS resource name (as defined in RFC1035).
| Field Summary | |
|---|---|
protected byte[] |
bytes
NOTE: bytes ! |
static int |
COMPRESSED_NAME_TAG
|
static char |
EMAIL
|
static int |
ERROR_BAD_CHAR
NOTE: These are possible error codes for DNSName(name, domain) and parse(name, escapeSeparator, domainBytes, domainOffset). |
static int |
ERROR_BAD_ESCAPING
|
static int |
ERROR_EMPTY_LABEL
|
static int |
ERROR_LONG_NAME
|
static int |
ERROR_UNSUPPORTED
|
static char |
ESCAPE
|
static DNSName |
IN_ADDR_ARPA
|
static DNSName |
IP6_INT
|
static int |
MAX_LABEL_LEN
|
static char |
QUOTE
|
static DNSName |
ROOT
|
static char |
SEPARATOR
|
static char |
THIS_ZONE
|
static char |
WILDCARD
|
| Constructor Summary | |
|---|---|
DNSName(byte[] bytes,
int offset)
NOTE: bytes must be ! |
|
DNSName(DNSName name)
NOTE: name must be ! |
|
DNSName(java.lang.String name,
DNSName domain)
NOTE: name must be ! |
|
| Method Summary | |
|---|---|
static boolean |
canonize(byte[] bytes,
int offset)
NOTE: bytes must be valid (and not compressed). |
java.lang.Object |
clone()
Creates and returns a copy of this object. |
static int |
compareNames(byte[] bytesA,
int offsetA,
byte[] bytesB,
int offsetB)
NOTE: bytesA and bytesB must be valid (and not compressed). |
int |
compareTo(DNSName name)
NOTE: name must be ! |
static int |
compressAt(byte[] msgBytes,
int offset,
int baseNameOffset)
NOTE: msgBytes must be valid (at offset and at baseNameOffset) and not compressed. |
static int |
countLabels(byte[] bytes,
int offset)
NOTE: bytes must be valid (and not compressed). |
static byte[] |
decompress(byte[] bytes,
int offset,
byte[] msgBytes)
NOTE: bytes and msgBytes must be ! |
boolean |
equals(java.lang.Object obj)
NOTE: Letters case is ignored (according to RFC2065). |
boolean |
equalsExact(DNSName name)
NOTE: name may be == null. |
boolean |
equalsWildcard(DNSName wildcard)
NOTE: wildcard may be == null. |
java.lang.String |
getAbsolute()
NOTE: Letters case in result is not adjusted to canonical. |
java.lang.String |
getAsEmail()
NOTE: Result is e-mail string represenation of DNS name. |
byte[] |
getBytes()
NOTE: Result ! |
int |
getBytesLen()
NOTE: Result > 0. |
DNSName |
getDomain()
NOTE: Result ! |
DNSName |
getDomain(int level)
NOTE: Negative level is treated as zero. |
java.lang.String |
getLabelAt(int level)
|
java.lang.String[] |
getLabels()
NOTE: All separator characters in labels (if exist) are escaped. |
java.lang.String |
getLastLabel()
|
int |
getLevel()
|
java.lang.String |
getRelative(DNSName domain)
NOTE: domain may be == null. |
java.lang.String |
getRelativeAt(int level)
|
boolean |
greaterThan(java.lang.Object obj)
NOTE: Method for canonical ordering (according to RFC2065). |
int |
hashCode()
|
static int |
hashCode(byte[] bytes,
int offset)
NOTE: bytes must be valid (and not compressed). |
void |
integrityCheck()
NOTE: Check object for its integrity. |
boolean |
isCaseSensitive()
|
boolean |
isInDomain(DNSName domain,
boolean strict)
NOTE: domain may be == null. |
boolean |
isWildcard()
|
java.lang.String |
joinLabels(java.lang.String[] labels,
int level,
int count,
boolean absolute)
|
static int |
labelOffset(byte[] bytes,
int offset,
int backLevel)
NOTE: bytes must be valid (and not compressed). |
static int |
lengthOf(byte[] bytes,
int offset)
NOTE: bytes must be ! |
static byte[] |
parse(java.lang.String name,
boolean escapeSeparator,
byte[] domainBytes,
int domainOffset)
NOTE: name must be ! |
int |
putTo(byte[] bytes,
int offset)
NOTE: bytes must be ! |
boolean |
reversed()
|
DNSName |
root()
|
char |
separator()
|
java.lang.String |
toString()
NOTE: Result is 'in-line'. |
static java.lang.String |
toString(byte[] bytes,
int offset,
int labelsCount,
boolean escapeSeparator,
boolean absolute)
NOTE: bytes must be valid (and not compressed). |
| Methods inherited from class java.lang.Object |
|---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final char SEPARATOR
public static final char WILDCARD
public static final char ESCAPE
public static final char THIS_ZONE
public static final char EMAIL
public static final char QUOTE
public static final int MAX_LABEL_LEN
public static final int COMPRESSED_NAME_TAG
public static final int ERROR_BAD_CHAR
public static final int ERROR_BAD_ESCAPING
public static final int ERROR_EMPTY_LABEL
public static final int ERROR_LONG_NAME
public static final int ERROR_UNSUPPORTED
public static final DNSName ROOT
public static final DNSName IN_ADDR_ARPA
public static final DNSName IP6_INT
protected final byte[] bytes
| Constructor Detail |
|---|
public DNSName(java.lang.String name,
DNSName domain)
throws java.lang.NullPointerException,
ParserException
java.lang.NullPointerException
ParserException
public DNSName(DNSName name)
throws java.lang.NullPointerException
java.lang.NullPointerException
public DNSName(byte[] bytes,
int offset)
throws java.lang.NullPointerException,
java.lang.ArrayIndexOutOfBoundsException,
java.lang.IllegalArgumentException
java.lang.NullPointerException
java.lang.ArrayIndexOutOfBoundsException
java.lang.IllegalArgumentException| Method Detail |
|---|
public int putTo(byte[] bytes,
int offset)
throws java.lang.NullPointerException,
java.lang.ArrayIndexOutOfBoundsException
java.lang.NullPointerException
java.lang.ArrayIndexOutOfBoundsExceptionpublic final byte[] getBytes()
public final int getBytesLen()
public java.lang.String getAbsolute()
public java.lang.String[] getLabels()
public java.lang.String getLabelAt(int level)
throws java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsExceptionpublic int getLevel()
public java.lang.String getRelative(DNSName domain)
public boolean isInDomain(DNSName domain,
boolean strict)
public DNSName getDomain(int level)
throws java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsExceptionpublic DNSName getDomain()
public java.lang.String getLastLabel()
public java.lang.String getRelativeAt(int level)
throws java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsExceptionpublic boolean isCaseSensitive()
public java.lang.String joinLabels(java.lang.String[] labels,
int level,
int count,
boolean absolute)
throws java.lang.NullPointerException,
java.lang.ArrayIndexOutOfBoundsException
java.lang.NullPointerException
java.lang.ArrayIndexOutOfBoundsExceptionpublic final boolean reversed()
public final char separator()
public DNSName root()
public static final int lengthOf(byte[] bytes,
int offset)
throws java.lang.NullPointerException,
java.lang.ArrayIndexOutOfBoundsException
java.lang.NullPointerException
java.lang.ArrayIndexOutOfBoundsException
public static final byte[] decompress(byte[] bytes,
int offset,
byte[] msgBytes)
throws java.lang.NullPointerException,
java.lang.ArrayIndexOutOfBoundsException
java.lang.NullPointerException
java.lang.ArrayIndexOutOfBoundsException
public static final int compressAt(byte[] msgBytes,
int offset,
int baseNameOffset)
throws java.lang.NullPointerException,
java.lang.ArrayIndexOutOfBoundsException
java.lang.NullPointerException
java.lang.ArrayIndexOutOfBoundsException
public static final boolean canonize(byte[] bytes,
int offset)
throws java.lang.NullPointerException,
java.lang.ArrayIndexOutOfBoundsException
java.lang.NullPointerException
java.lang.ArrayIndexOutOfBoundsException
public static final int countLabels(byte[] bytes,
int offset)
throws java.lang.NullPointerException,
java.lang.ArrayIndexOutOfBoundsException
java.lang.NullPointerException
java.lang.ArrayIndexOutOfBoundsException
public static final int labelOffset(byte[] bytes,
int offset,
int backLevel)
throws java.lang.NullPointerException,
java.lang.ArrayIndexOutOfBoundsException
java.lang.NullPointerException
java.lang.ArrayIndexOutOfBoundsException
public static final int hashCode(byte[] bytes,
int offset)
throws java.lang.NullPointerException,
java.lang.ArrayIndexOutOfBoundsException
java.lang.NullPointerException
java.lang.ArrayIndexOutOfBoundsException
public static final int compareNames(byte[] bytesA,
int offsetA,
byte[] bytesB,
int offsetB)
throws java.lang.NullPointerException,
java.lang.ArrayIndexOutOfBoundsException
java.lang.NullPointerException
java.lang.ArrayIndexOutOfBoundsException
public static final java.lang.String toString(byte[] bytes,
int offset,
int labelsCount,
boolean escapeSeparator,
boolean absolute)
throws java.lang.NullPointerException,
java.lang.ArrayIndexOutOfBoundsException
java.lang.NullPointerException
java.lang.ArrayIndexOutOfBoundsException
public static final byte[] parse(java.lang.String name,
boolean escapeSeparator,
byte[] domainBytes,
int domainOffset)
throws java.lang.NullPointerException,
ParserException,
java.lang.ArrayIndexOutOfBoundsException
java.lang.NullPointerException
ParserException
java.lang.ArrayIndexOutOfBoundsExceptionpublic java.lang.String getAsEmail()
public boolean isWildcard()
public boolean equalsWildcard(DNSName wildcard)
public boolean equalsExact(DNSName name)
public java.lang.Object clone()
ReallyCloneablethis object.
By the clone() standard definition, this method
creates a new instance of the class of this object and
initializes all its fields with exactly the contents of the
corresponding fields of this object. Typically, native
clone() method of Object class is used
inside this method.
clone in interface ReallyCloneableclone in class java.lang.Objectnull and != this) of
this instance.public int hashCode()
hashCode in class java.lang.Objectpublic boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic boolean greaterThan(java.lang.Object obj)
greaterThan in interface Sortableobj - the second compared object (may be null).
true if obj is comparable with
this and this object is greater than
obj, else false.
public int compareTo(DNSName name)
throws java.lang.NullPointerException
java.lang.NullPointerExceptionpublic java.lang.String toString()
toString in class java.lang.Objectpublic void integrityCheck()
integrityCheck in interface Verifiable
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||