001    /*
002     * file CcProviderMangerCallback.java
003     *
004     * Licensed Materials - Property of IBM
005     * Restricted Materials of IBM
006     * 
007     * com.ibm.rational.wvcm.stp.cc.CcProvider
008     *
009     * (C) Copyright IBM Corporation 2009, 2014.  All Rights Reserved. 
010     * Note to U.S. Government Users Restricted Rights:  Use, duplication or  
011     * disclosure restricted by GSA ADP  Schedule Contract with IBM Corp. 
012     */
013    package com.ibm.rational.wvcm.stp.cc;
014    
015    import com.ibm.rational.wvcm.stp.cq.CqProvider;
016    
017    /**
018     * Callback invoked by CcProvider.getClientViewList(), etc. that allows caller
019     * to specify the provider to be used for creating view proxies.
020     * @see CcProvider#getClientViewList(javax.wvcm.PropertyRequestItem.PropertyRequest)
021     * @see CcProvider#registerProviderManagerCallback(com.ibm.rational.wvcm.stp.cc.CcProviderManagerCallback)
022     */
023    public interface CcProviderManagerCallback {
024    
025        /**
026         * Specify the local provider (LOCAL_PROVIDER_CLASS) to use to create
027         * a dynamic or snapshot view proxy.
028         * @return local provider; if null, corresponding view proxy will be
029         *         omitted from the list.
030         */
031        CcProvider getLocalProvider();
032    
033        /**
034         * Specify the network provider (NETWORK_PROVIDER_CLASS) to use to create
035         * a web view proxy.
036         * @param serverUrl web view's server URL.  Typically the caller keeps
037         *        a map of server URLs to network providers, and returns the
038         *        provider matching this URL.
039         * @return network provider for specified server URL;
040         *         if null, corresponding view proxy will be omitted from the list.
041         */
042        CcProvider getNetworkProvider(String serverUrl);
043    
044        /**
045         * Specify the ClearQuest provider to use to create ClearQuest resource
046         * proxies and perform ClearQuest operations.
047         * @param serverUrl ClearQuest Web server URL.  Typically the caller keeps
048         *        a map of server URLs to providers, and returns the
049         *        provider matching this URL.
050         * @return ClearQuest provider, or null if caller is unable to provide one
051         */
052        CqProvider getClearQuestProvider(String serverUrl);
053    }