You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2017/12/29 16:53:46 UTC

[1/2] juneau-website git commit: Update javadocs.

Repository: juneau-website
Updated Branches:
  refs/heads/asf-site a7eb34890 -> 64e023202


http://git-wip-us.apache.org/repos/asf/juneau-website/blob/64e02320/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestHeaderVar.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestHeaderVar.html b/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestHeaderVar.html
index 3379e63..a22f471 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestHeaderVar.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestHeaderVar.html
@@ -31,51 +31,59 @@
 <span class="sourceLineNo">023</span> *<a name="line.23"></a>
 <span class="sourceLineNo">024</span> * &lt;p&gt;<a name="line.24"></a>
 <span class="sourceLineNo">025</span> * Used to resolve values returned by {@link RestRequest#getHeader(String)}.<a name="line.25"></a>
-<span class="sourceLineNo">026</span> * <a name="line.26"></a>
-<span class="sourceLineNo">027</span> * &lt;p&gt;<a name="line.27"></a>
-<span class="sourceLineNo">028</span> * This variable resolver requires that a {@link RestRequest} object be set as a context object on the resolver or a<a name="line.28"></a>
-<span class="sourceLineNo">029</span> * session object on the resolver session.<a name="line.29"></a>
-<span class="sourceLineNo">030</span> *<a name="line.30"></a>
-<span class="sourceLineNo">031</span> * &lt;p&gt;<a name="line.31"></a>
-<span class="sourceLineNo">032</span> * Since this is a {@link SimpleVar}, any variables contained in the result will be recursively resolved.<a name="line.32"></a>
-<span class="sourceLineNo">033</span> * Likewise, if the arguments contain any variables, those will be resolved before they are passed to this var.<a name="line.33"></a>
-<span class="sourceLineNo">034</span> *<a name="line.34"></a>
-<span class="sourceLineNo">035</span> * @see org.apache.juneau.svl<a name="line.35"></a>
-<span class="sourceLineNo">036</span> */<a name="line.36"></a>
-<span class="sourceLineNo">037</span>public class RequestHeaderVar extends MultipartResolvingVar {<a name="line.37"></a>
-<span class="sourceLineNo">038</span><a name="line.38"></a>
-<span class="sourceLineNo">039</span>   /**<a name="line.39"></a>
-<span class="sourceLineNo">040</span>    * The name of the session or context object that identifies the {@link RestRequest} object.<a name="line.40"></a>
-<span class="sourceLineNo">041</span>    */<a name="line.41"></a>
-<span class="sourceLineNo">042</span>   public static final String SESSION_req = "req";<a name="line.42"></a>
-<span class="sourceLineNo">043</span><a name="line.43"></a>
-<span class="sourceLineNo">044</span><a name="line.44"></a>
-<span class="sourceLineNo">045</span>   /** The name of this variable. */<a name="line.45"></a>
-<span class="sourceLineNo">046</span>   public static final String NAME = "RH";<a name="line.46"></a>
-<span class="sourceLineNo">047</span><a name="line.47"></a>
-<span class="sourceLineNo">048</span>   /**<a name="line.48"></a>
-<span class="sourceLineNo">049</span>    * Constructor.<a name="line.49"></a>
-<span class="sourceLineNo">050</span>    */<a name="line.50"></a>
-<span class="sourceLineNo">051</span>   public RequestHeaderVar() {<a name="line.51"></a>
-<span class="sourceLineNo">052</span>      super(NAME);<a name="line.52"></a>
-<span class="sourceLineNo">053</span>   }<a name="line.53"></a>
-<span class="sourceLineNo">054</span>   <a name="line.54"></a>
-<span class="sourceLineNo">055</span>   @Override /* Var */<a name="line.55"></a>
-<span class="sourceLineNo">056</span>   protected boolean allowNested() {<a name="line.56"></a>
-<span class="sourceLineNo">057</span>      return false;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>   }<a name="line.58"></a>
-<span class="sourceLineNo">059</span><a name="line.59"></a>
-<span class="sourceLineNo">060</span>   @Override /* Var */<a name="line.60"></a>
-<span class="sourceLineNo">061</span>   protected boolean allowRecurse() {<a name="line.61"></a>
-<span class="sourceLineNo">062</span>      return false;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>   }<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span>   @Override /* Parameter */<a name="line.65"></a>
-<span class="sourceLineNo">066</span>   public String resolve(VarResolverSession session, String key) {<a name="line.66"></a>
-<span class="sourceLineNo">067</span>      RestRequest req = session.getSessionObject(RestRequest.class, SESSION_req);<a name="line.67"></a>
-<span class="sourceLineNo">068</span>      return req.getHeader(key);<a name="line.68"></a>
-<span class="sourceLineNo">069</span>   }<a name="line.69"></a>
-<span class="sourceLineNo">070</span>}<a name="line.70"></a>
+<span class="sourceLineNo">026</span> * &lt;br&gt;When multiple keys are used, returns the first non-null/empty value.<a name="line.26"></a>
+<span class="sourceLineNo">027</span> * <a name="line.27"></a>
+<span class="sourceLineNo">028</span> * &lt;h6 class='figure'&gt;Example:&lt;/h6&gt;<a name="line.28"></a>
+<span class="sourceLineNo">029</span> * &lt;p class='bcode'&gt;<a name="line.29"></a>
+<span class="sourceLineNo">030</span> *    String foo = restRequest.resolveVars(&lt;js&gt;"$RH{Foo}"&lt;/js&gt;); <a name="line.30"></a>
+<span class="sourceLineNo">031</span> *    String fooOrBar = restRequest.resolveVars(&lt;js&gt;"$RH{Foo,Bar}"&lt;/js&gt;); <a name="line.31"></a>
+<span class="sourceLineNo">032</span> * &lt;/p&gt;<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * <a name="line.33"></a>
+<span class="sourceLineNo">034</span> * &lt;h6 class='topic'&gt;Notes:&lt;/h6&gt;<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * &lt;ul class='spaced-list'&gt;<a name="line.35"></a>
+<span class="sourceLineNo">036</span> *    &lt;li&gt;<a name="line.36"></a>
+<span class="sourceLineNo">037</span> *       This variable resolver requires that a {@link RestRequest} object be set as a context object on the resolver <a name="line.37"></a>
+<span class="sourceLineNo">038</span> *       or a session object on the resolver session.<a name="line.38"></a>
+<span class="sourceLineNo">039</span> *    &lt;li&gt;<a name="line.39"></a>
+<span class="sourceLineNo">040</span> *       For security reasons, nested and recursive variables are not resolved.<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * &lt;/ul&gt;<a name="line.41"></a>
+<span class="sourceLineNo">042</span> *<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * @see org.apache.juneau.svl<a name="line.43"></a>
+<span class="sourceLineNo">044</span> */<a name="line.44"></a>
+<span class="sourceLineNo">045</span>public class RequestHeaderVar extends MultipartResolvingVar {<a name="line.45"></a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span>   /**<a name="line.47"></a>
+<span class="sourceLineNo">048</span>    * The name of the session or context object that identifies the {@link RestRequest} object.<a name="line.48"></a>
+<span class="sourceLineNo">049</span>    */<a name="line.49"></a>
+<span class="sourceLineNo">050</span>   public static final String SESSION_req = "req";<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span><a name="line.52"></a>
+<span class="sourceLineNo">053</span>   /** The name of this variable. */<a name="line.53"></a>
+<span class="sourceLineNo">054</span>   public static final String NAME = "RH";<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>   /**<a name="line.56"></a>
+<span class="sourceLineNo">057</span>    * Constructor.<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    */<a name="line.58"></a>
+<span class="sourceLineNo">059</span>   public RequestHeaderVar() {<a name="line.59"></a>
+<span class="sourceLineNo">060</span>      super(NAME);<a name="line.60"></a>
+<span class="sourceLineNo">061</span>   }<a name="line.61"></a>
+<span class="sourceLineNo">062</span>   <a name="line.62"></a>
+<span class="sourceLineNo">063</span>   @Override /* Var */<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   protected boolean allowNested() {<a name="line.64"></a>
+<span class="sourceLineNo">065</span>      return false;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>   }<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span>   @Override /* Var */<a name="line.68"></a>
+<span class="sourceLineNo">069</span>   protected boolean allowRecurse() {<a name="line.69"></a>
+<span class="sourceLineNo">070</span>      return false;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>   }<a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>   @Override /* Parameter */<a name="line.73"></a>
+<span class="sourceLineNo">074</span>   public String resolve(VarResolverSession session, String key) {<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      RestRequest req = session.getSessionObject(RestRequest.class, SESSION_req);<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      return req.getHeader(key);<a name="line.76"></a>
+<span class="sourceLineNo">077</span>   }<a name="line.77"></a>
+<span class="sourceLineNo">078</span>}<a name="line.78"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/juneau-website/blob/64e02320/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestPathVar.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestPathVar.html b/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestPathVar.html
index 4bcebec..dfcc470 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestPathVar.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestPathVar.html
@@ -31,47 +31,60 @@
 <span class="sourceLineNo">023</span> *<a name="line.23"></a>
 <span class="sourceLineNo">024</span> * &lt;p&gt;<a name="line.24"></a>
 <span class="sourceLineNo">025</span> * Used to resolve values returned by {@link RestRequest#getPath(String)}.<a name="line.25"></a>
-<span class="sourceLineNo">026</span> * <a name="line.26"></a>
-<span class="sourceLineNo">027</span> * &lt;p&gt;<a name="line.27"></a>
-<span class="sourceLineNo">028</span> * This variable resolver requires that a {@link RestRequest} object be set as a context object on the resolver or a<a name="line.28"></a>
-<span class="sourceLineNo">029</span> * session object on the resolver session.<a name="line.29"></a>
-<span class="sourceLineNo">030</span> *<a name="line.30"></a>
-<span class="sourceLineNo">031</span> * @see org.apache.juneau.svl<a name="line.31"></a>
-<span class="sourceLineNo">032</span> */<a name="line.32"></a>
-<span class="sourceLineNo">033</span>public class RequestPathVar extends MultipartResolvingVar {<a name="line.33"></a>
-<span class="sourceLineNo">034</span><a name="line.34"></a>
-<span class="sourceLineNo">035</span>   /**<a name="line.35"></a>
-<span class="sourceLineNo">036</span>    * The name of the session or context object that identifies the {@link RestRequest} object.<a name="line.36"></a>
-<span class="sourceLineNo">037</span>    */<a name="line.37"></a>
-<span class="sourceLineNo">038</span>   public static final String SESSION_req = "req";<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span><a name="line.40"></a>
-<span class="sourceLineNo">041</span>   /** The name of this variable. */<a name="line.41"></a>
-<span class="sourceLineNo">042</span>   public static final String NAME = "RP";<a name="line.42"></a>
-<span class="sourceLineNo">043</span><a name="line.43"></a>
-<span class="sourceLineNo">044</span>   /**<a name="line.44"></a>
-<span class="sourceLineNo">045</span>    * Constructor.<a name="line.45"></a>
-<span class="sourceLineNo">046</span>    */<a name="line.46"></a>
-<span class="sourceLineNo">047</span>   public RequestPathVar() {<a name="line.47"></a>
-<span class="sourceLineNo">048</span>      super(NAME);<a name="line.48"></a>
-<span class="sourceLineNo">049</span>   }<a name="line.49"></a>
-<span class="sourceLineNo">050</span>   <a name="line.50"></a>
-<span class="sourceLineNo">051</span>   @Override /* Var */<a name="line.51"></a>
-<span class="sourceLineNo">052</span>   protected boolean allowNested() {<a name="line.52"></a>
-<span class="sourceLineNo">053</span>      return false;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>   }<a name="line.54"></a>
-<span class="sourceLineNo">055</span><a name="line.55"></a>
-<span class="sourceLineNo">056</span>   @Override /* Var */<a name="line.56"></a>
-<span class="sourceLineNo">057</span>   protected boolean allowRecurse() {<a name="line.57"></a>
-<span class="sourceLineNo">058</span>      return false;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>   }<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span>   @Override /* Parameter */<a name="line.61"></a>
-<span class="sourceLineNo">062</span>   public String resolve(VarResolverSession session, String key) {<a name="line.62"></a>
-<span class="sourceLineNo">063</span>      RestRequest req = session.getSessionObject(RestRequest.class, SESSION_req);<a name="line.63"></a>
-<span class="sourceLineNo">064</span>      return req.getPath(key);<a name="line.64"></a>
-<span class="sourceLineNo">065</span>   }<a name="line.65"></a>
-<span class="sourceLineNo">066</span>}<a name="line.66"></a>
+<span class="sourceLineNo">026</span> * &lt;br&gt;When multiple keys are used, returns the first non-null/empty value.<a name="line.26"></a>
+<span class="sourceLineNo">027</span> * <a name="line.27"></a>
+<span class="sourceLineNo">028</span> * &lt;h6 class='figure'&gt;Example:&lt;/h6&gt;<a name="line.28"></a>
+<span class="sourceLineNo">029</span> * &lt;p class='bcode'&gt;<a name="line.29"></a>
+<span class="sourceLineNo">030</span> *    &lt;jc&gt;// URI path pattern = "/foo/{foo}/bar/{bar}"&lt;/jc&gt;<a name="line.30"></a>
+<span class="sourceLineNo">031</span> *    String foo = restRequest.resolveVars(&lt;js&gt;"$RP{foo}"&lt;/js&gt;); <a name="line.31"></a>
+<span class="sourceLineNo">032</span> *    String fooOrBar = restRequest.resolveVars(&lt;js&gt;"$RP{foo,bar}"&lt;/js&gt;); <a name="line.32"></a>
+<span class="sourceLineNo">033</span> * &lt;/p&gt;<a name="line.33"></a>
+<span class="sourceLineNo">034</span> * <a name="line.34"></a>
+<span class="sourceLineNo">035</span> * &lt;h6 class='topic'&gt;Notes:&lt;/h6&gt;<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * &lt;ul class='spaced-list'&gt;<a name="line.36"></a>
+<span class="sourceLineNo">037</span> *    &lt;li&gt;<a name="line.37"></a>
+<span class="sourceLineNo">038</span> *       This variable resolver requires that a {@link RestRequest} object be set as a context object on the resolver <a name="line.38"></a>
+<span class="sourceLineNo">039</span> *       or a session object on the resolver session.<a name="line.39"></a>
+<span class="sourceLineNo">040</span> *    &lt;li&gt;<a name="line.40"></a>
+<span class="sourceLineNo">041</span> *       For security reasons, nested and recursive variables are not resolved.<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * &lt;/ul&gt;<a name="line.42"></a>
+<span class="sourceLineNo">043</span> *<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * @see org.apache.juneau.svl<a name="line.44"></a>
+<span class="sourceLineNo">045</span> */<a name="line.45"></a>
+<span class="sourceLineNo">046</span>public class RequestPathVar extends MultipartResolvingVar {<a name="line.46"></a>
+<span class="sourceLineNo">047</span><a name="line.47"></a>
+<span class="sourceLineNo">048</span>   /**<a name="line.48"></a>
+<span class="sourceLineNo">049</span>    * The name of the session or context object that identifies the {@link RestRequest} object.<a name="line.49"></a>
+<span class="sourceLineNo">050</span>    */<a name="line.50"></a>
+<span class="sourceLineNo">051</span>   public static final String SESSION_req = "req";<a name="line.51"></a>
+<span class="sourceLineNo">052</span><a name="line.52"></a>
+<span class="sourceLineNo">053</span><a name="line.53"></a>
+<span class="sourceLineNo">054</span>   /** The name of this variable. */<a name="line.54"></a>
+<span class="sourceLineNo">055</span>   public static final String NAME = "RP";<a name="line.55"></a>
+<span class="sourceLineNo">056</span><a name="line.56"></a>
+<span class="sourceLineNo">057</span>   /**<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    * Constructor.<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    */<a name="line.59"></a>
+<span class="sourceLineNo">060</span>   public RequestPathVar() {<a name="line.60"></a>
+<span class="sourceLineNo">061</span>      super(NAME);<a name="line.61"></a>
+<span class="sourceLineNo">062</span>   }<a name="line.62"></a>
+<span class="sourceLineNo">063</span>   <a name="line.63"></a>
+<span class="sourceLineNo">064</span>   @Override /* Var */<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   protected boolean allowNested() {<a name="line.65"></a>
+<span class="sourceLineNo">066</span>      return false;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>   }<a name="line.67"></a>
+<span class="sourceLineNo">068</span><a name="line.68"></a>
+<span class="sourceLineNo">069</span>   @Override /* Var */<a name="line.69"></a>
+<span class="sourceLineNo">070</span>   protected boolean allowRecurse() {<a name="line.70"></a>
+<span class="sourceLineNo">071</span>      return false;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>   }<a name="line.72"></a>
+<span class="sourceLineNo">073</span><a name="line.73"></a>
+<span class="sourceLineNo">074</span>   @Override /* Parameter */<a name="line.74"></a>
+<span class="sourceLineNo">075</span>   public String resolve(VarResolverSession session, String key) {<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      RestRequest req = session.getSessionObject(RestRequest.class, SESSION_req);<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      return req.getPath(key);<a name="line.77"></a>
+<span class="sourceLineNo">078</span>   }<a name="line.78"></a>
+<span class="sourceLineNo">079</span>}<a name="line.79"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/juneau-website/blob/64e02320/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestQueryVar.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestQueryVar.html b/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestQueryVar.html
index 863b01e..d721a21 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestQueryVar.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestQueryVar.html
@@ -31,47 +31,60 @@
 <span class="sourceLineNo">023</span> *<a name="line.23"></a>
 <span class="sourceLineNo">024</span> * &lt;p&gt;<a name="line.24"></a>
 <span class="sourceLineNo">025</span> * Used to resolve values returned by {@link RestRequest#getQuery(String)}.<a name="line.25"></a>
-<span class="sourceLineNo">026</span> * <a name="line.26"></a>
-<span class="sourceLineNo">027</span> * &lt;p&gt;<a name="line.27"></a>
-<span class="sourceLineNo">028</span> * This variable resolver requires that a {@link RestRequest} object be set as a context object on the resolver or a<a name="line.28"></a>
-<span class="sourceLineNo">029</span> * session object on the resolver session.<a name="line.29"></a>
-<span class="sourceLineNo">030</span> *<a name="line.30"></a>
-<span class="sourceLineNo">031</span> * @see org.apache.juneau.svl<a name="line.31"></a>
-<span class="sourceLineNo">032</span> */<a name="line.32"></a>
-<span class="sourceLineNo">033</span>public class RequestQueryVar extends MultipartResolvingVar {<a name="line.33"></a>
-<span class="sourceLineNo">034</span><a name="line.34"></a>
-<span class="sourceLineNo">035</span>   /**<a name="line.35"></a>
-<span class="sourceLineNo">036</span>    * The name of the session or context object that identifies the {@link RestRequest} object.<a name="line.36"></a>
-<span class="sourceLineNo">037</span>    */<a name="line.37"></a>
-<span class="sourceLineNo">038</span>   public static final String SESSION_req = "req";<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span><a name="line.40"></a>
-<span class="sourceLineNo">041</span>   /** The name of this variable. */<a name="line.41"></a>
-<span class="sourceLineNo">042</span>   public static final String NAME = "RQ";<a name="line.42"></a>
-<span class="sourceLineNo">043</span><a name="line.43"></a>
-<span class="sourceLineNo">044</span>   /**<a name="line.44"></a>
-<span class="sourceLineNo">045</span>    * Constructor.<a name="line.45"></a>
-<span class="sourceLineNo">046</span>    */<a name="line.46"></a>
-<span class="sourceLineNo">047</span>   public RequestQueryVar() {<a name="line.47"></a>
-<span class="sourceLineNo">048</span>      super(NAME);<a name="line.48"></a>
-<span class="sourceLineNo">049</span>   }<a name="line.49"></a>
-<span class="sourceLineNo">050</span>   <a name="line.50"></a>
-<span class="sourceLineNo">051</span>   @Override /* Var */<a name="line.51"></a>
-<span class="sourceLineNo">052</span>   protected boolean allowNested() {<a name="line.52"></a>
-<span class="sourceLineNo">053</span>      return false;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>   }<a name="line.54"></a>
-<span class="sourceLineNo">055</span><a name="line.55"></a>
-<span class="sourceLineNo">056</span>   @Override /* Var */<a name="line.56"></a>
-<span class="sourceLineNo">057</span>   protected boolean allowRecurse() {<a name="line.57"></a>
-<span class="sourceLineNo">058</span>      return false;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>   }<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span>   @Override /* Parameter */<a name="line.61"></a>
-<span class="sourceLineNo">062</span>   public String resolve(VarResolverSession session, String key) {<a name="line.62"></a>
-<span class="sourceLineNo">063</span>      RestRequest req = session.getSessionObject(RestRequest.class, SESSION_req);<a name="line.63"></a>
-<span class="sourceLineNo">064</span>      return req.getQuery(key);<a name="line.64"></a>
-<span class="sourceLineNo">065</span>   }<a name="line.65"></a>
-<span class="sourceLineNo">066</span>}<a name="line.66"></a>
+<span class="sourceLineNo">026</span> * &lt;br&gt;When multiple keys are used, returns the first non-null/empty value.<a name="line.26"></a>
+<span class="sourceLineNo">027</span> * <a name="line.27"></a>
+<span class="sourceLineNo">028</span> * &lt;h6 class='figure'&gt;Example:&lt;/h6&gt;<a name="line.28"></a>
+<span class="sourceLineNo">029</span> * &lt;p class='bcode'&gt;<a name="line.29"></a>
+<span class="sourceLineNo">030</span> *    &lt;jc&gt;// URI = "...?foo=X&amp;bar=Y"&lt;/jc&gt;<a name="line.30"></a>
+<span class="sourceLineNo">031</span> *    String foo = restRequest.resolveVars(&lt;js&gt;"$RQ{foo}"&lt;/js&gt;); <a name="line.31"></a>
+<span class="sourceLineNo">032</span> *    String fooOrBar = restRequest.resolveVars(&lt;js&gt;"$RQ{foo,bar}"&lt;/js&gt;); <a name="line.32"></a>
+<span class="sourceLineNo">033</span> * &lt;/p&gt;<a name="line.33"></a>
+<span class="sourceLineNo">034</span> * <a name="line.34"></a>
+<span class="sourceLineNo">035</span> * &lt;h6 class='topic'&gt;Notes:&lt;/h6&gt;<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * &lt;ul class='spaced-list'&gt;<a name="line.36"></a>
+<span class="sourceLineNo">037</span> *    &lt;li&gt;<a name="line.37"></a>
+<span class="sourceLineNo">038</span> *       This variable resolver requires that a {@link RestRequest} object be set as a context object on the resolver <a name="line.38"></a>
+<span class="sourceLineNo">039</span> *       or a session object on the resolver session.<a name="line.39"></a>
+<span class="sourceLineNo">040</span> *    &lt;li&gt;<a name="line.40"></a>
+<span class="sourceLineNo">041</span> *       For security reasons, nested and recursive variables are not resolved.<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * &lt;/ul&gt;<a name="line.42"></a>
+<span class="sourceLineNo">043</span> *<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * @see org.apache.juneau.svl<a name="line.44"></a>
+<span class="sourceLineNo">045</span> */<a name="line.45"></a>
+<span class="sourceLineNo">046</span>public class RequestQueryVar extends MultipartResolvingVar {<a name="line.46"></a>
+<span class="sourceLineNo">047</span><a name="line.47"></a>
+<span class="sourceLineNo">048</span>   /**<a name="line.48"></a>
+<span class="sourceLineNo">049</span>    * The name of the session or context object that identifies the {@link RestRequest} object.<a name="line.49"></a>
+<span class="sourceLineNo">050</span>    */<a name="line.50"></a>
+<span class="sourceLineNo">051</span>   public static final String SESSION_req = "req";<a name="line.51"></a>
+<span class="sourceLineNo">052</span><a name="line.52"></a>
+<span class="sourceLineNo">053</span><a name="line.53"></a>
+<span class="sourceLineNo">054</span>   /** The name of this variable. */<a name="line.54"></a>
+<span class="sourceLineNo">055</span>   public static final String NAME = "RQ";<a name="line.55"></a>
+<span class="sourceLineNo">056</span><a name="line.56"></a>
+<span class="sourceLineNo">057</span>   /**<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    * Constructor.<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    */<a name="line.59"></a>
+<span class="sourceLineNo">060</span>   public RequestQueryVar() {<a name="line.60"></a>
+<span class="sourceLineNo">061</span>      super(NAME);<a name="line.61"></a>
+<span class="sourceLineNo">062</span>   }<a name="line.62"></a>
+<span class="sourceLineNo">063</span>   <a name="line.63"></a>
+<span class="sourceLineNo">064</span>   @Override /* Var */<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   protected boolean allowNested() {<a name="line.65"></a>
+<span class="sourceLineNo">066</span>      return false;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>   }<a name="line.67"></a>
+<span class="sourceLineNo">068</span><a name="line.68"></a>
+<span class="sourceLineNo">069</span>   @Override /* Var */<a name="line.69"></a>
+<span class="sourceLineNo">070</span>   protected boolean allowRecurse() {<a name="line.70"></a>
+<span class="sourceLineNo">071</span>      return false;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>   }<a name="line.72"></a>
+<span class="sourceLineNo">073</span><a name="line.73"></a>
+<span class="sourceLineNo">074</span>   @Override /* Parameter */<a name="line.74"></a>
+<span class="sourceLineNo">075</span>   public String resolve(VarResolverSession session, String key) {<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      RestRequest req = session.getSessionObject(RestRequest.class, SESSION_req);<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      return req.getQuery(key);<a name="line.77"></a>
+<span class="sourceLineNo">078</span>   }<a name="line.78"></a>
+<span class="sourceLineNo">079</span>}<a name="line.79"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/juneau-website/blob/64e02320/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestVar.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestVar.html b/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestVar.html
index 7d703d2..0d4a06a 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestVar.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestVar.html
@@ -30,102 +30,115 @@
 <span class="sourceLineNo">022</span> *<a name="line.22"></a>
 <span class="sourceLineNo">023</span> * &lt;p&gt;<a name="line.23"></a>
 <span class="sourceLineNo">024</span> * The format for this var is &lt;js&gt;"$R{key1[,key2...]}"&lt;/js&gt;.<a name="line.24"></a>
-<span class="sourceLineNo">025</span> *<a name="line.25"></a>
-<span class="sourceLineNo">026</span> * &lt;p&gt;<a name="line.26"></a>
-<span class="sourceLineNo">027</span> * The possible values are:<a name="line.27"></a>
-<span class="sourceLineNo">028</span> * &lt;ul&gt;<a name="line.28"></a>
-<span class="sourceLineNo">029</span> *    &lt;li&gt;&lt;js&gt;"contextPath"&lt;/js&gt; - Value returned by {@link RestRequest#getContextPath()}<a name="line.29"></a>
-<span class="sourceLineNo">030</span> *    &lt;li&gt;&lt;js&gt;"method"&lt;/js&gt; - Value returned by {@link RestRequest#getMethod()}<a name="line.30"></a>
-<span class="sourceLineNo">031</span> *    &lt;li&gt;&lt;js&gt;"methodDescription"&lt;/js&gt; - Value returned by {@link RestRequest#getMethodDescription()}<a name="line.31"></a>
-<span class="sourceLineNo">032</span> *    &lt;li&gt;&lt;js&gt;"methodSummary"&lt;/js&gt; - Value returned by {@link RestRequest#getMethodSummary()}<a name="line.32"></a>
-<span class="sourceLineNo">033</span> *    &lt;li&gt;&lt;js&gt;"pathInfo"&lt;/js&gt; - Value returned by {@link RestRequest#getPathInfo()}<a name="line.33"></a>
-<span class="sourceLineNo">034</span> *    &lt;li&gt;&lt;js&gt;"requestParentURI"&lt;/js&gt; - Value returned by {@link UriContext#getRootRelativePathInfoParent()}<a name="line.34"></a>
-<span class="sourceLineNo">035</span> *    &lt;li&gt;&lt;js&gt;"requestURI"&lt;/js&gt; - Value returned by {@link RestRequest#getRequestURI()}<a name="line.35"></a>
-<span class="sourceLineNo">036</span> *    &lt;li&gt;&lt;js&gt;"servletDescription"&lt;/js&gt; - Value returned by {@link RestRequest#getServletDescription()}<a name="line.36"></a>
-<span class="sourceLineNo">037</span> *    &lt;li&gt;&lt;js&gt;"servletParentURI"&lt;/js&gt; - Value returned by {@link UriContext#getRootRelativeServletPathParent()}<a name="line.37"></a>
-<span class="sourceLineNo">038</span> *    &lt;li&gt;&lt;js&gt;"servletPath"&lt;/js&gt; - See {@link RestRequest#getServletPath()}<a name="line.38"></a>
-<span class="sourceLineNo">039</span> *    &lt;li&gt;&lt;js&gt;"servletTitle"&lt;/js&gt; - See {@link RestRequest#getServletTitle()}<a name="line.39"></a>
-<span class="sourceLineNo">040</span> *    &lt;li&gt;&lt;js&gt;"servletURI"&lt;/js&gt; - See {@link UriContext#getRootRelativeServletPath()}<a name="line.40"></a>
-<span class="sourceLineNo">041</span> *    &lt;li&gt;&lt;js&gt;"siteName"&lt;/js&gt; - See {@link RestRequest#getSiteName()}<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * &lt;/ul&gt;<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * <a name="line.43"></a>
-<span class="sourceLineNo">044</span> * &lt;p&gt;<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * This variable resolver requires that a {@link RestRequest} object be set as a context object on the resolver or a<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * session object on the resolver session.<a name="line.46"></a>
-<span class="sourceLineNo">047</span> *<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * @see org.apache.juneau.svl<a name="line.48"></a>
-<span class="sourceLineNo">049</span> */<a name="line.49"></a>
-<span class="sourceLineNo">050</span>public class RequestVar extends MultipartResolvingVar {<a name="line.50"></a>
-<span class="sourceLineNo">051</span><a name="line.51"></a>
-<span class="sourceLineNo">052</span>   /**<a name="line.52"></a>
-<span class="sourceLineNo">053</span>    * The name of the session or context object that identifies the {@link RestRequest} object.<a name="line.53"></a>
-<span class="sourceLineNo">054</span>    */<a name="line.54"></a>
-<span class="sourceLineNo">055</span>   public static final String SESSION_req = "req";<a name="line.55"></a>
-<span class="sourceLineNo">056</span><a name="line.56"></a>
-<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span>   /** The name of this variable. */<a name="line.58"></a>
-<span class="sourceLineNo">059</span>   public static final String NAME = "R";<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span>   /**<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    * Constructor.<a name="line.62"></a>
-<span class="sourceLineNo">063</span>    */<a name="line.63"></a>
-<span class="sourceLineNo">064</span>   public RequestVar() {<a name="line.64"></a>
-<span class="sourceLineNo">065</span>      super(NAME);<a name="line.65"></a>
-<span class="sourceLineNo">066</span>   }<a name="line.66"></a>
-<span class="sourceLineNo">067</span>   <a name="line.67"></a>
-<span class="sourceLineNo">068</span>   @Override /* Var */<a name="line.68"></a>
-<span class="sourceLineNo">069</span>   protected boolean allowNested() {<a name="line.69"></a>
-<span class="sourceLineNo">070</span>      return false;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>   }<a name="line.71"></a>
-<span class="sourceLineNo">072</span><a name="line.72"></a>
-<span class="sourceLineNo">073</span>   @Override /* Var */<a name="line.73"></a>
-<span class="sourceLineNo">074</span>   protected boolean allowRecurse() {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      return false;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>   }<a name="line.76"></a>
-<span class="sourceLineNo">077</span><a name="line.77"></a>
-<span class="sourceLineNo">078</span>   @Override /* Parameter */<a name="line.78"></a>
-<span class="sourceLineNo">079</span>   public String resolve(VarResolverSession session, String key) {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>      RestRequest req = session.getSessionObject(RestRequest.class, SESSION_req);<a name="line.80"></a>
-<span class="sourceLineNo">081</span>      char c = StringUtils.charAt(key, 0);<a name="line.81"></a>
-<span class="sourceLineNo">082</span>      if (c == 'c') {<a name="line.82"></a>
-<span class="sourceLineNo">083</span>         if ("contextPath".equals(key))<a name="line.83"></a>
-<span class="sourceLineNo">084</span>            return req.getContextPath();<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      } else if (c == 'm') {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>         if ("method".equals(key))<a name="line.86"></a>
-<span class="sourceLineNo">087</span>            return req.getMethod();<a name="line.87"></a>
-<span class="sourceLineNo">088</span>         if ("methodDescription".equals(key))<a name="line.88"></a>
-<span class="sourceLineNo">089</span>            return req.getMethodDescription();<a name="line.89"></a>
-<span class="sourceLineNo">090</span>         if ("methodSummary".equals(key))<a name="line.90"></a>
-<span class="sourceLineNo">091</span>            return req.getMethodSummary();<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      } else if (c == 'p') {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>         if ("pathInfo".equals(key))<a name="line.93"></a>
-<span class="sourceLineNo">094</span>            return req.getPathInfo();<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      } else if (c == 'r') {<a name="line.95"></a>
-<span class="sourceLineNo">096</span>         if ("requestParentURI".equals(key))<a name="line.96"></a>
-<span class="sourceLineNo">097</span>            return req.getUriContext().getRootRelativePathInfoParent();<a name="line.97"></a>
-<span class="sourceLineNo">098</span>         if ("requestURI".equals(key))<a name="line.98"></a>
-<span class="sourceLineNo">099</span>            return req.getRequestURI();<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      } else if (c == 's') {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>         if ("servletClass".equals(key))<a name="line.101"></a>
-<span class="sourceLineNo">102</span>            return req.getContext().getResource().getClass().getName();<a name="line.102"></a>
-<span class="sourceLineNo">103</span>         if ("servletClassSimple".equals(key))<a name="line.103"></a>
-<span class="sourceLineNo">104</span>            return req.getContext().getResource().getClass().getSimpleName();<a name="line.104"></a>
-<span class="sourceLineNo">105</span>         if ("servletDescription".equals(key))<a name="line.105"></a>
-<span class="sourceLineNo">106</span>            return req.getServletDescription();<a name="line.106"></a>
-<span class="sourceLineNo">107</span>         if ("servletParentURI".equals(key))<a name="line.107"></a>
-<span class="sourceLineNo">108</span>            return req.getUriContext().getRootRelativeServletPathParent();<a name="line.108"></a>
-<span class="sourceLineNo">109</span>         if ("servletPath".equals(key))<a name="line.109"></a>
-<span class="sourceLineNo">110</span>            return req.getServletPath();<a name="line.110"></a>
-<span class="sourceLineNo">111</span>         if ("servletTitle".equals(key))<a name="line.111"></a>
-<span class="sourceLineNo">112</span>            return req.getServletTitle();<a name="line.112"></a>
-<span class="sourceLineNo">113</span>         if ("servletURI".equals(key))<a name="line.113"></a>
-<span class="sourceLineNo">114</span>            return req.getUriContext().getRootRelativeServletPath();<a name="line.114"></a>
-<span class="sourceLineNo">115</span>         if ("siteName".equals(key))<a name="line.115"></a>
-<span class="sourceLineNo">116</span>            return req.getSiteName();<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      }<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      return req.getProperties().getString(key);<a name="line.118"></a>
-<span class="sourceLineNo">119</span>   }<a name="line.119"></a>
-<span class="sourceLineNo">120</span>}<a name="line.120"></a>
+<span class="sourceLineNo">025</span> * &lt;br&gt;When multiple keys are used, returns the first non-null/empty value.<a name="line.25"></a>
+<span class="sourceLineNo">026</span> *<a name="line.26"></a>
+<span class="sourceLineNo">027</span> * &lt;p&gt;<a name="line.27"></a>
+<span class="sourceLineNo">028</span> * The possible values are:<a name="line.28"></a>
+<span class="sourceLineNo">029</span> * &lt;ul&gt;<a name="line.29"></a>
+<span class="sourceLineNo">030</span> *    &lt;li&gt;&lt;js&gt;"contextPath"&lt;/js&gt; - Value returned by {@link RestRequest#getContextPath()}<a name="line.30"></a>
+<span class="sourceLineNo">031</span> *    &lt;li&gt;&lt;js&gt;"method"&lt;/js&gt; - Value returned by {@link RestRequest#getMethod()}<a name="line.31"></a>
+<span class="sourceLineNo">032</span> *    &lt;li&gt;&lt;js&gt;"methodDescription"&lt;/js&gt; - Value returned by {@link RestRequest#getMethodDescription()}<a name="line.32"></a>
+<span class="sourceLineNo">033</span> *    &lt;li&gt;&lt;js&gt;"methodSummary"&lt;/js&gt; - Value returned by {@link RestRequest#getMethodSummary()}<a name="line.33"></a>
+<span class="sourceLineNo">034</span> *    &lt;li&gt;&lt;js&gt;"pathInfo"&lt;/js&gt; - Value returned by {@link RestRequest#getPathInfo()}<a name="line.34"></a>
+<span class="sourceLineNo">035</span> *    &lt;li&gt;&lt;js&gt;"requestParentURI"&lt;/js&gt; - Value returned by {@link UriContext#getRootRelativePathInfoParent()}<a name="line.35"></a>
+<span class="sourceLineNo">036</span> *    &lt;li&gt;&lt;js&gt;"requestURI"&lt;/js&gt; - Value returned by {@link RestRequest#getRequestURI()}<a name="line.36"></a>
+<span class="sourceLineNo">037</span> *    &lt;li&gt;&lt;js&gt;"servletDescription"&lt;/js&gt; - Value returned by {@link RestRequest#getServletDescription()}<a name="line.37"></a>
+<span class="sourceLineNo">038</span> *    &lt;li&gt;&lt;js&gt;"servletParentURI"&lt;/js&gt; - Value returned by {@link UriContext#getRootRelativeServletPathParent()}<a name="line.38"></a>
+<span class="sourceLineNo">039</span> *    &lt;li&gt;&lt;js&gt;"servletPath"&lt;/js&gt; - See {@link RestRequest#getServletPath()}<a name="line.39"></a>
+<span class="sourceLineNo">040</span> *    &lt;li&gt;&lt;js&gt;"servletTitle"&lt;/js&gt; - See {@link RestRequest#getServletTitle()}<a name="line.40"></a>
+<span class="sourceLineNo">041</span> *    &lt;li&gt;&lt;js&gt;"servletURI"&lt;/js&gt; - See {@link UriContext#getRootRelativeServletPath()}<a name="line.41"></a>
+<span class="sourceLineNo">042</span> *    &lt;li&gt;&lt;js&gt;"siteName"&lt;/js&gt; - See {@link RestRequest#getSiteName()}<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * &lt;/ul&gt;<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * <a name="line.44"></a>
+<span class="sourceLineNo">045</span> * &lt;p&gt;<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * &lt;h6 class='figure'&gt;Example:&lt;/h6&gt;<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * &lt;p class='bcode'&gt;<a name="line.47"></a>
+<span class="sourceLineNo">048</span> *    String servletTitle = restRequest.resolveVars(&lt;js&gt;"$R{servletTitle}"&lt;/js&gt;); <a name="line.48"></a>
+<span class="sourceLineNo">049</span> *    String servletTitleOrDescription = restRequest.resolveVars(&lt;js&gt;"$R{servletTitle,servletDescription}"&lt;/js&gt;); <a name="line.49"></a>
+<span class="sourceLineNo">050</span> * &lt;/p&gt;<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * <a name="line.51"></a>
+<span class="sourceLineNo">052</span> * &lt;h6 class='topic'&gt;Notes:&lt;/h6&gt;<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * &lt;ul class='spaced-list'&gt;<a name="line.53"></a>
+<span class="sourceLineNo">054</span> *    &lt;li&gt;<a name="line.54"></a>
+<span class="sourceLineNo">055</span> *       This variable resolver requires that a {@link RestRequest} object be set as a context object on the resolver <a name="line.55"></a>
+<span class="sourceLineNo">056</span> *       or a session object on the resolver session.<a name="line.56"></a>
+<span class="sourceLineNo">057</span> *    &lt;li&gt;<a name="line.57"></a>
+<span class="sourceLineNo">058</span> *       For security reasons, nested and recursive variables are not resolved.<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * &lt;/ul&gt;<a name="line.59"></a>
+<span class="sourceLineNo">060</span> *<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * @see org.apache.juneau.svl<a name="line.61"></a>
+<span class="sourceLineNo">062</span> */<a name="line.62"></a>
+<span class="sourceLineNo">063</span>public class RequestVar extends MultipartResolvingVar {<a name="line.63"></a>
+<span class="sourceLineNo">064</span><a name="line.64"></a>
+<span class="sourceLineNo">065</span>   /**<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    * The name of the session or context object that identifies the {@link RestRequest} object.<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    */<a name="line.67"></a>
+<span class="sourceLineNo">068</span>   public static final String SESSION_req = "req";<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>   /** The name of this variable. */<a name="line.71"></a>
+<span class="sourceLineNo">072</span>   public static final String NAME = "R";<a name="line.72"></a>
+<span class="sourceLineNo">073</span><a name="line.73"></a>
+<span class="sourceLineNo">074</span>   /**<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    * Constructor.<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    */<a name="line.76"></a>
+<span class="sourceLineNo">077</span>   public RequestVar() {<a name="line.77"></a>
+<span class="sourceLineNo">078</span>      super(NAME);<a name="line.78"></a>
+<span class="sourceLineNo">079</span>   }<a name="line.79"></a>
+<span class="sourceLineNo">080</span>   <a name="line.80"></a>
+<span class="sourceLineNo">081</span>   @Override /* Var */<a name="line.81"></a>
+<span class="sourceLineNo">082</span>   protected boolean allowNested() {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>      return false;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>   }<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>   @Override /* Var */<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   protected boolean allowRecurse() {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>      return false;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   }<a name="line.89"></a>
+<span class="sourceLineNo">090</span><a name="line.90"></a>
+<span class="sourceLineNo">091</span>   @Override /* Parameter */<a name="line.91"></a>
+<span class="sourceLineNo">092</span>   public String resolve(VarResolverSession session, String key) {<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      RestRequest req = session.getSessionObject(RestRequest.class, SESSION_req);<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      char c = StringUtils.charAt(key, 0);<a name="line.94"></a>
+<span class="sourceLineNo">095</span>      if (c == 'c') {<a name="line.95"></a>
+<span class="sourceLineNo">096</span>         if ("contextPath".equals(key))<a name="line.96"></a>
+<span class="sourceLineNo">097</span>            return req.getContextPath();<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      } else if (c == 'm') {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>         if ("method".equals(key))<a name="line.99"></a>
+<span class="sourceLineNo">100</span>            return req.getMethod();<a name="line.100"></a>
+<span class="sourceLineNo">101</span>         if ("methodDescription".equals(key))<a name="line.101"></a>
+<span class="sourceLineNo">102</span>            return req.getMethodDescription();<a name="line.102"></a>
+<span class="sourceLineNo">103</span>         if ("methodSummary".equals(key))<a name="line.103"></a>
+<span class="sourceLineNo">104</span>            return req.getMethodSummary();<a name="line.104"></a>
+<span class="sourceLineNo">105</span>      } else if (c == 'p') {<a name="line.105"></a>
+<span class="sourceLineNo">106</span>         if ("pathInfo".equals(key))<a name="line.106"></a>
+<span class="sourceLineNo">107</span>            return req.getPathInfo();<a name="line.107"></a>
+<span class="sourceLineNo">108</span>      } else if (c == 'r') {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>         if ("requestParentURI".equals(key))<a name="line.109"></a>
+<span class="sourceLineNo">110</span>            return req.getUriContext().getRootRelativePathInfoParent();<a name="line.110"></a>
+<span class="sourceLineNo">111</span>         if ("requestURI".equals(key))<a name="line.111"></a>
+<span class="sourceLineNo">112</span>            return req.getRequestURI();<a name="line.112"></a>
+<span class="sourceLineNo">113</span>      } else if (c == 's') {<a name="line.113"></a>
+<span class="sourceLineNo">114</span>         if ("servletClass".equals(key))<a name="line.114"></a>
+<span class="sourceLineNo">115</span>            return req.getContext().getResource().getClass().getName();<a name="line.115"></a>
+<span class="sourceLineNo">116</span>         if ("servletClassSimple".equals(key))<a name="line.116"></a>
+<span class="sourceLineNo">117</span>            return req.getContext().getResource().getClass().getSimpleName();<a name="line.117"></a>
+<span class="sourceLineNo">118</span>         if ("servletDescription".equals(key))<a name="line.118"></a>
+<span class="sourceLineNo">119</span>            return req.getServletDescription();<a name="line.119"></a>
+<span class="sourceLineNo">120</span>         if ("servletParentURI".equals(key))<a name="line.120"></a>
+<span class="sourceLineNo">121</span>            return req.getUriContext().getRootRelativeServletPathParent();<a name="line.121"></a>
+<span class="sourceLineNo">122</span>         if ("servletPath".equals(key))<a name="line.122"></a>
+<span class="sourceLineNo">123</span>            return req.getServletPath();<a name="line.123"></a>
+<span class="sourceLineNo">124</span>         if ("servletTitle".equals(key))<a name="line.124"></a>
+<span class="sourceLineNo">125</span>            return req.getServletTitle();<a name="line.125"></a>
+<span class="sourceLineNo">126</span>         if ("servletURI".equals(key))<a name="line.126"></a>
+<span class="sourceLineNo">127</span>            return req.getUriContext().getRootRelativeServletPath();<a name="line.127"></a>
+<span class="sourceLineNo">128</span>         if ("siteName".equals(key))<a name="line.128"></a>
+<span class="sourceLineNo">129</span>            return req.getSiteName();<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      }<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      return req.getProperties().getString(key);<a name="line.131"></a>
+<span class="sourceLineNo">132</span>   }<a name="line.132"></a>
+<span class="sourceLineNo">133</span>}<a name="line.133"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/juneau-website/blob/64e02320/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RestInfoVar.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RestInfoVar.html b/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RestInfoVar.html
index 859ef49..9379e67 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RestInfoVar.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RestInfoVar.html
@@ -36,106 +36,119 @@
 <span class="sourceLineNo">028</span> * The format for this var is &lt;js&gt;"$RI{key1[,key2...]}"&lt;/js&gt;.<a name="line.28"></a>
 <span class="sourceLineNo">029</span> * <a name="line.29"></a>
 <span class="sourceLineNo">030</span> * &lt;p&gt;<a name="line.30"></a>
-<span class="sourceLineNo">031</span> * Used to resolve values returned by {@link RestRequest#getInfoProvider()}.<a name="line.31"></a>
-<span class="sourceLineNo">032</span> *<a name="line.32"></a>
-<span class="sourceLineNo">033</span> * &lt;p&gt;<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * The possible values are:<a name="line.34"></a>
-<span class="sourceLineNo">035</span> * &lt;ul&gt;<a name="line.35"></a>
-<span class="sourceLineNo">036</span> *    &lt;li&gt;&lt;js&gt;"contact"&lt;/js&gt; - Value returned by {@link RestInfoProvider#getContact(RestRequest)}<a name="line.36"></a>
-<span class="sourceLineNo">037</span> *    &lt;li&gt;&lt;js&gt;"description"&lt;/js&gt; - Value returned by {@link RestInfoProvider#getDescription(RestRequest)}<a name="line.37"></a>
-<span class="sourceLineNo">038</span> *    &lt;li&gt;&lt;js&gt;"externalDocs"&lt;/js&gt; - Value returned by {@link RestInfoProvider#getExternalDocs(RestRequest)}<a name="line.38"></a>
-<span class="sourceLineNo">039</span> *    &lt;li&gt;&lt;js&gt;"license"&lt;/js&gt; - Value returned by {@link RestInfoProvider#getLicense(RestRequest)}<a name="line.39"></a>
-<span class="sourceLineNo">040</span> *    &lt;li&gt;&lt;js&gt;"methodDescription"&lt;/js&gt; - Value returned by {@link RestInfoProvider#getMethodDescription(RestRequest)}<a name="line.40"></a>
-<span class="sourceLineNo">041</span> *    &lt;li&gt;&lt;js&gt;"methodSummary"&lt;/js&gt; - Value returned by {@link RestInfoProvider#getMethodSummary(RestRequest)}<a name="line.41"></a>
-<span class="sourceLineNo">042</span> *    &lt;li&gt;&lt;js&gt;"siteName"&lt;/js&gt; - Value returned by {@link RestInfoProvider#getSiteName(RestRequest)}<a name="line.42"></a>
-<span class="sourceLineNo">043</span> *    &lt;li&gt;&lt;js&gt;"tags"&lt;/js&gt; - Value returned by {@link RestInfoProvider#getTags(RestRequest)}<a name="line.43"></a>
-<span class="sourceLineNo">044</span> *    &lt;li&gt;&lt;js&gt;"termsOfService"&lt;/js&gt; - Value returned by {@link RestInfoProvider#getTermsOfService(RestRequest)}<a name="line.44"></a>
-<span class="sourceLineNo">045</span> *    &lt;li&gt;&lt;js&gt;"title"&lt;/js&gt; - See {@link RestInfoProvider#getTitle(RestRequest)}<a name="line.45"></a>
-<span class="sourceLineNo">046</span> *    &lt;li&gt;&lt;js&gt;"version"&lt;/js&gt; - See {@link RestInfoProvider#getVersion(RestRequest)}<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * &lt;/ul&gt;<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * <a name="line.48"></a>
-<span class="sourceLineNo">049</span> * &lt;p&gt;<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * This variable resolver requires that a {@link RestRequest} object be set as a context object on the resolver or a<a name="line.50"></a>
-<span class="sourceLineNo">051</span> * session object on the resolver session.<a name="line.51"></a>
-<span class="sourceLineNo">052</span> *<a name="line.52"></a>
-<span class="sourceLineNo">053</span> * @see org.apache.juneau.svl<a name="line.53"></a>
-<span class="sourceLineNo">054</span> */<a name="line.54"></a>
-<span class="sourceLineNo">055</span>public class RestInfoVar extends MultipartResolvingVar {<a name="line.55"></a>
-<span class="sourceLineNo">056</span><a name="line.56"></a>
-<span class="sourceLineNo">057</span>   /**<a name="line.57"></a>
-<span class="sourceLineNo">058</span>    * The name of the session or context object that identifies the {@link RestRequest} object.<a name="line.58"></a>
-<span class="sourceLineNo">059</span>    */<a name="line.59"></a>
-<span class="sourceLineNo">060</span>   public static final String SESSION_req = "req";<a name="line.60"></a>
-<span class="sourceLineNo">061</span><a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>   /** The name of this variable. */<a name="line.63"></a>
-<span class="sourceLineNo">064</span>   public static final String NAME = "RI";<a name="line.64"></a>
-<span class="sourceLineNo">065</span><a name="line.65"></a>
-<span class="sourceLineNo">066</span>   /**<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    * Constructor.<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    */<a name="line.68"></a>
-<span class="sourceLineNo">069</span>   public RestInfoVar() {<a name="line.69"></a>
-<span class="sourceLineNo">070</span>      super(NAME);<a name="line.70"></a>
-<span class="sourceLineNo">071</span>   }<a name="line.71"></a>
-<span class="sourceLineNo">072</span>   <a name="line.72"></a>
-<span class="sourceLineNo">073</span>   @Override /* Var */<a name="line.73"></a>
-<span class="sourceLineNo">074</span>   protected boolean allowNested() {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      return false;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>   }<a name="line.76"></a>
-<span class="sourceLineNo">077</span><a name="line.77"></a>
-<span class="sourceLineNo">078</span>   @Override /* Var */<a name="line.78"></a>
-<span class="sourceLineNo">079</span>   protected boolean allowRecurse() {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>      return false;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>   }<a name="line.81"></a>
-<span class="sourceLineNo">082</span><a name="line.82"></a>
-<span class="sourceLineNo">083</span>   @Override /* Parameter */<a name="line.83"></a>
-<span class="sourceLineNo">084</span>   public String resolve(VarResolverSession session, String key) {<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      RestRequest req = session.getSessionObject(RestRequest.class, SESSION_req);<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      RestInfoProvider rip = req.getInfoProvider();<a name="line.86"></a>
-<span class="sourceLineNo">087</span>      WriterSerializer s = JsonSerializer.DEFAULT_LAX;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>      char c = StringUtils.charAt(key, 0);<a name="line.88"></a>
-<span class="sourceLineNo">089</span>      if (c == 'c') {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>         if ("contact".equals(key)) {<a name="line.90"></a>
-<span class="sourceLineNo">091</span>            Contact x = rip.getContact(req);<a name="line.91"></a>
-<span class="sourceLineNo">092</span>            return x == null ? null : s.toString(x);<a name="line.92"></a>
-<span class="sourceLineNo">093</span>         }<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      } else if (c == 'd') {<a name="line.94"></a>
-<span class="sourceLineNo">095</span>         if ("description".equals(key)) <a name="line.95"></a>
-<span class="sourceLineNo">096</span>            return rip.getDescription(req);<a name="line.96"></a>
-<span class="sourceLineNo">097</span>      } else if (c == 'e') {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>         if ("externalDocs".equals(key)) {<a name="line.98"></a>
-<span class="sourceLineNo">099</span>            ExternalDocumentation x = rip.getExternalDocs(req);<a name="line.99"></a>
-<span class="sourceLineNo">100</span>            return x == null ? null : s.toString(x);<a name="line.100"></a>
-<span class="sourceLineNo">101</span>         }<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      } else if (c == 'l') {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>         if ("license".equals(key)) {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>            License x = rip.getLicense(req);<a name="line.104"></a>
+<span class="sourceLineNo">031</span> * Used to resolve values returned by {@link RestRequest#getInfoProvider()}..<a name="line.31"></a>
+<span class="sourceLineNo">032</span> * &lt;br&gt;When multiple keys are used, returns the first non-null/empty value.<a name="line.32"></a>
+<span class="sourceLineNo">033</span> *<a name="line.33"></a>
+<span class="sourceLineNo">034</span> * &lt;p&gt;<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * The possible values are:<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * &lt;ul&gt;<a name="line.36"></a>
+<span class="sourceLineNo">037</span> *    &lt;li&gt;&lt;js&gt;"contact"&lt;/js&gt; - Value returned by {@link RestInfoProvider#getContact(RestRequest)}<a name="line.37"></a>
+<span class="sourceLineNo">038</span> *    &lt;li&gt;&lt;js&gt;"description"&lt;/js&gt; - Value returned by {@link RestInfoProvider#getDescription(RestRequest)}<a name="line.38"></a>
+<span class="sourceLineNo">039</span> *    &lt;li&gt;&lt;js&gt;"externalDocs"&lt;/js&gt; - Value returned by {@link RestInfoProvider#getExternalDocs(RestRequest)}<a name="line.39"></a>
+<span class="sourceLineNo">040</span> *    &lt;li&gt;&lt;js&gt;"license"&lt;/js&gt; - Value returned by {@link RestInfoProvider#getLicense(RestRequest)}<a name="line.40"></a>
+<span class="sourceLineNo">041</span> *    &lt;li&gt;&lt;js&gt;"methodDescription"&lt;/js&gt; - Value returned by {@link RestInfoProvider#getMethodDescription(RestRequest)}<a name="line.41"></a>
+<span class="sourceLineNo">042</span> *    &lt;li&gt;&lt;js&gt;"methodSummary"&lt;/js&gt; - Value returned by {@link RestInfoProvider#getMethodSummary(RestRequest)}<a name="line.42"></a>
+<span class="sourceLineNo">043</span> *    &lt;li&gt;&lt;js&gt;"siteName"&lt;/js&gt; - Value returned by {@link RestInfoProvider#getSiteName(RestRequest)}<a name="line.43"></a>
+<span class="sourceLineNo">044</span> *    &lt;li&gt;&lt;js&gt;"tags"&lt;/js&gt; - Value returned by {@link RestInfoProvider#getTags(RestRequest)}<a name="line.44"></a>
+<span class="sourceLineNo">045</span> *    &lt;li&gt;&lt;js&gt;"termsOfService"&lt;/js&gt; - Value returned by {@link RestInfoProvider#getTermsOfService(RestRequest)}<a name="line.45"></a>
+<span class="sourceLineNo">046</span> *    &lt;li&gt;&lt;js&gt;"title"&lt;/js&gt; - See {@link RestInfoProvider#getTitle(RestRequest)}<a name="line.46"></a>
+<span class="sourceLineNo">047</span> *    &lt;li&gt;&lt;js&gt;"version"&lt;/js&gt; - See {@link RestInfoProvider#getVersion(RestRequest)}<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * &lt;/ul&gt;<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * <a name="line.49"></a>
+<span class="sourceLineNo">050</span> * &lt;p&gt;<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * &lt;h6 class='figure'&gt;Example:&lt;/h6&gt;<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * &lt;p class='bcode'&gt;<a name="line.52"></a>
+<span class="sourceLineNo">053</span> *    String title = restRequest.resolveVars(&lt;js&gt;"$RI{title}"&lt;/js&gt;); <a name="line.53"></a>
+<span class="sourceLineNo">054</span> *    String titleOrDescription = restRequest.resolveVars(&lt;js&gt;"$RI{title,description}"&lt;/js&gt;); <a name="line.54"></a>
+<span class="sourceLineNo">055</span> * &lt;/p&gt;<a name="line.55"></a>
+<span class="sourceLineNo">056</span> * <a name="line.56"></a>
+<span class="sourceLineNo">057</span> * &lt;h6 class='topic'&gt;Notes:&lt;/h6&gt;<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * &lt;ul class='spaced-list'&gt;<a name="line.58"></a>
+<span class="sourceLineNo">059</span> *    &lt;li&gt;<a name="line.59"></a>
+<span class="sourceLineNo">060</span> *       This variable resolver requires that a {@link RestRequest} object be set as a context object on the resolver <a name="line.60"></a>
+<span class="sourceLineNo">061</span> *       or a session object on the resolver session.<a name="line.61"></a>
+<span class="sourceLineNo">062</span> *    &lt;li&gt;<a name="line.62"></a>
+<span class="sourceLineNo">063</span> *       For security reasons, nested and recursive variables are not resolved.<a name="line.63"></a>
+<span class="sourceLineNo">064</span> * &lt;/ul&gt;<a name="line.64"></a>
+<span class="sourceLineNo">065</span> *<a name="line.65"></a>
+<span class="sourceLineNo">066</span> * @see org.apache.juneau.svl<a name="line.66"></a>
+<span class="sourceLineNo">067</span> */<a name="line.67"></a>
+<span class="sourceLineNo">068</span>public class RestInfoVar extends MultipartResolvingVar {<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>   /**<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    * The name of the session or context object that identifies the {@link RestRequest} object.<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    */<a name="line.72"></a>
+<span class="sourceLineNo">073</span>   public static final String SESSION_req = "req";<a name="line.73"></a>
+<span class="sourceLineNo">074</span><a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span>   /** The name of this variable. */<a name="line.76"></a>
+<span class="sourceLineNo">077</span>   public static final String NAME = "RI";<a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78"></a>
+<span class="sourceLineNo">079</span>   /**<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    * Constructor.<a name="line.80"></a>
+<span class="sourceLineNo">081</span>    */<a name="line.81"></a>
+<span class="sourceLineNo">082</span>   public RestInfoVar() {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>      super(NAME);<a name="line.83"></a>
+<span class="sourceLineNo">084</span>   }<a name="line.84"></a>
+<span class="sourceLineNo">085</span>   <a name="line.85"></a>
+<span class="sourceLineNo">086</span>   @Override /* Var */<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   protected boolean allowNested() {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>      return false;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   }<a name="line.89"></a>
+<span class="sourceLineNo">090</span><a name="line.90"></a>
+<span class="sourceLineNo">091</span>   @Override /* Var */<a name="line.91"></a>
+<span class="sourceLineNo">092</span>   protected boolean allowRecurse() {<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      return false;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>   }<a name="line.94"></a>
+<span class="sourceLineNo">095</span><a name="line.95"></a>
+<span class="sourceLineNo">096</span>   @Override /* Parameter */<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   public String resolve(VarResolverSession session, String key) {<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      RestRequest req = session.getSessionObject(RestRequest.class, SESSION_req);<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      RestInfoProvider rip = req.getInfoProvider();<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      WriterSerializer s = JsonSerializer.DEFAULT_LAX;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>      char c = StringUtils.charAt(key, 0);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>      if (c == 'c') {<a name="line.102"></a>
+<span class="sourceLineNo">103</span>         if ("contact".equals(key)) {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>            Contact x = rip.getContact(req);<a name="line.104"></a>
 <span class="sourceLineNo">105</span>            return x == null ? null : s.toString(x);<a name="line.105"></a>
 <span class="sourceLineNo">106</span>         }<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      } else if (c == 'm') {<a name="line.107"></a>
-<span class="sourceLineNo">108</span>         if ("methodDescription".equals(key)) <a name="line.108"></a>
-<span class="sourceLineNo">109</span>            return rip.getMethodDescription(req);<a name="line.109"></a>
-<span class="sourceLineNo">110</span>         if ("methodSummary".equals(key)) <a name="line.110"></a>
-<span class="sourceLineNo">111</span>            return rip.getMethodSummary(req);<a name="line.111"></a>
-<span class="sourceLineNo">112</span>      } else if (c == 's') {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>         if ("siteName".equals(key)) <a name="line.113"></a>
-<span class="sourceLineNo">114</span>            return rip.getSiteName(req);<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      } else if (c == 't') {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>         if ("tags".equals(key)) {<a name="line.116"></a>
-<span class="sourceLineNo">117</span>            List&lt;Tag&gt; x = rip.getTags(req);<a name="line.117"></a>
+<span class="sourceLineNo">107</span>      } else if (c == 'd') {<a name="line.107"></a>
+<span class="sourceLineNo">108</span>         if ("description".equals(key)) <a name="line.108"></a>
+<span class="sourceLineNo">109</span>            return rip.getDescription(req);<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      } else if (c == 'e') {<a name="line.110"></a>
+<span class="sourceLineNo">111</span>         if ("externalDocs".equals(key)) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>            ExternalDocumentation x = rip.getExternalDocs(req);<a name="line.112"></a>
+<span class="sourceLineNo">113</span>            return x == null ? null : s.toString(x);<a name="line.113"></a>
+<span class="sourceLineNo">114</span>         }<a name="line.114"></a>
+<span class="sourceLineNo">115</span>      } else if (c == 'l') {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>         if ("license".equals(key)) {<a name="line.116"></a>
+<span class="sourceLineNo">117</span>            License x = rip.getLicense(req);<a name="line.117"></a>
 <span class="sourceLineNo">118</span>            return x == null ? null : s.toString(x);<a name="line.118"></a>
-<span class="sourceLineNo">119</span>         } else if ("termsOfService".equals(key)) {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>            return rip.getTermsOfService(req);<a name="line.120"></a>
-<span class="sourceLineNo">121</span>         } else if ("title".equals(key)) {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>            return rip.getTitle(req);<a name="line.122"></a>
-<span class="sourceLineNo">123</span>         }<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      } else if (c == 'v') {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>         if ("version".equals(key)) <a name="line.125"></a>
-<span class="sourceLineNo">126</span>            return rip.getVersion(req);<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      }<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      return null;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>   }<a name="line.129"></a>
-<span class="sourceLineNo">130</span>}<a name="line.130"></a>
+<span class="sourceLineNo">119</span>         }<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      } else if (c == 'm') {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>         if ("methodDescription".equals(key)) <a name="line.121"></a>
+<span class="sourceLineNo">122</span>            return rip.getMethodDescription(req);<a name="line.122"></a>
+<span class="sourceLineNo">123</span>         if ("methodSummary".equals(key)) <a name="line.123"></a>
+<span class="sourceLineNo">124</span>            return rip.getMethodSummary(req);<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      } else if (c == 's') {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>         if ("siteName".equals(key)) <a name="line.126"></a>
+<span class="sourceLineNo">127</span>            return rip.getSiteName(req);<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      } else if (c == 't') {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>         if ("tags".equals(key)) {<a name="line.129"></a>
+<span class="sourceLineNo">130</span>            List&lt;Tag&gt; x = rip.getTags(req);<a name="line.130"></a>
+<span class="sourceLineNo">131</span>            return x == null ? null : s.toString(x);<a name="line.131"></a>
+<span class="sourceLineNo">132</span>         } else if ("termsOfService".equals(key)) {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>            return rip.getTermsOfService(req);<a name="line.133"></a>
+<span class="sourceLineNo">134</span>         } else if ("title".equals(key)) {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>            return rip.getTitle(req);<a name="line.135"></a>
+<span class="sourceLineNo">136</span>         }<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      } else if (c == 'v') {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>         if ("version".equals(key)) <a name="line.138"></a>
+<span class="sourceLineNo">139</span>            return rip.getVersion(req);<a name="line.139"></a>
+<span class="sourceLineNo">140</span>      }<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      return null;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>   }<a name="line.142"></a>
+<span class="sourceLineNo">143</span>}<a name="line.143"></a>
 
 
 


[2/2] juneau-website git commit: Update javadocs.

Posted by ja...@apache.org.
Update javadocs.

Project: http://git-wip-us.apache.org/repos/asf/juneau-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/juneau-website/commit/64e02320
Tree: http://git-wip-us.apache.org/repos/asf/juneau-website/tree/64e02320
Diff: http://git-wip-us.apache.org/repos/asf/juneau-website/diff/64e02320

Branch: refs/heads/asf-site
Commit: 64e0232024ec16f5fd2892eadebb76b40a6defe0
Parents: a7eb348
Author: JamesBognar <ja...@apache.org>
Authored: Fri Dec 29 11:53:42 2017 -0500
Committer: JamesBognar <ja...@apache.org>
Committed: Fri Dec 29 11:53:42 2017 -0500

----------------------------------------------------------------------
 .../juneau/rest/vars/RequestAttributeVar.html   |  32 ++-
 .../juneau/rest/vars/RequestFormDataVar.html    |  34 ++-
 .../juneau/rest/vars/RequestHeaderVar.html      |  36 ++--
 .../apache/juneau/rest/vars/RequestPathVar.html |  33 ++-
 .../juneau/rest/vars/RequestQueryVar.html       |  33 ++-
 .../org/apache/juneau/rest/vars/RequestVar.html |  31 ++-
 .../apache/juneau/rest/vars/RestInfoVar.html    |  33 ++-
 content/site/apidocs/overview-summary.html      |  20 +-
 .../juneau/rest/vars/RequestAttributeVar.html   |  92 +++++----
 .../juneau/rest/vars/RequestFormDataVar.html    |  92 +++++----
 .../juneau/rest/vars/RequestHeaderVar.html      |  98 +++++----
 .../apache/juneau/rest/vars/RequestPathVar.html |  95 +++++----
 .../juneau/rest/vars/RequestQueryVar.html       |  95 +++++----
 .../org/apache/juneau/rest/vars/RequestVar.html | 205 +++++++++---------
 .../apache/juneau/rest/vars/RestInfoVar.html    | 207 ++++++++++---------
 15 files changed, 652 insertions(+), 484 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/juneau-website/blob/64e02320/content/site/apidocs/org/apache/juneau/rest/vars/RequestAttributeVar.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/rest/vars/RequestAttributeVar.html b/content/site/apidocs/org/apache/juneau/rest/vars/RequestAttributeVar.html
index cf3c6c2..ebc50bf 100644
--- a/content/site/apidocs/org/apache/juneau/rest/vars/RequestAttributeVar.html
+++ b/content/site/apidocs/org/apache/juneau/rest/vars/RequestAttributeVar.html
@@ -123,7 +123,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestAttributeVar.html#line.36">RequestAttributeVar</a>
+<pre>public class <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestAttributeVar.html#line.48">RequestAttributeVar</a>
 extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html" title="class in org.apache.juneau.svl">MultipartResolvingVar</a></pre>
 <div class="block">Request attribute variable resolver.
 
@@ -132,10 +132,22 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
  
  <p>
  Used to resolve values returned by <code>ServletRequest.getAttribute(String)</code>.
+ <br>When multiple keys are used, returns the first non-null/empty value.
+ 
+ <h6 class='figure'>Example:</h6>
+ <p class='bcode'>
+   String foo = restRequest.resolveVars(<js>"$RA{foo}"</js>); 
+   String fooOrBar = restRequest.resolveVars(<js>"$RA{foo,bar}"</js>); 
+ </p>
 
- <p>
- This variable resolver requires that a <a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest"><code>RestRequest</code></a> object be set as a context object on the resolver or a
- session object on the resolver session.</div>
+ <h6 class='topic'>Notes:</h6>
+ <ul class='spaced-list'>
+   <li>
+      This variable resolver requires that a <a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest"><code>RestRequest</code></a> object be set as a context object on the resolver 
+      or a session object on the resolver session.
+   <li>
+      For security reasons, nested and recursive variables are not resolved.
+ </ul></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../org/apache/juneau/svl/package-summary.html"><code>org.apache.juneau.svl</code></a></dd>
@@ -272,7 +284,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockList">
 <li class="blockList">
 <h4>SESSION_req</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestAttributeVar.html#line.41">SESSION_req</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestAttributeVar.html#line.53">SESSION_req</a></pre>
 <div class="block">The name of the session or context object that identifies the <a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest"><code>RestRequest</code></a> object.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -286,7 +298,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>NAME</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestAttributeVar.html#line.45">NAME</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestAttributeVar.html#line.57">NAME</a></pre>
 <div class="block">The name of this variable.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -308,7 +320,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RequestAttributeVar</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestAttributeVar.html#line.50">RequestAttributeVar</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestAttributeVar.html#line.62">RequestAttributeVar</a>()</pre>
 <div class="block">Constructor.</div>
 </li>
 </ul>
@@ -326,7 +338,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockList">
 <li class="blockList">
 <h4>allowNested</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestAttributeVar.html#line.55">allowNested</a>()</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestAttributeVar.html#line.67">allowNested</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/svl/Var.html#allowNested--">Var</a></code></span></div>
 <div class="block">Returns whether nested variables are supported by this variable.
  
@@ -351,7 +363,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockList">
 <li class="blockList">
 <h4>allowRecurse</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestAttributeVar.html#line.60">allowRecurse</a>()</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestAttributeVar.html#line.72">allowRecurse</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/svl/Var.html#allowRecurse--">Var</a></code></span></div>
 <div class="block">Returns whether variables in the resolved contents of this variable should also be resolved.
  
@@ -381,7 +393,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>resolve</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestAttributeVar.html#line.65">resolve</a>(<a href="../../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a>&nbsp;session,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestAttributeVar.html#line.77">resolve</a>(<a href="../../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a>&nbsp;session,
                       <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/svl/Var.html#resolve-org.apache.juneau.svl.VarResolverSession-java.lang.String-">Var</a></code></span></div>
 <div class="block">The interface that needs to be implemented for subclasses of <a href="../../../../../org/apache/juneau/svl/SimpleVar.html" title="class in org.apache.juneau.svl"><code>SimpleVar</code></a>.</div>

http://git-wip-us.apache.org/repos/asf/juneau-website/blob/64e02320/content/site/apidocs/org/apache/juneau/rest/vars/RequestFormDataVar.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/rest/vars/RequestFormDataVar.html b/content/site/apidocs/org/apache/juneau/rest/vars/RequestFormDataVar.html
index 86dae97..72780e8 100644
--- a/content/site/apidocs/org/apache/juneau/rest/vars/RequestFormDataVar.html
+++ b/content/site/apidocs/org/apache/juneau/rest/vars/RequestFormDataVar.html
@@ -123,7 +123,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestFormDataVar.html#line.33">RequestFormDataVar</a>
+<pre>public class <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestFormDataVar.html#line.45">RequestFormDataVar</a>
 extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html" title="class in org.apache.juneau.svl">MultipartResolvingVar</a></pre>
 <div class="block">Request form data variable resolver.
 
@@ -132,10 +132,22 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 
  <p>
  Used to resolve values returned by <a href="../../../../../org/apache/juneau/rest/RestRequest.html#getFormData-java.lang.String-"><code>RestRequest.getFormData(String)</code></a>.
-
- <p>
- This variable resolver requires that a <a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest"><code>RestRequest</code></a> object be set as a context object on the resolver or a
- session object on the resolver session.</div>
+ <br>When multiple keys are used, returns the first non-null/empty value.
+ 
+ <h6 class='figure'>Example:</h6>
+ <p class='bcode'>
+   String foo = restRequest.resolveVars(<js>"$RF{foo}"</js>); 
+   String fooOrBar = restRequest.resolveVars(<js>"$RF{foo,bar}"</js>); 
+ </p>
+ 
+ <h6 class='topic'>Notes:</h6>
+ <ul class='spaced-list'>
+   <li>
+      This variable resolver requires that a <a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest"><code>RestRequest</code></a> object be set as a context object on the resolver 
+      or a session object on the resolver session.
+   <li>
+      For security reasons, nested and recursive variables are not resolved.
+ </ul></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../org/apache/juneau/svl/package-summary.html"><code>org.apache.juneau.svl</code></a></dd>
@@ -272,7 +284,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockList">
 <li class="blockList">
 <h4>SESSION_req</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestFormDataVar.html#line.38">SESSION_req</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestFormDataVar.html#line.50">SESSION_req</a></pre>
 <div class="block">The name of the session or context object that identifies the <a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest"><code>RestRequest</code></a> object.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -286,7 +298,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>NAME</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestFormDataVar.html#line.42">NAME</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestFormDataVar.html#line.54">NAME</a></pre>
 <div class="block">The name of this variable.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -308,7 +320,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RequestFormDataVar</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestFormDataVar.html#line.47">RequestFormDataVar</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestFormDataVar.html#line.59">RequestFormDataVar</a>()</pre>
 <div class="block">Constructor.</div>
 </li>
 </ul>
@@ -326,7 +338,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockList">
 <li class="blockList">
 <h4>allowNested</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestFormDataVar.html#line.52">allowNested</a>()</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestFormDataVar.html#line.64">allowNested</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/svl/Var.html#allowNested--">Var</a></code></span></div>
 <div class="block">Returns whether nested variables are supported by this variable.
  
@@ -351,7 +363,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockList">
 <li class="blockList">
 <h4>allowRecurse</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestFormDataVar.html#line.57">allowRecurse</a>()</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestFormDataVar.html#line.69">allowRecurse</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/svl/Var.html#allowRecurse--">Var</a></code></span></div>
 <div class="block">Returns whether variables in the resolved contents of this variable should also be resolved.
  
@@ -381,7 +393,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>resolve</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestFormDataVar.html#line.62">resolve</a>(<a href="../../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a>&nbsp;session,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestFormDataVar.html#line.74">resolve</a>(<a href="../../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a>&nbsp;session,
                       <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/svl/Var.html#resolve-org.apache.juneau.svl.VarResolverSession-java.lang.String-">Var</a></code></span></div>
 <div class="block">The interface that needs to be implemented for subclasses of <a href="../../../../../org/apache/juneau/svl/SimpleVar.html" title="class in org.apache.juneau.svl"><code>SimpleVar</code></a>.</div>

http://git-wip-us.apache.org/repos/asf/juneau-website/blob/64e02320/content/site/apidocs/org/apache/juneau/rest/vars/RequestHeaderVar.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/rest/vars/RequestHeaderVar.html b/content/site/apidocs/org/apache/juneau/rest/vars/RequestHeaderVar.html
index 2e0c9a9..197cdbf 100644
--- a/content/site/apidocs/org/apache/juneau/rest/vars/RequestHeaderVar.html
+++ b/content/site/apidocs/org/apache/juneau/rest/vars/RequestHeaderVar.html
@@ -123,7 +123,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestHeaderVar.html#line.37">RequestHeaderVar</a>
+<pre>public class <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestHeaderVar.html#line.45">RequestHeaderVar</a>
 extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html" title="class in org.apache.juneau.svl">MultipartResolvingVar</a></pre>
 <div class="block">Request header variable resolver.
 
@@ -132,14 +132,22 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 
  <p>
  Used to resolve values returned by <a href="../../../../../org/apache/juneau/rest/RestRequest.html#getHeader-java.lang.String-"><code>RestRequest.getHeader(String)</code></a>.
+ <br>When multiple keys are used, returns the first non-null/empty value.
  
- <p>
- This variable resolver requires that a <a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest"><code>RestRequest</code></a> object be set as a context object on the resolver or a
- session object on the resolver session.
-
- <p>
- Since this is a <a href="../../../../../org/apache/juneau/svl/SimpleVar.html" title="class in org.apache.juneau.svl"><code>SimpleVar</code></a>, any variables contained in the result will be recursively resolved.
- Likewise, if the arguments contain any variables, those will be resolved before they are passed to this var.</div>
+ <h6 class='figure'>Example:</h6>
+ <p class='bcode'>
+   String foo = restRequest.resolveVars(<js>"$RH{Foo}"</js>); 
+   String fooOrBar = restRequest.resolveVars(<js>"$RH{Foo,Bar}"</js>); 
+ </p>
+ 
+ <h6 class='topic'>Notes:</h6>
+ <ul class='spaced-list'>
+   <li>
+      This variable resolver requires that a <a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest"><code>RestRequest</code></a> object be set as a context object on the resolver 
+      or a session object on the resolver session.
+   <li>
+      For security reasons, nested and recursive variables are not resolved.
+ </ul></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../org/apache/juneau/svl/package-summary.html"><code>org.apache.juneau.svl</code></a></dd>
@@ -276,7 +284,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockList">
 <li class="blockList">
 <h4>SESSION_req</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestHeaderVar.html#line.42">SESSION_req</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestHeaderVar.html#line.50">SESSION_req</a></pre>
 <div class="block">The name of the session or context object that identifies the <a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest"><code>RestRequest</code></a> object.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -290,7 +298,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>NAME</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestHeaderVar.html#line.46">NAME</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestHeaderVar.html#line.54">NAME</a></pre>
 <div class="block">The name of this variable.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -312,7 +320,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RequestHeaderVar</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestHeaderVar.html#line.51">RequestHeaderVar</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestHeaderVar.html#line.59">RequestHeaderVar</a>()</pre>
 <div class="block">Constructor.</div>
 </li>
 </ul>
@@ -330,7 +338,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockList">
 <li class="blockList">
 <h4>allowNested</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestHeaderVar.html#line.56">allowNested</a>()</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestHeaderVar.html#line.64">allowNested</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/svl/Var.html#allowNested--">Var</a></code></span></div>
 <div class="block">Returns whether nested variables are supported by this variable.
  
@@ -355,7 +363,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockList">
 <li class="blockList">
 <h4>allowRecurse</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestHeaderVar.html#line.61">allowRecurse</a>()</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestHeaderVar.html#line.69">allowRecurse</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/svl/Var.html#allowRecurse--">Var</a></code></span></div>
 <div class="block">Returns whether variables in the resolved contents of this variable should also be resolved.
  
@@ -385,7 +393,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>resolve</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestHeaderVar.html#line.66">resolve</a>(<a href="../../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a>&nbsp;session,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestHeaderVar.html#line.74">resolve</a>(<a href="../../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a>&nbsp;session,
                       <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/svl/Var.html#resolve-org.apache.juneau.svl.VarResolverSession-java.lang.String-">Var</a></code></span></div>
 <div class="block">The interface that needs to be implemented for subclasses of <a href="../../../../../org/apache/juneau/svl/SimpleVar.html" title="class in org.apache.juneau.svl"><code>SimpleVar</code></a>.</div>

http://git-wip-us.apache.org/repos/asf/juneau-website/blob/64e02320/content/site/apidocs/org/apache/juneau/rest/vars/RequestPathVar.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/rest/vars/RequestPathVar.html b/content/site/apidocs/org/apache/juneau/rest/vars/RequestPathVar.html
index 4b9a2d7..edbb8b4 100644
--- a/content/site/apidocs/org/apache/juneau/rest/vars/RequestPathVar.html
+++ b/content/site/apidocs/org/apache/juneau/rest/vars/RequestPathVar.html
@@ -123,7 +123,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestPathVar.html#line.33">RequestPathVar</a>
+<pre>public class <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestPathVar.html#line.46">RequestPathVar</a>
 extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html" title="class in org.apache.juneau.svl">MultipartResolvingVar</a></pre>
 <div class="block">Request path variable resolver.
 
@@ -132,10 +132,23 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 
  <p>
  Used to resolve values returned by <a href="../../../../../org/apache/juneau/rest/RestRequest.html#getPath-java.lang.String-"><code>RestRequest.getPath(String)</code></a>.
+ <br>When multiple keys are used, returns the first non-null/empty value.
  
- <p>
- This variable resolver requires that a <a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest"><code>RestRequest</code></a> object be set as a context object on the resolver or a
- session object on the resolver session.</div>
+ <h6 class='figure'>Example:</h6>
+ <p class='bcode'>
+   <jc>// URI path pattern = "/foo/{foo}/bar/{bar}"</jc>
+   String foo = restRequest.resolveVars(<js>"$RP{foo}"</js>); 
+   String fooOrBar = restRequest.resolveVars(<js>"$RP{foo,bar}"</js>); 
+ </p>
+ 
+ <h6 class='topic'>Notes:</h6>
+ <ul class='spaced-list'>
+   <li>
+      This variable resolver requires that a <a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest"><code>RestRequest</code></a> object be set as a context object on the resolver 
+      or a session object on the resolver session.
+   <li>
+      For security reasons, nested and recursive variables are not resolved.
+ </ul></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../org/apache/juneau/svl/package-summary.html"><code>org.apache.juneau.svl</code></a></dd>
@@ -272,7 +285,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockList">
 <li class="blockList">
 <h4>SESSION_req</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestPathVar.html#line.38">SESSION_req</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestPathVar.html#line.51">SESSION_req</a></pre>
 <div class="block">The name of the session or context object that identifies the <a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest"><code>RestRequest</code></a> object.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -286,7 +299,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>NAME</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestPathVar.html#line.42">NAME</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestPathVar.html#line.55">NAME</a></pre>
 <div class="block">The name of this variable.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -308,7 +321,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RequestPathVar</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestPathVar.html#line.47">RequestPathVar</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestPathVar.html#line.60">RequestPathVar</a>()</pre>
 <div class="block">Constructor.</div>
 </li>
 </ul>
@@ -326,7 +339,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockList">
 <li class="blockList">
 <h4>allowNested</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestPathVar.html#line.52">allowNested</a>()</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestPathVar.html#line.65">allowNested</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/svl/Var.html#allowNested--">Var</a></code></span></div>
 <div class="block">Returns whether nested variables are supported by this variable.
  
@@ -351,7 +364,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockList">
 <li class="blockList">
 <h4>allowRecurse</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestPathVar.html#line.57">allowRecurse</a>()</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestPathVar.html#line.70">allowRecurse</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/svl/Var.html#allowRecurse--">Var</a></code></span></div>
 <div class="block">Returns whether variables in the resolved contents of this variable should also be resolved.
  
@@ -381,7 +394,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>resolve</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestPathVar.html#line.62">resolve</a>(<a href="../../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a>&nbsp;session,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestPathVar.html#line.75">resolve</a>(<a href="../../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a>&nbsp;session,
                       <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/svl/Var.html#resolve-org.apache.juneau.svl.VarResolverSession-java.lang.String-">Var</a></code></span></div>
 <div class="block">The interface that needs to be implemented for subclasses of <a href="../../../../../org/apache/juneau/svl/SimpleVar.html" title="class in org.apache.juneau.svl"><code>SimpleVar</code></a>.</div>

http://git-wip-us.apache.org/repos/asf/juneau-website/blob/64e02320/content/site/apidocs/org/apache/juneau/rest/vars/RequestQueryVar.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/rest/vars/RequestQueryVar.html b/content/site/apidocs/org/apache/juneau/rest/vars/RequestQueryVar.html
index 5d9b649..892319a 100644
--- a/content/site/apidocs/org/apache/juneau/rest/vars/RequestQueryVar.html
+++ b/content/site/apidocs/org/apache/juneau/rest/vars/RequestQueryVar.html
@@ -123,7 +123,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestQueryVar.html#line.33">RequestQueryVar</a>
+<pre>public class <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestQueryVar.html#line.46">RequestQueryVar</a>
 extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html" title="class in org.apache.juneau.svl">MultipartResolvingVar</a></pre>
 <div class="block">Request query variable resolver.
 
@@ -132,10 +132,23 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 
  <p>
  Used to resolve values returned by <a href="../../../../../org/apache/juneau/rest/RestRequest.html#getQuery-java.lang.String-"><code>RestRequest.getQuery(String)</code></a>.
+ <br>When multiple keys are used, returns the first non-null/empty value.
  
- <p>
- This variable resolver requires that a <a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest"><code>RestRequest</code></a> object be set as a context object on the resolver or a
- session object on the resolver session.</div>
+ <h6 class='figure'>Example:</h6>
+ <p class='bcode'>
+   <jc>// URI = "...?foo=X&bar=Y"</jc>
+   String foo = restRequest.resolveVars(<js>"$RQ{foo}"</js>); 
+   String fooOrBar = restRequest.resolveVars(<js>"$RQ{foo,bar}"</js>); 
+ </p>
+ 
+ <h6 class='topic'>Notes:</h6>
+ <ul class='spaced-list'>
+   <li>
+      This variable resolver requires that a <a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest"><code>RestRequest</code></a> object be set as a context object on the resolver 
+      or a session object on the resolver session.
+   <li>
+      For security reasons, nested and recursive variables are not resolved.
+ </ul></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../org/apache/juneau/svl/package-summary.html"><code>org.apache.juneau.svl</code></a></dd>
@@ -272,7 +285,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockList">
 <li class="blockList">
 <h4>SESSION_req</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestQueryVar.html#line.38">SESSION_req</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestQueryVar.html#line.51">SESSION_req</a></pre>
 <div class="block">The name of the session or context object that identifies the <a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest"><code>RestRequest</code></a> object.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -286,7 +299,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>NAME</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestQueryVar.html#line.42">NAME</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestQueryVar.html#line.55">NAME</a></pre>
 <div class="block">The name of this variable.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -308,7 +321,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RequestQueryVar</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestQueryVar.html#line.47">RequestQueryVar</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestQueryVar.html#line.60">RequestQueryVar</a>()</pre>
 <div class="block">Constructor.</div>
 </li>
 </ul>
@@ -326,7 +339,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockList">
 <li class="blockList">
 <h4>allowNested</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestQueryVar.html#line.52">allowNested</a>()</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestQueryVar.html#line.65">allowNested</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/svl/Var.html#allowNested--">Var</a></code></span></div>
 <div class="block">Returns whether nested variables are supported by this variable.
  
@@ -351,7 +364,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockList">
 <li class="blockList">
 <h4>allowRecurse</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestQueryVar.html#line.57">allowRecurse</a>()</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestQueryVar.html#line.70">allowRecurse</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/svl/Var.html#allowRecurse--">Var</a></code></span></div>
 <div class="block">Returns whether variables in the resolved contents of this variable should also be resolved.
  
@@ -381,7 +394,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>resolve</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestQueryVar.html#line.62">resolve</a>(<a href="../../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a>&nbsp;session,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestQueryVar.html#line.75">resolve</a>(<a href="../../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a>&nbsp;session,
                       <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/svl/Var.html#resolve-org.apache.juneau.svl.VarResolverSession-java.lang.String-">Var</a></code></span></div>
 <div class="block">The interface that needs to be implemented for subclasses of <a href="../../../../../org/apache/juneau/svl/SimpleVar.html" title="class in org.apache.juneau.svl"><code>SimpleVar</code></a>.</div>

http://git-wip-us.apache.org/repos/asf/juneau-website/blob/64e02320/content/site/apidocs/org/apache/juneau/rest/vars/RequestVar.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/rest/vars/RequestVar.html b/content/site/apidocs/org/apache/juneau/rest/vars/RequestVar.html
index bfe5bb0..25fd9ad 100644
--- a/content/site/apidocs/org/apache/juneau/rest/vars/RequestVar.html
+++ b/content/site/apidocs/org/apache/juneau/rest/vars/RequestVar.html
@@ -123,12 +123,13 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestVar.html#line.50">RequestVar</a>
+<pre>public class <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestVar.html#line.63">RequestVar</a>
 extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html" title="class in org.apache.juneau.svl">MultipartResolvingVar</a></pre>
 <div class="block">Request attribute variable resolver.
 
  <p>
  The format for this var is <js>"$R{key1[,key2...]}"</js>.
+ <br>When multiple keys are used, returns the first non-null/empty value.
 
  <p>
  The possible values are:
@@ -149,8 +150,20 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
  </ul>
  
  <p>
- This variable resolver requires that a <a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest"><code>RestRequest</code></a> object be set as a context object on the resolver or a
- session object on the resolver session.</div>
+ <h6 class='figure'>Example:</h6>
+ <p class='bcode'>
+   String servletTitle = restRequest.resolveVars(<js>"$R{servletTitle}"</js>); 
+   String servletTitleOrDescription = restRequest.resolveVars(<js>"$R{servletTitle,servletDescription}"</js>); 
+ </p>
+ 
+ <h6 class='topic'>Notes:</h6>
+ <ul class='spaced-list'>
+   <li>
+      This variable resolver requires that a <a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest"><code>RestRequest</code></a> object be set as a context object on the resolver 
+      or a session object on the resolver session.
+   <li>
+      For security reasons, nested and recursive variables are not resolved.
+ </ul></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../org/apache/juneau/svl/package-summary.html"><code>org.apache.juneau.svl</code></a></dd>
@@ -287,7 +300,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockList">
 <li class="blockList">
 <h4>SESSION_req</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestVar.html#line.55">SESSION_req</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestVar.html#line.68">SESSION_req</a></pre>
 <div class="block">The name of the session or context object that identifies the <a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest"><code>RestRequest</code></a> object.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -301,7 +314,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>NAME</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestVar.html#line.59">NAME</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestVar.html#line.72">NAME</a></pre>
 <div class="block">The name of this variable.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -323,7 +336,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RequestVar</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestVar.html#line.64">RequestVar</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestVar.html#line.77">RequestVar</a>()</pre>
 <div class="block">Constructor.</div>
 </li>
 </ul>
@@ -341,7 +354,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockList">
 <li class="blockList">
 <h4>allowNested</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestVar.html#line.69">allowNested</a>()</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestVar.html#line.82">allowNested</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/svl/Var.html#allowNested--">Var</a></code></span></div>
 <div class="block">Returns whether nested variables are supported by this variable.
  
@@ -366,7 +379,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockList">
 <li class="blockList">
 <h4>allowRecurse</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestVar.html#line.74">allowRecurse</a>()</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestVar.html#line.87">allowRecurse</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/svl/Var.html#allowRecurse--">Var</a></code></span></div>
 <div class="block">Returns whether variables in the resolved contents of this variable should also be resolved.
  
@@ -396,7 +409,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>resolve</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestVar.html#line.79">resolve</a>(<a href="../../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a>&nbsp;session,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestVar.html#line.92">resolve</a>(<a href="../../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a>&nbsp;session,
                       <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/svl/Var.html#resolve-org.apache.juneau.svl.VarResolverSession-java.lang.String-">Var</a></code></span></div>
 <div class="block">The interface that needs to be implemented for subclasses of <a href="../../../../../org/apache/juneau/svl/SimpleVar.html" title="class in org.apache.juneau.svl"><code>SimpleVar</code></a>.</div>

http://git-wip-us.apache.org/repos/asf/juneau-website/blob/64e02320/content/site/apidocs/org/apache/juneau/rest/vars/RestInfoVar.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/org/apache/juneau/rest/vars/RestInfoVar.html b/content/site/apidocs/org/apache/juneau/rest/vars/RestInfoVar.html
index b98254c..e745393 100644
--- a/content/site/apidocs/org/apache/juneau/rest/vars/RestInfoVar.html
+++ b/content/site/apidocs/org/apache/juneau/rest/vars/RestInfoVar.html
@@ -123,7 +123,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/juneau/rest/vars/RestInfoVar.html#line.55">RestInfoVar</a>
+<pre>public class <a href="../../../../../src-html/org/apache/juneau/rest/vars/RestInfoVar.html#line.68">RestInfoVar</a>
 extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html" title="class in org.apache.juneau.svl">MultipartResolvingVar</a></pre>
 <div class="block">Rest info variable resolver.
 
@@ -131,7 +131,8 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
  The format for this var is <js>"$RI{key1[,key2...]}"</js>.
  
  <p>
- Used to resolve values returned by <a href="../../../../../org/apache/juneau/rest/RestRequest.html#getInfoProvider--"><code>RestRequest.getInfoProvider()</code></a>.
+ Used to resolve values returned by <a href="../../../../../org/apache/juneau/rest/RestRequest.html#getInfoProvider--"><code>RestRequest.getInfoProvider()</code></a>..
+ <br>When multiple keys are used, returns the first non-null/empty value.
 
  <p>
  The possible values are:
@@ -150,8 +151,20 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
  </ul>
  
  <p>
- This variable resolver requires that a <a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest"><code>RestRequest</code></a> object be set as a context object on the resolver or a
- session object on the resolver session.</div>
+ <h6 class='figure'>Example:</h6>
+ <p class='bcode'>
+   String title = restRequest.resolveVars(<js>"$RI{title}"</js>); 
+   String titleOrDescription = restRequest.resolveVars(<js>"$RI{title,description}"</js>); 
+ </p>
+ 
+ <h6 class='topic'>Notes:</h6>
+ <ul class='spaced-list'>
+   <li>
+      This variable resolver requires that a <a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest"><code>RestRequest</code></a> object be set as a context object on the resolver 
+      or a session object on the resolver session.
+   <li>
+      For security reasons, nested and recursive variables are not resolved.
+ </ul></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../org/apache/juneau/svl/package-summary.html"><code>org.apache.juneau.svl</code></a></dd>
@@ -288,7 +301,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockList">
 <li class="blockList">
 <h4>SESSION_req</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/vars/RestInfoVar.html#line.60">SESSION_req</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/vars/RestInfoVar.html#line.73">SESSION_req</a></pre>
 <div class="block">The name of the session or context object that identifies the <a href="../../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest"><code>RestRequest</code></a> object.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -302,7 +315,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>NAME</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/vars/RestInfoVar.html#line.64">NAME</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/vars/RestInfoVar.html#line.77">NAME</a></pre>
 <div class="block">The name of this variable.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -324,7 +337,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RestInfoVar</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RestInfoVar.html#line.69">RestInfoVar</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RestInfoVar.html#line.82">RestInfoVar</a>()</pre>
 <div class="block">Constructor.</div>
 </li>
 </ul>
@@ -342,7 +355,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockList">
 <li class="blockList">
 <h4>allowNested</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RestInfoVar.html#line.74">allowNested</a>()</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RestInfoVar.html#line.87">allowNested</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/svl/Var.html#allowNested--">Var</a></code></span></div>
 <div class="block">Returns whether nested variables are supported by this variable.
  
@@ -367,7 +380,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockList">
 <li class="blockList">
 <h4>allowRecurse</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RestInfoVar.html#line.79">allowRecurse</a>()</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RestInfoVar.html#line.92">allowRecurse</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/svl/Var.html#allowRecurse--">Var</a></code></span></div>
 <div class="block">Returns whether variables in the resolved contents of this variable should also be resolved.
  
@@ -397,7 +410,7 @@ extends <a href="../../../../../org/apache/juneau/svl/MultipartResolvingVar.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>resolve</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RestInfoVar.html#line.84">resolve</a>(<a href="../../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a>&nbsp;session,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/vars/RestInfoVar.html#line.97">resolve</a>(<a href="../../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a>&nbsp;session,
                       <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/svl/Var.html#resolve-org.apache.juneau.svl.VarResolverSession-java.lang.String-">Var</a></code></span></div>
 <div class="block">The interface that needs to be implemented for subclasses of <a href="../../../../../org/apache/juneau/svl/SimpleVar.html" title="class in org.apache.juneau.svl"><code>SimpleVar</code></a>.</div>

http://git-wip-us.apache.org/repos/asf/juneau-website/blob/64e02320/content/site/apidocs/overview-summary.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/overview-summary.html b/content/site/apidocs/overview-summary.html
index a1790c3..eb1539e 100644
--- a/content/site/apidocs/overview-summary.html
+++ b/content/site/apidocs/overview-summary.html
@@ -8074,14 +8074,14 @@
             <ul class='doctree'>
                <li class='jp'><a href="org/apache/juneau/httppart/package-summary.html"><code>org.apache.juneau.httppart</code></a>
                <ul>
-                  <li class='je'><a href="org/apache/juneau/httppart/HttpPartType.html" title="enum in org.apache.juneau.httppart"><code>HttpPartType</code></a>
-                  <li class='ji'><a href="org/apache/juneau/httppart/HttpPartSerializer.html" title="interface in org.apache.juneau.httppart"><code>HttpPartSerializer</code></a>
+                  <li class='jc'><a href="org/apache/juneau/httppart/HttpPartType.html" title="enum in org.apache.juneau.httppart"><code>HttpPartType</code></a>
+                  <li class='jic'><a href="org/apache/juneau/httppart/HttpPartSerializer.html" title="interface in org.apache.juneau.httppart"><code>HttpPartSerializer</code></a>
                   <ul>
                      <li class='jc'><a href="org/apache/juneau/httppart/UonPartSerializer.html" title="class in org.apache.juneau.httppart"><code>UonPartSerializer</code></a>
                      <li class='jc'><a href="org/apache/juneau/httppart/SimpleUonPartSerializer.html" title="class in org.apache.juneau.httppart"><code>SimpleUonPartSerializer</code></a>
                      <li class='jc'><a href="org/apache/juneau/httppart/SimplePartSerializer.html" title="class in org.apache.juneau.httppart"><code>SimplePartSerializer</code></a>
                   </ul>
-                  <li class='ji'><a href="org/apache/juneau/httppart/HttpPartParser.html" title="interface in org.apache.juneau.httppart"><code>HttpPartParser</code></a>
+                  <li class='jic'><a href="org/apache/juneau/httppart/HttpPartParser.html" title="interface in org.apache.juneau.httppart"><code>HttpPartParser</code></a>
                   <ul>
                      <li class='jc'><a href="org/apache/juneau/httppart/UonPartParser.html" title="class in org.apache.juneau.httppart"><code>UonPartParser</code></a>
                      <li class='jc'><a href="org/apache/juneau/httppart/SimplePartParser.html" title="class in org.apache.juneau.httppart"><code>SimplePartParser</code></a>
@@ -8099,10 +8099,10 @@
          <li>
             The <js>"$R{...}"</js> variable has been split into the following:
             <ul>
-               <li><js>"$RA{key1[,key2...]}"</js> - <a href="org/apache/juneau/rest/vars/RequestAttributeVar.html" title="class in org.apache.juneau.rest.vars"><code>RequestAttributeVar</code></a>, values returned by <code>HttpServletRequest.getAttribute(String)</code>.
-               <li><js>"$RF{key1[,key2...]}"</js> - <a href="org/apache/juneau/rest/vars/RequestFormDataVar.html" title="class in org.apache.juneau.rest.vars"><code>RequestFormDataVar</code></a>, values returned by <a href="org/apache/juneau/rest/RestRequest.html#getFormData-java.lang.String-"><code>RestRequest.getFormData(String)</code></a>.
-               <li><js>"$RH{key1[,key2...]}"</js> - <a href="org/apache/juneau/rest/vars/RequestHeaderVar.html" title="class in org.apache.juneau.rest.vars"><code>RequestHeaderVar</code></a>, values returned by <a href="org/apache/juneau/rest/RestRequest.html#getHeader-java.lang.String-"><code>RestRequest.getHeader(String)</code></a>.
-               <li><js>"$RI{key1[,key2...]}"</js> - <a href="org/apache/juneau/rest/vars/RestInfoVar.html" title="class in org.apache.juneau.rest.vars"><code>RestInfoVar</code></a>, values returned by <a href="org/apache/juneau/rest/RestRequest.html#getInfoProvider--"><code>RestRequest.getInfoProvider()</code></a>.
+               <li><js>"$RA{key1[,key2...]}"</js> - <a href="org/apache/juneau/rest/vars/RequestAttributeVar.html" title="class in org.apache.juneau.rest.vars"><code>RequestAttributeVar</code></a>, first non-null value returned by <code>HttpServletRequest.getAttribute(String)</code>.
+               <li><js>"$RF{key1[,key2...]}"</js> - <a href="org/apache/juneau/rest/vars/RequestFormDataVar.html" title="class in org.apache.juneau.rest.vars"><code>RequestFormDataVar</code></a>, first non-null value returned by <a href="org/apache/juneau/rest/RestRequest.html#getFormData-java.lang.String-"><code>RestRequest.getFormData(String)</code></a>.
+               <li><js>"$RH{key1[,key2...]}"</js> - <a href="org/apache/juneau/rest/vars/RequestHeaderVar.html" title="class in org.apache.juneau.rest.vars"><code>RequestHeaderVar</code></a>, first non-null value returned by <a href="org/apache/juneau/rest/RestRequest.html#getHeader-java.lang.String-"><code>RestRequest.getHeader(String)</code></a>.
+               <li><js>"$RI{key1[,key2...]}"</js> - <a href="org/apache/juneau/rest/vars/RestInfoVar.html" title="class in org.apache.juneau.rest.vars"><code>RestInfoVar</code></a>, first non-null value returned by <a href="org/apache/juneau/rest/RestRequest.html#getInfoProvider--"><code>RestRequest.getInfoProvider()</code></a>.
                   <br>The possible values are:
                   <ul>
                      <li><js>"contact"</js> - Value returned by <a href="org/apache/juneau/rest/RestInfoProvider.html#getContact-org.apache.juneau.rest.RestRequest-"><code>RestInfoProvider.getContact(RestRequest)</code></a>
@@ -8117,9 +8117,9 @@
                      <li><js>"title"</js> - See <a href="org/apache/juneau/rest/RestInfoProvider.html#getTitle-org.apache.juneau.rest.RestRequest-"><code>RestInfoProvider.getTitle(RestRequest)</code></a>
                      <li><js>"version"</js> - See <a href="org/apache/juneau/rest/RestInfoProvider.html#getVersion-org.apache.juneau.rest.RestRequest-"><code>RestInfoProvider.getVersion(RestRequest)</code></a>
                   </ul>             
-               <li><js>"$RP{key1[,key2...]}"</js> - <a href="org/apache/juneau/rest/vars/RequestPathVar.html" title="class in org.apache.juneau.rest.vars"><code>RequestPathVar</code></a>, values returned by <a href="org/apache/juneau/rest/RestRequest.html#getPath-java.lang.String-"><code>RestRequest.getPath(String)</code></a>.
-               <li><js>"$RQ{key1[,key2...]}"</js> - <a href="org/apache/juneau/rest/vars/RequestQueryVar.html" title="class in org.apache.juneau.rest.vars"><code>RequestQueryVar</code></a>, values returned by <a href="org/apache/juneau/rest/RestRequest.html#getQuery-java.lang.String-"><code>RestRequest.getQuery(String)</code></a>
-               <li><js>"$R{key1[,key2...]}"</js> - <a href="org/apache/juneau/rest/vars/RequestVar.html" title="class in org.apache.juneau.rest.vars"><code>RequestVar</code></a>, other request variables.
+               <li><js>"$RP{key1[,key2...]}"</js> - <a href="org/apache/juneau/rest/vars/RequestPathVar.html" title="class in org.apache.juneau.rest.vars"><code>RequestPathVar</code></a>, first non-null value returned by <a href="org/apache/juneau/rest/RestRequest.html#getPath-java.lang.String-"><code>RestRequest.getPath(String)</code></a>.
+               <li><js>"$RQ{key1[,key2...]}"</js> - <a href="org/apache/juneau/rest/vars/RequestQueryVar.html" title="class in org.apache.juneau.rest.vars"><code>RequestQueryVar</code></a>, first non-null value returned by <a href="org/apache/juneau/rest/RestRequest.html#getQuery-java.lang.String-"><code>RestRequest.getQuery(String)</code></a>
+               <li><js>"$R{key1[,key2...]}"</js> - <a href="org/apache/juneau/rest/vars/RequestVar.html" title="class in org.apache.juneau.rest.vars"><code>RequestVar</code></a>, first non-null other request variable.
                   <br>The possible values are:
                   <ul>
                      <li><js>"contextPath"</js> - Value returned by <a href="org/apache/juneau/rest/RestRequest.html#getContextPath--"><code>RestRequest.getContextPath()</code></a>

http://git-wip-us.apache.org/repos/asf/juneau-website/blob/64e02320/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestAttributeVar.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestAttributeVar.html b/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestAttributeVar.html
index 0ac60db..41cff0d 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestAttributeVar.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestAttributeVar.html
@@ -34,47 +34,59 @@
 <span class="sourceLineNo">026</span> * <a name="line.26"></a>
 <span class="sourceLineNo">027</span> * &lt;p&gt;<a name="line.27"></a>
 <span class="sourceLineNo">028</span> * Used to resolve values returned by {@link HttpServletRequest#getAttribute(String)}.<a name="line.28"></a>
-<span class="sourceLineNo">029</span> *<a name="line.29"></a>
-<span class="sourceLineNo">030</span> * &lt;p&gt;<a name="line.30"></a>
-<span class="sourceLineNo">031</span> * This variable resolver requires that a {@link RestRequest} object be set as a context object on the resolver or a<a name="line.31"></a>
-<span class="sourceLineNo">032</span> * session object on the resolver session.<a name="line.32"></a>
-<span class="sourceLineNo">033</span> *<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * @see org.apache.juneau.svl<a name="line.34"></a>
-<span class="sourceLineNo">035</span> */<a name="line.35"></a>
-<span class="sourceLineNo">036</span>public class RequestAttributeVar extends MultipartResolvingVar {<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>   /**<a name="line.38"></a>
-<span class="sourceLineNo">039</span>    * The name of the session or context object that identifies the {@link RestRequest} object.<a name="line.39"></a>
-<span class="sourceLineNo">040</span>    */<a name="line.40"></a>
-<span class="sourceLineNo">041</span>   public static final String SESSION_req = "req";<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span><a name="line.43"></a>
-<span class="sourceLineNo">044</span>   /** The name of this variable. */<a name="line.44"></a>
-<span class="sourceLineNo">045</span>   public static final String NAME = "RA";<a name="line.45"></a>
-<span class="sourceLineNo">046</span><a name="line.46"></a>
-<span class="sourceLineNo">047</span>   /**<a name="line.47"></a>
-<span class="sourceLineNo">048</span>    * Constructor.<a name="line.48"></a>
-<span class="sourceLineNo">049</span>    */<a name="line.49"></a>
-<span class="sourceLineNo">050</span>   public RequestAttributeVar() {<a name="line.50"></a>
-<span class="sourceLineNo">051</span>      super(NAME);<a name="line.51"></a>
-<span class="sourceLineNo">052</span>   }<a name="line.52"></a>
-<span class="sourceLineNo">053</span>   <a name="line.53"></a>
-<span class="sourceLineNo">054</span>   @Override /* Var */<a name="line.54"></a>
-<span class="sourceLineNo">055</span>   protected boolean allowNested() {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>      return false;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>   }<a name="line.57"></a>
+<span class="sourceLineNo">029</span> * &lt;br&gt;When multiple keys are used, returns the first non-null/empty value.<a name="line.29"></a>
+<span class="sourceLineNo">030</span> * <a name="line.30"></a>
+<span class="sourceLineNo">031</span> * &lt;h6 class='figure'&gt;Example:&lt;/h6&gt;<a name="line.31"></a>
+<span class="sourceLineNo">032</span> * &lt;p class='bcode'&gt;<a name="line.32"></a>
+<span class="sourceLineNo">033</span> *    String foo = restRequest.resolveVars(&lt;js&gt;"$RA{foo}"&lt;/js&gt;); <a name="line.33"></a>
+<span class="sourceLineNo">034</span> *    String fooOrBar = restRequest.resolveVars(&lt;js&gt;"$RA{foo,bar}"&lt;/js&gt;); <a name="line.34"></a>
+<span class="sourceLineNo">035</span> * &lt;/p&gt;<a name="line.35"></a>
+<span class="sourceLineNo">036</span> *<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * &lt;h6 class='topic'&gt;Notes:&lt;/h6&gt;<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * &lt;ul class='spaced-list'&gt;<a name="line.38"></a>
+<span class="sourceLineNo">039</span> *    &lt;li&gt;<a name="line.39"></a>
+<span class="sourceLineNo">040</span> *       This variable resolver requires that a {@link RestRequest} object be set as a context object on the resolver <a name="line.40"></a>
+<span class="sourceLineNo">041</span> *       or a session object on the resolver session.<a name="line.41"></a>
+<span class="sourceLineNo">042</span> *    &lt;li&gt;<a name="line.42"></a>
+<span class="sourceLineNo">043</span> *       For security reasons, nested and recursive variables are not resolved.<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * &lt;/ul&gt;<a name="line.44"></a>
+<span class="sourceLineNo">045</span> *<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * @see org.apache.juneau.svl<a name="line.46"></a>
+<span class="sourceLineNo">047</span> */<a name="line.47"></a>
+<span class="sourceLineNo">048</span>public class RequestAttributeVar extends MultipartResolvingVar {<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>   /**<a name="line.50"></a>
+<span class="sourceLineNo">051</span>    * The name of the session or context object that identifies the {@link RestRequest} object.<a name="line.51"></a>
+<span class="sourceLineNo">052</span>    */<a name="line.52"></a>
+<span class="sourceLineNo">053</span>   public static final String SESSION_req = "req";<a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>   /** The name of this variable. */<a name="line.56"></a>
+<span class="sourceLineNo">057</span>   public static final String NAME = "RA";<a name="line.57"></a>
 <span class="sourceLineNo">058</span><a name="line.58"></a>
-<span class="sourceLineNo">059</span>   @Override /* Var */<a name="line.59"></a>
-<span class="sourceLineNo">060</span>   protected boolean allowRecurse() {<a name="line.60"></a>
-<span class="sourceLineNo">061</span>      return false;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>   }<a name="line.62"></a>
-<span class="sourceLineNo">063</span><a name="line.63"></a>
-<span class="sourceLineNo">064</span>   @Override /* Parameter */<a name="line.64"></a>
-<span class="sourceLineNo">065</span>   public String resolve(VarResolverSession session, String key) {<a name="line.65"></a>
-<span class="sourceLineNo">066</span>      RestRequest req = session.getSessionObject(RestRequest.class, SESSION_req);<a name="line.66"></a>
-<span class="sourceLineNo">067</span>      return StringUtils.toString(req.getAttribute(key));<a name="line.67"></a>
-<span class="sourceLineNo">068</span>   }<a name="line.68"></a>
-<span class="sourceLineNo">069</span>}<a name="line.69"></a>
+<span class="sourceLineNo">059</span>   /**<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    * Constructor.<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    */<a name="line.61"></a>
+<span class="sourceLineNo">062</span>   public RequestAttributeVar() {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>      super(NAME);<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   }<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   <a name="line.65"></a>
+<span class="sourceLineNo">066</span>   @Override /* Var */<a name="line.66"></a>
+<span class="sourceLineNo">067</span>   protected boolean allowNested() {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>      return false;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>   }<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>   @Override /* Var */<a name="line.71"></a>
+<span class="sourceLineNo">072</span>   protected boolean allowRecurse() {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>      return false;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>   }<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span>   @Override /* Parameter */<a name="line.76"></a>
+<span class="sourceLineNo">077</span>   public String resolve(VarResolverSession session, String key) {<a name="line.77"></a>
+<span class="sourceLineNo">078</span>      RestRequest req = session.getSessionObject(RestRequest.class, SESSION_req);<a name="line.78"></a>
+<span class="sourceLineNo">079</span>      return StringUtils.toString(req.getAttribute(key));<a name="line.79"></a>
+<span class="sourceLineNo">080</span>   }<a name="line.80"></a>
+<span class="sourceLineNo">081</span>}<a name="line.81"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/juneau-website/blob/64e02320/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestFormDataVar.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestFormDataVar.html b/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestFormDataVar.html
index 20b420e..0ff602a 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestFormDataVar.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/rest/vars/RequestFormDataVar.html
@@ -31,47 +31,59 @@
 <span class="sourceLineNo">023</span> *<a name="line.23"></a>
 <span class="sourceLineNo">024</span> * &lt;p&gt;<a name="line.24"></a>
 <span class="sourceLineNo">025</span> * Used to resolve values returned by {@link RestRequest#getFormData(String)}.<a name="line.25"></a>
-<span class="sourceLineNo">026</span> *<a name="line.26"></a>
-<span class="sourceLineNo">027</span> * &lt;p&gt;<a name="line.27"></a>
-<span class="sourceLineNo">028</span> * This variable resolver requires that a {@link RestRequest} object be set as a context object on the resolver or a<a name="line.28"></a>
-<span class="sourceLineNo">029</span> * session object on the resolver session.<a name="line.29"></a>
-<span class="sourceLineNo">030</span> * <a name="line.30"></a>
-<span class="sourceLineNo">031</span> * @see org.apache.juneau.svl<a name="line.31"></a>
-<span class="sourceLineNo">032</span> */<a name="line.32"></a>
-<span class="sourceLineNo">033</span>public class RequestFormDataVar extends MultipartResolvingVar {<a name="line.33"></a>
-<span class="sourceLineNo">034</span><a name="line.34"></a>
-<span class="sourceLineNo">035</span>   /**<a name="line.35"></a>
-<span class="sourceLineNo">036</span>    * The name of the session or context object that identifies the {@link RestRequest} object.<a name="line.36"></a>
-<span class="sourceLineNo">037</span>    */<a name="line.37"></a>
-<span class="sourceLineNo">038</span>   public static final String SESSION_req = "req";<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span><a name="line.40"></a>
-<span class="sourceLineNo">041</span>   /** The name of this variable. */<a name="line.41"></a>
-<span class="sourceLineNo">042</span>   public static final String NAME = "RF";<a name="line.42"></a>
-<span class="sourceLineNo">043</span><a name="line.43"></a>
-<span class="sourceLineNo">044</span>   /**<a name="line.44"></a>
-<span class="sourceLineNo">045</span>    * Constructor.<a name="line.45"></a>
-<span class="sourceLineNo">046</span>    */<a name="line.46"></a>
-<span class="sourceLineNo">047</span>   public RequestFormDataVar() {<a name="line.47"></a>
-<span class="sourceLineNo">048</span>      super(NAME);<a name="line.48"></a>
-<span class="sourceLineNo">049</span>   }<a name="line.49"></a>
-<span class="sourceLineNo">050</span>   <a name="line.50"></a>
-<span class="sourceLineNo">051</span>   @Override /* Var */<a name="line.51"></a>
-<span class="sourceLineNo">052</span>   protected boolean allowNested() {<a name="line.52"></a>
-<span class="sourceLineNo">053</span>      return false;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>   }<a name="line.54"></a>
+<span class="sourceLineNo">026</span> * &lt;br&gt;When multiple keys are used, returns the first non-null/empty value.<a name="line.26"></a>
+<span class="sourceLineNo">027</span> * <a name="line.27"></a>
+<span class="sourceLineNo">028</span> * &lt;h6 class='figure'&gt;Example:&lt;/h6&gt;<a name="line.28"></a>
+<span class="sourceLineNo">029</span> * &lt;p class='bcode'&gt;<a name="line.29"></a>
+<span class="sourceLineNo">030</span> *    String foo = restRequest.resolveVars(&lt;js&gt;"$RF{foo}"&lt;/js&gt;); <a name="line.30"></a>
+<span class="sourceLineNo">031</span> *    String fooOrBar = restRequest.resolveVars(&lt;js&gt;"$RF{foo,bar}"&lt;/js&gt;); <a name="line.31"></a>
+<span class="sourceLineNo">032</span> * &lt;/p&gt;<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * <a name="line.33"></a>
+<span class="sourceLineNo">034</span> * &lt;h6 class='topic'&gt;Notes:&lt;/h6&gt;<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * &lt;ul class='spaced-list'&gt;<a name="line.35"></a>
+<span class="sourceLineNo">036</span> *    &lt;li&gt;<a name="line.36"></a>
+<span class="sourceLineNo">037</span> *       This variable resolver requires that a {@link RestRequest} object be set as a context object on the resolver <a name="line.37"></a>
+<span class="sourceLineNo">038</span> *       or a session object on the resolver session.<a name="line.38"></a>
+<span class="sourceLineNo">039</span> *    &lt;li&gt;<a name="line.39"></a>
+<span class="sourceLineNo">040</span> *       For security reasons, nested and recursive variables are not resolved.<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * &lt;/ul&gt;<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * <a name="line.42"></a>
+<span class="sourceLineNo">043</span> * @see org.apache.juneau.svl<a name="line.43"></a>
+<span class="sourceLineNo">044</span> */<a name="line.44"></a>
+<span class="sourceLineNo">045</span>public class RequestFormDataVar extends MultipartResolvingVar {<a name="line.45"></a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span>   /**<a name="line.47"></a>
+<span class="sourceLineNo">048</span>    * The name of the session or context object that identifies the {@link RestRequest} object.<a name="line.48"></a>
+<span class="sourceLineNo">049</span>    */<a name="line.49"></a>
+<span class="sourceLineNo">050</span>   public static final String SESSION_req = "req";<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span><a name="line.52"></a>
+<span class="sourceLineNo">053</span>   /** The name of this variable. */<a name="line.53"></a>
+<span class="sourceLineNo">054</span>   public static final String NAME = "RF";<a name="line.54"></a>
 <span class="sourceLineNo">055</span><a name="line.55"></a>
-<span class="sourceLineNo">056</span>   @Override /* Var */<a name="line.56"></a>
-<span class="sourceLineNo">057</span>   protected boolean allowRecurse() {<a name="line.57"></a>
-<span class="sourceLineNo">058</span>      return false;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>   }<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span>   @Override /* Parameter */<a name="line.61"></a>
-<span class="sourceLineNo">062</span>   public String resolve(VarResolverSession session, String key) {<a name="line.62"></a>
-<span class="sourceLineNo">063</span>      RestRequest req = session.getSessionObject(RestRequest.class, SESSION_req);<a name="line.63"></a>
-<span class="sourceLineNo">064</span>      return req.getFormData(key);<a name="line.64"></a>
-<span class="sourceLineNo">065</span>   }<a name="line.65"></a>
-<span class="sourceLineNo">066</span>}<a name="line.66"></a>
+<span class="sourceLineNo">056</span>   /**<a name="line.56"></a>
+<span class="sourceLineNo">057</span>    * Constructor.<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    */<a name="line.58"></a>
+<span class="sourceLineNo">059</span>   public RequestFormDataVar() {<a name="line.59"></a>
+<span class="sourceLineNo">060</span>      super(NAME);<a name="line.60"></a>
+<span class="sourceLineNo">061</span>   }<a name="line.61"></a>
+<span class="sourceLineNo">062</span>   <a name="line.62"></a>
+<span class="sourceLineNo">063</span>   @Override /* Var */<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   protected boolean allowNested() {<a name="line.64"></a>
+<span class="sourceLineNo">065</span>      return false;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>   }<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span>   @Override /* Var */<a name="line.68"></a>
+<span class="sourceLineNo">069</span>   protected boolean allowRecurse() {<a name="line.69"></a>
+<span class="sourceLineNo">070</span>      return false;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>   }<a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>   @Override /* Parameter */<a name="line.73"></a>
+<span class="sourceLineNo">074</span>   public String resolve(VarResolverSession session, String key) {<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      RestRequest req = session.getSessionObject(RestRequest.class, SESSION_req);<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      return req.getFormData(key);<a name="line.76"></a>
+<span class="sourceLineNo">077</span>   }<a name="line.77"></a>
+<span class="sourceLineNo">078</span>}<a name="line.78"></a>