Class DomainValidator
- java.lang.Object
-
- org.apache.bval.extras.constraints.net.DomainValidator
-
- All Implemented Interfaces:
jakarta.validation.ConstraintValidator<Domain,CharSequence>
public class DomainValidator extends Object implements jakarta.validation.ConstraintValidator<Domain,CharSequence>
Domain name validation routines.
This validator provides methods for validating Internet domain names and top-level domains.
Domain names are evaluated according to the standards RFC1034, section 3, and RFC1123, section 2.1. No accomodation is provided for the specialized needs of other applications; if the domain name has been URL-encoded, for example, validation will fail even though the equivalent plaintext version of the same name would have passed.
Validation is also provided for top-level domains (TLDs) as defined and maintained by the Internet Assigned Numbers Authority (IANA):
isValidInfrastructureTld(java.lang.String)- validates infrastructure TLDs (.arpa, etc.)isValidGenericTld(java.lang.String)- validates generic TLDs (.com, .org, etc.)isValidCountryCodeTld(java.lang.String)- validates country code TLDs (.us, .uk, .cn, etc.)
(NOTE: This class does not provide IP address lookup for domain names or methods to ensure that a given domain name matches a specific IP; see
InetAddressfor that functionality.)
-
-
Constructor Summary
Constructors Constructor Description DomainValidator()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidinitialize(Domain domain)booleanisValid(CharSequence domain, jakarta.validation.ConstraintValidatorContext context)(package private) static booleanisValidCountryCodeTld(String ccTld)Returns true if the specifiedStringmatches any IANA-defined country code top-level domain.(package private) static booleanisValidGenericTld(String gTld)Returns true if the specifiedStringmatches any IANA-defined generic top-level domain.(package private) static booleanisValidInfrastructureTld(String iTld)Returns true if the specifiedStringmatches any IANA-defined infrastructure top-level domain.(package private) static booleanisValidLocalTld(String iTld)Returns true if the specifiedStringmatches any widely used "local" domains (localhost or localdomain).(package private) booleanisValidTld(String tld)Returns true if the specifiedStringmatches any IANA-defined top-level domain.
-
-
-
Method Detail
-
isValid
public boolean isValid(CharSequence domain, jakarta.validation.ConstraintValidatorContext context)
- Specified by:
isValidin interfacejakarta.validation.ConstraintValidator<Domain,CharSequence>
-
isValidTld
boolean isValidTld(String tld)
Returns true if the specifiedStringmatches any IANA-defined top-level domain. Leading dots are ignored if present. The search is case-sensitive.- Parameters:
tld- the parameter to check for TLD status- Returns:
- true if the parameter is a TLD
-
isValidInfrastructureTld
static boolean isValidInfrastructureTld(String iTld)
Returns true if the specifiedStringmatches any IANA-defined infrastructure top-level domain. Leading dots are ignored if present. The search is case-sensitive.- Parameters:
iTld- the parameter to check for infrastructure TLD status- Returns:
- true if the parameter is an infrastructure TLD
-
isValidGenericTld
static boolean isValidGenericTld(String gTld)
Returns true if the specifiedStringmatches any IANA-defined generic top-level domain. Leading dots are ignored if present. The search is case-sensitive.- Parameters:
gTld- the parameter to check for generic TLD status- Returns:
- true if the parameter is a generic TLD
-
isValidCountryCodeTld
static boolean isValidCountryCodeTld(String ccTld)
Returns true if the specifiedStringmatches any IANA-defined country code top-level domain. Leading dots are ignored if present. The search is case-sensitive.- Parameters:
ccTld- the parameter to check for country code TLD status- Returns:
- true if the parameter is a country code TLD
-
isValidLocalTld
static boolean isValidLocalTld(String iTld)
Returns true if the specifiedStringmatches any widely used "local" domains (localhost or localdomain). Leading dots are ignored if present. The search is case-sensitive.- Parameters:
iTld- the parameter to check for local TLD status- Returns:
- true if the parameter is an local TLD
-
initialize
public void initialize(Domain domain)
- Specified by:
initializein interfacejakarta.validation.ConstraintValidator<Domain,CharSequence>
-
-