/* * 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.datatools.connection; import java.util.Properties; import org.eclipse.datatools.connectivity.IConnectionProfile; import org.teiid.designer.core.workspace.ModelResource; import org.teiid.designer.core.workspace.ModelWorkspaceException; /** * Provides Teiid Data Source specific capabilites for a Data Source Type. * * @since 8.0 */ public interface IConnectionInfoProvider extends IConnectionInfoHelper { /** * Extracts the information needed for a Teiid runtime connection from the <code>IConnectionProfile</code> and inserts it into * the <code>ModelResource</code> * * @param modelResource * @param connectionProfile */ void setConnectionInfo( ModelResource modelResource, IConnectionProfile connectionProfile ) throws ModelWorkspaceException; /** * Accessor for the Teiid Data Source password property key. Null is there is no password for this DataSource Type. * * @return */ public abstract String getPasswordPropertyKey(); /** * Accessor for the Teiid Data Source password property key. Null is there is no password for this DataSource Type. * * @return */ public abstract String getDataSourcePasswordPropertyKey(); public abstract boolean requiresPassword(IConnectionProfile connectionProfile); /** * Accessor for the Teiid Data Source Type. * * @return the Teiid Data Source Type */ String getDataSourceType(); /** * Extracts the Teiid-related properties required for Data Source creation from Connection Profile * * @param connectionProfile * @return the list of properties */ Properties getTeiidRelatedProperties( IConnectionProfile connectionProfile ); }