private ConnectionUri(final String theUriString) { final URI uri; try { uri = new URI(theUriString).parseServerAuthority(); } catch (final URISyntaxException e) { throw ConnectionUriInvalidException.newBuilder(theUriString).build(); } // validate self if (!isValid(uri)) { throw ConnectionUriInvalidException.newBuilder(theUriString).build(); } uriString = uri.toASCIIString(); protocol = uri.getScheme(); hostname = uri.getHost(); port = uri.getPort(); path = uri.getPath(); // initialize nullable fields final String userInfo = uri.getUserInfo(); if (userInfo != null && userInfo.contains(USERNAME_PASSWORD_SEPARATOR)) { final int separatorIndex = userInfo.indexOf(USERNAME_PASSWORD_SEPARATOR); userName = userInfo.substring(0, separatorIndex); password = userInfo.substring(separatorIndex + 1); } else { userName = null; password = null; } // must be initialized after all else uriStringWithMaskedPassword = createUriStringWithMaskedPassword(); }
private ConnectionUri(final String theUriString) { final URI uri; try { uri = new URI(theUriString).parseServerAuthority(); } catch (final URISyntaxException e) { throw ConnectionUriInvalidException.newBuilder(theUriString).build(); } // validate self if (!isValid(uri)) { throw ConnectionUriInvalidException.newBuilder(theUriString).build(); } uriString = uri.toASCIIString(); protocol = uri.getScheme(); hostname = uri.getHost(); port = uri.getPort(); path = uri.getPath(); // initialize nullable fields final String userInfo = uri.getUserInfo(); if (userInfo != null && userInfo.contains(USERNAME_PASSWORD_SEPARATOR)) { final int separatorIndex = userInfo.indexOf(USERNAME_PASSWORD_SEPARATOR); userName = userInfo.substring(0, separatorIndex); password = userInfo.substring(separatorIndex + 1); } else { userName = null; password = null; } // must be initialized after all else uriStringWithMaskedPassword = createUriStringWithMaskedPassword(); }