/* * 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; import org.teiid.designer.query.sql.lang.ILanguageObject; /** * */ public interface ISQLStringVisitor<LO extends ILanguageObject> extends ILanguageVisitor { /** * Should the visitor fail to evaluate then this * text is returned */ public static final String UNDEFINED = "<undefined>"; //$NON-NLS-1$ /** * Find the string representation of the given object * * @param languageObject * * @return SQL string */ String returnSQLString(LO languageObject); /** * Disables comments by adding an id from the given * Object to the comments tag set. If any tags exist * then comments are disabled. Thus, to re-enable * comments the same object should be passed * into {@link #enableComments(Object)} * */ void disableComments(Object obj); /** * Only removes the exact id of the object * from the comment tag set. Only when * the set is empty will comments be * re-enabled. */ void enableComments(Object obj); /** * @param token * @return id tokens properly escaped */ String displayName(IToken token); }