KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > commons > el > RelationalOperator


1 /*
2  * The Apache Software License, Version 1.1
3  *
4  * Copyright (c) 1999 The Apache Software Foundation. All rights
5  * reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  *
11  * 1. Redistributions of source code must retain the above copyright
12  * notice, this list of conditions and the following disclaimer.
13  *
14  * 2. Redistributions in binary form must reproduce the above copyright
15  * notice, this list of conditions and the following disclaimer in
16  * the documentation and/or other materials provided with the
17  * distribution.
18  *
19  * 3. The end-user documentation included with the redistribution, if
20  * any, must include the following acknowlegement:
21  * "This product includes software developed by the
22  * Apache Software Foundation (http://www.apache.org/)."
23  * Alternately, this acknowlegement may appear in the software itself,
24  * if and wherever such third-party acknowlegements normally appear.
25  *
26  * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
27  * Foundation" must not be used to endorse or promote products derived
28  * from this software without prior written permission. For written
29  * permission, please contact apache@apache.org.
30  *
31  * 5. Products derived from this software may not be called "Apache"
32  * nor may "Apache" appear in their names without prior written
33  * permission of the Apache Group.
34  *
35  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
36  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
37  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
38  * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
39  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
40  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
41  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
42  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
43  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
44  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
45  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
46  * SUCH DAMAGE.
47  * ====================================================================
48  *
49  * This software consists of voluntary contributions made by many
50  * individuals on behalf of the Apache Software Foundation. For more
51  * information on the Apache Software Foundation, please see
52  * <http://www.apache.org/>.
53  *
54  */

55
56 package org.apache.commons.el;
57
58 import javax.servlet.jsp.el.ELException JavaDoc;
59 import java.math.BigDecimal JavaDoc;
60 import java.math.BigInteger JavaDoc;
61
62 /**
63  *
64  * <p>This is the superclass for all relational operators (except ==
65  * or !=)
66  *
67  * @author Nathan Abramson - Art Technology Group
68  * @version $Change: 181177 $$DateTime: 2001/06/26 08:45:09 $$Author: luehe $
69  **/

70
71 public abstract class RelationalOperator
72   extends BinaryOperator
73 {
74
75   //-------------------------------------
76
/**
77    *
78    * Applies the operator to the given value
79    **/

80   public Object JavaDoc apply (Object JavaDoc pLeft,
81                Object JavaDoc pRight,
82                Logger pLogger)
83     throws ELException JavaDoc
84   {
85     return Coercions.applyRelationalOperator (pLeft, pRight, this, pLogger);
86   }
87
88   //-------------------------------------
89
/**
90    *
91    * Applies the operator to the given double values
92    **/

93   public abstract boolean apply (double pLeft,
94                  double pRight
95                                  );
96   
97   //-------------------------------------
98
/**
99    *
100    * Applies the operator to the given long values
101    **/

102   public abstract boolean apply (long pLeft,
103                  long pRight
104                                  );
105   
106   //-------------------------------------
107
/**
108    *
109    * Applies the operator to the given String values
110    **/

111   public abstract boolean apply (String JavaDoc pLeft,
112                  String JavaDoc pRight
113                                  );
114
115   //-------------------------------------
116

117
118     /**
119      * Applies the operator to the given BigDecimal values, returning a BigDecimal
120      **/

121     public abstract boolean apply(BigDecimal JavaDoc pLeft, BigDecimal JavaDoc pRight);
122
123     //-------------------------------------
124

125     /**
126      * Applies the operator to the given BigDecimal values, returning a BigDecimal
127      **/

128     public abstract boolean apply(BigInteger JavaDoc pLeft, BigInteger JavaDoc pRight);
129
130     //-------------------------------------
131

132
133     /**
134      * Test return value of BigInteger/BigDecimal A.compareTo(B).
135      * @param val - result of BigInteger/BigDecimal compareTo() call
136      * @return - true if result is less than 0, otherwise false
137      */

138     protected boolean isLess(int val) {
139         if (val < 0)
140             return true;
141         else
142             return false;
143     }
144
145     /**
146      * Test return value of BigInteger/BigDecimal A.compareTo(B).
147      * @param val - result of BigInteger/BigDecimal compareTo() call
148      * @return - true if result is equal to 0, otherwise false
149      */

150     protected boolean isEqual(int val) {
151         if (val == 0)
152             return true;
153         else
154             return false;
155     }
156
157     /**
158      * Test return value of BigInteger/BigDecimal A.compareTo(B).
159      * @param val - result of BigInteger/BigDecimal compareTo() call
160      * @return - true if result is greater than 0, otherwise false
161      */

162     protected boolean isGreater(int val) {
163         if (val > 0)
164             return true;
165         else
166             return false;
167     }
168 }
169
Popular Tags