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 */
013package com.ibm.rational.wvcm.stp.cc;
014
015import 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 */
023public 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}