protected void stripOptionPrefixes(Map<String, Object> optionsByName) { String transportName = getTransportName(); String protocolName = getProtocolName(); String transportFormat = format("%s.", transportName); List<String> prefixes; if (protocolName != null) { String transportAsProtocolFormat = format("%s[%s].", transportName, protocolName); prefixes = asList(transportFormat, transportAsProtocolFormat); } else { prefixes = Collections.singletonList(transportFormat); } // TODO: scheme-prefixed option names? // strip off current transport prefix for option names for (String prefix : prefixes) { Collection<String> prefixedOptionNames = new HashSet<>(); final Set<Map.Entry<String,Object>> entrySet = optionsByName.entrySet(); for (Map.Entry<String, Object> entry : entrySet) { String optionName = entry.getKey(); if (optionName.startsWith(prefix)) { prefixedOptionNames.add(optionName); } } int prefixLength = prefix.length(); for (String prefixedOptionName : prefixedOptionNames) { Object optionValue = optionsByName.remove(prefixedOptionName); String newOptionName = prefixedOptionName.substring(prefixLength); optionsByName.put(newOptionName, optionValue); } } }
String transportName = getTransportName(); if (!transportName.equals(getSchemeName())) { location = modifyURIScheme(location, transportName);
String transportName = getTransportName(); if (transportName == null) { throw new NullPointerException("transportName");