org.atmosphere.wasync
Class RequestBuilder

java.lang.Object
  extended by org.atmosphere.wasync.RequestBuilder
Direct Known Subclasses:
DefaultRequestBuilder

public abstract class RequestBuilder
extends Object

Construct a Request

Author:
jeanfrancois Arcand

Field Summary
 List<Decoder<?,?>> decoders
           
 List<Encoder<?,?>> encoders
           
 Map<String,Collection<String>> headers
           
 Request.METHOD method
           
 Map<String,Collection<String>> queryString
           
 FunctionResolver resolver
           
 List<Request.TRANSPORT> transports
           
 String uri
           
 
Constructor Summary
RequestBuilder()
           
 
Method Summary
abstract  Request build()
           
 RequestBuilder decoder(Decoder d)
          Add a Decoder.
 RequestBuilder encoder(Encoder e)
          Add an Encoder.
 RequestBuilder header(String name, String value)
          Add a header.
 RequestBuilder method(Request.METHOD method)
          The method to use for connecting tho the remote server.
 RequestBuilder queryString(String name, String value)
          Add a query param.
 RequestBuilder resolver(FunctionResolver resolver)
          Add a FunctionResolver
 RequestBuilder transport(Request.TRANSPORT t)
          The Request.TRANSPORT to use.
 RequestBuilder uri(String uri)
          The URI to connect to.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

transports

public final List<Request.TRANSPORT> transports

method

public Request.METHOD method

uri

public String uri

encoders

public final List<Encoder<?,?>> encoders

decoders

public final List<Decoder<?,?>> decoders

headers

public final Map<String,Collection<String>> headers

queryString

public final Map<String,Collection<String>> queryString

resolver

public FunctionResolver resolver
Constructor Detail

RequestBuilder

public RequestBuilder()
Method Detail

transport

public RequestBuilder transport(Request.TRANSPORT t)
The Request.TRANSPORT to use. This method can be invoked several time and the library will loop over the list until one Request.TRANSPORT succeed.

Parameters:
t -
Returns:
this

method

public RequestBuilder method(Request.METHOD method)
The method to use for connecting tho the remote server. It is recommended to always use Request.METHOD.GET

Parameters:
method -
Returns:
this

uri

public RequestBuilder uri(String uri)
The URI to connect to.

Parameters:
uri - a uri to connect to
Returns:
this

encoder

public RequestBuilder encoder(Encoder e)
Add an Encoder. Several Encoder can be added and will be invoked the order they were added.

Parameters:
e - an Encoder
Returns:
this

decoder

public RequestBuilder decoder(Decoder d)
Add a Decoder. Several Decoder can be added and will be invoked the order they were added.

Parameters:
d - a Decoder
Returns:
this

header

public RequestBuilder header(String name,
                             String value)
Add a header.

Parameters:
name - header name
value - header value
Returns:
this

queryString

public RequestBuilder queryString(String name,
                                  String value)
Add a query param.

Parameters:
name - header name
value - header value
Returns:
this

resolver

public RequestBuilder resolver(FunctionResolver resolver)
Add a FunctionResolver

Parameters:
resolver - a FunctionResolver
Returns:
this

build

public abstract Request build()


Copyright © 2012. All Rights Reserved.