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            @Override
011            public void setIndex(int index) {
012                    this.index=index;
013            }
014    
015            @Override
016            public int getIndex() {
017                    return index;
018            }
019    
020            @Override
021            public String getAlias() {
022                    if(alias==null) return "column_"+(getIndex()-1);
023                    return alias;
024            }
025    
026            @Override
027            public void setAlias(String alias) {
028                    this.alias = alias;
029            }
030    
031            @Override
032            public boolean hasAlias() {
033                    return alias!=null;
034            }
035    
036            @Override
037            public boolean hasIndex() {
038                    return index!=0;
039            }
040    
041            @Override
042            public void setDirectionBackward(boolean b) {
043                    directionBackward=b;
044            }
045    
046            /**
047             * @return the directionBackward
048             */
049            public boolean isDirectionBackward() {
050                    return directionBackward;
051            }
052    }