/* * 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.beans.Expression; import java.util.List; import org.teiid.designer.query.sql.ILanguageVisitor; /** * @param <E> * @param <LV> */ public interface ICommand<E extends IExpression, LV extends ILanguageVisitor> extends ILanguageObject<LV>{ /** * Represents an unknown type of command */ public static final int TYPE_UNKNOWN = 0; /** * Represents a SQL SELECT statement */ public static final int TYPE_QUERY = 1; /** * Represents a SQL INSERT statement */ public static final int TYPE_INSERT = 2; /** * Represents a SQL UPDATE statement */ public static final int TYPE_UPDATE = 3; /** * Represents a SQL DELETE statement */ public static final int TYPE_DELETE = 4; /** * Represents a stored procedure command */ public static final int TYPE_STORED_PROCEDURE = 6; /** * Represents a update stored procedure command */ public static final int TYPE_UPDATE_PROCEDURE = 7; /** * Represents a batched sequence of UPDATE statements */ public static final int TYPE_BATCHED_UPDATE = 9; public static final int TYPE_DYNAMIC = 10; public static final int TYPE_CREATE = 11; public static final int TYPE_DROP = 12; public static final int TYPE_TRIGGER_ACTION = 13; public static final int TYPE_ALTER_VIEW = 14; public static final int TYPE_ALTER_PROC = 15; public static final int TYPE_ALTER_TRIGGER = 16; /** * type of command * * @return int value signifying type of command */ int getType(); /** * @return */ IOption getOption(); /** * @return */ List<E> getProjectedSymbols(); /** * @return */ List<? extends E> getResultSetColumns(); /** * @return */ boolean isResolved(); }