KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > xquark > extractor > sql > SqlBinOpArithmetic


1 /*
2  * This file belongs to the XQuark distribution.
3  * Copyright (C) 2003 Universite de Versailles Saint-Quentin.
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307.
18  * You can also get it at http://www.gnu.org/licenses/lgpl.html
19  *
20  * For more information on this software, see http://www.xquark.org.
21  */

22
23 package org.xquark.extractor.sql;
24
25
26 public class SqlBinOpArithmetic extends SqlBinaryOperator
27 {
28
29     private static final String JavaDoc RCSRevision = "$Revision: 1.4 $";
30     private static final String JavaDoc RCSName = "$Name: $";
31
32     private int _operator;
33
34     /**
35     @param operator
36     @param leftOperand
37     @param rightOperand
38     @roseuid 3BD177D1014E
39      */

40     public SqlBinOpArithmetic(int operator, SqlExpression leftOperand, SqlExpression rightOperand)
41     {
42         super ( leftOperand, rightOperand );
43         setOperator ( operator ) ;
44     }
45
46     /**
47     @param operator
48     @param leftOperator
49     @param rightOperator
50     @roseuid 3BD177D1011C
51      */

52     public SqlBinOpArithmetic()
53     {
54
55     }
56
57     /**
58     Access method for the _operator property.
59     @return the current value of the _operator property
60     @roseuid 3BD177D102E8
61      */

62     public int getOperator()
63     {
64         return _operator;
65     }
66
67     /**
68     Sets the value of the _operator property.
69     @param aOperator the new value of the _operator property
70     @roseuid 3BD177D1031A
71      */

72     public void setOperator(int aOperator)
73     {
74         _operator = aOperator;
75     }
76
77     /**
78     @return String
79     @roseuid 3BD177D1039D
80      */

81     public String JavaDoc toSql(Context context)
82     {
83         //Trace.enter(this,"toSql(Context context)");
84
StringBuffer JavaDoc retVal = new StringBuffer JavaDoc();
85
86         String JavaDoc lOprnd , rOprnd ;
87
88         lOprnd = getLeftOperand().toSql(context) ;
89         rOprnd = getRightOperand().toSql(context) ;
90
91         int optr = getOperator () ;
92         if (optr == Constants.MODULO_ARITHMETICS)
93         {
94             retVal.append(ARITHMETICSSTRINGS [optr]);
95             retVal.append('(');
96             retVal.append(lOprnd);
97             retVal.append(',');
98             retVal.append(rOprnd);
99             retVal.append(')');
100         }
101         else
102         {
103             retVal.append("(");
104             retVal.append(lOprnd);
105             retVal.append(") ");
106             retVal.append(ARITHMETICSSTRINGS [optr]);
107             retVal.append(" (");
108             retVal.append(rOprnd);
109             retVal.append(")");
110         }
111
112         //Trace.exit(this,"toSql(Context context)", retVal);
113
return retVal.toString();
114     }
115 }
116
Popular Tags