diff options
author | Sven Gothel <[email protected]> | 2013-09-08 15:34:24 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2013-09-08 15:34:24 +0200 |
commit | 6ca49d54ab93c0fbdd9fb45e3263eb9d59487cf5 (patch) | |
tree | 86490168a3978a6d53cbad86f6386a79952600a7 | |
parent | 80187d258eeda0f0ddbb9469c84270a0c920b1a0 (diff) | |
parent | 2ebb8363effaa205972ba7f056aa6435a7fa8d62 (diff) |
Merge remote-tracking branch 'hharrison/master'
-rw-r--r-- | src/java/com/jogamp/common/net/URIQueryProps.java | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/src/java/com/jogamp/common/net/URIQueryProps.java b/src/java/com/jogamp/common/net/URIQueryProps.java index a241af8..fd91b9b 100644 --- a/src/java/com/jogamp/common/net/URIQueryProps.java +++ b/src/java/com/jogamp/common/net/URIQueryProps.java @@ -3,14 +3,14 @@ * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. - * + * * 2. Redistributions in binary form must reproduce the above copyright notice, this list * of conditions and the following disclaimer in the documentation and/or other materials * provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR @@ -20,7 +20,7 @@ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * * The views and conclusions contained in the software and documentation are those of the * authors and should not be interpreted as representing official policies, either expressed * or implied, of JogAmp Community. @@ -32,6 +32,7 @@ import java.net.URISyntaxException; import java.util.HashMap; import java.util.Iterator; import java.util.Map; +import java.util.Map.Entry; /** * Helper class to process URI's query, handled as properties. @@ -49,17 +50,17 @@ public class URIQueryProps { private static final char ASSIG = '='; private static final String EMPTY = ""; private final String query_separator; - + private final HashMap<String, String> properties = new HashMap<String, String>(); - + private URIQueryProps(char querySeparator) { query_separator = String.valueOf(querySeparator); } - + public final Map<String, String> getProperties() { return properties; } public final char getQuerySeparator() { return query_separator.charAt(0); } - - public final String appendQuery(String baseQuery) throws URISyntaxException { + + public final String appendQuery(String baseQuery) { boolean needsSep = false; final StringBuilder sb = new StringBuilder(); if ( null != baseQuery ) { @@ -71,34 +72,33 @@ public class URIQueryProps { needsSep = true; } } - Iterator<String> propKeys = properties.keySet().iterator(); - while(propKeys.hasNext()) { + Iterator<Entry<String, String>> entries = properties.entrySet().iterator(); + while(entries.hasNext()) { if(needsSep) { sb.append(query_separator); } - final String key = propKeys.next(); - final String val = properties.get(key); - sb.append(key); - if( EMPTY != val ) { - sb.append(ASSIG).append(properties.get(key)); + final Entry<String, String> entry = entries.next(); + sb.append(entry.getKey()); + if( EMPTY != entry.getValue() ) { + sb.append(ASSIG).append(entry.getValue()); } needsSep = true; } return sb.toString(); } - + public final URI appendQuery(URI base) throws URISyntaxException { return new URI(base.getScheme(), base.getRawUserInfo(), base.getHost(), base.getPort(), base.getRawPath(), appendQuery(base.getRawQuery()), base.getRawFragment()); } - + /** - * + * * @param uri * @param querySeparator should be either <i>;</i> or <i>&</i>, <i>;</i> is encouraged due to troubles of escaping <i>&</i>. * @return - * @throws IllegalArgumentException if <code>querySeparator</code> is illegal, i.e. neither <i>;</i> nor <i>&</i> + * @throws IllegalArgumentException if <code>querySeparator</code> is illegal, i.e. neither <i>;</i> nor <i>&</i> */ public static final URIQueryProps create(URI uri, char querySeparator) throws IllegalArgumentException { if( ';' != querySeparator && '&' != querySeparator ) { @@ -113,7 +113,7 @@ public class URIQueryProps { q_e = q.indexOf(querySeparator, q_b); if(0 == q_e) { // single separator - continue; + continue; } if(0 > q_e) { // end |