<!DOCTYPE html>
<!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.
  -->
<html lang="en">
  <head>
    <title>Apache Velocity Tools Usage Summary</title>

    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <meta property="og:image" content="http://www.apache.org/images/asf_logo.gif" />

    <link rel="stylesheet" type="text/css" href="/css/site.css">

    

    
    
  </head>

  <body>
    <div id="page">
      <div id="header">
        
        <div id="logo2"><img src="/tools/devel/images/velocitytools.png"/></div>
        
        <a href="/">
<svg height="60" width="50%" viewBox="20 20 800 110" preserveAspectRatio="xMinYMin">
  <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="1395.619" x2="-4570.1162" y1="697.55487" x1="-5167.0962" gradientUnits="userSpaceOnUse" id="SVGID_1_">
    <stop id="stop3521" style="stop-color:#F69923" offset="0" />
    <stop id="stop3523" style="stop-color:#F79A23" offset="0.3123" />
    <stop id="stop3525" style="stop-color:#E97826" offset="0.8383" />
  </linearGradient>
  <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="620.50482" x2="-5326.209" y1="620.50482" x1="-9585.3418" gradientUnits="userSpaceOnUse" id="SVGID_2_">
    <stop id="stop3546" style="stop-color:#9E2064" offset="0.3233" />
    <stop id="stop3548" style="stop-color:#C92037" offset="0.6302" />
    <stop id="stop3550" style="stop-color:#CD2335" offset="0.7514" />
    <stop id="stop3552" style="stop-color:#E97826" offset="1" />
  </linearGradient>
  <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="1047.6898" x2="-6533.1782" y1="1047.6898" x1="-9071.207" gradientUnits="userSpaceOnUse" id="SVGID_3_">
    <stop id="stop3557" style="stop-color:#282662" offset="0" />
    <stop id="stop3559" style="stop-color:#662E8D" offset="9.548390e-02" />
    <stop id="stop3561" style="stop-color:#9F2064" 1  offset="0.7882" />
    <stop id="stop3563" style="stop-color:#CD2032" offset="0.9487" />
  </linearGradient>
  <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="580.81702" x2="-5086.9941" y1="580.81702" x1="-9346.126" gradientUnits="userSpaceOnUse" id="SVGID_4_">
    <stop id="stop3568" style="stop-color:#9E2064" offset="0.3233" />
    <stop id="stop3570" style="stop-color:#C92037" offset="0.6302" />
    <stop id="stop3572" style="stop-color:#CD2335" offset="0.7514" />
    <stop id="stop3574" style="stop-color:#E97826" offset="1" />
  </linearGradient>
  <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="638.4408" x2="-6797.2012" y1="638.4408" x1="-9035.5029" gradientUnits="userSpaceOnUse" id="SVGID_5_">
    <stop id="stop3579" style="stop-color:#282662" offset="0" />
    <stop id="stop3581" style="stop-color:#662E8D" offset="9.548390e-02" />
    <stop id="stop3583" style="stop-color:#9F2064" offset="0.7882" />
    <stop id="stop3585" style="stop-color:#CD2032" offset="0.9487" />
  </linearGradient>
  <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="1021.6218" x2="-5086.9941" y1="1021.6218" x1="-9346.126" gradientUnits="userSpaceOnUse" id="SVGID_6_">
    <stop id="stop3590" style="stop-color:#9E2064" offset="0.3233" />
    <stop id="stop3592" style="stop-color:#C92037" offset="0.6302" />
    <stop id="stop3594" style="stop-color:#CD2335" offset="0.7514" />
    <stop id="stop3596" style="stop-color:#E97826" offset="1" />
  </linearGradient>
  <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="999.73297" x2="-5351.2017" y1="999.73297" x1="-9610.334" gradientUnits="userSpaceOnUse" id="SVGID_7_">
    <stop id="stop3601" style="stop-color:#9E2064" offset="0.3233" />
    <stop id="stop3603" style="stop-color:#C92037" offset="0.6302" />
    <stop id="stop3605" style="stop-color:#CD2335" offset="0.7514" />
    <stop id="stop3607" style="stop-color:#E97826" offset="1" />
  </linearGradient>
  <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="1152.7261" x2="-5086.9941" y1="1152.7261" x1="-9346.126" gradientUnits="userSpaceOnUse" id="SVGID_8_">
    <stop id="stop3616" style="stop-color:#9E2064" offset="0.3233" />
    <stop id="stop3618" style="stop-color:#C92037" offset="0.6302" />
    <stop id="stop3620" style="stop-color:#CD2335" offset="0.7514" />
    <stop id="stop3622" style="stop-color:#E97826" offset="1" />
  </linearGradient>
  <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="1137.7247" x2="-5086.9941" y1="1137.7247" x1="-9346.126" gradientUnits="userSpaceOnUse" id="SVGID_9_">
    <stop id="stop3631" style="stop-color:#9E2064" offset="0.3233" />
    <stop id="stop3633" style="stop-color:#C92037" offset="0.6302" />
    <stop id="stop3635" style="stop-color:#CD2335" offset="0.7514" />
    <stop id="stop3637" style="stop-color:#E97826" offset="1" />
  </linearGradient>
  <linearGradient gradientTransform="matrix(0.07810935,0.01915457,0.02093045,-0.07148201,452.38809,497.7395)" y2="1134.7161" x2="-6011.9995" y1="1134.7161" x1="-6953.4072" gradientUnits="userSpaceOnUse" id="SVGID_10_">
    <stop id="stop3646" style="stop-color:#9E2064" offset="0.3233" />
    <stop id="stop3648" style="stop-color:#C92037" offset="0.6302" />
    <stop id="stop3650" style="stop-color:#CD2335" offset="0.7514" />
    <stop id="stop3652" style="stop-color:#E97826" offset="1" />
  </linearGradient>
  <g transform="translate(275,-230)" id="g3735">
    <path d="m 95.030525,353.34688 c -5.868388,1.89866 -18.455097,2.86966 -35.232972,2.68962 l -7.844759,-17.69411 c 11.922072,0.96277 23.155947,1.27149 33.446456,0.7785 0.806681,-0.0278 1.205437,-0.0597 1.205437,-0.0597 -0.39975,0.0215 -0.805689,0.0382 -1.205437,0.0597 -3.380984,0.11837 -13.97859,0.22097 -32.909158,-1.88263 6.824373,-6.72909 18.288583,-16.31958 28.008861,-23.85834 18.433387,9.69185 21.017957,20.51606 21.017957,20.51606 0,0 5.61321,15.54576 -6.486385,19.4509 z" id="path3527" style="fill:url(#SVGID_1_)" />
    <path d="m 3.8322454,303.07135 c 0.059217,-0.0415 0.1120778,-0.0878 0.1712971,-0.12929 l -1.0221478,0.89604 c -0.088131,0.0386 -0.1658908,0.0658 -0.2478563,0.10915 0.3676459,-0.29732 0.7362578,-0.58424 1.098707,-0.8759 z" id="path3529" style="fill:none" />
    <path d="m -27.876072,290.63399 c -0.650899,0.45658 -1.281214,0.94828 -1.904317,1.45519 0.623103,-0.50691 1.259608,-0.99386 1.904317,-1.45519 z" id="path3531" style="fill:none" />
    <path d="m -128.18492,294.56272 c 0.27819,0.088 0.55639,0.17608 0.82938,0.26978 5.73136,1.8314 11.32321,3.58465 16.79937,5.26839 6.14427,1.88764 12.119072,3.68379 17.941982,5.39228 6.136306,1.80423 12.096924,3.5122 17.888098,5.1287 6.074555,1.69886 11.961044,3.29193 17.65531,4.79537 4.634037,1.22062 9.141965,2.38304 13.528979,3.48159 1.458542,0.36649 2.910894,0.72823 4.350865,1.08046 2.85092,0.70149 5.659501,1.38013 8.402938,2.03773 2.537553,0.60576 5.026574,1.18393 7.479394,1.74394 0.816212,0.19205 1.625242,0.36892 2.435266,0.55621 0.129295,0.0317 0.263817,0.0577 0.393113,0.0893 l -0.868431,0.76291 0.823816,1.77257 c -0.199639,-0.047 -0.398312,-0.0837 -0.603148,-0.12504 -3.709945,-0.80082 -7.434286,-1.63202 -11.17299,-2.49357 -2.160061,-0.49944 -4.326285,-1.00361 -6.493528,-1.51823 -6.008289,-1.42577 -12.02773,-2.90842 -18.046963,-4.44886 -6.083384,-1.55106 -12.155172,-3.16085 -18.201961,-4.8094 -5.94027,-1.61506 -11.850346,-3.27456 -17.722022,-4.95287 -5.860317,-1.67925 -11.671838,-3.38866 -17.421218,-5.10831 -6.00377,-1.79907 -11.9226,-3.61019 -17.74509,-5.43429 -1.31344,-0.40964 -2.62686,-0.81925 -3.9351,-1.23456 -4.69313,-1.47853 -9.30551,-2.95301 -13.84851,-4.42253 l -1.30665,-2.80027 0.97437,-0.85544 c 0.1365,0.0469 0.27298,0.0937 0.4033,0.1358 5.95137,1.97137 11.76945,3.86936 17.45943,5.68831 z" id="path3533" style="fill:none" />
    <path d="m -30.254972,292.46861 0,0 c 0.0052,-0.006 0.01127,-0.001 0.01647,-0.007 0,0 -0.0052,0.006 -0.01647,0.007 z" id="path3535" style="fill:none" />
    <path d="m -44.667842,285.26517 c -0.973928,0.73986 -1.967656,1.51281 -2.988395,2.30367 -0.0052,0.006 -0.01647,0.007 -0.02166,0.0123 0.500572,-0.40778 0.995948,-0.80989 1.498505,-1.19683 0.50256,-0.38694 1.00094,-0.75776 1.511673,-1.1191 z" id="path3537" style="fill:#be202e" />
    <path d="m -44.667842,285.26517 c -0.973928,0.73986 -1.967656,1.51281 -2.988395,2.30367 -0.0052,0.006 -0.01647,0.007 -0.02166,0.0123 0.500572,-0.40778 0.995948,-0.80989 1.498505,-1.19683 0.50256,-0.38694 1.00094,-0.75776 1.511673,-1.1191 z" id="path3539" style="opacity:0.35;fill:#be202e" />
    <path d="m -30.2218,292.45544 c 0,0 -0.0052,0.006 -0.01127,10e-4 -0.0052,0.006 -0.01127,9.9e-4 -0.01647,0.007 0.153662,-0.13318 0.314646,-0.25108 0.463195,-0.37852 0.628302,-0.51257 1.264807,-0.99953 1.904289,-1.45521 -0.763241,0.60216 -1.549259,1.20616 -2.339509,1.82623 l 0,0 0,0 z" id="path3541" style="fill:#be202e" />
    <path d="m -30.2218,292.45544 c 0,0 -0.0052,0.006 -0.01127,10e-4 -0.0052,0.006 -0.01127,9.9e-4 -0.01647,0.007 0.153662,-0.13318 0.314646,-0.25108 0.463195,-0.37852 0.628302,-0.51257 1.264807,-0.99953 1.904289,-1.45521 -0.763241,0.60216 -1.549259,1.20616 -2.339509,1.82623 l 0,0 0,0 z" id="path3543" style="opacity:0.35;fill:#be202e" />
    <path d="m -3.0502818,330.5069 c 6.1572269,1.1827 12.247534,2.26571 18.2471238,3.24041 6.227231,1.01426 12.356561,1.90504 18.357978,2.65895 0.348762,0.0456 0.708911,0.0903 1.063863,0.1407 5.913525,0.73472 11.699134,1.33257 17.339307,1.78976 l 7.844762,17.69411 c -1.160612,-0.0121 -2.333632,-0.0338 -3.529455,-0.0536 -4.497401,-0.0917 -9.271992,-0.26093 -14.266831,-0.51239 -5.629411,-0.28469 -11.556567,-0.6821 -17.699796,-1.1778 -5.67533,-0.46487 -11.549098,-1.02415 -17.5529729,-1.68334 -5.1106845,-0.5626 -10.3308648,-1.18997 -15.622198,-1.90096 -0.197654,-0.0262 -0.3953057,-0.0524 -0.5929873,-0.0786 L -20.52484,326.94198 c 5.866009,1.25856 11.69707,2.45163 17.4745582,3.56492 z" id="path3554" style="fill:url(#SVGID_2_)" />
    <path d="m -148.64432,287.87492 c -4.62455,-1.5418 -9.31626,-3.12551 -14.09367,-4.76537 -0.0714,-0.0258 -0.13651,-0.0469 -0.20787,-0.0727 -0.67629,-0.2295 -1.34737,-0.46467 -2.02369,-0.69419 -3.21697,-1.10818 -6.09263,-2.12815 -12.63913,-4.44059 1.0996,-3.6285 -0.41103,-8.38228 -2.49019,-13.37944 3.85283,3.31605 6.24773,7.77315 6.52364,12.94094 11.22895,-13.43253 25.02773,-21.83891 40.65304,-19.66506 1.39603,0.1929 2.79384,0.46445 4.21819,0.83367 -6.03156,-0.16844 -10.5525,1.89547 -15.78323,8.30262 -0.0165,0.007 -0.0384,0.0188 -0.0549,0.0255 0.0165,-0.007 0.0384,-0.0188 0.0549,-0.0255 12.65883,-5.62036 21.02643,-6.89439 31.69203,-5.50534 2.52825,0.32813 5.18536,0.80351 8.06151,1.40845 -16.05366,1.09099 -26.93227,8.28126 -33.83488,19.35554 l -7.46769,6.54422 c -0.87076,-0.28223 -1.73631,-0.57012 -2.60806,-0.86277 z" id="path3565" style="fill:url(#SVGID_3_)" />
    <path d="m -127.92557,298.05617 c 5.82769,1.81842 11.74652,3.62955 17.74512,5.43431 5.74415,1.7253 11.554681,3.42428 17.421188,5.10828 5.866507,1.68401 11.775562,3.33306 17.722022,4.95287 6.046789,1.64856 12.123776,3.25267 18.201961,4.8094 6.013043,1.53569 12.038702,3.02311 18.046963,4.44886 2.167243,0.51462 4.333467,1.0188 6.493528,1.51824 3.738705,0.86155 7.463045,1.69274 11.172991,2.49357 0.199636,0.047 0.398312,0.0837 0.603147,0.12503 l 11.0633797,23.68219 c -0.3953333,-0.0524 -0.7854697,-0.11047 -1.1807777,-0.16285 -5.606921,-0.76978 -11.295338,-1.6118 -17.027898,-2.55534 -5.790549,-0.94943 -11.619023,-1.99561 -17.461681,-3.12996 -4.930086,-0.95526 -9.854792,-1.97402 -14.768868,-3.06189 -0.99728,-0.22482 -1.97698,-0.44581 -2.962873,-0.67154 -6.150175,-1.40914 -11.974938,-2.89686 -17.487932,-4.42532 -6.244233,-1.73255 -12.086525,-3.52355 -17.517683,-5.33696 -3.574927,-1.18983 -6.978977,-2.39336 -10.215327,-3.58405 -2.73994,-1.04133 -5.46008,-2.11577 -8.13662,-3.21469 -6.31977,-2.58273 -12.45563,-5.34303 -18.38577,-8.29314 l -11.10848,-23.79411 c 4.54303,1.46954 9.15538,2.94401 13.84853,4.42255 1.30203,0.41054 2.62167,0.82493 3.93508,1.23455 z" id="path3576" style="fill:url(#SVGID_4_)" />
    <path d="m -135.39748,315.78421 c -7.2115,-3.62494 -14.10198,-7.55402 -20.5914,-11.85137 -0.2272,-0.15514 -0.45863,-0.29422 -0.68582,-0.44936 2.3312,6.55285 0.24599,17.70369 0.21823,17.65338 -3.57467,-11.87432 -8.27251,-22.40852 -15.98628,-29.36565 -3.27442,2.37386 -5.94744,7.01608 -8.28358,12.96033 -0.41103,-8.38228 1.53485,-12.94527 2.45003,-14.5997 -4.28418,4.11989 -11.70198,6.14259 -19.64656,7.81875 9.09151,-4.3892 15.21177,-8.8767 17.7976,-13.46995 -24.55723,-8.42409 -51.09999,-18.3439 -78.93127,-29.25317 2.33282,-1.41596 4.74343,-1.47765 7.19121,-0.67033 5.0236,1.99314 38.05928,14.98608 83.16344,30.23283 1.28124,0.43321 2.57389,0.86552 3.8727,1.30257 0.36193,0.12335 0.72908,0.24106 1.08481,0.35966 4.73826,1.59047 9.59244,3.19267 14.55737,4.81229 1.13136,0.36642 2.26272,0.73284 3.40026,1.10401 0.0237,0.009 0.0476,0.0172 0.0652,0.021 l 11.11272,23.77804 c -0.25321,-0.12682 -0.52301,-0.24705 -0.7886,-0.38338 z" id="path3587" style="fill:url(#SVGID_5_)" />
    <path d="m -20.879529,324.31241 c -0.803833,-0.18253 -1.613855,-0.36983 -2.435266,-0.5562 -2.447621,-0.56569 -4.936644,-1.14385 -7.479421,-1.74397 -2.748608,-0.6519 -5.5458,-1.33146 -8.402911,-2.03771 -1.439971,-0.35222 -2.880933,-0.71488 -4.350864,-1.08045 -4.387015,-1.09855 -8.894942,-2.26097 -13.528979,-3.48159 -5.694267,-1.50344 -11.580756,-3.09652 -17.65531,-4.79538 -5.791175,-1.61649 -11.75182,-3.32448 -17.888098,-5.1287 -5.82291,-1.70849 -11.803902,-3.50939 -17.941982,-5.39227 -5.47616,-1.68374 -11.06801,-3.43699 -16.79937,-5.26839 -0.27821,-0.088 -0.55639,-0.17608 -0.82938,-0.26978 -5.68998,-1.81895 -11.50806,-3.71694 -17.44804,-5.68923 -0.13651,-0.0469 -0.27299,-0.0937 -0.40331,-0.1358 l 7.4677,-6.54423 c -0.099,0.16552 -0.21555,0.32718 -0.31452,0.4927 9.07173,-7.71799 26.60886,-13.7657 42.082402,-14.50031 7.130974,-0.33982 14.689435,0.18964 22.840099,1.56994 6.067741,1.02703 12.461933,2.52695 19.257152,4.49905 5.938834,1.72022 12.180797,3.78914 18.773426,6.22395 -2.953943,1.10323 -5.869407,2.7287 -8.744022,4.78162 -0.499373,0.3604 -1.009112,0.73216 -1.511672,1.1191 -0.502585,0.38691 -1.004151,0.78427 -1.498505,1.19683 l 0,0 0,0 c 0.0052,-0.006 0.01647,-0.007 0.02166,-0.0123 10.741665,-5.44059 21.911677,-5.49972 33.275347,-3.05294 -3.512293,0.90633 -8.725108,2.75774 -13.490013,6.1124 -0.650869,0.45659 -1.281184,0.9483 -1.904287,1.4552 -0.160021,0.1283 -0.314677,0.25106 -0.463195,0.37852 l 0,0 0,0 c 0.0052,-0.006 0.01127,-9.9e-4 0.01647,-0.007 0,0 0.0052,-0.006 0.01127,-9.9e-4 l 0,0 c 3.833524,-1.80927 7.415482,-3.06785 10.971709,-3.81484 0.75953,-0.16062 1.521076,-0.30038 2.285595,-0.40887 1.160272,-0.17169 2.320337,-0.28559 3.490588,-0.35301 0.747698,-0.0441 1.497407,-0.0674 2.255322,-0.065 1.7736055,-1.9e-4 3.5809872,0.11249 5.4459147,0.34666 0.5691898,0.07 1.1394009,0.1504 1.7219926,0.24033 0.8080111,0.16642 1.5932437,0.33468 2.3670894,0.50385 3.4947139,0.7708 6.5151055,1.56378 9.1028098,2.33365 1.2938545,0.38493 2.4717831,0.75813 3.5461715,1.12911 0.427069,0.1444 0.842778,0.28973 1.24088,0.4312 1.189109,0.43009 2.22612,0.83033 3.11722,1.20547 1.333581,0.56035 2.345383,1.05716 3.054216,1.4469 l 0,0 0,0 c -0.484902,0.0914 -1.006187,0.22239 -1.55767,0.39787 -3.810562,1.20862 -9.0630554,4.26613 -12.8155016,7.10372 l 6.8589836,-6.00695 -6.8589836,6.00695 c -0.059219,0.0415 -0.1120802,0.0878 -0.1712972,0.1293 -0.3686395,0.2869 -0.73626,0.58424 -1.1100962,0.87681 0.088156,-0.0386 0.1659184,-0.0658 0.2478563,-0.10915 l -23.4688293,20.55321 c -0.123105,-0.0269 -0.246211,-0.0538 -0.380705,-0.0798 z" id="path3598" style="fill:url(#SVGID_6_)" />
    <path d="m 52.489098,337.22784 c -5.221409,-0.58001 -11.072737,-1.32494 -17.582802,-2.29555 -0.337345,-0.0465 -0.687098,-0.10255 -1.030661,-0.15384 -5.631475,-0.8466 -11.74798,-1.84346 -18.359704,-3.03705 -5.7115598,-1.02402 -11.780866,-2.1875 -18.2388704,-3.51423 -5.6261705,-1.15166 -11.5511356,-2.4265 -17.7644676,-3.83584 L 2.9813947,303.8381 c 9.3594193,-4.04821 15.0606363,-4.69376 22.0219053,-4.22681 1.892116,0.15844 3.845172,0.35401 5.836389,0.58854 6.095793,0.72012 12.552647,1.79478 18.766426,3.08853 5.997499,1.25326 11.744739,2.71043 16.714058,4.25614 3.159483,0.98674 6.000949,2.00943 8.377522,3.03258 2.095388,0.90383 4.020884,1.83177 5.804442,2.7763 -9.724453,7.55488 -21.194854,17.14061 -28.013039,23.87446 z" id="path3609" style="fill:url(#SVGID_7_)" />
    <path d="m -46.179514,286.38427 c -0.502558,0.38693 -1.004124,0.78429 -1.498506,1.19682 l 0,0 c 0.494382,-0.41253 0.995948,-0.80989 1.498506,-1.19682 z" id="path3611" style="fill:#be202e" />
    <path d="m -46.179514,286.38427 c -0.502558,0.38693 -1.004124,0.78429 -1.498506,1.19682 l 0,0 c 0.494382,-0.41253 0.995948,-0.80989 1.498506,-1.19682 z" id="path3613" style="opacity:0.35;fill:#be202e" />
    <path d="m -46.179514,286.38427 c -0.502558,0.38693 -1.004124,0.78429 -1.498506,1.19682 l 0,0 c 0.494382,-0.41253 0.995948,-0.80989 1.498506,-1.19682 z" id="path3624" style="fill:url(#SVGID_8_)" />
    <path d="m -30.254972,292.46861 c 0.153663,-0.13318 0.314647,-0.25107 0.463193,-0.37852 -0.148463,0.12751 -0.303257,0.25016 -0.463193,0.37852 l 0,0 z" id="path3626" style="fill:#be202e" />
    <path d="m -30.254972,292.46861 c 0.153663,-0.13318 0.314647,-0.25107 0.463193,-0.37852 -0.148463,0.12751 -0.303257,0.25016 -0.463193,0.37852 l 0,0 z" id="path3628" style="opacity:0.35;fill:#be202e" />
    <path d="m -30.254972,292.46861 c 0.153663,-0.13318 0.314647,-0.25107 0.463193,-0.37852 -0.148463,0.12751 -0.303257,0.25016 -0.463193,0.37852 l 0,0 z" id="path3639" style="fill:url(#SVGID_9_)" />
    <path d="m -30.233189,292.45636 c 0,0 0.0052,-0.006 0.01127,-0.001 l 0,0 0,0 0,0 c 0,0 -0.0052,0.006 -0.01127,0.001 z" id="path3641" style="fill:#be202e" />
    <path d="m -30.233189,292.45636 c 0,0 0.0052,-0.006 0.01127,-0.001 l 0,0 0,0 0,0 c 0,0 -0.0052,0.006 -0.01127,0.001 z" id="path3643" style="opacity:0.35;fill:#be202e" />
    <path d="m -30.233189,292.45636 c 0,0 0.0052,-0.006 0.01127,-0.001 l 0,0 0,0 0,0 c 0,0 -0.0052,0.006 -0.01127,0.001 z" id="path3654" style="fill:url(#SVGID_10_)" />
  </g>
  <text id="text3761" y="61.094482" x="290" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:Oswald;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" xml:space="preserve">
    <tspan y="61.094482" x="290" id="tspan3763">The</tspan>
  </text>
  <text id="text3416" y="72.094482" x="356" style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:57.5px;line-height:125%;font-family:Oswald;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" xml:space="preserve">
    <tspan y="72.094482" x="356" id="tspan3418">Apache Velocity Project</tspan>
  </text>
  <path id="path3557" d="m 897.15,23.54449 0,1.58889 3.72099,0 0,10.51111 1.72469,0 0,-10.51111 3.74815,0 0,-1.58889 -9.19383,0 z m 21.49753,0 -4.15555,8.44691 -4.18272,-8.44691 -2.07778,0 0,12.1 1.58889,0 0,-9.60123 4.11482,8.32469 1.1,0 4.11481,-8.32469 0,9.60123 1.58889,0 0,-12.1 -2.09136,0 z" style="fill:#6d6e71" />
  <text id="text3599" y="114.09448" x="400" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:35px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0.03em;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" xml:space="preserve">
    <tspan y="114.09448" x="400" id="tspan3601">http://velocity.apache.org/</tspan>
  </text>
