/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.query.sql.lang; import java.util.Collection; import java.util.List; import org.teiid.designer.query.sql.ILanguageVisitor; /** * */ public interface ISelect<E extends ILanguageObject, LV extends ILanguageVisitor> extends ILanguageObject<LV> { /** * Returns an ordered list of the symbols in the select. * * @return list of SelectSymbol in SELECT */ List<E> getSymbols(); /** * Sets an ordere collection of the symbols in the select. * * @param symbols collection of SelectSymbol in SELECT */ void setSymbols(Collection<? extends E> symbols); /** * Add a symbol to this select * * @param expression */ void addSymbol(E expression); /** * Is the select a 'SELECT *' * * @return true if a select wildcard */ boolean isStar(); /** * Checks whether the select is distinct * * @return True if select is distinct */ boolean isDistinct(); /** * Set whether select is distinct. * * @param isDistinct True if SELECT is distinct */ void setDistinct(boolean isDistinct); }