java.lang.Object
org.minidns.util.SafeCharSequence
org.minidns.dnslabel.DnsLabel
org.minidns.dnslabel.LdhLabel
org.minidns.dnslabel.ReservedLdhLabel
- All Implemented Interfaces:
CharSequence, Comparable<DnsLabel>
- Direct Known Subclasses:
XnLabel
A reserved LDH label (R-LDH label), which have the property that they contain "--" in the third and fourth characters.
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
ConstructorsModifierConstructorDescriptionprotectedReservedLdhLabel(String label) Wrap a label already known to carry the reserved "--" pattern.Method Summary
Public MethodsModifier 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
fromInternal, isLdhLabelModifier and TypeMethodDescriptionprotected static LdhLabelfromInternal(String label) Creates an LdhLabel from internal representationstatic 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
ReservedLdhLabel
Wrap a label already known to carry the reserved "--" pattern.- Parameters:
label- the LDH label string, which must carry "--" in its third and fourth characters
Method Details
isReservedLdhLabel
Test whether a label is both well-formed LDH and reserved.- Parameters:
label- the candidate label string, checked for LDH syntax before the reserved "--" pattern is tested- Returns:
- true if the string is a well-formed LDH label with "--" in its third and fourth characters
isReservedLdhLabelInternal
Test for the reserved "--" pattern, skipping the LDH syntax check.- Parameters:
label- the label string, assumed to be already known to be a well-formed LDH label- Returns:
- true if it is at least four characters long and its third and fourth characters are both '-'