org.amicofragile.webclient
Class URLBuilder

java.lang.Object
  extended by org.amicofragile.webclient.URLBuilder

public class URLBuilder
extends Object

Utility class who provides URL creation.

Author:
Pietro Martinelli

Nested Class Summary
private  class URLBuilder.Parameter
          URL parameter's abstraction.
 
Field Summary
private  String baseURL
          Base URL (without parameters).
static String DEFAULT_ENCODING
          Default character set for parameters encoding.
private  String encoding
          Charset for URL parameters encoding.
private static char PARAMETER_DEFINITION_CHAR
           
private  List<URLBuilder.Parameter> parameters
          URL's parameters.
private static String PARAMETERS_SEPARATOR
           
private static char QUERY_STRING_SEPARATOR
           
private static String SLASH
           
 
Constructor Summary
URLBuilder(String url)
          Initializes an instance with default charset for parameters encoding.
URLBuilder(String url, String encoding)
          Initializes new instance.
 
Method Summary
 void addParam(String name, String value)
          Registers new parameter, as name/value couple.
private  void deleteLastChar(StringBuilder builder)
          Deletes last char from builder.
private  String encode(String in)
          URL-encodes input String, using encoding specified at construction time.
private  String parseBaseUrl(String url)
          Extracts base URL (without parameters) from given URL.
private  List<? extends URLBuilder.Parameter> parseBaseUrlParameters(String baseURL)
          Extracts parameters from base URL.
 String renderURL()
          Renders URL as String, using a StringBuilder.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SLASH

private static final String SLASH
See Also:
Constant Field Values

PARAMETER_DEFINITION_CHAR

private static final char PARAMETER_DEFINITION_CHAR
See Also:
Constant Field Values

PARAMETERS_SEPARATOR

private static final String PARAMETERS_SEPARATOR
See Also:
Constant Field Values

QUERY_STRING_SEPARATOR

private static final char QUERY_STRING_SEPARATOR
See Also:
Constant Field Values

DEFAULT_ENCODING

public static final String DEFAULT_ENCODING
Default character set for parameters encoding.

See Also:
Constant Field Values

baseURL

private final String baseURL
Base URL (without parameters).


parameters

private final List<URLBuilder.Parameter> parameters
URL's parameters.


encoding

private final String encoding
Charset for URL parameters encoding.

Constructor Detail

URLBuilder

public URLBuilder(String url,
                  String encoding)
Initializes new instance.

Parameters:
url - An URL, eventually including parameters.
encoding - Charset to be used for parameters URL-encoding.

URLBuilder

public URLBuilder(String url)
Initializes an instance with default charset for parameters encoding.

Parameters:
url - An URL, eventually including parameters.
Method Detail

parseBaseUrlParameters

private List<? extends URLBuilder.Parameter> parseBaseUrlParameters(String baseURL)
Extracts parameters from base URL.

Parameters:
baseURL - A base URL, eventually including parameters.
Returns:
Given URL's parameters, if any.

parseBaseUrl

private String parseBaseUrl(String url)
Extracts base URL (without parameters) from given URL.

Parameters:
url - An URL-representing String
Returns:
Base URL (without parameters)

addParam

public final void addParam(String name,
                           String value)
Registers new parameter, as name/value couple.

Parameters:
name - URL parameter's name
value - URL parameter's value

renderURL

public final String renderURL()
Renders URL as String, using a StringBuilder.

Returns:
URL as String

encode

private final String encode(String in)
URL-encodes input String, using encoding specified at construction time.

Parameters:
in - String to encode
Returns:
in's URL-encoding

deleteLastChar

private void deleteLastChar(StringBuilder builder)
Deletes last char from builder.

Parameters:
builder - StringBuilder from which delete last char


Copyright © 2010. All Rights Reserved.