public class DomainValidator extends Object implements javax.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
InetAddress
for that functionality.)
Constructor and Description |
---|
DomainValidator() |
Modifier and Type | Method and Description |
---|---|
void |
initialize(Domain domain) |
boolean |
isValid(CharSequence domain,
javax.validation.ConstraintValidatorContext context) |
(package private) static boolean |
isValidCountryCodeTld(String ccTld)
Returns true if the specified
String matches any
IANA-defined country code top-level domain. |
(package private) static boolean |
isValidGenericTld(String gTld)
Returns true if the specified
String matches any
IANA-defined generic top-level domain. |
(package private) static boolean |
isValidInfrastructureTld(String iTld)
Returns true if the specified
String matches any
IANA-defined infrastructure top-level domain. |
(package private) static boolean |
isValidLocalTld(String iTld)
Returns true if the specified
String matches any
widely used "local" domains (localhost or localdomain). |
(package private) boolean |
isValidTld(String tld)
Returns true if the specified
String matches any
IANA-defined top-level domain. |
public boolean isValid(CharSequence domain, javax.validation.ConstraintValidatorContext context)
isValid
in interface javax.validation.ConstraintValidator<Domain,CharSequence>
boolean isValidTld(String tld)
String
matches any
IANA-defined top-level domain. Leading dots are ignored if present.
The search is case-sensitive.tld
- the parameter to check for TLD statusstatic boolean isValidInfrastructureTld(String iTld)
String
matches any
IANA-defined infrastructure top-level domain. Leading dots are
ignored if present. The search is case-sensitive.iTld
- the parameter to check for infrastructure TLD statusstatic boolean isValidGenericTld(String gTld)
String
matches any
IANA-defined generic top-level domain. Leading dots are ignored
if present. The search is case-sensitive.gTld
- the parameter to check for generic TLD statusstatic boolean isValidCountryCodeTld(String ccTld)
String
matches any
IANA-defined country code top-level domain. Leading dots are
ignored if present. The search is case-sensitive.ccTld
- the parameter to check for country code TLD statusstatic boolean isValidLocalTld(String iTld)
String
matches any
widely used "local" domains (localhost or localdomain). Leading dots are
ignored if present. The search is case-sensitive.iTld
- the parameter to check for local TLD statuspublic void initialize(Domain domain)
initialize
in interface javax.validation.ConstraintValidator<Domain,CharSequence>
Copyright © 2010–2020 The Apache Software Foundation. All rights reserved.