org.atmosphere.wasync
Class RequestBuilder<T extends RequestBuilder<T>>

java.lang.Object
  extended by org.atmosphere.wasync.RequestBuilder<T>
Direct Known Subclasses:
AtmosphereRequest.AtmosphereRequestBuilder, DefaultRequestBuilder

public abstract class RequestBuilder<T extends RequestBuilder<T>>
extends java.lang.Object

Base class for building Request

Author:
jeanfrancois Arcand

Field Summary
protected  java.util.List<Decoder<?,?>> decoders
           
protected  java.lang.Class<T> derived
           
protected  java.util.List<Encoder<?,?>> encoders
           
protected  java.util.Map<java.lang.String,java.util.Collection<java.lang.String>> headers
           
protected  Request.METHOD method
           
protected  java.util.Map<java.lang.String,java.util.List<java.lang.String>> queryString
           
protected  FunctionResolver resolver
           
protected  java.util.List<Request.TRANSPORT> transports
           
protected  java.lang.String uri
           
 
Constructor Summary
protected RequestBuilder(java.lang.Class<T> derived)
           
 
Method Summary
abstract  Request build()
          Build a Request.
 T decoder(Decoder d)
          Add a Decoder.
 java.util.List<Decoder<?,?>> decoders()
          Return the current list of Decoder
 T encoder(Encoder e)
          Add an Encoder.
 java.util.List<Encoder<?,?>> encoders()
          Return the current list of Encoder
 T header(java.lang.String name, java.lang.String value)
          Add a header.
 java.util.Map<java.lang.String,java.util.Collection<java.lang.String>> headers()
          Return the current tMap of headers
 Request.METHOD method()
          Return the HTTP method
 T method(Request.METHOD method)
          The method to use for connecting tho the remote server.
 java.util.Map<java.lang.String,java.util.List<java.lang.String>> queryString()
          Return the current query string/form param
 T queryString(java.lang.String name, java.lang.String value)
          Add a query param.
 FunctionResolver resolver()
          Return the current FunctionResolver
 T resolver(FunctionResolver resolver)
          Add a FunctionResolver
 T transport(Request.TRANSPORT t)
          The Request.TRANSPORT to use.
 java.util.List<Request.TRANSPORT> transports()
          Return the current list of Request.TRANSPORT
 java.lang.String uri()
          Return the uri
 T uri(java.lang.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

protected final java.util.List<Request.TRANSPORT> transports

method

protected Request.METHOD method

uri

protected java.lang.String uri

encoders

protected final java.util.List<Encoder<?,?>> encoders

decoders

protected final java.util.List<Decoder<?,?>> decoders

headers

protected final java.util.Map<java.lang.String,java.util.Collection<java.lang.String>> headers

queryString

protected final java.util.Map<java.lang.String,java.util.List<java.lang.String>> queryString

resolver

protected FunctionResolver resolver

derived

protected final java.lang.Class<T extends RequestBuilder<T>> derived
Constructor Detail

RequestBuilder

protected RequestBuilder(java.lang.Class<T> derived)
Method Detail

transport

public T 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. The first added is always the first used.

Parameters:
t -
Returns:
this

method

public T 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 T uri(java.lang.String uri)
The URI to connect to.

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

encoder

public T encoder(Encoder e)
Add an Encoder. Several Encoder can be added and will be invoked the order they were added. This method doesn't allow duplicate.

Parameters:
e - an Encoder
Returns:
this

decoder

public T decoder(Decoder d)
Add a Decoder. Several Decoder can be added and will be invoked the order they were added. This method doesn't allow duplicate.

Parameters:
d - a Decoder
Returns:
this

header

public T header(java.lang.String name,
                java.lang.String value)
Add a header.

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

queryString

public T queryString(java.lang.String name,
                     java.lang.String value)
Add a query param.

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

resolver

public T resolver(FunctionResolver resolver)
Add a FunctionResolver

Parameters:
resolver - a FunctionResolver
Returns:
this

build

public abstract Request build()
Build a Request. IMPORTANT: if you are using stateful Decoder, you must NOT call this method more than once to prevent response corruption.

Returns:
a Request

transports

public java.util.List<Request.TRANSPORT> transports()
Return the current list of Request.TRANSPORT

Returns:
the current list of Request.TRANSPORT

method

public Request.METHOD method()
Return the HTTP method

Returns:
the HTTP method

headers

public java.util.Map<java.lang.String,java.util.Collection<java.lang.String>> headers()
Return the current tMap of headers

Returns:
the current tMap of headers

queryString

public java.util.Map<java.lang.String,java.util.List<java.lang.String>> queryString()
Return the current query string/form param

Returns:
the current query string/form param

encoders

public java.util.List<Encoder<?,?>> encoders()
Return the current list of Encoder

Returns:
the current list of Encoder

decoders

public java.util.List<Decoder<?,?>> decoders()
Return the current list of Decoder

Returns:
the current list of Decoder

uri

public java.lang.String uri()
Return the uri

Returns:
the uri

resolver

public FunctionResolver resolver()
Return the current FunctionResolver

Returns:
the current FunctionResolver


Copyright © 2014. All Rights Reserved.