001 package railo.runtime.sql.exp; 002 003 public abstract class ExpressionSupport implements Expression { 004 005 private int index; 006 private String alias; 007 private boolean directionBackward; 008 009 010 /** 011 * 012 * @see sql.exp.Expression#setIndex(int) 013 */ 014 public void setIndex(int index) { 015 this.index=index; 016 } 017 018 /** 019 * 020 * @see sql.exp.Expression#getIndex() 021 */ 022 public int getIndex() { 023 return index; 024 } 025 026 /** 027 * 028 * @see sql.exp.Expression#getAlias() 029 */ 030 public String getAlias() { 031 if(alias==null) return "column_"+(getIndex()-1); 032 return alias; 033 } 034 035 /** 036 * 037 * @see sql.exp.Expression#setAlias(java.lang.String) 038 */ 039 public void setAlias(String alias) { 040 this.alias = alias; 041 } 042 043 /** 044 * 045 * @see sql.exp.Expression#hasAlias() 046 */ 047 public boolean hasAlias() { 048 return alias!=null; 049 } 050 051 /** 052 * 053 * @see sql.exp.Expression#hasIndex() 054 */ 055 public boolean hasIndex() { 056 return index!=0; 057 } 058 059 /** 060 * 061 * @see sql.exp.Expression#setDirectionBackward(boolean) 062 */ 063 public void setDirectionBackward(boolean b) { 064 directionBackward=b; 065 } 066 067 /** 068 * @return the directionBackward 069 */ 070 public boolean isDirectionBackward() { 071 return directionBackward; 072 } 073 }