/** * Copyright 1999-2009 The Pegadi Team * * Licensed 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. */ package org.pegadi.sqlsearch; /** * This is an abstract class representing a SearchTerm that is used for * comparing to some value. * * @author Eirik Bjorsnos <bjorsnos@underdusken.no> * @version $Revision$, $Date$ */ public abstract class ComparisonTerm extends SearchTerm { protected ComparisonTerm(Comparison comparison) { this.comparison = comparison; } public enum Comparison { EQ, GE, GT, LE, LT, NE; /** * Returns a string containing the SQL operator used in this comparison. * * @return a string representing the SQL comparison operator */ public String getOperator() { switch (this) { case EQ: return "="; case GE: return ">="; case GT: return ">"; case LE: return "<="; case LT: return "<"; case NE: return "!="; } return null; } } /** * The actual operator used in this comparison */ private final Comparison comparison; /** * Returns the actual operator used in this comparison. * * @return the operator type used in this comparison */ public Comparison getComparison() { return comparison; } }