集合

有一些 Rational® CM API 方法會傳回資源的集合。這些資源集合可以當成 ResourceListResourceList.ResponseIterator 加以傳回。

許多內容的值是資源的參照清單。這類內容的值會由 ResourceList 物件來表示, 該物件是虛擬物件的集合,其中含有許多其他方法可用來對清單的成員執行特定的作業。如果內容的值是 ResourceList, 則可以使用 NestedPropertyNames 物件來要求清單中每一個資源的內容。 將會從每一個資源中要求同一組內容。

ResourceList 提供了許多方法,可用來對清單的成員執行特定的作業。ResourceList 可以包含任何「資源」子類別的虛擬物件。集合中的所有虛擬物件可以都是相同的虛擬物件類別,或是不同的類別,視清單的產生器而定。Provider.resourceList() 方法會建立新的 ResourceListResourceList 可以將其打算要包含的資源虛擬物件的類型參數化。

在用戶端造訪 ResponseIterator 的項目時,ResponseIterator代表來自伺服器的虛擬物件資訊串流(一次一個虛擬物件)。在它明確地釋放(使用 ResourceList.ResponseIterator().release())或到達尾端之前, ResponseIterator 會保持開啟伺服器的通訊通道。為了得到最佳效能,用戶端應儘快檢查疊代器中的項目,如果不再需要,便儘快釋放疊代器。

例如,若要使用 CqProvider.doGetDbSetList() 方法來尋找可用的資料庫集:
        try {
            StpProvider provider = getProvider();
            
            // 要求提供者已知的 CQ 資料庫清單
            ResourceList<CqDbSet> databases = 
                (provider).cqProvider().doGetDbSetList(DB_SET_PROPS);
            
            // 列出傳回的資訊
            for (CqDbSet dbSet : databases) {
                System.out.println (dbSet.getDisplayName() 
                                    + ": " + dbSet.getLocalReplica());
            }
        } catch(Throwable ex) {
            ex.printStackTrace();
        } finally {
            System.exit(0);
        }

如需詳細資訊,請參閱 Rational CM API 的 Javadoc 資訊。


回饋