/*
 * Copyright (c) 2018, PostgreSQL Global Development Group
 * See the LICENSE file in the project root for more information.
 */

package org.postgresql.util;

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;

This class helps with URL encoding and decoding. UTF-8 encoding is used by default to make encoding consistent across the driver, and encoding might be changed via postgresql.url.encoding property

Note: this should not be used outside of PostgreSQL source, this is not a public API of the driver.

/** * <p>This class helps with URL encoding and decoding. UTF-8 encoding is used by default to make * encoding consistent across the driver, and encoding might be changed via {@code * postgresql.url.encoding} property</p> * * <p>Note: this should not be used outside of PostgreSQL source, this is not a public API of the * driver.</p> */
public final class URLCoder { private static final String ENCODING_FOR_URL = System.getProperty("postgresql.url.encoding", "UTF-8");
Decodes x-www-form-urlencoded string into Java string.
Params:
  • encoded – encoded value
See Also:
Returns:decoded value
/** * Decodes {@code x-www-form-urlencoded} string into Java string. * * @param encoded encoded value * @return decoded value * @see URLDecoder#decode(String, String) */
public static String decode(String encoded) { try { return URLDecoder.decode(encoded, ENCODING_FOR_URL); } catch (UnsupportedEncodingException e) { throw new IllegalStateException( "Unable to decode URL entry via " + ENCODING_FOR_URL + ". This should not happen", e); } }
Encodes Java string into x-www-form-urlencoded format
Params:
  • plain – input value
See Also:
Returns:encoded value
/** * Encodes Java string into {@code x-www-form-urlencoded} format * * @param plain input value * @return encoded value * @see URLEncoder#encode(String, String) */
public static String encode(String plain) { try { return URLEncoder.encode(plain, "UTF-8"); } catch (UnsupportedEncodingException e) { throw new IllegalStateException( "Unable to encode URL entry via " + ENCODING_FOR_URL + ". This should not happen", e); } } }