Alcuni metodi di Rational CM API restituiscono raccolte di risorse. Le raccolte di risorse possono essere restituite come ResourceList o ResourceList.ResponseIterator.
Il valore di molte proprietà è un elenco di riferimenti a risorse. Il valore di queste proprietà viene rappresentato da un oggetto ResourceList, che è una raccolta di oggetti proxy con un numero di metodi aggiuntivi per l'esecuzione di operazioni specifiche sui membri dell'elenco. Se il valore di una proprietà è ResourceList, un oggetto NestedPropertyNames può essere utilizzato per richiedere le proprietà da ciascuna delle risorse nell'elenco. La stessa serie di proprietà sarà richiesta da ciascuna risorsa.
ResourceList fornisce un numero di metodi per l'esecuzione di operazioni specifiche sui membri dell'elenco. Un ResourceList può contenere proxy di qualsiasi sottoclasse di Resource. Tutti i proxy di una raccolta possono essere della stessa classe proxy o di classi diverse, a seconda del generatore dell'elenco. Un nuovo ResourceList viene creato dal metodo Provider.resourceList(). ResourceList può essere strutturato in parametri con il tipo di proxy risorsa che deve contenere.
ResponseIterator rappresenta un flusso di informazioni proxy provenienti dal server, un proxy alla volta, quando il client si sposta fra gli elementi del ResponseIterator. Finché non viene esplicitamente rilasciato (con ResourceList.ResponseIterator().release()) o viene raggiunta la sua fine, ResponseIterator mantiene aperto un canale di comunicazione con il server. Per prestazioni ottimali, i client devono esaminare gli elementi dell'iteratore il più velocemente possibile e rilasciare l'iteratore non appena non è più necessario.
try { StpProvider provider = getProvider(); // Richiedere un elenco dei database CQ noti al provider ResourceList<CqDbSet> databases = (provider).cqProvider().doGetDbSetList(DB_SET_PROPS); // Elencare le informazioni restituite for (CqDbSet dbSet : databases) { System.out.println (dbSet.getDisplayName() + ": " + dbSet.getLocalReplica()); } } catch(Throwable ex) { ex.printStackTrace(); } finally { System.exit(0); }
Per i dettagli, consultare le informazioni Javadoc relative a Rational CM API.