</svg>
</a>

      </div>
      <div id="breadcrumb">
        <ul><li><a href="http://www.apache.org">apache</a></li><li><a href="/">velocity</a></li><li><a href="/tools/">tools</a></li><li><a href="/tools/3.0/">3.0</a></li><li><a href="#">tools summary</a></li></ul>
      </div>
      <div id="middle">
        <div id="leftnav">
          
          <style type="text/css">
/* The following code is added by mdx_elementid.py
   It was originally lifted from http://subversion.apache.org/style/site.css */
/*
 * Hide class="elementid-permalink", except when an enclosing heading
 * has the :hover property.
 */
.headerlink, .elementid-permalink {
  visibility: hidden;
}
h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
<h2 id="velocity-tools">Velocity Tools<a class="headerlink" href="#velocity-tools" title="Permanent link">&para;</a></h2>
<ul>
<li><a href="index.html">Overview</a></li>
<li><a href="/download.cgi#tools">Download</a></li>
</ul>
<h2 id="subprojects">Subprojects<a class="headerlink" href="#subprojects" title="Permanent link">&para;</a></h2>
<ul>
<li><a href="generic.html">GenericTools</a></li>
<li><a href="view.html">VelocityView</a></li>
</ul>
<h2 id="docs">Docs<a class="headerlink" href="#docs" title="Permanent link">&para;</a></h2>
<ul>
<li><a href="tools-summary.html">Standard Tools</a></li>
<li><a href="apidocs/index.html">Javadoc</a></li>
<li><a href="upgrading.html">Upgrading</a></li>
<li><a href="configuration.html">Configuration</a></li>
<li><a href="standalone.html">Standalone Use</a></li>
<li><a href="frameworks.html">Web Integration</a></li>
<li><a href="creating-tools.html">Creating Tools</a></li>
<li><a href="contributions.html">Contributions</a></li>
<li><a href="/engine/devel/glossary.html">Glossary</a></li>
<li><a href="http://wiki.apache.org/velocity/VelocityFAQ">FAQ</a></li>
<li><a href="http://wiki.apache.org/velocity/">Wiki</a></li>
</ul>
<h2 id="development">Development<a class="headerlink" href="#development" title="Permanent link">&para;</a></h2>
<ul>
<li><a href="changes.html">Changes</a></li>
<li><a href="dependencies.html">Dependencies</a></li>
<li><a href="index.html#helping-out">Participating</a></li>
<li><a href="http://velocity.apache.org/tools/releases/2.0/index.html#Subversion_Repository">Source Code</a></li>
<li><a href="http://issues.apache.org/jira/browse/VELTOOLS">Report Issue</a></li>
</ul>
          
          <div id="bottom-nav">
            <img src="/images/pbv90x30.png"/>
            <div id="rss">
              <a class="poweredBy" href="/rss/news.rss" title="Velocity News Feed"><img class="poweredBy" alt="Velocity News Feed" src="/images/feed-icon-24x24.jpg"></a>
            </div>
            <iframe src="http://www.apache.org/ads/buttonbar.html" style="border-width:0; float: left" frameborder="0" scrolling="no" width="135" height="265"></iframe>
          </div>
        </div>
        <div id="content"><div class="section-content"><style type="text/css">
