microsoft-azure-storage/src/com/microsoft/azure/storage/analytics/CloudAnalyticsClient.java
public Iterable<ListBlobItem> listLogBlobs(StorageService service, Date startTime, Date endTime,
            EnumSet<LoggingOperations> operations, BlobListingDetails details, BlobRequestOptions options,
            OperationContext operationContext) throws StorageException, URISyntaxException {
        Utility.assertNotNull("service", service);
        if (operations == null) {
            operations = EnumSet.allOf(LoggingOperations.class);
        }

        if (!(details == null || details.equals(BlobListingDetails.METADATA))) {
            throw new IllegalArgumentException(SR.INVALID_LISTING_DETAILS);
        }

        if (operations.equals(EnumSet.noneOf(LoggingOperations.class))) {
            throw new IllegalArgumentException(SR.INVALID_LOGGING_LEVEL);
        }

        EnumSet<BlobListingDetails> metadataDetails;
        if (details != null
                && (details.equals(BlobListingDetails.METADATA) || !operations.equals(EnumSet
                        .allOf(LoggingOperations.class)))) {
            metadataDetails = EnumSet.of(BlobListingDetails.METADATA);
        }
        else {
            metadataDetails = EnumSet.noneOf(BlobListingDetails.class);
        }

        return new LogBlobIterable(this.getLogDirectory(service), startTime, endTime, operations, metadataDetails,
                options, operationContext);
    }
public Iterable<ListBlobItem> listLogBlobs(StorageService service, Date startTime, Date endTime,
            EnumSet<LoggingOperations> operations, BlobListingDetails details, BlobRequestOptions options,
            OperationContext operationContext) throws StorageException, URISyntaxException {
        Utility.assertNotNull("service", service);
        if (operations == null) {
            operations = EnumSet.allOf(LoggingOperations.class);
        }

        if (!(details == null || details.equals(BlobListingDetails.METADATA))) {
            throw new IllegalArgumentException(SR.INVALID_LISTING_DETAILS);
        }

        if (operations.equals(EnumSet.noneOf(LoggingOperations.class))) {
            throw new IllegalArgumentException(SR.INVALID_LOGGING_LEVEL);
        }

        EnumSet<BlobListingDetails> metadataDetails;
        if (details != null
                && (details.equals(BlobListingDetails.METADATA) || !operations.equals(EnumSet
                        .allOf(LoggingOperations.class)))) {
            metadataDetails = EnumSet.of(BlobListingDetails.METADATA);
        }
        else {
            metadataDetails = EnumSet.noneOf(BlobListingDetails.class);
        }

        return new LogBlobIterable(this.getLogDirectory(service), startTime, endTime, operations, metadataDetails,
                options, operationContext);
    }
Returns an enumerable collection of log blobs, retrieved lazily.

@param service
A {@link StorageService} enumeration value that indicates which storage service to use.
@param startTime
A <code>java.util.Date</code> object representing the start of the time range for which logs should
be retrieved.
@param endTime
A <code>java.util.Date</code> object representing the end of the time range for which logs should
be retrieved.
@param operations
A {@link LoggingOperations} enumeration set that indicates which log types to return.
@param details
A {@link BlobListingDetails} enumeration set that indicates whether or not blob metadata should
be returned. None or METADATA are the only valid values.
@param options
A {@link BlobRequestOptions} object that specifies additional options for the request.
@param operationContext
An {@link OperationContext} object that represents the context for the current operation.
@return
An enumerable collection of objects that implement {@link ListBlobItem} and are retrieved lazily.
@throws StorageException
@throws URISyntaxException