final class UriParser extends Object
Modifier and Type | Field and Description |
---|---|
(package private) boolean |
absolute |
(package private) String |
authority |
(package private) boolean |
fileSchemeCaseInsensitiveOS |
(package private) String |
fragment |
(package private) int |
hash |
(package private) String |
host |
private static boolean |
isFileCaseInsensitiveOS |
(package private) boolean |
opaque |
(package private) String |
path |
(package private) int |
port |
(package private) String |
query |
(package private) String |
scheme |
(package private) String |
schemespecificpart |
(package private) boolean |
serverAuthority |
(package private) String |
string |
(package private) String |
userinfo |
Constructor and Description |
---|
UriParser() |
Modifier and Type | Method and Description |
---|---|
private boolean |
isValidDomainName(String host) |
private boolean |
isValidHexChar(char c) |
private boolean |
isValidHost(boolean forceServer,
String host)
distinguish between IPv4, IPv6, domain name and validate it based on
its type
|
private boolean |
isValidIP4Word(String word) |
private boolean |
isValidIP6Address(String ipAddress) |
private boolean |
isValidIPv4Address(String host) |
private boolean |
isValidIPvFutureAddress(String ipvFuture) |
private String |
normalize(String path) |
(package private) void |
parseAuthority(boolean forceServer)
determine the host, port and userinfo if the authority parses
successfully to a server based authority
behaviour in error cases: if forceServer is true, throw
URISyntaxException with the proper diagnostic messages. if
forceServer is false assume this is a registry based uri, and just
return leaving the host, port and userinfo fields undefined.
|
(package private) void |
parseURI(String uri,
boolean forceServer) |
private String |
setSchemeSpecificPart(String authority,
String path,
String query)
UriParser method used to re-calculate the scheme specific part of the
resolved or normalized URIs
|
private void |
validateFragment(String uri,
String fragment,
int index) |
private void |
validateQuery(String uri,
String query,
int index) |
private void |
validateScheme(String uri,
String scheme,
int index) |
private void |
validateSegment(String uri,
String segment,
int index,
String legal) |
private void |
validateSsp(String uri,
String ssp,
int index) |
private void |
validateUserinfo(String uri,
String userinfo,
int index) |
private static final boolean isFileCaseInsensitiveOS
String string
String scheme
String schemespecificpart
String authority
String userinfo
String host
int port
String path
String query
String fragment
boolean opaque
boolean absolute
boolean serverAuthority
int hash
boolean fileSchemeCaseInsensitiveOS
void parseURI(String uri, boolean forceServer) throws URISyntaxException
URISyntaxException
private void validateScheme(String uri, String scheme, int index) throws URISyntaxException
URISyntaxException
private void validateSsp(String uri, String ssp, int index) throws URISyntaxException
URISyntaxException
private void validateSegment(String uri, String segment, int index, String legal) throws URISyntaxException
URISyntaxException
private void validateQuery(String uri, String query, int index) throws URISyntaxException
URISyntaxException
private void validateFragment(String uri, String fragment, int index) throws URISyntaxException
URISyntaxException
void parseAuthority(boolean forceServer) throws URISyntaxException
URISyntaxException
private void validateUserinfo(String uri, String userinfo, int index) throws URISyntaxException
URISyntaxException
private boolean isValidHost(boolean forceServer, String host) throws URISyntaxException
URISyntaxException
private boolean isValidDomainName(String host) throws URISyntaxException
URISyntaxException
private boolean isValidIPv4Address(String host)
private boolean isValidIP6Address(String ipAddress)
private boolean isValidIP4Word(String word)
private boolean isValidHexChar(char c)
private boolean isValidIPvFutureAddress(String ipvFuture) throws URISyntaxException
URISyntaxException
Copyright 2007-2013, multiple authors.
Licensed under the Apache License, Version 2.0, see the NOTICE file for attributions.