{8.0.0-updated, 8.1.0-updated} SVL Variables

Variables are defined through the {@link oaj.svl.Var} API. The API comes with several predefined variables and is easily extensible.

The following is an example of a variable that performs URL-Encoding on strings.

// First create our var. public class UrlEncodeVar extends SimpleVar { // Must have a no-arg constructor! public UrlEncodeVar() { super("UE"); } // The method we must implement @Override public String resolve(VarResolverSession session, String key) { return URLEncoder.encode(key, "UTF-8"); } } // Next create a var resolver that extends the existing DEFAULT resolver // that supports resolving system properties. VarResolver r = VarResolver.DEFAULT .builder() .vars(UrlEncodeVar.class) .build(); // Retrieve a system property and URL-encode it if necessary. String myProperty = r.resolve("$UE{$S{my.property}}");

The following shows the class hierarchy of the {@link oaj.svl.Var} class:

The following is the list of default variables defined in all modules:

ModuleClassPattern
juneau-svl {@link oaj.svl.vars.EnvVariablesVar} $E{key[,default]}
{@link oaj.svl.vars.SystemPropertiesVar} $S{key[,default]}
{@link oaj.svl.vars.ArgsVar} $A{key[,default]}
{@link oaj.svl.vars.ManifestFileVar} $MF{key[,default]}
{@link oaj.svl.vars.IfVar} $IF{arg,then[,else]}
{@link oaj.svl.vars.SwitchVar} $SW{arg,pattern1:then1[,pattern2:then2...]}
{@link oaj.svl.vars.CoalesceVar} $CO{arg1[,arg2...]}
{@link oaj.svl.vars.PatternMatchVar} $PM{arg,pattern}
{@link oaj.svl.vars.PatternReplaceVar} $PR{arg,pattern,replace}
{@link oaj.svl.vars.PatternExtractVar} $PE{arg,pattern,groupdIndex}
{@link oaj.svl.vars.NotEmptyVar} $NE{arg}
{@link oaj.svl.vars.UpperCaseVar} $UC{arg}
{@link oaj.svl.vars.LowerCaseVar} $LC{arg}
{@link oaj.svl.vars.LenVar} $LN{arg[,delimiter]}
{@link oaj.svl.vars.SubstringVar} $ST{arg,start[,end]}
{@link oaj.html.HtmlWidgetVar} $W{name}
juneau-config {@link oaj.config.vars.ConfigVar} $C{key[,default]}
juneau-rest-server {@link oajr.vars.FileVar} $F{path[,default]}}
{@link oajr.vars.ServletInitParamVar} $I{name[,default]}
{@link oajr.vars.LocalizationVar} $L{key[,args...]}
{@link oajr.vars.RequestAttributeVar} $RA{key1[,key2...]}
{@link oajr.vars.RequestFormDataVar} $RF{key1[,key2...]}
{@link oajr.vars.RequestHeaderVar} $RH{key1[,key2...]}
{@link oajr.vars.RequestHeaderVar} $RI{key}
{@link oajr.vars.RequestPathVar} $RP{key1[,key2...]}
{@link oajr.vars.RequestQueryVar} $RQ{key1[,key2...]}
{@link oajr.vars.RequestVar} $R{key1[,key2...]}
{@link oajr.vars.SerializedRequestAttrVar} $SA{contentType,key[,default]}
{@link oajr.vars.SwaggerVar} $SS{key1[,key2...]}
{@link oajr.vars.UrlVar} $U{uri}>
{@link oajr.vars.UrlEncodeVar} $UE{uriPart}
{@link oajr.vars.WidgetVar} (deprecated) $W{name}