Mehrere Methoden der Rational CM API geben Gruppen von Ressourcen zurück. Die Ressourcengruppen können als ResourceList oder als ResourceList.ResponseIterator zurückgegeben werden.
Der Wert vieler Eigenschaften ist eine Liste mit Verweisen auf Ressourcen. Der Wert solcher Eigenschaften wird durch ein ResourceList-Objekt dargestellt, das eine Gruppe von Proxy-Objekten mit einer Anzahl zusätzlicher Methoden für die Ausführung bestimmter Operationen für die Einträge in der Liste ist. Wenn der Wert einer Eigenschaft eine ResourceList ist, können mit einem NestedPropertyNames-Objekt Eigenschaften für jede der aufgelisteten Ressourcen angefordert werden. Von jeder Ressource wird dieselbe Gruppe von Eigenschaften angefordert.
Die ResourceList stellt eine Reihe von Methoden bereit, mit denen bestimmte Operationen für Listeneinträge ausgeführt werden können. Eine ResourceList kann Proxys für jede Resource-Unterklasse enthalten. Alle Proxys in einer Gruppe können - je nach Generator der Liste - zu derselben Proxyklasse oder zu verschiedenen Klassen gehören. Eine neue ResourceList wird von der Methode Provider.resourceList() erstellt. ResourceList kann mit einem Parameter angegeben werden, der den Typ des Ressourcenproxys angibt, der in der Liste enthalten sein soll.
Der ResponseIterator repräsentiert einen Datenstrom mit Proxyinformationen vom Server. Während der Client die Elemente des ResponseIterator durchgeht, werden schrittweise die Informationen zu den einzelnen Proxys bereitgestellt. Der ResponseIterator hält einen Kommunikationskanal zum Server offen, bis er explizit (mit ResourceList.ResponseIterator().release()) freigegeben wird oder sein Ende erreicht ist. Eine optimaler Durchsatz wird erreicht, wenn Clients die Elemente im Iterator so schnell wie möglich durchgehen und den Iterator freigeben, sobald er nicht mehr benötigt wird.
try { StpProvider provider = getProvider(); // Anfordern einer Liste mit den CQ-Datenbanken, die dem Provider bekannt sind ResourceList<CqDbSet> databases = (provider).cqProvider().doGetDbSetList(DB_SET_PROPS); // Auflisten der zurückgegebenen Informationen for (CqDbSet dbSet : databases) { System.out.println (dbSet.getDisplayName() + ": " + dbSet.getLocalReplica()); } } catch(Throwable ex) { ex.printStackTrace(); } finally { System.exit(0); }
Details hierzu finden Sie in den Javadoc-Informationen zur Rational CM API.