diff options
Diffstat (limited to 'sqlelements/src/main/java/org/israfil/sqlelements/constraints/ColumnConstraint.java')
| -rw-r--r-- | sqlelements/src/main/java/org/israfil/sqlelements/constraints/ColumnConstraint.java | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/sqlelements/src/main/java/org/israfil/sqlelements/constraints/ColumnConstraint.java b/sqlelements/src/main/java/org/israfil/sqlelements/constraints/ColumnConstraint.java new file mode 100644 index 0000000..1feae0b --- /dev/null +++ b/sqlelements/src/main/java/org/israfil/sqlelements/constraints/ColumnConstraint.java @@ -0,0 +1,65 @@ +/* + * 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: ColumnConstraint.java 21 2005-12-10 21:40:45Z cgruber $ + */ +package org.israfil.sqlelements.constraints; + +import org.israfil.sqlelements.Column; +import org.israfil.sqlelements.render.SQLRenderContext; + + +/** + * A constraint wrapper for a column. It's used internally by + * the library to ease implementation of column-oriented + * constraints such as "Equals", etc. + * + * @see BinaryConstraint + * @see Equals + * + * @author <a href="mailto:cgruber@israfil.net">Christian Edward Gruber </a> + * @author Latest: $Author: cgruber $ + * @version $Revision: 21 $ + */ +class ColumnConstraint implements SimpleConstraint +{ + Column column; + public Column getColumn() { return column; } + + public ColumnConstraint(Column column) + { + this.column = column; + } + + public String render(SQLRenderContext context) + { + if (column.getTable() != null) + { + return context.getAlias(column.getTable()) + "." + column.render(context); + } + else return column.render(context); + } +}
\ No newline at end of file |
