Coletas

Vários métodos do Rational CM API retornam coletas de recursos. As coletas de recursos podem ser retornadas como um ResourceList ou como um ResourceList.ResponseIterator.

O valor de várias propriedades é uma lista de referências a recursos. O valor dessas propriedades é representado por um objeto ResourceList, que é uma coleta de objetos proxy com vários métodos adicionais para desempenhar operações específicas nos membros da lista. Se o valor de uma propriedade for um ResourceList, um objeto NestedPropertyNames poderá ser utilizado para propriedades de pedido de cada um dos recursos na lista. O mesmo conjunto de propriedades será solicitado de cada recurso.

O ResourceList fornece vários métodos para desempenhar operações específicas nos membros da lista. Um ResourceList pode conter proxies de qualquer subclasse Recurso. Todos os proxies em uma coleta podem ser a mesma classe de proxy ou classes diferentes, dependendo do gerador da lista. Um novo ResourceList é criado pelo método Provider.resourceList(). ResourceList pode ser parametrizado com o tipo de proxy de recurso que ele deve conter.

O ResponseIterator representa um fluxo de informações de proxy provenientes do servidor, um proxy por vez, à medida que o cliente percorre os itens do ResponseIterator. Até que seja explicitamente liberado (utilizando ResourceList.ResponseIterator().release()) ou seu fim seja alcançado, o ResponseIterator mantém aberto um canal de comunicação com o servidor. Para conseguir um desempenho melhor, os clientes devem examinar os itens no iterador o mais rápido possível e liberar o iterador assim que ele não for mais necessário.

Por exemplo, para localizar os conjuntos de bancos de dados disponíveis utilizando o método CqProvider.doGetDbSetList():
        try {
            StpProvider provider = getProvider();
            
            // Solicitar uma lista dos bancos de dados do CQ conhecidos pelo provedor
            ResourceList<CqDbSet> databases =
                (provider).cqProvider().doGetDbSetList(DB_SET_PROPS);
            
            // Listar as informações retornadas
            for (CqDbSet dbSet : databases) {
                System.out.println (dbSet.getDisplayName()
                                    + ": " + dbSet.getLocalReplica());
            }
        } catch(Throwable ex) {
            ex.printStackTrace();
        } finally {
            System.exit(0);
        }

Para obter detalhes, consulte as informações do Javadoc para o Rational CM API.


Feedback