|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.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.ArrayIndexOutOfBoundsException
public 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.ArrayIndexOutOfBoundsException
public 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.ArrayIndexOutOfBoundsException
public DNSName getDomain()
public java.lang.String getLastLabel()
public java.lang.String getRelativeAt(int level) throws java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
public 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.ArrayIndexOutOfBoundsException
public 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.ArrayIndexOutOfBoundsException
public java.lang.String getAsEmail()
public boolean isWildcard()
public boolean equalsWildcard(DNSName wildcard)
public boolean equalsExact(DNSName name)
public java.lang.Object clone()
ReallyCloneable
this
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 ReallyCloneable
clone
in class java.lang.Object
null
and != this
) of
this
instance.public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public boolean greaterThan(java.lang.Object obj)
greaterThan
in interface Sortable
obj
- 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.NullPointerException
public java.lang.String toString()
toString
in class java.lang.Object
public void integrityCheck()
integrityCheck
in interface Verifiable
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |