Colecciones

Varios métodos de la API de Rational CM devuelven colecciones de recursos. Las colecciones de recursos pueden devolverse como ResourceList o como ResourceList.ResponseIterator.

El valor de muchas propiedades es una lista de referencias a recursos. El valor de dichas propiedades se representa mediante un objeto ResourceList, el cual es una colección de objetos proxy con un número de métodos adicionales para llevar a cabo operaciones específicas en los miembros de la lista. Si el valor de una propiedad es ResourceList, se puede utilizar un objeto NestedPropertyNames para solicitar propiedades de cada uno de los recursos de la lista. El mismo conjunto de propiedades se solicitará de cada recurso.

ResourceList proporciona cierto número de métodos para llevar a cabo operaciones específicas en los miembros de la lista. Un ResourceList puede contener proxys de cualquier subclase de recurso. Todos los proxys de una colección pueden ser de la misma clase de proxy o de diferentes clases de proxy en función del generador de la lista. Se crea un nuevo ResourceList mediante el método Provider.resourceList(). ResourceList puede parametrizarse con el tipo de proxy de recursos que se supone que debe contener.

ResponseIterator representa una secuencia de información de proxy que procede del servidor, un proxy cada vez, a medida que el cliente se desplaza a través de los elementos de ResponseIterator. Hasta que se libere de forma explícita (mediante ResourceList.ResponseIterator().release()) o se alcance su final, ResponseIterator mantiene abierto un canal de comunicación con el servidor. Para que el rendimiento sea óptimo, los clientes deben examinar los elementos del repetidor lo más rápido posible y liberar éste último en cuanto deje de ser necesario.

Por ejemplo, para encontrar conjuntos de bases de datos disponibles mediante el método CqProvider.doGetDbSetList():
        try {
            StpProvider provider = getProvider();
            
            // Request a list of the CQ databases known to the provider
            ResourceList<CqDbSet> databases = 
                (provider).cqProvider().doGetDbSetList(DB_SET_PROPS);
            
            // List the returned information
            for (CqDbSet dbSet : databases) {
                System.out.println (dbSet.getDisplayName() 
                                    + ": " + dbSet.getLocalReplica());
            }
        } catch(Throwable ex) {
            ex.printStackTrace();
        } finally {
            System.exit(0);
        }

Para obtener detalles, consulte la información del Javadoc de la API de Rational CM.


Comentarios