- All Implemented Interfaces:
CharSequence, Comparable<DnsLabel>
- Direct Known Subclasses:
ALabel, FakeALabel
A label that begins with "xn--" and follows the LDH rule.
Nested Class Summary
Nested classes/interfaces inherited from class DnsLabel
DnsLabel.LabelToLongExceptionModifier and TypeClassDescriptionstatic classThrown when a DNS label exceeds the maximum length.Field Summary
Fields inherited from class DnsLabel
label, MAX_LABEL_LENGTH_IN_OCTETS, WILDCARD_LABELConstructor Summary
Method Summary
Public MethodsModifier and TypeMethodDescriptionprotected static LdhLabelfromInternal(String label) Create an LdhLabel from an internal (ACE) representation.static booleanCheck if a label is an XN label.(package private) static booleanisXnLabelInternal(String label) Check if a label is an XN label internally.Methods inherited from class ReservedLdhLabel
isReservedLdhLabel, isReservedLdhLabelInternalModifier and TypeMethodDescriptionstatic booleanisReservedLdhLabel(String label) Test whether a label is both well-formed LDH and reserved.(package private) static booleanisReservedLdhLabelInternal(String label) Test for the reserved "--" pattern, skipping the LDH syntax check.Methods inherited from class LdhLabel
isLdhLabelModifier and TypeMethodDescriptionstatic booleanisLdhLabel(String label) Determine if the given label is an LDH (letters, digits, hyphen) label.Methods inherited from class DnsLabel
asLowercaseVariant, compareTo, consistsOnlyOfLettersDigitsAndHypen, consistsOnlyOfLettersDigitsHypenAndUnderscore, equals, from, from, getInternationalizedRepresentation, getInternationalizedRepresentationInternal, getLabelType, getRawLabel, hashCode, isIdnAcePrefixed, toSafeRepesentation, toString, writeToBoasModifier and TypeMethodDescriptionfinal DnsLabelGet the lowercase variant of this label.final intOrder labels case-insensitively, ignoring letter case.static booleanCheck if a string consists of only letters, digits, and hyphens.static booleanCheck if a string consists of only letters, digits, hyphens, and underscores.final booleanCompare the label text against another label.static DnsLabelCreate a DnsLabel from a string.static DnsLabel[]Create DnsLabel array from string array.final StringGet the internationalized representation of this label.protected StringGets the internal internationalized representation.final StringGet the type of this label.final StringGet the raw label.final inthashCode()Hash the label text.static booleanisIdnAcePrefixed(String string) Check if a string has the IDN ACE prefix.static StringtoSafeRepesentation(String dnsLabel) Convert a DNS label string to a safe representation.final StringtoString()Render the label with every character outside the LDH set escaped.final voidwriteToBoas(ByteArrayOutputStream byteArrayOutputStream) Write this label to a ByteArrayOutputStream prefixed by its length.Methods inherited from class SafeCharSequence
charAt, length, subSequence, toSafeStringModifier and TypeMethodDescriptionfinal charcharAt(int index) Returns one character of the safe string form.final intlength()Counts the characters of the safe string form.final CharSequencesubSequence(int start, int end) Returns a safe substring of the safe string form.Return a safe string representation.Methods inherited from interface CharSequence
chars, codePoints, getChars, isEmpty
Constructor Details
XnLabel
Stores the label in its ACE punycode form as a reserved LDH label.- Parameters:
label- the reserved LDH label, already in its internal ACE (punycode) form
Method Details
fromInternal
Create an LdhLabel from an internal (ACE) representation.- Parameters:
label- the ACE label- Returns:
- an
ALabel, or aFakeALabelif the label decodes to itself
isXnLabel
Check if a label is an XN label.- Parameters:
label- the label to check- Returns:
- true if the label is an XN label
isXnLabelInternal
Check if a label is an XN label internally.- Parameters:
label- the label to check- Returns:
- true if the label is an XN label