Package org.minidns.dnslabel
Class DnsLabel
- java.lang.Object
-
- org.minidns.dnslabel.DnsLabel
-
- All Implemented Interfaces:
java.lang.CharSequence,java.lang.Comparable<DnsLabel>
- Direct Known Subclasses:
LdhLabel,NonLdhLabel
public abstract class DnsLabel extends java.lang.Object implements java.lang.CharSequence, java.lang.Comparable<DnsLabel>
A DNS label is an individual component of a DNS name. Labels are usually shown separated by dots.This class implements
Comparablewhich compares DNS labels according to the Canonical DNS Name Order as specified in RFC 4034 § 6.1.Note that as per RFC 2181 § 11 DNS labels may contain any byte.
- See Also:
- RFC 5890 § 2.2. DNS-Related Terminology
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDnsLabel.LabelToLongException
-
Field Summary
Fields Modifier and Type Field Description java.lang.Stringlabelstatic intMAX_LABEL_LENGTH_IN_OCTETSThe maximum length of a DNS label in octets.static booleanVALIDATEWhether or not the DNS label is validated on construction.static DnsLabelWILDCARD_LABEL
-
Constructor Summary
Constructors Modifier Constructor Description protectedDnsLabel(java.lang.String label)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description DnsLabelasLowercaseVariant()charcharAt(int index)intcompareTo(DnsLabel other)booleanequals(java.lang.Object other)static DnsLabelfrom(java.lang.String label)static DnsLabel[]from(java.lang.String[] labels)java.lang.StringgetInternationalizedRepresentation()protected java.lang.StringgetInternationalizedRepresentationInternal()java.lang.StringgetLabelType()inthashCode()static booleanisIdnAcePrefixed(java.lang.String string)intlength()java.lang.CharSequencesubSequence(int start, int end)java.lang.StringtoString()voidwriteToBoas(java.io.ByteArrayOutputStream byteArrayOutputStream)
-
-
-
Field Detail
-
MAX_LABEL_LENGTH_IN_OCTETS
public static final int MAX_LABEL_LENGTH_IN_OCTETS
The maximum length of a DNS label in octets.- See Also:
- RFC 1035 § 2.3.4., Constant Field Values
-
WILDCARD_LABEL
public static final DnsLabel WILDCARD_LABEL
-
VALIDATE
public static boolean VALIDATE
Whether or not the DNS label is validated on construction.
-
label
public final java.lang.String label
-
-
Constructor Detail
-
DnsLabel
protected DnsLabel(java.lang.String label)
-
-
Method Detail
-
getInternationalizedRepresentation
public final java.lang.String getInternationalizedRepresentation()
-
getInternationalizedRepresentationInternal
protected java.lang.String getInternationalizedRepresentationInternal()
-
getLabelType
public final java.lang.String getLabelType()
-
length
public final int length()
- Specified by:
lengthin interfacejava.lang.CharSequence
-
charAt
public final char charAt(int index)
- Specified by:
charAtin interfacejava.lang.CharSequence
-
subSequence
public final java.lang.CharSequence subSequence(int start, int end)
- Specified by:
subSequencein interfacejava.lang.CharSequence
-
toString
public final java.lang.String toString()
- Specified by:
toStringin interfacejava.lang.CharSequence- Overrides:
toStringin classjava.lang.Object
-
equals
public final boolean equals(java.lang.Object other)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public final int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
asLowercaseVariant
public final DnsLabel asLowercaseVariant()
-
writeToBoas
public final void writeToBoas(java.io.ByteArrayOutputStream byteArrayOutputStream)
-
compareTo
public final int compareTo(DnsLabel other)
- Specified by:
compareToin interfacejava.lang.Comparable<DnsLabel>
-
isIdnAcePrefixed
public static boolean isIdnAcePrefixed(java.lang.String string)
-
-