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> * <p><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> * <p><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> * <p><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> * <br>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> * <h6 class='figure'>Example:</h6><a name="line.28"></a>
+<span class="sourceLineNo">029</span> * <p class='bcode'><a name="line.29"></a>
+<span class="sourceLineNo">030</span> * String foo = restRequest.resolveVars(<js>"$RH{Foo}"</js>); <a name="line.30"></a>
+<span class="sourceLineNo">031</span> * String fooOrBar = restRequest.resolveVars(<js>"$RH{Foo,Bar}"</js>); <a name="line.31"></a>
+<span class="sourceLineNo">032</span> * </p><a name="line.32"></a>
+<span class="sourceLineNo">033</span> * <a name="line.33"></a>
+<span class="sourceLineNo">034</span> * <h6 class='topic'>Notes:</h6><a name="line.34"></a>
+<span class="sourceLineNo">035</span> * <ul class='spaced-list'><a name="line.35"></a>
+<span class="sourceLineNo">036</span> * <li><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> * <li><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> * </ul><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> * <p><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> * <p><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> * <br>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> * <h6 class='figure'>Example:</h6><a name="line.28"></a>
+<span class="sourceLineNo">029</span> * <p class='bcode'><a name="line.29"></a>
+<span class="sourceLineNo">030</span> * <jc>// URI path pattern = "/foo/{foo}/bar/{bar}"</jc><a name="line.30"></a>
+<span class="sourceLineNo">031</span> * String foo = restRequest.resolveVars(<js>"$RP{foo}"</js>); <a name="line.31"></a>
+<span class="sourceLineNo">032</span> * String fooOrBar = restRequest.resolveVars(<js>"$RP{foo,bar}"</js>); <a name="line.32"></a>
+<span class="sourceLineNo">033</span> * </p><a name="line.33"></a>
+<span class="sourceLineNo">034</span> * <a name="line.34"></a>
+<span class="sourceLineNo">035</span> * <h6 class='topic'>Notes:</h6><a name="line.35"></a>
+<span class="sourceLineNo">036</span> * <ul class='spaced-list'><a name="line.36"></a>
+<span class="sourceLineNo">037</span> * <li><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> * <li><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> * </ul><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> * <p><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> * <p><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> * <br>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> * <h6 class='figure'>Example:</h6><a name="line.28"></a>
+<span class="sourceLineNo">029</span> * <p class='bcode'><a name="line.29"></a>
+<span class="sourceLineNo">030</span> * <jc>// URI = "...?foo=X&bar=Y"</jc><a name="line.30"></a>
+<span class="sourceLineNo">031</span> * String foo = restRequest.resolveVars(<js>"$RQ{foo}"</js>); <a name="line.31"></a>
+<span class="sourceLineNo">032</span> * String fooOrBar = restRequest.resolveVars(<js>"$RQ{foo,bar}"</js>); <a name="line.32"></a>
+<span class="sourceLineNo">033</span> * </p><a name="line.33"></a>
+<span class="sourceLineNo">034</span> * <a name="line.34"></a>
+<span class="sourceLineNo">035</span> * <h6 class='topic'>Notes:</h6><a name="line.35"></a>
+<span class="sourceLineNo">036</span> * <ul class='spaced-list'><a name="line.36"></a>
+<span class="sourceLineNo">037</span> * <li><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> * <li><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> * </ul><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> * <p><a name="line.23"></a>
<span class="sourceLineNo">024</span> * The format for this var is <js>"$R{key1[,key2...]}"</js>.<a name="line.24"></a>
-<span class="sourceLineNo">025</span> *<a name="line.25"></a>
-<span class="sourceLineNo">026</span> * <p><a name="line.26"></a>
-<span class="sourceLineNo">027</span> * The possible values are:<a name="line.27"></a>
-<span class="sourceLineNo">028</span> * <ul><a name="line.28"></a>
-<span class="sourceLineNo">029</span> * <li><js>"contextPath"</js> - Value returned by {@link RestRequest#getContextPath()}<a name="line.29"></a>
-<span class="sourceLineNo">030</span> * <li><js>"method"</js> - Value returned by {@link RestRequest#getMethod()}<a name="line.30"></a>
-<span class="sourceLineNo">031</span> * <li><js>"methodDescription"</js> - Value returned by {@link RestRequest#getMethodDescription()}<a name="line.31"></a>
-<span class="sourceLineNo">032</span> * <li><js>"methodSummary"</js> - Value returned by {@link RestRequest#getMethodSummary()}<a name="line.32"></a>
-<span class="sourceLineNo">033</span> * <li><js>"pathInfo"</js> - Value returned by {@link RestRequest#getPathInfo()}<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * <li><js>"requestParentURI"</js> - Value returned by {@link UriContext#getRootRelativePathInfoParent()}<a name="line.34"></a>
-<span class="sourceLineNo">035</span> * <li><js>"requestURI"</js> - Value returned by {@link RestRequest#getRequestURI()}<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * <li><js>"servletDescription"</js> - Value returned by {@link RestRequest#getServletDescription()}<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * <li><js>"servletParentURI"</js> - Value returned by {@link UriContext#getRootRelativeServletPathParent()}<a name="line.37"></a>
-<span class="sourceLineNo">038</span> * <li><js>"servletPath"</js> - See {@link RestRequest#getServletPath()}<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * <li><js>"servletTitle"</js> - See {@link RestRequest#getServletTitle()}<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * <li><js>"servletURI"</js> - See {@link UriContext#getRootRelativeServletPath()}<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * <li><js>"siteName"</js> - See {@link RestRequest#getSiteName()}<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * </ul><a name="line.42"></a>
-<span class="sourceLineNo">043</span> * <a name="line.43"></a>
-<span class="sourceLineNo">044</span> * <p><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> * <br>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> * <p><a name="line.27"></a>
+<span class="sourceLineNo">028</span> * The possible values are:<a name="line.28"></a>
+<span class="sourceLineNo">029</span> * <ul><a name="line.29"></a>
+<span class="sourceLineNo">030</span> * <li><js>"contextPath"</js> - Value returned by {@link RestRequest#getContextPath()}<a name="line.30"></a>
+<span class="sourceLineNo">031</span> * <li><js>"method"</js> - Value returned by {@link RestRequest#getMethod()}<a name="line.31"></a>
+<span class="sourceLineNo">032</span> * <li><js>"methodDescription"</js> - Value returned by {@link RestRequest#getMethodDescription()}<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * <li><js>"methodSummary"</js> - Value returned by {@link RestRequest#getMethodSummary()}<a name="line.33"></a>
+<span class="sourceLineNo">034</span> * <li><js>"pathInfo"</js> - Value returned by {@link RestRequest#getPathInfo()}<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * <li><js>"requestParentURI"</js> - Value returned by {@link UriContext#getRootRelativePathInfoParent()}<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * <li><js>"requestURI"</js> - Value returned by {@link RestRequest#getRequestURI()}<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * <li><js>"servletDescription"</js> - Value returned by {@link RestRequest#getServletDescription()}<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * <li><js>"servletParentURI"</js> - Value returned by {@link UriContext#getRootRelativeServletPathParent()}<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * <li><js>"servletPath"</js> - See {@link RestRequest#getServletPath()}<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * <li><js>"servletTitle"</js> - See {@link RestRequest#getServletTitle()}<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * <li><js>"servletURI"</js> - See {@link UriContext#getRootRelativeServletPath()}<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * <li><js>"siteName"</js> - See {@link RestRequest#getSiteName()}<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * </ul><a name="line.43"></a>
+<span class="sourceLineNo">044</span> * <a name="line.44"></a>
+<span class="sourceLineNo">045</span> * <p><a name="line.45"></a>
+<span class="sourceLineNo">046</span> * <h6 class='figure'>Example:</h6><a name="line.46"></a>
+<span class="sourceLineNo">047</span> * <p class='bcode'><a name="line.47"></a>
+<span class="sourceLineNo">048</span> * String servletTitle = restRequest.resolveVars(<js>"$R{servletTitle}"</js>); <a name="line.48"></a>
+<span class="sourceLineNo">049</span> * String servletTitleOrDescription = restRequest.resolveVars(<js>"$R{servletTitle,servletDescription}"</js>); <a name="line.49"></a>
+<span class="sourceLineNo">050</span> * </p><a name="line.50"></a>
+<span class="sourceLineNo">051</span> * <a name="line.51"></a>
+<span class="sourceLineNo">052</span> * <h6 class='topic'>Notes:</h6><a name="line.52"></a>
+<span class="sourceLineNo">053</span> * <ul class='spaced-list'><a name="line.53"></a>
+<span class="sourceLineNo">054</span> * <li><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> * <li><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> * </ul><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 <js>"$RI{key1[,key2...]}"</js>.<a name="line.28"></a>
<span class="sourceLineNo">029</span> * <a name="line.29"></a>
<span class="sourceLineNo">030</span> * <p><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> * <p><a name="line.33"></a>
-<span class="sourceLineNo">034</span> * The possible values are:<a name="line.34"></a>
-<span class="sourceLineNo">035</span> * <ul><a name="line.35"></a>
-<span class="sourceLineNo">036</span> * <li><js>"contact"</js> - Value returned by {@link RestInfoProvider#getContact(RestRequest)}<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * <li><js>"description"</js> - Value returned by {@link RestInfoProvider#getDescription(RestRequest)}<a name="line.37"></a>
-<span class="sourceLineNo">038</span> * <li><js>"externalDocs"</js> - Value returned by {@link RestInfoProvider#getExternalDocs(RestRequest)}<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * <li><js>"license"</js> - Value returned by {@link RestInfoProvider#getLicense(RestRequest)}<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * <li><js>"methodDescription"</js> - Value returned by {@link RestInfoProvider#getMethodDescription(RestRequest)}<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * <li><js>"methodSummary"</js> - Value returned by {@link RestInfoProvider#getMethodSummary(RestRequest)}<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * <li><js>"siteName"</js> - Value returned by {@link RestInfoProvider#getSiteName(RestRequest)}<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * <li><js>"tags"</js> - Value returned by {@link RestInfoProvider#getTags(RestRequest)}<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * <li><js>"termsOfService"</js> - Value returned by {@link RestInfoProvider#getTermsOfService(RestRequest)}<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * <li><js>"title"</js> - See {@link RestInfoProvider#getTitle(RestRequest)}<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * <li><js>"version"</js> - See {@link RestInfoProvider#getVersion(RestRequest)}<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * </ul><a name="line.47"></a>
-<span class="sourceLineNo">048</span> * <a name="line.48"></a>
-<span class="sourceLineNo">049</span> * <p><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> * <br>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> * <p><a name="line.34"></a>
+<span class="sourceLineNo">035</span> * The possible values are:<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * <ul><a name="line.36"></a>
+<span class="sourceLineNo">037</span> * <li><js>"contact"</js> - Value returned by {@link RestInfoProvider#getContact(RestRequest)}<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * <li><js>"description"</js> - Value returned by {@link RestInfoProvider#getDescription(RestRequest)}<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * <li><js>"externalDocs"</js> - Value returned by {@link RestInfoProvider#getExternalDocs(RestRequest)}<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * <li><js>"license"</js> - Value returned by {@link RestInfoProvider#getLicense(RestRequest)}<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * <li><js>"methodDescription"</js> - Value returned by {@link RestInfoProvider#getMethodDescription(RestRequest)}<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * <li><js>"methodSummary"</js> - Value returned by {@link RestInfoProvider#getMethodSummary(RestRequest)}<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * <li><js>"siteName"</js> - Value returned by {@link RestInfoProvider#getSiteName(RestRequest)}<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * <li><js>"tags"</js> - Value returned by {@link RestInfoProvider#getTags(RestRequest)}<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * <li><js>"termsOfService"</js> - Value returned by {@link RestInfoProvider#getTermsOfService(RestRequest)}<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * <li><js>"title"</js> - See {@link RestInfoProvider#getTitle(RestRequest)}<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * <li><js>"version"</js> - See {@link RestInfoProvider#getVersion(RestRequest)}<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * </ul><a name="line.48"></a>
+<span class="sourceLineNo">049</span> * <a name="line.49"></a>
+<span class="sourceLineNo">050</span> * <p><a name="line.50"></a>
+<span class="sourceLineNo">051</span> * <h6 class='figure'>Example:</h6><a name="line.51"></a>
+<span class="sourceLineNo">052</span> * <p class='bcode'><a name="line.52"></a>
+<span class="sourceLineNo">053</span> * String title = restRequest.resolveVars(<js>"$RI{title}"</js>); <a name="line.53"></a>
+<span class="sourceLineNo">054</span> * String titleOrDescription = restRequest.resolveVars(<js>"$RI{title,description}"</js>); <a name="line.54"></a>
+<span class="sourceLineNo">055</span> * </p><a name="line.55"></a>
+<span class="sourceLineNo">056</span> * <a name="line.56"></a>
+<span class="sourceLineNo">057</span> * <h6 class='topic'>Notes:</h6><a name="line.57"></a>
+<span class="sourceLineNo">058</span> * <ul class='spaced-list'><a name="line.58"></a>
+<span class="sourceLineNo">059</span> * <li><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> * <li><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> * </ul><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<Tag> 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<Tag> 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 <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 <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 <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 <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 <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestAttributeVar.html#line.50">RequestAttributeVar</a>()</pre>
+<pre>public <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 boolean <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestAttributeVar.html#line.55">allowNested</a>()</pre>
+<pre>protected boolean <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: <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 boolean <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestAttributeVar.html#line.60">allowRecurse</a>()</pre>
+<pre>protected boolean <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: <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 <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.65">resolve</a>(<a href="../../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a> session,
+<pre>public <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.77">resolve</a>(<a href="../../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a> 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> key)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <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 <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 <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 <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 <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 <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestFormDataVar.html#line.47">RequestFormDataVar</a>()</pre>
+<pre>public <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 boolean <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestFormDataVar.html#line.52">allowNested</a>()</pre>
+<pre>protected boolean <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: <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 boolean <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestFormDataVar.html#line.57">allowRecurse</a>()</pre>
+<pre>protected boolean <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: <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 <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.62">resolve</a>(<a href="../../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a> session,
+<pre>public <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.74">resolve</a>(<a href="../../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a> 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> key)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <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 <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 <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 <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 <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 <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestHeaderVar.html#line.51">RequestHeaderVar</a>()</pre>
+<pre>public <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 boolean <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestHeaderVar.html#line.56">allowNested</a>()</pre>
+<pre>protected boolean <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: <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 boolean <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestHeaderVar.html#line.61">allowRecurse</a>()</pre>
+<pre>protected boolean <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: <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 <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.66">resolve</a>(<a href="../../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a> session,
+<pre>public <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.74">resolve</a>(<a href="../../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a> 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> key)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <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 <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 <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 <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 <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 <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestPathVar.html#line.47">RequestPathVar</a>()</pre>
+<pre>public <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 boolean <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestPathVar.html#line.52">allowNested</a>()</pre>
+<pre>protected boolean <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: <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 boolean <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestPathVar.html#line.57">allowRecurse</a>()</pre>
+<pre>protected boolean <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: <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 <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.62">resolve</a>(<a href="../../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a> session,
+<pre>public <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.75">resolve</a>(<a href="../../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a> 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> key)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <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 <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 <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 <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 <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 <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestQueryVar.html#line.47">RequestQueryVar</a>()</pre>
+<pre>public <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 boolean <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestQueryVar.html#line.52">allowNested</a>()</pre>
+<pre>protected boolean <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: <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 boolean <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestQueryVar.html#line.57">allowRecurse</a>()</pre>
+<pre>protected boolean <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: <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 <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.62">resolve</a>(<a href="../../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a> session,
+<pre>public <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.75">resolve</a>(<a href="../../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a> 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> key)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <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 <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 <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 <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 <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 <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestVar.html#line.64">RequestVar</a>()</pre>
+<pre>public <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 boolean <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestVar.html#line.69">allowNested</a>()</pre>
+<pre>protected boolean <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: <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 boolean <a href="../../../../../src-html/org/apache/juneau/rest/vars/RequestVar.html#line.74">allowRecurse</a>()</pre>
+<pre>protected boolean <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: <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 <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.79">resolve</a>(<a href="../../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a> session,
+<pre>public <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.92">resolve</a>(<a href="../../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a> 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> key)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <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 <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 <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 <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 <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 <a href="../../../../../src-html/org/apache/juneau/rest/vars/RestInfoVar.html#line.69">RestInfoVar</a>()</pre>
+<pre>public <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 boolean <a href="../../../../../src-html/org/apache/juneau/rest/vars/RestInfoVar.html#line.74">allowNested</a>()</pre>
+<pre>protected boolean <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: <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 boolean <a href="../../../../../src-html/org/apache/juneau/rest/vars/RestInfoVar.html#line.79">allowRecurse</a>()</pre>
+<pre>protected boolean <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: <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 <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.84">resolve</a>(<a href="../../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a> session,
+<pre>public <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.97">resolve</a>(<a href="../../../../../org/apache/juneau/svl/VarResolverSession.html" title="class in org.apache.juneau.svl">VarResolverSession</a> 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> key)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class: <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> * <p><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> * <p><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> * <br>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> * <h6 class='figure'>Example:</h6><a name="line.31"></a>
+<span class="sourceLineNo">032</span> * <p class='bcode'><a name="line.32"></a>
+<span class="sourceLineNo">033</span> * String foo = restRequest.resolveVars(<js>"$RA{foo}"</js>); <a name="line.33"></a>
+<span class="sourceLineNo">034</span> * String fooOrBar = restRequest.resolveVars(<js>"$RA{foo,bar}"</js>); <a name="line.34"></a>
+<span class="sourceLineNo">035</span> * </p><a name="line.35"></a>
+<span class="sourceLineNo">036</span> *<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * <h6 class='topic'>Notes:</h6><a name="line.37"></a>
+<span class="sourceLineNo">038</span> * <ul class='spaced-list'><a name="line.38"></a>
+<span class="sourceLineNo">039</span> * <li><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> * <li><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> * </ul><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> * <p><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> * <p><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> * <br>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> * <h6 class='figure'>Example:</h6><a name="line.28"></a>
+<span class="sourceLineNo">029</span> * <p class='bcode'><a name="line.29"></a>
+<span class="sourceLineNo">030</span> * String foo = restRequest.resolveVars(<js>"$RF{foo}"</js>); <a name="line.30"></a>
+<span class="sourceLineNo">031</span> * String fooOrBar = restRequest.resolveVars(<js>"$RF{foo,bar}"</js>); <a name="line.31"></a>
+<span class="sourceLineNo">032</span> * </p><a name="line.32"></a>
+<span class="sourceLineNo">033</span> * <a name="line.33"></a>
+<span class="sourceLineNo">034</span> * <h6 class='topic'>Notes:</h6><a name="line.34"></a>
+<span class="sourceLineNo">035</span> * <ul class='spaced-list'><a name="line.35"></a>
+<span class="sourceLineNo">036</span> * <li><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> * <li><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> * </ul><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>