package com.netflix.schlep.admin; import java.util.Collection; import java.util.List; import com.google.common.util.concurrent.ListenableFuture; /** * Abstraction for queue admin operation * * @author elandau * */ public interface QueueAdmin { public ListenableFuture<Boolean> createQueue(String uri, QueueAttributes attributes); public ListenableFuture<Boolean> deleteQueue(String uri); public ListenableFuture<List<String>> listQueues(); public ListenableFuture<QueueAttributes> getQueueAttributes(String uri); public ListenableFuture<QueueAttributes> getQueueAttributes(String uri, Collection<String> attributes); public ListenableFuture<Void> updateQueueAttributes(String uri, QueueAttributes attributes); public ListenableFuture<Long> getQueueMessageCount(String uri); }