/* * SQLElements object-oriented SQL parsing and generation library * * Copyright (c) 2003, 2004, 2005 Israfil Consulting Services Corporation * Copyright (c) 2003, 2004, 2005 Christian Edward Gruber * All Rights Reserved * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published * by the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY * OF SUCH DAMAGE. * * You should have received a copy of the GNU Lesser General Public License * along with this library; if not, please visit http://www.gnu.org/licenses/lgpl.html * * $Id: BinaryConstraint.java 16 2005-12-09 04:03:58Z cgruber $ */ package org.israfil.sqlelements.constraints; import org.israfil.sqlelements.render.SQLRenderContext; /** * A friendly parent for binary column constraints. * * @author Christian Edward Gruber * @author Latest: $Author: cgruber $ * @version $Revision: 16 $ */ public abstract class BinaryConstraint implements ComplexConstraint { protected Constraint leftOperand; protected Constraint rightOperand; protected String operatorText; protected BinaryConstraint(Constraint leftOperand,Constraint rightOperand, String operatorText) { this.leftOperand = leftOperand; this.rightOperand = rightOperand; this.operatorText = operatorText; } public String render(SQLRenderContext context) { String sql = ConstraintUtils.renderInParentheses(leftOperand,context); sql += " "; sql += operatorText; sql += " "; sql += ConstraintUtils.renderInParentheses(rightOperand,context); return sql; } }