Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||||||
AbstractJoin |
|
| 1.5;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 | } |