Coverage Report - org.israfil.sqlelements.AbstractJoin
 
Classes in this File Line Coverage Branch Coverage Complexity
AbstractJoin
88% 
100% 
1.5
 
 1  
 /*
 2  
  * SQLElements object-oriented SQL parsing and generation library
 3  
  * 
 4  
  * Copyright (c) 2003, 2004, 2005 Israfil Consulting Services Corporation
 5  
  * Copyright (c) 2003, 2004, 2005 Christian Edward Gruber
 6  
  * All Rights Reserved
 7  
  * 
 8  
  *  This library is free software; you can redistribute it and/or modify 
 9  
  *  it under the terms of the GNU Lesser General Public License as published 
 10  
  *  by the Free Software Foundation; either version 2.1 of the License, or 
 11  
  *  (at your option) any later version.
 12  
  *
 13  
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
 14  
  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
 15  
  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
 16  
  * IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
 17  
  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
 18  
  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
 19  
  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
 20  
  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
 21  
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY 
 22  
  * OF SUCH DAMAGE.
 23  
  *
 24  
  *  You should have received a copy of the GNU Lesser General Public License 
 25  
  *  along with this library; if not, please visit http://www.gnu.org/licenses/lgpl.html
 26  
  *
 27  
  * $Id: AbstractJoin.java 22 2005-12-11 10:08:56 -0500 (Sun, 11 Dec 2005) cgruber $
 28  
  */
 29  
 package org.israfil.sqlelements;
 30  
 
 31  
 import org.israfil.sqlelements.render.SQLRenderContext;
 32  
 
 33  
 
 34  
 /**
 35  
  * Represents a single column from a single (physical or virtual) table.
 36  
  * 
 37  
  * @author <a href="mailto:cgruber@israfil.net">Christian Edward Gruber </a>
 38  
  * @author Latest: $Author: cgruber $
 39  
  * @version $Revision: 22 $
 40  
  */
 41  
 public abstract class AbstractJoin implements Join {
 42  
     protected Column left;
 43  
     protected Column right;
 44  
     
 45  35
     public Column getLeftColumn() { return this.left; } 
 46  35
     public Column getRightColumn() { return this.right; } 
 47  
 
 48  
     public AbstractJoin(Column left, Column right)
 49  17
     {
 50  17
         if (left.getTable() == null || right.getTable() == null) 
 51  0
             throw new IllegalArgumentException("Cannot assign a Column with no Table to a Join");
 52  17
         this.left = left;
 53  17
         this.right = right;
 54  17
     }
 55  
     
 56  
     public abstract String render(SQLRenderContext context);
 57  
 }