/* The following code is added by mdx_elementid.py
   It was originally lifted from http://subversion.apache.org/style/site.css */
/*
 * Hide class="elementid-permalink", except when an enclosing heading
 * has the :hover property.
 */
.headerlink, .elementid-permalink {
  visibility: hidden;
}
h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
<h2 id="tools-usage-summary">Tools Usage Summary<a class="headerlink" href="#tools-usage-summary" title="Permanent link">&para;</a></h2>
<p>You will find here a summary of all the available standard tools, sufficient for a basic integration and usage of each of them. Please refer to the javadoc for a complete reference of all their methods and properties, since only an excerpt is show here.</p>
<h3 id="index">Index<a class="headerlink" href="#index" title="Permanent link">&para;</a></h3>
<h4 id="generic-tools">Generic Tools<a class="headerlink" href="#generic-tools" title="Permanent link">&para;</a></h4>
<ul>
<li><a href="#AlternatorTool"><code>$alt</code> - AlternatorTool</a></li>
<li><a href="#ClassTool"><code>$class</code> - ClassTool</a>,</li>
<li><a href="#ContextTool"><code>$context</code> - ContextTool</a>,</li>
<li><a href="#ConversionTool"><code>$convert</code> - ConversionTool</a>,</li>
<li><a href="#ComparisonDateTool"><code>$date</code> - ComparisonDateTool</a>,</li>
<li><a href="#DisplayTool"><code>$disp</code> - DisplayTool</a>,</li>
<li><a href="#EscapeTool"><code>$esc</code> - EscapeTool</a>,</li>
<li><a href="#FieldTool"><code>$field</code> - FieldTool</a>,</li>
<li><a href="#LinkTool"><code>$link</code> - LinkTool</a>,</li>
<li><a href="#LogTool"><code>$log</code> - LogTool</a>,</li>
<li><a href="#MathTool"><code>$math</code> - MathTool</a>,</li>
<li><a href="#NumberTool"><code>$number</code> - NumberTool</a>,</li>
<li><a href="#RenderTool"><code>$render</code> - RenderTool</a>,</li>
<li><a href="#SortTool"><code>$sort</code> - SortTool</a>,</li>
<li><a href="#ResourceTool"><code>$text</code> - ResourceTool</a>,</li>
<li><a href="#XmlTool"><code>$xml</code> - XmlTool</a></li>
</ul>
<h4 id="view-tools">View Tools<a class="headerlink" href="#view-tools" title="Permanent link">&para;</a></h4>
<ul>
<li><a href="#BrowserTool"><code>$browser</code> - BrowserTool</a>,</li>
<li><a href="#ViewContextTool"><code>$context</code> - ViewContextTool</a></li>
<li><a href="#CookieTool"><code>$cookie</code> - CookieTool</a>,</li>
<li><a href="#ImportTool"><code>$import</code> - ImportTool</a>,</li>
<li><a href="#IncludeTool"><code>$include</code> - IncludeTool</a>,</li>
<li><a href="#LinkTool2"><code>$link</code> - LinkTool</a>,</li>
<li><a href="#PagerTool"><code>$pager</code> - PagerTool</a>,</li>
<li><a href="#ParameterTool"><code>$params</code> - ParameterTool</a>,</li>
<li><a href="#AbstractSearchTool"><code>$search</code> - AbstractSearchTool</a>,</li>
</ul>
<h3 id="generic-tools_1">Generic Tools<a class="headerlink" href="#generic-tools_1" title="Permanent link">&para;</a></h3>
<h4 id="alternatortool-tool-to-create-alternators-variables-that-cycle-through-an-array"><a href="apidocs/org/apache/velocity/tools/generic/AlternatorTool.html" id="AlternatorTool"><strong>AlternatorTool</strong></a> - tool to create <a href="apidocs/org/apache/velocity/tools/generic/Alternator.html">alternators</a> (variables that cycle through an array)<a class="headerlink" href="#alternatortool-tool-to-create-alternators-variables-that-cycle-through-an-array" title="Permanent link">&para;</a></h4>
<table class="table">
<thead>
<tr>
<th><strong><code>$alternator</code></strong></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>config.autoAlternate</code> [&nbsp;=&nbsp;<code>true</code>&nbsp;]</td>
<td>boolean, states whether the alternator will automatically switch values at each rendering</td>
</tr>
<tr>
<td><code>$alternator.autoAlternateDefault</code></td>
<td>returns <code>true</code> if alternators created by this tool will auto-alternate by default, or set the property to a new boolean value</td>
</tr>
<tr>
<td><code>#set( $alt = $alternator.auto(value1,value2,...) )</code></td>
<td>creates an automatic alternator</td>
</tr>
<tr>
<td><code>#set( $alt = $alternator.make(value1,value2,...) )</code></td>
<td>creates an alternator with default auto behaviour</td>
</tr>
<tr>
<td><code>#set( $alt = $alternator.manual(value1,value2,...) )</code></td>
<td>creates a manual alternator</td>
</tr>
<tr>
<td><code>$alt</code></td>
<td>displays current value (and shift for automatic alternators)</td>
</tr>
<tr>
<td><code>alt.current</code></td>
<td>displays current value</td>
</tr>
<tr>
<td><code>$alt.next</code></td>
<td>displays current value and shift</td>
</tr>
<tr>
<td><code>$alt.shift</code></td>
<td>shifts to next value</td>
</tr>
<tr>
<td><code>$alt.auto</code></td>
<td>read/write property stating if this is an automatic alternator</td>
</tr>
</tbody>
</table>
<h4 id="ClassTool"><a href="apidocs/org/apache/velocity/tools/generic/ClassTool.html"><strong>ClassTool</strong></a> - tool meant to use Java reflection in templates<a class="headerlink" href="#ClassTool" title="Permanent link">&para;</a></h4>
<table class="table">
<thead>
<tr>
<th><strong><code>$class</code></strong></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>config.inspect</code> [&nbsp;=&nbsp;<code>java.lang.Object</code>&nbsp;]</td>
<td>string, class name of the class which is to be inspected</td>
</tr>
<tr>
<td><code>config.safeMode</code> [&nbsp;=&nbsp;<code>true</code>&nbsp;]</td>
<td>boolean, indicates whether to only show public members, fields and constructors</td>
</tr>
<tr>
<td><code>config.showDeprecated</code> [&nbsp;=&nbsp;<code>false</code>&nbsp;]</td>
<td>boolean, states whether deprecated members, fields and constructors are to be shown</td>
</tr>
<tr>
<td><code>$class.annotations</code></td>
<td>returns a list of the <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/annotation/Annotation.html"><code>Annotations</code></a> of the class being inspected</td>
</tr>
<tr>
<td><code>$class.constructors</code></td>
<td>returns a list of <a href="apidocs/org/apache/velocity/tools/generic/ClassTool.ConstructorSub.html"><code>ConstructorSub</code></a>s for each constructor declared in the inspected class, with the following methods and read-only properties: <code>$ctor.name</code>, <code>$ctor.parameters</code> (array of <code>Class</code>), <code>$ctor.isVarArgs()</code>, <code>$ctor.modifiers</code> (some were omitted)</td>
</tr>
<tr>
<td><code>$class.field</code></td>
<td>returns a list of <a href="apidocs/org/apache/velocity/tools/generic/ClassTool.FieldSub.html"><code>FieldSub</code></a>s for each field declared in the inspected class, with the following read-only properties: <code>$field.name</code>, <code>$field.modifiers</code>, <code>$field.staticValue</code>, <code>$field.type</code> (some were omitted)</td>
</tr>
<tr>
<td><code>$class.fullName</code></td>
<td>full name of the inspected class</td>
</tr>
<tr>
<td><code>$class.methods</code></td>
<td>returns a list of <a href="apidocs/org/apache/velocity/tools/generic/ClassTool.MethodSub.html"><code>MethodSub</code></a>s for each method declared in the inspected class, with the following methods and read-only properties: <code>$method.name</code>, <code>$method.parameters</code> (array of <code>Class</code>), <code>$method.returns</code>, <code>$method.isVarArgs()</code>, <code>$method.modifiers</code>, <code>$method.propertyName</code> (If this method can be treated as a bean property in Velocity, then it will return the "bean property" equivalent of the method name), <code>$method.isVoid()</code> (some were omitted)</td>
</tr>
<tr>
<td><code>$class.name</code></td>
<td>returns the simple name of the class being inspected</td>
</tr>
<tr>
<td><code>$class.package</code></td>
<td>returns the package name of the class being inspected</td>
</tr>
<tr>
<td><code>$class.showDeprecated</code></td>
<td>returns or sets the current showDeprecated setting</td>
</tr>
<tr>
<td><code>$class.super</code></td>
<td>returns a new ClassTool instance that inspects the immediate superclass of the class being inspected</td>
</tr>
<tr>
<td><code>$class.type</code></td>
<td>returns the actual Class being inspected</td>
</tr>
<tr>
<td><code>$class.inspect(</code>&nbsp;<em>class/object/string</em>&nbsp;<code>)</code></td>
<td>returns a new ClassTool instance that inspects the specified class or object</td>
</tr>
<tr>
<td><code>$class.abstract</code></td>
<td>returns true if the class being inspected is abstract</td>
</tr>
<tr>
<td><code>$class.deprecated</code></td>
<td>returns true if the class being inspected is deprecated</td>
</tr>
<tr>
<td><code>$class.final</code></td>
<td>returns true if the class being inspected is final</td>
</tr>
<tr>
<td><code>$class.interface</code></td>
<td>returns true if the class being inspected is an interface</td>
</tr>
<tr>
<td><code>$class.supportsNewInstance()</code></td>
<td>returns true if a new instance of the class being inspected can be created via <code>$class.type.newInstance()</code></td>
</tr>
</tbody>
</table>
<h4 id="ContextTool"><a href="apidocs/org/apache/velocity/tools/generic/ContextTool.html"><strong>ContextTool</strong></a> - tool allowing Velocity context introspection<a class="headerlink" href="#ContextTool" title="Permanent link">&para;</a></h4>
<table class="table">
<thead>
<tr>
<th><strong><code>$context</code></strong></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>$context.keys</code></td>
<td>returns a <code>java.util.Set</code> of the keys available in the current request context</td>
</tr>
<tr>
<td><code>$context.this</code></td>
<td>returns the ViewContext currently being analyzed by this tool</td>
</tr>
<tr>
<td><code>$context.toolbox</code></td>
<td>returns a <code>java.util.Map</code> of all the tools available in the current request context and their context keys</td>
</tr>
<tr>
<td><code>$context.values</code></td>
<td>returns a <code>java.util.Set</code> of the values available in the current request context</td>
</tr>
<tr>
<td><code>$context.get(</code>&nbsp;<em>key</em>&nbsp;<code>)</code></td>
<td>returns the value for the specified key in the current request context</td>
</tr>
</tbody>
</table>
<h4 id="ConversionTool"><a href="apidocs/org/apache/velocity/tools/generic/ConversionTool.html"><strong>ConversionTool</strong></a> - tool allowing conversions between datatypes<a class="headerlink" href="#ConversionTool" title="Permanent link">&para;</a></h4>
<table class="table">
<thead>
<tr>
<th><strong><code>$convert</code></strong></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>config.stringsDelimiter</code> [&nbsp;=&nbsp;<code>','</code>&nbsp;]</td>
<td>delimiter used when parsing concatenated strings arrays</td>
</tr>
<tr>
<td><code>config.trimStrings</code> [&nbsp;=&nbsp;<code>true</code>&nbsp;]</td>
<td>boolean, states whether or not trim strings when parsing concatenated strings arrays</td>
</tr>
<tr>
<td><code>config.numberFormat</code> [&nbsp;=&nbsp;JVM Locale number format&nbsp;]</td>
<td>number format to use when parsing numbers</td>
</tr>
<tr>
<td><code>config.dateFormat</code> [&nbsp;=&nbsp;JVM Locale date format&nbsp;]</td>
<td>date format to use when parsing dates</td>
</tr>
<tr>
<td><code>$convert.stringsDelimiter</code></td>
<td>delimiter used when parsing concatenated strings arrays</td>
</tr>
<tr>
<td><code>$convert.stringsTrim</code></td>
<td>whether or not strings are trimmed when parsing concatenated strings arrays</td>
</tr>
<tr>
<td><code>$convert.dateFormat</code></td>
<td>current date format used when parsing dates</td>
</tr>
<tr>
<td><code>$convert.numberFormat</code></td>
<td>current number format used when parsing numbers</td>
</tr>
<tr>
<td><code>$convert.parseDate(</code>&nbsp;<em>string</em> [ , <em>format</em> [ , <em>locale</em> [ , <em>timezone</em>&nbsp;]&nbsp;]&nbsp;]&nbsp;<code>)</code></td>
<td>parses a date</td>
</tr>
<tr>
<td><code>$convert.parseNumber(</code>&nbsp;<em>string</em> [ , <em>format</em> [ , <em>locale</em>&nbsp;]&nbsp;]&nbsp;<code>)</code></td>
<td>parses a number</td>
</tr>
<tr>
<td><code>$convert.to</code><em>Type</em><code>(</code>&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>converts an object to an instance of <em>Type</em>, where <em>Type</em> can be one of <code>Boolean</code>, <code>Calendar</code>, <code>Date</code>, <code>Double</code>, <code>Integer</code>, <code>Locale</code>, <code>Number</code>, <code>String</code></td>
</tr>
<tr>
<td><code>$convert.to</code><em>Type</em><code>s(</code>&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>converts an array, Collection, delimited String, or object to an array of <em>Type</em>s, where <em>Type</em> can be one of <code>Boolean</code>, <code>Calendar</code>, <code>Date</code>, <code>Double</code>, <code>Integer</code>, <code>Locale</code>, <code>Number</code>, <code>String</code></td>
</tr>
</tbody>
</table>
<h4 id="ComparisonDateTool"><a href="apidocs/org/apache/velocity/tools/generic/ComparisonDateTool.html"><strong>ComparisonDateTool</strong></a> - tool used to format, parse and compare dates<a class="headerlink" href="#ComparisonDateTool" title="Permanent link">&para;</a></h4>
<table class="table">
<thead>
<tr>
<th><strong><code>$date</code></strong></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>config.format</code> = [ JVM Locale default format&nbsp;]</td>
<td>default format (see <a href="apidocs/org/apache/velocity/tools/generic/DateTool.html#format(java.lang.String, java.lang.Object, java.util.Locale, java.util.TimeZone)">formatting patterns</a>)</td>
</tr>
<tr>
<td><code>config.locale</code> = [ JVM Locale&nbsp;]</td>
<td>default locale</td>
</tr>
<tr>
<td><code>config.timezone</code> = [ JVM timezone&nbsp;]</td>
<td>time zone</td>
</tr>
<tr>
<td><code>$date</code></td>
<td>returns the current date and time formatted with the default format</td>
</tr>
<tr>
<td><code>$date.format(</code>&nbsp;[ <em>format</em>,&nbsp;] <em>object</em> [ , <em>locale</em> [ ,<em>timezone</em>&nbsp;]&nbsp;]&nbsp;<code>)</code></td>
<td>formats the specified object</td>
</tr>
<tr>
<td><code>$date.get(</code>&nbsp;<em>format</em>&nbsp;<code>)</code></td>
<td>returns the current date and time formatted using the given format</td>
</tr>
<tr>
<td><code>$date.get(</code>&nbsp;<em>date style</em>,&nbsp;<em>time style</em>&nbsp;<code>)</code></td>
<td>returns the current date and time formatted using given styles, where each style is one of <code>full</code>, <code>long</code>, <code>medium</code>, <code>short</code>, <code>default</code></td>
</tr>
<tr>
<td><code>$date.day</code></td>
<td>current day in month</td>
</tr>
<tr>
<td><code>$date.month</code></td>
<td>current month (warning: zero-based!)</td>
</tr>
<tr>
<td><code>$date.year</code></td>
<td>current year</td>
</tr>
<tr>
<td><code>$date.getDay(</code>&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>day of month of given date</td>
</tr>
<tr>
<td><code>$date.getMonth(</code>&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>month of given date (warning: zero-based!)</td>
</tr>
<tr>
<td><code>$date.getYear(</code>&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>year of given date</td>
</tr>
<tr>
<td><code>$date.format</code></td>
<td>returns or sets the pattern or style to be used for formatting dates when none is specified</td>
</tr>
<tr>
<td><code>$date.locale</code></td>
<td>returns or sets the default Locale configured for this instance</td>
</tr>
<tr>
<td><code>$date.timeZone</code></td>
<td>returns or sets the default TimeZone configured for this instance - <code>$date.timeZone.ID</code> displays the ID of the currently active TimeZone</td>
</tr>
<tr>
<td><code>$date.systemDate</code></td>
<td>gets the Date at the time this page was rendered for the system running this application</td>
</tr>
<tr>
<td><code>$date.toCalendar(</code>&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>converts the given object to a java.util.Calendar</td>
</tr>
<tr>
<td><code>$date.toDate(</code>&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>convers the given object to a java.util.Date</td>
</tr>
<tr>
<td><code>$date.whenIs(</code>&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>returns a <a href="apidocs/org/apache/velocity/tools/generic/ComparisonDateTool.Comparison.html"><code>ComparisonDateTool.Comparison</code></a> between current and specified date ; returned comparison will have properties like: <code>$comp.years</code>, <code>$comp.months</code>, <code>$comp.weeks</code>, <code>$comp.days</code>, <code>$comp.hours</code>, <code>$comp.minutes</code>, <code>$comp.seconds</code>, <code>$comp.milliseconds</code>, along with several other formatting methods</td>
</tr>
<tr>
<td><code>$date.whenIs(</code>&nbsp;<em>object</em>,&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>returns a <a href="apidocs/org/apache/velocity/tools/generic/ComparisonDateTool.Comparison.html"><code>ComparisonDateTool.Comparison</code></a> between the two specified dates ; returned comparison will have properties like: <code>$comp.years</code>, <code>$comp.months</code>, <code>$comp.weeks</code>, <code>$comp.days</code>, <code>$comp.hours</code>, <code>$comp.minutes</code>, <code>$comp.seconds</code>, <code>$comp.milliseconds</code>, along with several other formatting methods</td>
</tr>
</tbody>
</table>
<h4 id="DisplayTool">[<strong>DisplayTool</strong>] - tool providing a variety of methods for controlling the output displayed by various references in your templates<a class="headerlink" href="#DisplayTool" title="Permanent link">&para;</a></h4>
<table class="table">
<thead>
<tr>
<th><strong><code>$display</code></strong></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>config.listDelim</code> [&nbsp;=&nbsp;<code>','</code>&nbsp;]</td>
<td>default delimiter used between items by the list formatting methods</td>
</tr>
<tr>
<td><code>config.listFinalDelim</code> [&nbsp;=&nbsp;<code>'\''</code>&nbsp;]</td>
<td>default delimiter used between the last two items by the list formatting methods (defaults to ' and ')</td>
</tr>
<tr>
<td><code>config.truncateLength</code> [&nbsp;=&nbsp;<code>30</code>&nbsp;]</td>
<td>default length used by <code>truncate(Object)</code></td>
</tr>
<tr>
<td><code>config.truncateSuffix</code> [&nbsp;=&nbsp;<code>"..."</code>&nbsp;]</td>
<td>default suffix used by the truncate methods</td>
</tr>
<tr>
<td><code>config.truncateAtWord</code> [&nbsp;=&nbsp;<code>false</code>&nbsp;]</td>
<td>boolean, whether to truncate at a precise character or the last fitting word</td>
</tr>
<tr>
<td><code>config.cellLength</code> [&nbsp;=&nbsp;<code>30</code>&nbsp;]</td>
<td>cell size</td>
</tr>
<tr>
<td><code>config.cellSuffix</code> [&nbsp;=&nbsp;<code>"..."</code>&nbsp;]</td>
<td>suffix used when cell contents need truncating</td>
</tr>
<tr>
<td><code>config.defaultAlternate</code> [&nbsp;=&nbsp;<code>null</code>&nbsp;]</td>
<td>alternate used by <code>alt(Object)</code></td>
</tr>
<tr>
<td><code>config.allowedTags</code> [&nbsp;=&nbsp;<code>null</code>&nbsp;]</td>
<td>tags allowed to remain by <code>stripTags(Object)</code></td>
</tr>
<tr>
<td><code>config.locale</code> [&nbsp;=&nbsp;JVM Locale&nbsp;]</td>
<td>used locale</td>
</tr>
<tr>
<td><code>$display.listDelimiter</code></td>
<td>returns or sets the configured default delimiter used between items by the list formatting methods</td>
</tr>
<tr>
<td><code>$display.listFinalDelimiter</code></td>
<td>returns or sets the configured default delimiter used between the last two items by the list formatting methods</td>
</tr>
<tr>
<td><code>$display.truncateLength</code></td>
<td>returns or sets the configured default length used by <code>truncate(Object)</code></td>
</tr>
<tr>
<td><code>$display.truncateSuffix</code></td>
<td>returns or sets the default suffix used by the truncate methods</td>
</tr>
<tr>
<td><code>$display.truncateAtWord</code></td>
<td>returns or sets whether or not to truncate at a precise character or the last fitting word</td>
</tr>
<tr>
<td><code>$display.cellLength</code></td>
<td>returns or sets configured cell length</td>
</tr>
<tr>
<td><code>$display.cellSuffix</code></td>
<td>returns or sets the suffix used when cell contents need truncating</td>
</tr>
<tr>
<td><code>$display.defaultAlternate</code></td>
<td>returns or sets the configured default alternate used by <code>alt(Object)</code></td>
</tr>
<tr>
<td><code>$display.allowedTags</code></td>
<td>returns or sets the configured tags allowed to remain by <code>stripTags(Object)</code></td>
</tr>
<tr>
<td><code>$display.alt(</code>&nbsp;<em>object</em> [ , <em>object</em>&nbsp;]&nbsp;<code>)</code></td>
<td>returns the configured default value (or the second argument if specified) if the specified first value is null</td>
</tr>
<tr>
<td><code>$display.br(</code>&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>inserts HTML line break tag (<br/>) in front of all newline characters of the string value of the specified object and returns the resulting string</td>
</tr>
<tr>
<td><code>$display.capitalize(</code>&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>changes the first character of the string value of the specified object to upper case and returns the resulting string</td>
</tr>
<tr>
<td><code>$display(</code>&nbsp;<em>object</em> [ , <em>suffix</em>&nbsp;] [ , <em>length</em>&nbsp;]&nbsp;<code>)</code></td>
<td>truncates or pads the string value of the specified object as necessary to ensure that the returned string's length equals the default or specified cell size, using the default suffix or the specified one when truncation is needed</td>
</tr>
<tr>
<td><code>$display.list(</code>&nbsp;<em>object</em> [ , <em>delim</em> [ , <em>finalDelim</em>&nbsp;]&nbsp;]&nbsp;<code>)</code></td>
<td>Formats a collection or array into a string, using the default or provided delimiter and final delimiter</td>
</tr>
<tr>
<td><code>$display.measure(</code>&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>returns the measurements of the string value of the specified object</td>
</tr>
<tr>
<td><code>$display.message(</code>&nbsp;<em>string</em>,&nbsp;<em>object</em>...<code>)</code></td>
<td>uses <code>java.text.MessageFormat</code> to format the specified string with the specified arguments. If there are no arguments, then the string is returned directly</td>
</tr>
<tr>
<td><code>$display.plural(</code>&nbsp;<em>count</em>,&nbsp;<em>singular</em> [ , <em>plural</em>&nbsp;]&nbsp;<code>)</code></td>
<td>based on <em>count</em>, returns singular or build/specified plural</td>
</tr>
<tr>
<td><code>$display.printf(</code>&nbsp;<em>format</em>,&nbsp;<em>object</em>...&nbsp;<code>)</code></td>
<td>uses <code>String.format(Locale,String,Object...)</code> to format the specified String with the specified arguments. Please note that the format required here is quite different from that of <code>message(String,Object...)</code></td>
</tr>
<tr>
<td><code>$display.space(</code>&nbsp;<em>int</em>&nbsp;<code>)</code></td>
<td>returns a string of spaces of the specified length</td>
</tr>
<tr>
<td><code>$display.stripTags(</code>&nbsp;<em>object</em> [ , <em>allowedTags</em>&nbsp;]&nbsp;<code>)</code></td>
<td>removes all not allowed HTML tags from the string value of the specified object and returns the resulting string</td>
</tr>
<tr>
<td><code>$display.truncate(</code>&nbsp;<em>object</em> [ , <em>size</em>&nbsp;] [ , <em>suffix</em>&nbsp;]&nbsp;<code>)</code></td>
<td>limits the string output of the first argument to the specified or default number of characters. If the string gets curtailed, the specified or default suffix is used as the ending of the truncated string</td>
</tr>
<tr>
<td><code>$display.uncapitalize(</code>&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>changes the first character of the string value of the specified object to lower case and returns the resulting string</td>
</tr>
</tbody>
</table>
<h4 id="EscapeTool"><a href="apidocs/org/apache/velocity/tools/generic/EscapeTool.html"><strong>EscapeTool</strong></a> - tool providing some escaping facilities<a class="headerlink" href="#EscapeTool" title="Permanent link">&para;</a></h4>
<table class="table">
<thead>
<tr>
<th><strong><code>$esc</code></strong></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>$esc.b</code> , <code>$esc.backslash</code></td>
<td>renders a backslash (\)</td>
</tr>
<tr>
<td><code>$esc.d</code> , <code>$esc.dollar</code></td>
<td>renders a dollar sign ($)</td>
</tr>
<tr>
<td><code>$esc.e</code> , <code>$esc.exclamation</code></td>
<td>renders an exclamation mark (!)</td>
</tr>
<tr>
<td><code>$esc.h</code> , <code>$esc.hash</code></td>
<td>renders a hash (#)</td>
</tr>
<tr>
<td><code>$esc.q</code> , <code>$esc.quote</code></td>
<td>renders a double quotation mark (")</td>
</tr>
<tr>
<td><code>$esc.s</code> , <code>$esc.singleQuote</code></td>
<td>renders a single quotation mark (')</td>
</tr>
<tr>
<td><code>$esc.html(</code>&nbsp;<em>string</em>&nbsp;<code>)</code></td>
<td>escapes the characters in a string using HTML entities</td>
</tr>
<tr>
<td><code>$esc.url(</code>&nbsp;<em>string</em>&nbsp;<code>)</code></td>
<td>escapes the characters in a string using UTF-8 URL character encoding</td>
</tr>
<tr>
<td><code>$esc.java(</code>&nbsp;<em>string</em>&nbsp;<code>)</code></td>
<td>escapes the characters in a String using Java String rules</td>
</tr>
<tr>
<td><code>$esc.javascript(</code>&nbsp;<em>string</em>&nbsp;<code>)</code></td>
<td>escapes the characters in a String using JavaScript String rules</td>
</tr>
<tr>
<td><code>$esc.sql(</code>&nbsp;<em>string</em>&nbsp;<code>)</code></td>
<td>escapes the characters in a String to be suitable to pass to an SQL query</td>
</tr>
<tr>
<td><code>$esc.xml(</code>&nbsp;<em>string</em>&nbsp;<code>)</code></td>
<td>escapes the characters in a String using XML entities</td>
</tr>
<tr>
<td><code>$esc.propertyKey(</code>&nbsp;<em>string</em>&nbsp;<code>)</code></td>
<td>escapes the characters in a String using java.util.Properties rules for escaping keys</td>
</tr>
<tr>
<td><code>$esc.propertyValue(</code>&nbsp;<em>string</em>&nbsp;<code>)</code></td>
<td>escapes the characters in a String using java.util.Properties rules for escaping values</td>
</tr>
</tbody>
</table>
<h4 id="FieldTool"><a href="apidocs/org/apache/velocity/tools/generic/FieldTool.html"><strong>FieldTool</strong></a> - tool allowing easy access to public static fields in classes, such as string constants<a class="headerlink" href="#FieldTool" title="Permanent link">&para;</a></h4>
<table class="table">
<thead>
<tr>
<th><strong><code>$field</code></strong></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>config.include</code> [&nbsp;=&nbsp;<code>null</code>&nbsp;]</td>
<td>coma-separated list of class names to include at initialization</td>
</tr>
<tr>
<td><code>config.storeDynamicLookups</code> [&nbsp;=&nbsp;<code>true</code>&nbsp;]</td>
<td>whether to keep fields of inspected classes</td>
</tr>
<tr>
<td><code>$field.get(</code>&nbsp;<em>string</em>&nbsp;<code>)</code></td>
<td>returns the value of the field with the specified name, if found</td>
</tr>
<tr>
<td><code>$fields.in(</code>&nbsp;<em>class/object/string</em>&nbsp;<code>)</code></td>
<td>loads all public static fields in the specified class or object</td>
</tr>
</tbody>
</table>
<h4 id="LinkTool"><a href="apidocs/org/apache/velocity/tools/generic/LinkTool.html"><strong>LinkTool</strong></a> - tool used to format hyperlinks ; this tool is somewhat unusual in that every method that takes parameters will return a new instance of the tool that is a copy of the one the method was called upon, with the additional change specified by the method call, allowing for chained calls like <code>href="$link.relative('foobar.html').param('id','25').anchor('section4')"</code> (which would produce <code>href="foobar.html?id=25#section4"</code>)<a class="headerlink" href="#LinkTool" title="Permanent link">&para;</a></h4>
<table class="table">
<thead>
<tr>
<th><strong><code>$link</code></strong></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>config.uri</code> [&nbsp;=&nbsp;<code>null</code>&nbsp;]</td>
<td>sets the default scheme, user info, host, port, path, query, and anchor elements all at once</td>
</tr>
<tr>
<td><code>config.scheme</code> [&nbsp;=&nbsp;<code>"http"</code>&nbsp;]</td>
<td>sets the default scheme (<code>http</code>, <code>https</code>, <code>mailto</code>, ...)</td>
</tr>
<tr>
<td><code>config.info</code> [&nbsp;=&nbsp;<code>null</code>&nbsp;]</td>
<td>sets the default user info</td>
</tr>
<tr>
<td><code>config.host</code> [&nbsp;=&nbsp;<code>null</code>&nbsp;]</td>
<td>sets the default host</td>
</tr>
<tr>
<td><code>config.port</code> [&nbsp;=&nbsp;<code>null</code>&nbsp;]</td>
<td>sets the default port</td>
</tr>
<tr>
<td><code>config.requestPath</code> [&nbsp;=&nbsp;<code>null</code>&nbsp;]</td>
<td>sets the default path</td>
</tr>
<tr>
<td><code>config.params</code> [&nbsp;=&nbsp;<code>null</code>&nbsp;]</td>
<td>sets the defaut query parameters</td>
</tr>
<tr>
<td><code>config.anchor</code> [&nbsp;=&nbsp;<code>null</code>&nbsp;]</td>
<td>sets the defaut anchor</td>
</tr>
<tr>
<td><code>config.charset</code> [&nbsp;=&nbsp;<code>"UTF-8"</code>&nbsp;]</td>
<td>sets the defaut charset</td>
</tr>
<tr>
<td><code>config.xhtml</code> [&nbsp;=&nbsp;<code>true</code>&nbsp;]</td>
<td>if <code>true</code>, uses <code>&amp;amp;</code> as query delimiter, otherwise uses <code>&amp;</code></td>
</tr>
<tr>
<td><code>config.appendParameters</code> [&nbsp;=&nbsp;<code>true</code>&nbsp;]</td>
<td>sets whether or not the <code>#setParam()</code> method will override existing query values (<code>false</code>) for the same key or simply append the new value to a list of existing values (<code>true</code>)</td>
</tr>
<tr>
<td><code>config.forceRelative</code> [&nbsp;=&nbsp;<code>false</code>&nbsp;]</td>
<td>sets whether or not the <code>#createURI()</code> method should ignore the scheme, user, port and host values for non-opaque URIs, thus making <code>#toString</code> print the link as a relative one, not an absolute one ;  NOTE: using <code>#absolute()</code> or <code>#relative()</code> will alter this setting accordingly on the new instances they return</td>
</tr>
<tr>
<td><code>$link.anchor</code></td>
<td>returns the anchor set for this link</td>
</tr>
<tr>
<td><code>$link.path</code></td>
<td>returns the path currently set for this link</td>
</tr>
<tr>
<td><code>$link.params</code></td>
<td>returns the query data set for this link</td>
</tr>
<tr>
<td><code>$link.contextURI</code></td>
<td>returns the URI that addresses this web application, e.g. http://myserver.net/myapp ; this string may not end with a "/"</td>
</tr>
<tr>
<td><code>$link.contextPath</code></td>
<td>returns the context path that addresses this web application, e.g. /myapp ; this string starts with a "/" but does not end with a "/"</td>
</tr>
<tr>
<td><code>$link.requestPath</code></td>
<td>retrieves the path for the current request regardless of whether this is a direct request or an include by the <code>RequestDispatcher</code></td>
</tr>
<tr>
<td><code>$link.baseRef</code></td>
<td>returns the full URI of this template without any query data. e.g. <code>http://myserver.net/myapp/stuff/View.vm</code></td>
</tr>
<tr>
<td><code>$link.self</code></td>
<td>this method returns a new self-referencing <code>$link</code> for the current request (e.g. <code>/myapp/stuff/View.vm</code>) ; however, the behavior can be changed via toolbox configuration to use absolute URIs and/or add the current request parameters</td>
</tr>
<tr>
<td><code>$link.anchor(</code>&nbsp;<em>string</em>&nbsp;<code>)</code></td>
<td>returns a new <code>$link</code> with the addition of the specified anchor value</td>
</tr>
<tr>
<td><code>$link.path(</code>&nbsp;<em>string</em>&nbsp;<code>)</code></td>
<td>returns a new <code>$link</code> with the addition of the specified path value</td>
</tr>
<tr>
<td><code>$link.relative(</code>&nbsp;<em>string</em>&nbsp;<code>)</code></td>
<td>returns a new <code>$link</code> with the addition of the specified relative value</td>
</tr>
<tr>
<td><code>$link.absolute(</code>&nbsp;<em>string</em>&nbsp;<code>)</code></td>
<td>returns a new <code>$link</code> with the addition of the specified absolute value</td>
</tr>
<tr>
<td><code>$link.params(</code>&nbsp;<em>key</em>,&nbsp;<em>value</em>&nbsp;<code>)</code></td>
<td>returns a new $link with the addition of the specified parameter</td>
</tr>
<tr>
<td><code>$link.encode(</code>&nbsp;<em>string</em>&nbsp;<code>)</code></td>
<td>performs URL encoding on the specified text</td>
</tr>
<tr>
<td><code>$link</code></td>
<td>displays link</td>
</tr>
</tbody>
</table>
<h4 id="LogTool"><a href="apidocs/org/apache/velocity/tools/generic/LogTool.html"><strong>LogTool</strong></a> - tool to trigger logs from withing templates<a class="headerlink" href="#LogTool" title="Permanent link">&para;</a></h4>
<table class="table">
<thead>
<tr>
<th><strong><code>$log</code></strong></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>$log.trace(</code>&nbsp;<em>string</em>&nbsp;<code>)</code></td>
<td>emits a trace message</td>
</tr>
<tr>
<td><code>$log.debug(</code>&nbsp;<em>string</em>&nbsp;<code>)</code></td>
<td>emits a debug message</td>
</tr>
<tr>
<td><code>$log.info(</code>&nbsp;<em>string</em>&nbsp;<code>)</code></td>
<td>emits an info message</td>
</tr>
<tr>
<td><code>$log.warn(</code>&nbsp;<em>string</em>&nbsp;<code>)</code></td>
<td>emits a warning message</td>
</tr>
<tr>
<td><code>$log.error(</code>&nbsp;<em>string</em>&nbsp;<code>)</code></td>
<td>emits an error message</td>
</tr>
</tbody>
</table>
<h4 id="MathTool"><a href="apidocs/org/apache/velocity/tools/generic/MathTool.html"><strong>MathTool</strong></a> - tool providing math functions<a class="headerlink" href="#MathTool" title="Permanent link">&para;</a></h4>
<table class="table">
<thead>
<tr>
<th><strong><code>$math</code></strong></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>$math.add(</code>&nbsp;<em>object</em>,&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>returns the sum of the numbers or <code>null</code> if they are invalid</td>
</tr>
<tr>
<td><code>$math.sub(</code>&nbsp;<em>object</em>,&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>returns the difference of the numbers or <code>null</code> if they are invalid</td>
</tr>
<tr>
<td><code>$math.mul(</code>&nbsp;<em>object</em>,&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>returns the product of the numbers or <code>null</code> if they are invalid</td>
</tr>
<tr>
<td><code>$math.div(</code>&nbsp;<em>object</em>,&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>returns the quotient of the numbers or <code>null</code> if they are invalid</td>
</tr>
<tr>
<td><code>$math.pow(</code>&nbsp;<em>object</em>,&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>returns the first number raised to the power of the second or <code>null</code> if they are invalid</td>
</tr>
<tr>
<td><code>$math.idiv(</code>&nbsp;<em>object</em>,&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>returns the integer division of the numbers or <code>null</code> if they are invalid</td>
</tr>
<tr>
<td><code>$math.mod(</code>&nbsp;<em>object</em>,&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>returns the integer molulus operation on the numbers or <code>null</code> if they are invalid</td>
</tr>
<tr>
<td><code>$math.max(</code>&nbsp;<em>object</em>,&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>returns the largest of the numbers or <code>null</code> if they are invalid</td>
</tr>
<tr>
<td><code>$math.min(</code>&nbsp;<em>object</em>,&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>returns the smallest of the numbers or <code>null</code> if they are invalid</td>
</tr>
<tr>
<td><code>$math.abs(</code>&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>returns the absolute value of the number or <code>null</code> if it is invalid</td>
</tr>
<tr>
<td><code>$math.ceil(</code>&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>returns the smallest integer that is not less than the given number or <code>null</code> if it is invalid</td>
</tr>
<tr>
<td><code>$math.floor(</code>&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>returns the integer portion of the given number or <code>null</code> if it is invalid</td>
</tr>
<tr>
<td><code>$math.round(</code>&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>returns the given number rounded to the nearest whole Integer or null if it is invalid</td>
</tr>
<tr>
<td><code>$math.roundTo(</code>&nbsp;<em>object</em>,&nbsp;<em>decimals</em>&nbsp;<code>)</code></td>
<td>rounds a number to the specified number of decimal places</td>
</tr>
<tr>
<td><code>$math.random</code></td>
<td>returns a pseudo-random Double greater than or equal to 0.0 and less than 1.0</td>
</tr>
<tr>
<td><code>$math.random(</code>&nbsp;<em>lower</em>,&nbsp;<em>upper</em>&nbsp;<code>)</code></td>
<td>this returns a random Number within the specified range - the returned value will be greater than or equal to the first number and less than the second number - if both arguments are whole numbers then the returned number will also be, otherwise a double will be returned</td>
</tr>
<tr>
<td><code>$math.toInteger(</code>&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>converts an object with a numeric value into an <code>Integer</code> ; valid formats are <code>Number</code> or a string representation of a number</td>
</tr>
<tr>
<td><code>$math.toDouble(</code>&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>converts an object with a numeric value into a <code>Double</code> ; valid formats are <code>Number</code> or a string representation of a number</td>
</tr>
<tr>
<td><code>$math.toNumber(</code>&nbsp;<em>object</em> <code>)</code></td>
<td>converts an object with a numeric value into a <code>Number</code> ; valid formats are <code>Number</code> or a string representation of a number</td>
</tr>
</tbody>
</table>
<h4 id="NumberTool"><a href="apidocs/org/apache/velocity/tools/generic/NumberTool.html"><strong>NumberTool</strong></a> - tool used to format numbers<a class="headerlink" href="#NumberTool" title="Permanent link">&para;</a></h4>
<table class="table">
<thead>
<tr>
<th><strong><code>$number</code></strong></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>config.format</code> [&nbsp;=&nbsp;JVM Locale number format&nbsp;]</td>
<td>default number format (depends upon the default locale by default, '#0.0' for en_US locale, '#0,0' for fr_FR, ...)</td>
</tr>
<tr>
<td><code>config.locale</code> [&nbsp;=&nbsp;JVM Locale&nbsp;]</td>
<td>default locale</td>
</tr>
<tr>
<td><code>$number.format</code></td>
<td>returns or sets the pattern or style to be used for formatting numbers when none is specified</td>
</tr>
<tr>
<td><code>$number.locale</code></td>
<td>returns or sets the default locale</td>
</tr>
<tr>
<td><code>$number.format(</code>&nbsp;[ <em>format/style</em>,&nbsp;] <em>object</em> [ , <em>locale</em> &nbsp;]&nbsp;<code>)</code></td>
<td>formats the given number using the default or specified format or style, and the default or provided locale ; <em>style</em> is one of <code>currency</code>, <code>integer</code>, <code>number</code>, <code>percent</code></td>
</tr>
<tr>
<td><code>$number.currency(</code>&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>convenience method equivalent to <code>$number.format("currency", $foo)</code></td>
</tr>
<tr>
<td><code>$number.integer(</code>&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>convenience method equivalent to <code>$number.format("integer", $foo)</code></td>
</tr>
<tr>
<td><code>$number.number(</code>&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>convenience method equivalent to <code>$number.format("number", $foo)</code></td>
</tr>
<tr>
<td><code>$number.percent(</code>&nbsp;<em>object</em>&nbsp;<code>)</code></td>
<td>convenience method equivalent to <code>$number.format("percent", $foo)</code></td>
</tr>
</tbody>
</table>
<h4 id="RenderTool"><a href="apidocs/org/apache/velocity/tools/generic/RenderTool.html"><strong>RenderTool</strong></a> - tool that exposes methods to evaluate the given strings as VTL (Velocity Template Language) using either a pre-configured context or one you provide directly<a class="headerlink" href="#RenderTool" title="Permanent link">&para;</a></h4>
<table class="table">
<thead>
<tr>
<th><strong><code>$render</code></strong></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>config.parse.depth</code> [&nbsp;=&nbsp;<code>20</code>&nbsp;]</td>
<td>default depth for recursive evaluation</td>
</tr>
<tr>
<td><code>config.catch.exceptions</code> [&nbsp;=&nbsp;<code>true</code>&nbsp;]</td>
<td>whether to catch exceptions during rendering</td>
</tr>
<tr>
<td><code>config.forceThreadSafe</code> [&nbsp;=&nbsp;<code>true</code>&nbsp;]</td>
<td>whether to force a thread-safe evaluation</td>
</tr>
<tr>
<td><code>$render.eval(</code>&nbsp;<em>string</em>&nbsp;<code>)</code></td>
<td>evaluates a String containing VTL using the current context, and returns the result as a String</td>
</tr>
<tr>
<td><code>$render.recurse(</code>&nbsp;<em>string</em>&nbsp;<code>)</code></td>
<td>recursively evaluates a String containing VTL using the current context, and returns the result as a String</td>
</tr>
</tbody>
</table>
<h4 id="SortTool"><a href="apidocs/org/apache/velocity/tools/generic/SortTool.html"><strong>SortTool</strong></a> - tool used to sort collections<a class="headerlink" href="#SortTool" title="Permanent link">&para;</a></h4>
<table class="table">
<thead>
<tr>
<th><strong><code>$sort</code></strong></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>$sorter.sort(</code>&nbsp;<em>collection</em> [ , <em>property  / property list</em>&nbsp;]&nbsp;<code>)</code></td>
<td>sorts the values of the specified <code>Collection</code>, <code>Map</code>, or array of <code>Objects</code>, either by their natural order or  according to the values returned by the specified property or list of properties</td>
</tr>
</tbody>
</table>
<h4 id="ResourceTool"><a href="apidocs/org/apache/velocity/tools/generic/ResourceTool.html"><strong>ResourceTool</strong></a> - tool for accessing ResourceBundles and formatting messages therein ;  most methods return a new object that has mostly the same methods as the original, allowing you to build up parameters elegantly and simply, rather than try to remember how to use methods with many parameters that must be in a specific order: so, you can access a resource with the key <code>'hello.whoever'</code> in the <code>'otherStuff'</code> bundle with one message argument like this: <code>$text.hello.whoever.bundle('otherStuff').insert('World')</code> instead of like this: <code>$text.get('hello.whoever','otherStuff', $null, 'World')</code><a class="headerlink" href="#ResourceTool" title="Permanent link">&para;</a></h4>
<table class="table">
<thead>
<tr>
<th><strong><code>$text</code></strong></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>config.defaultBundle</code> [&nbsp;=&nbsp;<code>null</code>&nbsp;]</td>
<td>default (unique) bundle</td>
</tr>
<tr>
<td><code>config.bundles</code></td>
<td>coma-separated list of bundles (the first one being used as the default)</td>
</tr>
<tr>
<td><code>config.locale</code> [&nbsp;=&nbsp;JVM Locale&nbsp;]</td>
<td>current locale</td>
</tr>
<tr>
<td><code>config.defaultLocale</code> [&nbsp;=&nbsp;JVM Locale&nbsp;]</td>
<td>default locale</td>
</tr>
<tr>
<td><code>$text.</code><em>key</em></td>
<td>returns the resource with the specified name, if it exists</td>
</tr>
<tr>
<td><code>$text.</code><em>prefix</em><code>.keys</code></td>
<td>returns a list of the available keys starting with the given prefix</td>
</tr>
<tr>
<td><code>$text.</code><em>key</em><code>.bundle(</code>&nbsp;<em>bundle</em>&nbsp;<code>)</code></td>
<td>returns the resource with the specified name in the specified bundle, if it exists</td>
</tr>
<tr>
<td><code>$text.</code><em>key</em><code>.locale(</code>&nbsp;<em>locale</em>&nbsp;<code>)</code></td>
<td>returns a new $text that will try to find the resource with the specified name for the specified locale</td>
</tr>
<tr>
<td><code>$text.</code><em>key</em><code>.insert(</code>&nbsp;<em>value</em> [ , <em>value</em> ...&nbsp;]&nbsp;<code>)</code></td>
<td>returns the named resource with the specified values inserted</td>
</tr>
<tr>
<td><code>$text.locale</code></td>
<td>returns or sets the current locale</td>
</tr>
</tbody>
</table>
<h4 id="XmlTool"><a href="apidocs/org/apache/velocity/tools/generic/XmlTool.html"><strong>XmlTool</strong></a> - tool used for reading/navigating XML files; this uses dom4j under the covers to provide complete XPath support for traversing XML files<a class="headerlink" href="#XmlTool" title="Permanent link">&para;</a></h4>
<table class="table">
<thead>
<tr>
<th><strong><code>$xml</code></strong></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>config.file</code></td>
<td>target XML file</td>
</tr>
<tr>
<td><code>$xml.attr(</code>&nbsp;<em>string</em>&nbsp;<code>)</code></td>
<td>returns the value of the specified attribute for the first/sole Node in the internal Node list for this instance, if that Node is an Element; if it is a non-Element node type or there is no value for that attribute in this element, then this will return <code>null</code></td>
</tr>
<tr>
<td><code>$xml.attributes()</code></td>
<td>returns a Map of all attributes for the first/sole Node held internally by this instance; if that Node is not an Element, this will return <code>null</code></td>
</tr>
<tr>
<td><code>$xml.children()</code></td>
<td>returns a new XmlTool instance that wraps all the child Elements of all the current internally held nodes that are Elements themselves</td>
</tr>
<tr>
<td><code>$xml.find(</code>&nbsp;<em>xpath</em>&nbsp;<code>)</code></td>
<td>performs an XPath selection on the current set of Nodes held by this instance and returns a new instance that wraps those results; if the specified value is <code>null</code> or this instance does not currently hold any nodes, then this will return <code>null</code>; if the specified value, when converted to a string, does not contain a '/' character, then it has "//" prepended to it; this means that a call to <code>$xml.find("a")</code> is equivalent to calling <code>$xml.find("//a")</code>; the full range of XPath selectors is supported here</td>
</tr>
<tr>
<td><code>$xml.first</code></td>
<td>returns a new instance that wraps only the first Node from this instance's internal Node list</td>
</tr>
<tr>
<td><code>$xml.last</code></td>
<td>returns a new instance that wraps only the last Node from this instance's internal Node list</td>
</tr>
<tr>
<td><code>$xml.name</code></td>
<td>asks <code>get(Object)</code> for "name"; if none, this will return the result of <code>getNodeName()</code></td>
</tr>
<tr>
<td><code>$xml.nodeName</code></td>
<td>returns the name of the root node; if the internal Node list has more than one Node, it will only return the name of the first node in the list</td>
</tr>
<tr>
<td><code>$xml.parent</code></td>
<td>returns a new XmlTool instance that wraps the parent Element of the first/sole Node being wrapped by this instance</td>
</tr>
<tr>
<td><code>$xml.path</code></td>
<td>returns the XPath that identifies the first/sole Node represented by this instance</td>
</tr>
<tr>
<td><code>$xml.text</code></td>
<td>returns the concatenated text content of all the internally held nodes; obviously, this is most useful when only one node is held</td>
</tr>
<tr>
<td><code>$xml.get(</code>&nbsp;<em>number</em>&nbsp;<code>)</code></td>
<td>returns a new instance that wraps the specified Node from this instance's internal Node list</td>
</tr>
<tr>
<td><code>$xml.</code><em>name</em>, <code>$xml.get(</code>&nbsp;<em>string</em>&nbsp;<code>)</code></td>
<td>this will first attempt to find an attribute with the specified name and return its value; if no such attribute exists or its value is <code>null</code>, this will attempt to convert the given value to a Number and get the result of <code>get(Number)</code>; if the number conversion fails, then this will convert the object to a string; if that string does not start contain a '/', it appends the result of <code>getPath()</code> and a '/' to the front of it; finally, it delegates the string to the <code>find(String)</code> method and returns the result of that</td>
</tr>
<tr>
<td><code>$xml.empty</code></td>
<td>returns <code>true</code> if there are no Nodes internally held by this instance</td>
</tr>
<tr>
<td><code>$xml.iterator()</code></td>
<td>returns an Iterator that returns new XmlTool instances for each Node held internally by this instance; this allows VTL like <code>#foreach($node in $xml)...#end</code></td>
</tr>
<tr>
<td><code>$xml.node()</code></td>
<td>returns the first/sole Node from this instance's internal Node list, if any</td>
</tr>
<tr>
<td><code>$xml.parents()</code></td>
<td>returns a new XmlTool instance that wraps the parent Elements of each of the Nodes being wrapped by this instance; this does not return all ancestors, just the immediate parents</td>
</tr>
<tr>
<td><code>$xml.parse(</code>&nbsp;<em>string</em>&nbsp;<code>)</code></td>
<td>accepts XML strings. If the XML is valid, it will return a new XmlTool instance with the XML's root as its internal node</td>
</tr>
<tr>
<td><code>$xml.read(</code>&nbsp;<em>filename/URL</em>&nbsp;<code>)</code></td>
<td>returns <code>null</code> if safe mode is on; otherwise this will accept url pointing to an XML document; it will then parse that document and return a new instance with that document's root element as its node</td>
</tr>
<tr>
<td><code>$xml.size()</code>=</td>
<td>returns the number of Nodes internally held by this instance</td>
</tr>
<tr>
<td><code>$xml</code></td>
<td>if this instance has no XML Nodes, then this returns the result of super.toString(); otherwise, it returns the XML (as a string) of all the internally held nodes that are not Attributes; for attributes, only the value is used</td>
</tr>
</tbody>
</table>
<h3 id="view-tools_1">View Tools<a class="headerlink" href="#view-tools_1" title="Permanent link">&para;</a></h3>
<h4 id="BrowserTool"><a href="apidocs/org/apache/velocity/tools/view/BrowserTool.html"><strong>BrowserTool</strong></a> - browser-sniffing tool; it defines properties that are used to test the client browser, operating system, device, language... apart from properties related to browser version and language, all properties are booleans.<a class="headerlink" href="#BrowserTool" title="Permanent link">&para;</a></h4>
<table class="table">
<thead>
<tr>
<th><strong><code>$browser</code></strong></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>scope</strong></td>
<td>session</td>
</tr>
<tr>
<td><code>config.languagesFilter</code> [&nbsp;=&nbsp;<code>null</code>&nbsp;]</td>
<td>an optional coma-separated list of admissible languages in the webapp</td>
</tr>
<tr>
<td><code>$browser.languageFilter |</code>returns or sets the current languages filter</td>
<td></td>
</tr>
<tr>
<td><code>$browser.version</code></td>
<td>returns browser version</td>
</tr>
<tr>
<td><code>$browser.majorVersion</code></td>
<td>returns browser major version</td>
</tr>
<tr>
<td><code>$browser.minorVersion</code></td>
<td>returns browser minor version</td>
</tr>
<tr>
<td><code>$browser.geckoVersion</code></td>
<td>version of the Gecko rendering engine for browsers belonging to the Mozilla family</td>
</tr>
<tr>
<td><code>$browser.</code><em>browser</em></td>
<td>tests for the specified browser, among: <code>mosaic netscape nav2 nav3 nav4 nav4up nav45 nav45up nav6 nav6up navgold firefox safari ie ie3 ie4 ie4up ie5 ie5up ie55 ie55up ie6 ie6up ie7 ie7up ie8 ie8up opera opera3 opera4 opera5 opera6 opera7 opera8 opera9 lynx links w3m aol aol3 aol4 aol5 aol6 neoplanet neoplanet2 amaya icab avantgo emacs mozilla gecko webtv staroffice java hotjava httpclient lobo lotusnotes konqueror galeon kmeleon chrome</code></td>
</tr>
<tr>
<td><code>$browser.</code><em>OS</em></td>
<td>tests for the specified operating system, among: <code>win16 win3x win31 win95 win98 winnt windows win32 winme win2k winxp vista dotnet mac macosx mac68k macppc os2 unix sun sun4 sun5 suni86 irix irix5 irix6 hpux hpux9 hpux10 aix aix1 aix2 aix3 aix4 linux sco unixware mpras reliant dec sinix freebsd bsd vms x11 amiga</code></td>
</tr>
<tr>
<td><code>$browser</code>.<em>device</em></td>
<td>tests for the specified handled device, among: <code>palm audrey iopener wap blackberry</code></td>
</tr>
<tr>
<td><code>$browser.</code><em>feature</em></td>
<td>tests for the given feature, among: <code>javascript css css1 css2 dom0 dom1 dom2</code></td>
</tr>
<tr>
<td><code>$browser.robot</code></td>
<td>tests for special request is issued by a known robot</td>
</tr>
<tr>
<td><code>$browser</code>.<em>robot</em></td>
<td>tests for known robots: <code>wget getright yahoo altavista lycos infoseek lwp webcrawler linkexchange slurp google java</code></td>
</tr>
<tr>
<td><code>$browser.preferredLanguageTag</code></td>
<td>returns the browser's preferred langage tag (a string like 'en', 'da', 'en-US', ...), optionnaly affected by the languagesFilter configuration property</td>
</tr>
<tr>
<td><code>$browser.preferredLocale</code></td>
<td>returns the browser's preferred locale</td>
</tr>
</tbody>
</table>
<h4 id="ViewContextTool"><a href="apidocs/org/apache/velocity/tools/view/ViewContextTool.html"><strong>ViewContextTool</strong></a> - extension of the generic ContextTool that includes keys and values from the HttpServletRequest, HttpSession and ServletContext attributes; inherits all methods and properties from the generic <a href="#ContextTool"><code>ContextTool</code></a><a class="headerlink" href="#ViewContextTool" title="Permanent link">&para;</a></h4>
<table class="table">
<thead>
<tr>
<th><strong><code>$context</code></strong></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>scope</strong></td>
<td>request</td>
</tr>
</tbody>
</table>
<h4 id="CookieTool"><a href="apidocs/org/apache/velocity/tools/view/CookieTool.html"><strong>CookieTool</strong></a> - tool used to read and set cookies<a class="headerlink" href="#CookieTool" title="Permanent link">&para;</a></h4>
<table class="table">
<thead>
<tr>
<th><strong><code>$cookies</code></strong></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>scope</strong></td>
<td>request</td>
</tr>
<tr>
<td><code>$cookies.add(</code>&nbsp;<em>Cookie</em>&nbsp;<code>)</code></td>
<td>Adds the cookie to the current servlet response; this does NOT add it to the current request</td>
</tr>
<tr>
<td><code>$cookies.add(</code>&nbsp;<em>name</em>,&nbsp;<em>value</em> [ , <em>expiry time</em>&nbsp;]&nbsp;<code>)</code></td>
<td>adds a new Cookie with the specified name and value to the current servlet response; this does not add a Cookie to the current request</td>
</tr>
<tr>
<td><code>$cookies.create(</code>&nbsp;<em>name</em>,&nbsp;<em>value</em> [ , <em>expiry time</em>&nbsp;]&nbsp;<code>)</code></td>
<td>creates a new Cookie with the specified name and value; this does not add the Cookie to the response, so the created Cookie will not be set unless you do <code>$cookies.add($myCookie)</code></td>
</tr>
<tr>
<td><code>$cookies.delete(</code>&nbsp;<em>name</em>&nbsp;<code>)</code></td>
<td>instructs the browser to remove the specified cookie by setting it with a Max-Age of 0</td>
</tr>
<tr>
<td><code>$cookies.all</code></td>
<td>returns a list of Cookies for this request</td>
</tr>
<tr>
<td><code>$cookies.</code><em>name</em>, <code>$cookies.get(</code>&nbsp;<em>name</em>&nbsp;<code>)</code></td>
<td>returns the Cookie with the specified name, if it exists</td>
</tr>
<tr>
<td><code>$cookies</code></td>
<td>if there are no Cookies in the request, this returns the standard Object.toString output; otherwise, it returns a pretty printed list of cookie names and values</td>
</tr>
</tbody>
</table>
<h4 id="ImportTool"><a href="apidocs/org/apache/velocity/tools/view/ImportTool.html"><strong>ImportTool</strong></a> - general-purpose text-importing view tool for templates<a class="headerlink" href="#ImportTool" title="Permanent link">&para;</a></h4>
<table class="table">
<thead>
<tr>
<th><strong><code>$import</code></strong></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>scope</strong></td>
<td>request</td>
</tr>
<tr>
<td><code>$import.read(</code>&nbsp;<em>url</em>&nbsp;<code>)</code></td>
<td>returns the content read from the specified URL</td>
</tr>
</tbody>
</table>
<h4 id="IncludeTool"><a href="apidocs/org/apache/velocity/tools/view/IncludeTool.html"><strong>IncludeTool</strong></a> - tool allowing for transparent content negotiation in a manner mimicking Apache httpd's MultiViews; reads the default language out of the ViewToolContext as <code>org.apache.velocity.tools.view.i18n.defaultLanguage</code>; please note that it does NOT do the actual <code>#include</code> or <code>#parse</code> for you, but is merely to aid in include content negotiation<a class="headerlink" href="#IncludeTool" title="Permanent link">&para;</a></h4>
<table class="table">
<thead>
<tr>
<th><strong><code>$include</code></strong></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>scope</strong></td>
<td>request or session</td>
</tr>
<tr>
<td><code>config.org.apache.velocity.tools.view.i18n.defaultLanguage</code> [&nbsp;=&nbsp;JVM default&nbsp;]</td>
<td>this property is not searched directly in the provided tool's properties, but looked first at the Velocity context, then the servlet context, then lastly at the JVM default; this "narrow scope to wide scope" pattern makes it easy to setup language overrides at different levels within your application</td>
</tr>
<tr>
<td><code>$include.exists(</code>&nbsp;<em>name</em> [ , <em>locale</em>&nbsp;]&nbsp;<code>)</code></td>
<td>checks whether or not a resource is available with the specified name and, if provided, specified language suffix</td>
</tr>
<tr>
<td><code>$include.find(</code>&nbsp;<em>name</em> [ , <em>locale / language code</em>&nbsp;]&nbsp;<code>)</code></td>
<td>returns the localized name for the specified resource, with the specified Locales language suffix if specified; if one for that language is unavailable, then it will "widen" the language until one is found; if none is found at all, the name parameter is returned</td>
</tr>
</tbody>
</table>
<h4 id="LinkTool2"><a href="apidocs/org/apache/velocity/tools/view/LinkTool.html"><strong>LinkTool</strong></a> - tool used to format hyperlinks ; this tool is somewhat unusual in that every method that takes parameters will return a new instance of the tool that is a copy of the one the method was called upon, with the additional change specified by the method call, allowing for chained calls like <code>href="$link.relative('foobar.html').param('id','25').anchor('section4')"</code> (which would produce <code>href="foobar.html?id=25#section4"</code>); all methods and properties from the generic <a href="#LinkTool"><code>LinkTool</code></a> are inherited<a class="headerlink" href="#LinkTool2" title="Permanent link">&para;</a></h4>
<table class="table">
<thead>
<tr>
<th><strong><code>$link</code></strong></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>scope</strong></td>
<td>request</td>
</tr>
<tr>
<td><code>config.includeRequestParams</code> [&nbsp;=&nbsp;<code>false</code>&nbsp;]</td>
<td>controls whether or not this tool starts off with all parameters from the last request automatically</td>
</tr>
<tr>
<td><code>$link.includeRequestParams</code></td>
<td>returns or sets the includeRequestParams flag</td>
</tr>
<tr>
<td><code>$link.requestPath</code></td>
<td>returns the path for the current request, regardless of whether this is a direct request or an include by the RequestDispatcher</td>
</tr>
<tr>
<td><code>$link.addRequestParams(</code>&nbsp;[ <em>amongThisOne</em> [ , <em>andThisOne</em> ...&nbsp;]&nbsp;]&nbsp;<code>)</code></td>
<td>adds the specified parameters (if they exist) from the current request to the query data of a copy of this instance; if no parameters are specified, then all of the current request's parameters will be added</td>
</tr>
<tr>
<td><code>$link.addRequestParamsExcept(</code>&nbsp;[ <em>exceptThisOne</em> [ , <em>andThisOne</em> ...&nbsp;]&nbsp;]&nbsp;<code>)</code></td>
<td>adds all of the current request's parameters to this link's query data except for those whose keys match any of the specified strings</td>
</tr>
<tr>
<td><code>$link.addMissingRequestParams(</code>&nbsp;[ <em>exceptThisOne</em> [ , <em>andThisOne</em> ...&nbsp;]&nbsp;]&nbsp;<code>)</code></td>
<td>adds all of the current request's parameters to this link's query data except for those whose keys match any of the specified strings or already have a value set for them in the current instance</td>
</tr>
</tbody>
</table>
<h4 id="pagertool-tool-for-doing-request-based-pagination-of-items-in-an-a-list"><a href="apidocs/org/apache/velocity/tools/view/PagerTool.html"><strong>PagerTool</strong></a> - tool for doing request-based pagination of items in an a list<a class="headerlink" href="#pagertool-tool-for-doing-request-based-pagination-of-items-in-an-a-list" title="Permanent link">&para;</a></h4>
<table class="table">
<thead>
<tr>
<th><strong><code>$pager</code></strong></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>scope</strong></td>
<td>request</td>
</tr>
<tr>
<td><code>config.newItemsKey</code> [&nbsp;=&nbsp;<code>"new.items"</code>&nbsp;]</td>
<td>key name used to search for items in request attributes</td>
</tr>
<tr>
<td><code>config.indexKey</code> [&nbsp;=&nbsp;<code>"index"</code>&nbsp;]</td>
<td>key name used to search for current page index in request attributes</td>
</tr>
<tr>
<td><code>config.itemsPerPageKey</code> [&nbsp;=&nbsp;<code>"show"</code>&nbsp;]</td>
<td>key name used to search for the number of items to be shown per page in request attributes</td>
</tr>
<tr>
<td><code>config.slipSizeKey</code> [&nbsp;=&nbsp;<code>"slipSize"</code>&nbsp;]</td>
<td>key name used to search for the max number of page indices to show in request attributes</td>
</tr>
<tr>
<td><code>config.itemsPerPage</code> [&nbsp;=&nbsp;<code>10</code>&nbsp;]</td>
<td>number of items per page</td>
</tr>
<tr>
<td><code>config.slipsize</code> [&nbsp;=&nbsp;<code>20</code>&nbsp;]</td>
<td>maximum number of page indices to show</td>
</tr>
<tr>
<td><code>$pager.newItemsKey</code></td>
<td>returns or sets the key name used to search for items in request attributes</td>
</tr>
<tr>
<td><code>$pager.indexKey</code></td>
<td>returns or sets the key name used to search for the first index in the current page in request attributes</td>
</tr>
<tr>
<td><code>$pager.itemsPerPageKey</code></td>
<td>returns or sets the key name used to search for the number of items to be shown per page in request attributes</td>
</tr>
<tr>
<td><code>$pager.slipSizeKey</code></td>
<td>returns or sets the key name used to search for the max number of page indices to show in request attributes</td>
</tr>
<tr>
<td><code>$pager.items</code></td>
<td>returns or sets the current list of items</td>
</tr>
<tr>
<td><code>$pager.index</code></td>
<td>returns or sets the first index in the current page (differs from <code>$index.firstIndex</code> in that it is not adjusted to fit the reality of the items available)</td>
</tr>
<tr>
<td><code>$pager.itemsPerPage</code></td>
<td>returns or sets the number of items to show per page</td>
</tr>
<tr>
<td><code>$pager.slipSize</code></td>
<td>returns or sets the maximum number of page indices to show</td>
</tr>
<tr>
<td><code>$pager.hasItems()</code></td>
<td>checks whether or not the result list is empty</td>
</tr>
<tr>
<td><code>$pager.firstIndex</code></td>
<td>returns the first index in the current page (as determined by the current index, items per page, and the number of items; differs from <code>$index.index</code> in that it is adjusted to fit the reality of the items available)</td>
</tr>
<tr>
<td><code>$pager.lastIndex</code></td>
<td>returns the index of the last item on the current page of results (as determined by the current index, items per page, and the number of items)</td>
</tr>
<tr>
<td><code>$pager.prevIndex</code></td>
<td>return the index for the previous page of items (as determined by the current index, items per page, and the number of items)</td>
</tr>
<tr>
<td><code>$pager.nextIndex</code></td>
<td>returns the index for the next page of items (as determined by the current index, items per page, and the number of items)</td>
</tr>
<tr>
<td><code>$pager.page</code></td>
<td>returns the current page of search items</td>
</tr>
<tr>
<td><code>$pager.pageDescription</code></td>
<td>returns a description of the current page ("1 of <em>n</em>")</td>
</tr>
<tr>
<td><code>$pager.pageNumber</code></td>
<td>returns the page number for the current index</td>
</tr>
<tr>
<td><code>$pager.pageNumber(</code>&nbsp;<em>integer</em>&nbsp;<code>)</code></td>
<td>returns the page number for the specified index</td>
</tr>
<tr>
<td><code>$pager.pagesAvailable</code></td>
<td>returns the number of pages that can be made from this list given the set number of items per page</td>
</tr>
<tr>
<td><code>$pager.total</code></td>
<td>returns the total number of items available</td>
</tr>
<tr>
<td><code>$pager.slip</code></td>
<td>returns a Sliding List of Indices for Pages of items</td>
</tr>
</tbody>
</table>
<h4 id="ParameterTool"><a href="apidocs/org/apache/velocity/tools/view/ParameterTool.html"><strong>ParameterTool</strong></a> - tool used to parse request parameters<a class="headerlink" href="#ParameterTool" title="Permanent link">&para;</a></h4>
<table class="table">
<thead>
<tr>
<th><strong><code>$params</code></strong></th>
<th>1</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>scope</strong></td>
<td>request</td>
</tr>
<tr>
<td><code>config.stringsDelimiter</code> [&nbsp;=&nbsp;<em>&lt;empty string&gt;</em>&nbsp;]</td>
<td>String which is used by the <code>getStrings()</code> method to split input strings - no splitting occurs if empty (the default value is <code>','</code> in the base class, <code>org.apache.velocity.toos.generic.ValueParser</code>).</td>
</tr>
<tr>
<td><code>$params.exists(</code>&nbsp;<em>name</em>&nbsp;<code>)</code></td>
<td>checks whether given request parameter exists</td>
</tr>
<tr>
<td><code>$params.</code><em>name</em>, <code>$params.get(</code>&nbsp;<em>name</em>&nbsp;<code>)</code>, <code>$params.getString(</code>&nbsp;<em>name</em> [ , <em>alternate</em>&nbsp;]&nbsp;<code>)</code></td>
<td>returns the parameter with the specified key as a string, if it exists; otherwise, returns the specified alternate value if specified</td>
</tr>
<tr>
<td><code>$params.getBoolean(</code>&nbsp;<em>name</em> [ , <em>alternate</em>&nbsp;]&nbsp;<code>)</code></td>
<td>returns the parameter with the specified key as a java.lang.Boolean, if it exists; otherwise, returns the specified alternate Boolean if specified</td>
</tr>
<tr>
<td><code>$params.getNumber(</code>&nbsp;<em>name</em> [ , <em>alternate</em>&nbsp;]&nbsp;<code>)</code></td>
<td>returns the parameter with the specified key as a java.lang.Number, if it exists; otherwise, returns the specified alternate Number if specified</td>
</tr>
<tr>
<td><code>$params.getDouble(</code>&nbsp;<em>name</em> [ , <em>alternate</em>&nbsp;]&nbsp;<code>)</code></td>
<td>returns the parameter with the specified key as a java.lang.Double, if it exists; otherwise, returns the specified alternate Double if specified</td>
</tr>
<tr>
<td><code>$params.getInteger(</code>&nbsp;<em>name</em> [ , <em>alternate</em>&nbsp;]&nbsp;<code>)</code></td>
<td>returns the parameter with the specified key as a java.lang.Integer, if it exists; otherwise, returns the specified alternate Integer if specified</td>
</tr>
<tr>
<td><code>$params.getLocale(</code>&nbsp;<em>name</em> [ , <em>alternate</em>&nbsp;]&nbsp;<code>)</code></td>
<td>returns the parameter with the specified key as a java.util.Locale, if it exists; otherwise, returns the specified alternate Locale if specified</td>
</tr>
<tr>
<td><code>$params.getStrings(</code>&nbsp;<em>name</em>&nbsp;<code>)</code></td>
<td>returns the parameter(s) with the specified key in an array of strings, if any exist; otherwise, returns <code>null</code></td>
</tr>
<tr>
<td><code>$params.getBooleans(</code>&nbsp;<em>name</em>&nbsp;<code>)</code></td>
<td>returns the parameter(s) with the specified key in an array of java.lang.Boolean, if any exist; otherwise, returns <code>null</code></td>
</tr>
<tr>
<td><code>$params.getNumbers(</code>&nbsp;<em>name</em>&nbsp;<code>)</code></td>
<td>returns the parameter(s) with the specified key in an array of java.lang.Number, if any exist; otherwise, returns <code>null</code></td>
</tr>
<tr>
<td><code>$params.getDoubles(</code>&nbsp;<em>name</em>&nbsp;<code>)</code></td>
<td>returns the parameter(s) with the specified key in an array of java.lang.Doubles, if any exist; otherwise, returns <code>null</code></td>
</tr>
<tr>
<td><code>$params.getIntegers(</code>&nbsp;<em>name</em>&nbsp;<code>)</code></td>
<td>returns the parameter(s) with the specified key in an array of java.lang.Integers, if any exist; otherwise, returns <code>null</code></td>
</tr>
<tr>
<td><code>$params.all</code></td>
<td>returns the map of all parameters available for the current request</td>
</tr>
</tbody>
</table>
<h4 id="AbstractSearchTool"><a href="apidocs/org/apache/velocity/tools/view/AbstractSearchTool.html"><strong>AbstractSearchTool</strong></a> - this tool is meant to be extended by a class defining the <code>protected List executeQuery(Object crit)</code> Java method; it allows doing "searching" and robust pagination of search results; the goal here is to provide a simple and uniform API for "search tools" that can be used in velocity templates (or even a standard Search.vm template); in particular, this class provides good support for result pagination and some very simple result caching; also check inherited configuration and properties from <a href="#PagerTool">PagerTool</a><a class="headerlink" href="#AbstractSearchTool" title="Permanent link">&para;</a></h4>
<table class="table">
<thead>
<tr>
<th><strong><code>$search</code></strong></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>scope</strong></td>
<td>request</td>
</tr>
<tr>
<td><code>config.criteriaKey</code> [&nbsp;=&nbsp;<code>"find"</code>&nbsp;]</td>
<td>search criteria key which is looked up in request parameters</td>
</tr>
<tr>
<td><code>$search.criteriaKey</code></td>
<td>get or set the criteria key which is looked up in request parameters</td>
</tr>
<tr>
<td><code>$search.criteria</code></td>
<td>returns or sets the current search criteria</td>
</tr>
<tr>
<td><code>$search.reset()</code></td>
<td>resets the search criteria</td>
</tr>
<tr>
<td><code>$search.storedItems</code></td>
<td>return selected items if valid, otherwise <code>null</code></td>
</tr>
</tbody>
</table></div></div>
        <hr/>
        <div id="copyright">
          Copyright &#169; 2020 The Apache Software Foundation, Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br/>Apache and the Apache feather logo are trademarks of The Apache Software Foundation.
        </div>
      </div>
    </div>
  </body>
</html>
