<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<title>ASTModNode xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../../apidocs/org/apache/velocity/runtime/parser/node/ASTModNode.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <strong class="jxr_keyword">package</strong> org.apache.velocity.runtime.parser.node;
<a name="2" href="#2">2</a>   
<a name="3" href="#3">3</a>   <em class="jxr_comment">/*</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> * or more contributor license agreements.  See the NOTICE file</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> * distributed with this work for additional information</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> * regarding copyright ownership.  The ASF licenses this file</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> * to you under the Apache License, Version 2.0 (the</em>
<a name="9" href="#9">9</a>   <em class="jxr_comment"> * "License"); you may not use this file except in compliance</em>
<a name="10" href="#10">10</a>  <em class="jxr_comment"> * with the License.  You may obtain a copy of the License at</em>
<a name="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> *   <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> *</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing,</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> * software distributed under the License is distributed on an</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a name="17" href="#17">17</a>  <em class="jxr_comment"> * KIND, either express or implied.  See the License for the</em>
<a name="18" href="#18">18</a>  <em class="jxr_comment"> * specific language governing permissions and limitations</em>
<a name="19" href="#19">19</a>  <em class="jxr_comment"> * under the License.    </em>
<a name="20" href="#20">20</a>  <em class="jxr_comment"> */</em>
<a name="21" href="#21">21</a>  
<a name="22" href="#22">22</a>  <em class="jxr_javadoccomment">/**</em>
<a name="23" href="#23">23</a>  <em class="jxr_javadoccomment"> * Handles modulus division&lt;br&gt;&lt;br&gt;</em>
<a name="24" href="#24">24</a>  <em class="jxr_javadoccomment"> *</em>
<a name="25" href="#25">25</a>  <em class="jxr_javadoccomment"> * Please look at the Parser.jjt file which is</em>
<a name="26" href="#26">26</a>  <em class="jxr_javadoccomment"> * what controls the generation of this class.</em>
<a name="27" href="#27">27</a>  <em class="jxr_javadoccomment"> *</em>
<a name="28" href="#28">28</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:wglass@forio.com" target="alexandria_uri">mailto:wglass@forio.com</a>"&gt;Will Glass-Husain&lt;/a&gt;</em>
<a name="29" href="#29">29</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:pero@antaramusic.de" target="alexandria_uri">mailto:pero@antaramusic.de</a>"&gt;Peter Romianowski&lt;/a&gt;</em>
<a name="30" href="#30">30</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:geirm@optonline.net" target="alexandria_uri">mailto:geirm@optonline.net</a>"&gt;Geir Magnusson Jr.&lt;/a&gt;</em>
<a name="31" href="#31">31</a>  <em class="jxr_javadoccomment"> * @version $Id: ASTModNode.java 463298 2006-10-12 16:10:32Z henning $</em>
<a name="32" href="#32">32</a>  <em class="jxr_javadoccomment"> */</em>
<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.context.InternalContextAdapter;
<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.exception.MethodInvocationException;
<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.runtime.parser.Parser;
<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.runtime.parser.ParserVisitor;
<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.velocity.util.TemplateNumber;
<a name="38" href="#38">38</a>  
<a name="39" href="#39">39</a>  <em class="jxr_javadoccomment">/**</em>
<a name="40" href="#40">40</a>  <em class="jxr_javadoccomment"> *</em>
<a name="41" href="#41">41</a>  <em class="jxr_javadoccomment"> */</em>
<a name="42" href="#42">42</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/velocity/runtime/parser/node/ASTModNode.html">ASTModNode</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../../org/apache/velocity/runtime/parser/node/SimpleNode.html">SimpleNode</a>
<a name="43" href="#43">43</a>  {
<a name="44" href="#44">44</a>      <em class="jxr_javadoccomment">/**</em>
<a name="45" href="#45">45</a>  <em class="jxr_javadoccomment">     * @param id</em>
<a name="46" href="#46">46</a>  <em class="jxr_javadoccomment">     */</em>
<a name="47" href="#47">47</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/velocity/runtime/parser/node/ASTModNode.html">ASTModNode</a>(<strong class="jxr_keyword">int</strong> id)
<a name="48" href="#48">48</a>      {
<a name="49" href="#49">49</a>          <strong class="jxr_keyword">super</strong>(id);
<a name="50" href="#50">50</a>      }
<a name="51" href="#51">51</a>  
<a name="52" href="#52">52</a>      <em class="jxr_javadoccomment">/**</em>
<a name="53" href="#53">53</a>  <em class="jxr_javadoccomment">     * @param p</em>
<a name="54" href="#54">54</a>  <em class="jxr_javadoccomment">     * @param id</em>
<a name="55" href="#55">55</a>  <em class="jxr_javadoccomment">     */</em>
<a name="56" href="#56">56</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/velocity/runtime/parser/node/ASTModNode.html">ASTModNode</a>(<a href="../../../../../../org/apache/velocity/runtime/parser/Parser.html">Parser</a> p, <strong class="jxr_keyword">int</strong> id)
<a name="57" href="#57">57</a>      {
<a name="58" href="#58">58</a>          <strong class="jxr_keyword">super</strong>(p, id);
<a name="59" href="#59">59</a>      }
<a name="60" href="#60">60</a>  
<a name="61" href="#61">61</a>      <em class="jxr_javadoccomment">/**</em>
<a name="62" href="#62">62</a>  <em class="jxr_javadoccomment">     * @see org.apache.velocity.runtime.parser.node.SimpleNode#jjtAccept(org.apache.velocity.runtime.parser.ParserVisitor, java.lang.Object)</em>
<a name="63" href="#63">63</a>  <em class="jxr_javadoccomment">     */</em>
<a name="64" href="#64">64</a>      <strong class="jxr_keyword">public</strong> Object jjtAccept(<a href="../../../../../../org/apache/velocity/runtime/parser/ParserVisitor.html">ParserVisitor</a> visitor, Object data)
<a name="65" href="#65">65</a>      {
<a name="66" href="#66">66</a>          <strong class="jxr_keyword">return</strong> visitor.visit(<strong class="jxr_keyword">this</strong>, data);
<a name="67" href="#67">67</a>      }
<a name="68" href="#68">68</a>  
<a name="69" href="#69">69</a>      <em class="jxr_javadoccomment">/**</em>
<a name="70" href="#70">70</a>  <em class="jxr_javadoccomment">     * @see org.apache.velocity.runtime.parser.node.SimpleNode#value(org.apache.velocity.context.InternalContextAdapter)</em>
<a name="71" href="#71">71</a>  <em class="jxr_javadoccomment">     */</em>
<a name="72" href="#72">72</a>      <strong class="jxr_keyword">public</strong> Object value( InternalContextAdapter context)
<a name="73" href="#73">73</a>          <strong class="jxr_keyword">throws</strong> <a href="../../../../../../org/apache/velocity/exception/MethodInvocationException.html">MethodInvocationException</a>
<a name="74" href="#74">74</a>      {
<a name="75" href="#75">75</a>          <em class="jxr_comment">/*</em>
<a name="76" href="#76">76</a>  <em class="jxr_comment">         *  get the two args</em>
<a name="77" href="#77">77</a>  <em class="jxr_comment">         */</em>
<a name="78" href="#78">78</a>  
<a name="79" href="#79">79</a>          Object left = jjtGetChild(0).value( context );
<a name="80" href="#80">80</a>          Object right = jjtGetChild(1).value( context );
<a name="81" href="#81">81</a>  
<a name="82" href="#82">82</a>          <em class="jxr_comment">/*</em>
<a name="83" href="#83">83</a>  <em class="jxr_comment">         *  if either is null, lets log and bail</em>
<a name="84" href="#84">84</a>  <em class="jxr_comment">         */</em>
<a name="85" href="#85">85</a>  
<a name="86" href="#86">86</a>          <strong class="jxr_keyword">if</strong> (left == <strong class="jxr_keyword">null</strong> || right == <strong class="jxr_keyword">null</strong>)
<a name="87" href="#87">87</a>          {
<a name="88" href="#88">88</a>              log.error((left == <strong class="jxr_keyword">null</strong> ? <span class="jxr_string">"Left"</span> : <span class="jxr_string">"Right"</span>)
<a name="89" href="#89">89</a>                             + <span class="jxr_string">" side ("</span>
<a name="90" href="#90">90</a>                             + jjtGetChild( (left == <strong class="jxr_keyword">null</strong>? 0 : 1) ).literal()
<a name="91" href="#91">91</a>                             + <span class="jxr_string">") of modulus operation has null value."</span>
<a name="92" href="#92">92</a>                             + <span class="jxr_string">" Operation not possible. "</span>
<a name="93" href="#93">93</a>                             + context.getCurrentTemplateName() + <span class="jxr_string">" [line "</span> + getLine()
<a name="94" href="#94">94</a>                             + <span class="jxr_string">", column "</span> + getColumn() + <span class="jxr_string">"]"</span>);
<a name="95" href="#95">95</a>              <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="96" href="#96">96</a>          }
<a name="97" href="#97">97</a>  
<a name="98" href="#98">98</a>          <em class="jxr_comment">/*</em>
<a name="99" href="#99">99</a>  <em class="jxr_comment">         *  convert to Number if applicable</em>
<a name="100" href="#100">100</a> <em class="jxr_comment">         */</em>
<a name="101" href="#101">101</a>         <strong class="jxr_keyword">if</strong> (left instanceof TemplateNumber)
<a name="102" href="#102">102</a>         {
<a name="103" href="#103">103</a>            left = ( (TemplateNumber) left).getAsNumber();
<a name="104" href="#104">104</a>         }
<a name="105" href="#105">105</a>         <strong class="jxr_keyword">if</strong> (right instanceof TemplateNumber)
<a name="106" href="#106">106</a>         {
<a name="107" href="#107">107</a>            right = ( (TemplateNumber) right).getAsNumber();
<a name="108" href="#108">108</a>         }
<a name="109" href="#109">109</a> 
<a name="110" href="#110">110</a>         <em class="jxr_comment">/*</em>
<a name="111" href="#111">111</a> <em class="jxr_comment">         * Both values must be a number.</em>
<a name="112" href="#112">112</a> <em class="jxr_comment">         */</em>
<a name="113" href="#113">113</a>         <strong class="jxr_keyword">if</strong> ( ! (left instanceof Number) || ! (right instanceof Number) )
<a name="114" href="#114">114</a>         {
<a name="115" href="#115">115</a> 
<a name="116" href="#116">116</a>             log.error((!(left instanceof Number) ? <span class="jxr_string">"Left"</span> : <span class="jxr_string">"Right"</span>)
<a name="117" href="#117">117</a>                            + <span class="jxr_string">" side "</span>
<a name="118" href="#118">118</a>                            + <span class="jxr_string">" of modulus operation is not a Number. "</span>
<a name="119" href="#119">119</a>                            + context.getCurrentTemplateName() + <span class="jxr_string">" [line "</span> + getLine()
<a name="120" href="#120">120</a>                            + <span class="jxr_string">", column "</span> + getColumn() + <span class="jxr_string">"]"</span>);
<a name="121" href="#121">121</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="122" href="#122">122</a> 
<a name="123" href="#123">123</a>         }
<a name="124" href="#124">124</a> 
<a name="125" href="#125">125</a>         <em class="jxr_comment">/*</em>
<a name="126" href="#126">126</a> <em class="jxr_comment">         *  check for divide / modulo by 0</em>
<a name="127" href="#127">127</a> <em class="jxr_comment">         */</em>
<a name="128" href="#128">128</a>         <strong class="jxr_keyword">if</strong> ( MathUtils.isZero ( (Number) right ) )
<a name="129" href="#129">129</a>         {
<a name="130" href="#130">130</a> 
<a name="131" href="#131">131</a>             log.error(<span class="jxr_string">"Right side of modulus operation is zero. Must be non-zero. "</span>
<a name="132" href="#132">132</a>                            + context.getCurrentTemplateName() + <span class="jxr_string">" [line "</span> + getLine()
<a name="133" href="#133">133</a>                            + <span class="jxr_string">", column "</span> + getColumn() + <span class="jxr_string">"]"</span>);
<a name="134" href="#134">134</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="135" href="#135">135</a> 
<a name="136" href="#136">136</a>         }
<a name="137" href="#137">137</a> 
<a name="138" href="#138">138</a>         <strong class="jxr_keyword">return</strong> MathUtils.modulo ((Number)left, (Number)right);
<a name="139" href="#139">139</a> 
<a name="140" href="#140">140</a>     }
<a name="141" href="#141">141</a> }
<a name="142" href="#142">142</a> 
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

