001/** 002 * 003 * Copyright (c) 2014, the Railo Company Ltd. All rights reserved. 004 * 005 * This library is free software; you can redistribute it and/or 006 * modify it under the terms of the GNU Lesser General Public 007 * License as published by the Free Software Foundation; either 008 * version 2.1 of the License, or (at your option) any later version. 009 * 010 * This library is distributed in the hope that it will be useful, 011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 013 * Lesser General Public License for more details. 014 * 015 * You should have received a copy of the GNU Lesser General Public 016 * License along with this library. If not, see <http://www.gnu.org/licenses/>. 017 * 018 **/ 019package lucee.runtime.sql.exp; 020 021public abstract class ExpressionSupport implements Expression { 022 023 private int index; 024 private String alias; 025 private boolean directionBackward; 026 027 028 @Override 029 public void setIndex(int index) { 030 this.index=index; 031 } 032 033 @Override 034 public int getIndex() { 035 return index; 036 } 037 038 @Override 039 public String getAlias() { 040 if(alias==null) return "column_"+(getIndex()-1); 041 return alias; 042 } 043 044 @Override 045 public void setAlias(String alias) { 046 this.alias = alias; 047 } 048 049 @Override 050 public boolean hasAlias() { 051 return alias!=null; 052 } 053 054 @Override 055 public boolean hasIndex() { 056 return index!=0; 057 } 058 059 @Override 060 public void setDirectionBackward(boolean b) { 061 directionBackward=b; 062 } 063 064 /** 065 * @return the directionBackward 066 */ 067 public boolean isDirectionBackward() { 068 return directionBackward; 069 } 070}