/* * 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.core.metamodel.aspect.sql; import org.eclipse.emf.ecore.EObject; /** * SqlModelAspect is used to get the differrent properties on a model for runtime metadata. * * @since 8.0 */ public interface SqlModelAspect extends SqlAspect { /** * Return the URI string for the primary metamodel * @param eObject The <code>EObject</code> to use * @return String */ String getPrimaryMetamodelUri(EObject eObject); /** * Check if OrderBys are supported by these * @param eObject The <code>EObject</code> for which orderby prop is checked * @return true if orderBys are supported */ boolean supportsOrderBy(EObject eObject); /** * Check if model supports outer joins * @param eObject The <code>EObject</code> for which outer joins prop is checked * @return true if outer joins are supported */ boolean supportsOuterJoin(EObject eObject); /** * Check if full table scans are supported * @param eObject The <code>EObject</code> for which table scans prop is checked * @return true if full table scans are supported */ boolean supportsWhereAll(EObject eObject); /** * Check if distinct are supported * @param eObject The <code>EObject</code> for which distinct prop is checked * @return true if distinct is supported */ boolean supportsDistinct(EObject eObject); /** * Check if joins are supported on this model * @param eObject The <code>EObject</code> for which join prop is checked * @return true if joins are supported */ boolean supportsJoin(EObject eObject); /** * Check if the model is visible * @param eObject The <code>EObject</code> for which visibility prop is checked * @return */ boolean isVisible(EObject eObject); /** * Get the maxSet size allowed * @param eObject The <code>EObject</code> for which max allowed setsize prop is checked * @return maximum allowed size in a SET criteria */ int getMaxSetSize(EObject eObject); /** * Return integer indicating the type of Model it is. * @return int * * @see org.teiid.designer.metadata.runtime.MetadataConstants */ int getModelType(EObject eObject); }