/* * 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.List; import org.teiid.designer.query.sql.ILanguageVisitor; import org.teiid.designer.query.sql.symbol.IElementSymbol; /** * */ public interface IGroupBy<E extends IExpression, LV extends ILanguageVisitor> extends ILanguageObject<LV>{ /** * Returns the number of symbols in the GROUP BY * * @return Count of the number of symbols in GROUP BY */ int getCount(); /** * Returns an ordered list of the symbols in the GROUP BY * * @return List of {@link IElementSymbol}s */ List<E> getSymbols(); /** * Adds a new symbol to the list of symbols * . * @param symbol Symbol to add to GROUP BY */ void addSymbol(E symbol); }