/** * Gets a result segment of an iterable collection of queues whose names begin with the specified * prefix for this queue, using the specified listing details options, request options, and * operation context. * * @param prefix A <code>String</code> that represents the prefix of the queue name to match. * @param detailsIncluded A {@link QueueListingDetails} value that indicates whether queue * metadata will be returned. * @param maxResults The maximum number of queue results to retrieve. * @param continuationToken A {@link ResultContinuation} object that represents a continuation * token returned by a previous listing operation. * @param options A {@link QueueRequestOptions} object that specifies any additional options for * the request. Specifying <code>null</code> will use the default request options from the * associated service client ( {@link CloudQueue}). * @param opContext An {@link OperationContext} object that represents the context for the current * operation. This object is used to track requests to the storage service, and to provide * additional runtime information about the operation. * @return A {@link ResultSegment} of {@link CloudQueue} objects that contains a segment of the * iterable collection of {@link CloudQueue} objects that represent the requested queues in * the storage service. * @throws StorageException If a storage service error occurred during the operation. */ @DoesServiceRequest public ResultSegment<CloudQueue> listQueuesSegmented( final String prefix, final QueueListingDetails detailsIncluded, final int maxResults, final ResultContinuation continuationToken, QueueRequestOptions options, OperationContext opContext) throws StorageException { if (opContext == null) { opContext = new OperationContext(); } if (options == null) { options = new QueueRequestOptions(); } opContext.initialize(); options.applyDefaults(this); Utility.assertContinuationType(continuationToken, ResultContinuationType.QUEUE); final StorageOperation<CloudQueueClient, Void, ResultSegment<CloudQueue>> impl = new StorageOperation<CloudQueueClient, Void, ResultSegment<CloudQueue>>(options) { @Override public ResultSegment<CloudQueue> execute( final CloudQueueClient client, final Void dontCare, final OperationContext opContext) throws Exception { return CloudQueueClient.this.listQueuesCore( prefix, detailsIncluded, maxResults, continuationToken, this.getRequestOptions(), this, opContext); } }; return ExecutionEngine.executeWithRetry( this, null, impl, options.getRetryPolicyFactory(), opContext); }
/** * Returns an iterable collection of queues whose names begin with the specified prefix for this * Queue service client, using the specified details setting, request options, and operation * context. * * @param prefix A <code>String</code> that represents the queue name prefix. * @param detailsIncluded A {@link QueueListingDetails} value that indicates whether queue * metadata will be returned. * @param options A {@link QueueRequestOptions} object that specifies any additional options for * the request. Specifying <code>null</code> will use the default request options from the * associated service client ( {@link CloudQueue}). * @param opContext An {@link OperationContext} object that represents the context for the current * operation. This object is used to track requests to the storage service, and to provide * additional runtime information about the operation. * @return An iterable collection of {@link CloudQueue} objects that represents the specified * queues for this client. */ @DoesServiceRequest public Iterable<CloudQueue> listQueues( final String prefix, final QueueListingDetails detailsIncluded, QueueRequestOptions options, OperationContext opContext) { if (opContext == null) { opContext = new OperationContext(); } if (options == null) { options = new QueueRequestOptions(); } opContext.initialize(); options.applyDefaults(this); final SegmentedStorageOperation<CloudQueueClient, Void, ResultSegment<CloudQueue>> impl = new SegmentedStorageOperation<CloudQueueClient, Void, ResultSegment<CloudQueue>>( options, null) { @Override public ResultSegment<CloudQueue> execute( final CloudQueueClient client, final Void dontCare, final OperationContext opContext) throws Exception { final ResultSegment<CloudQueue> result = CloudQueueClient.this.listQueuesCore( prefix, detailsIncluded, -1, this.getToken(), this.getRequestOptions(), this, opContext); this.setToken(result.getContinuationToken()); return result; } }; return new LazySegmentedIterable<CloudQueueClient, Void, CloudQueue>( impl, this, null, options.getRetryPolicyFactory(), opContext); }