/* * 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.symbol; import org.teiid.designer.query.sql.ILanguageVisitor; /** * */ public interface IGroupSymbol<LV extends ILanguageVisitor> extends ISymbol<LV>{ /** * Set the name of the group symbol * * @param newName */ void setName(String newName); /** * @return */ String getDefinition(); /** * @param newName */ void setDefinition(String newName); /** * @return */ boolean isProcedure(); /** * Get the metadata ID that this group symbol resolves to. If * the group symbol has not been resolved yet, this will be null. * If the symbol has been resolved, this will never be null. * * @return Metadata ID object */ Object getMetadataID(); /** * Set the metadata ID that this group symbol resolves to. It cannot * be null. * * @param meatdataID Metadata ID object * * @throws IllegalArgumentException If metadataID is null */ void setMetadataID(Object metadataID); }