Package org.apache.sling.distribution.queue.impl.jobhandling

## Class JobHandlingDistributionQueue

- java.lang.Object
- - org.apache.sling.distribution.queue.impl.jobhandling.JobHandlingDistributionQueue

All Implemented Interfaces:
  `DistributionQueue`

    public class JobHandlingDistributionQueue
    extends Object
    implements DistributionQueue

a `DistributionQueue` based on Sling Job Handling facilities

### Field Summary

Fields
`static String` `DISTRIBUTION_QUEUE_TOPIC`

### Method Summary

All Methods Instance Methods Concrete Methods
`DistributionQueueEntry` `add​(@NotNull DistributionQueueItem item)` add a distribution item to this queue
`@NotNull Iterable<DistributionQueueEntry>` `clear​(int limit)` Clear a range of entries from the queue.
`@NotNull List<DistributionQueueEntry>` `getEntries​(int skip, int limit)` get all the entries in the queue
`DistributionQueueEntry` `getEntry​(@NotNull String id)` gets an entry from the queue by specifying its id
`DistributionQueueEntry` `getHead()` get the first entry (in a FIFO strategy, the next to be processed) from the queue
`@NotNull String` `getName()` get this queue name
`@NotNull DistributionQueueStatus` `getStatus()` get the status of the queue
`@NotNull DistributionQueueType` `getType()` get the type of this queue
`boolean` `hasCapability​(@NotNull String capability)`
`DistributionQueueEntry` `remove​(@NotNull String id)` remove an entry from the queue by specifying its id
`@NotNull Iterable<DistributionQueueEntry>` `remove​(@NotNull Set<String> entryIds)` Remove a set entries from the queue by specifying their identifiers.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### DISTRIBUTION_QUEUE_TOPIC

    public static final String DISTRIBUTION_QUEUE_TOPIC

See Also:
  Constant Field Values

### Method Detail

#### getName

    @NotNull
    public @NotNull String getName()

Description copied from interface: `DistributionQueue`
get this queue name

Specified by:
  `getName` in interface `DistributionQueue`
Returns:
  the queue name

#### add

    public DistributionQueueEntry add​(@NotNull
                                      @NotNull DistributionQueueItem item)

Description copied from interface: `DistributionQueue`
add a distribution item to this queue

Specified by:
  `add` in interface `DistributionQueue`
Parameters:
  `item` - a distribution item, typically representing a `DistributionPackage` to distribute
Returns:
  the queue entry created for this item or `noll` if none is created

#### getHead

    public DistributionQueueEntry getHead()

Description copied from interface: `DistributionQueue`
get the first entry (in a FIFO strategy, the next to be processed) from the queue

Specified by:
  `getHead` in interface `DistributionQueue`
Returns:
  the first entry into the queue or `null` if the queue is empty

#### getEntries

    @NotNull
    public @NotNull List<DistributionQueueEntry> getEntries​(int skip,
                                                            int limit)

Description copied from interface: `DistributionQueue`
get all the entries in the queue

Specified by:
  `getEntries` in interface `DistributionQueue`
Parameters:
  `skip` - the number of entries to skip
  `limit` - the maximum number of entries to return. use -1 to return all entries.
Returns:
  a `Iterable` of `DistributionQueueEntry` entries

#### getEntry

    public DistributionQueueEntry getEntry​(@NotNull
                                           @NotNull String id)

Description copied from interface: `DistributionQueue`
gets an entry from the queue by specifying its id

Specified by:
  `getEntry` in interface `DistributionQueue`
Parameters:
  `id` - the entry identifier
Returns:
  the entry, or `null` if the entry with the given id doesn't exist

#### remove

    @NotNull
    public @NotNull Iterable<DistributionQueueEntry> remove​(@NotNull
                                                            @NotNull Set<String> entryIds)

Description copied from interface: `DistributionQueue`
Remove a set entries from the queue by specifying their identifiers.

Specified by:
  `remove` in interface `DistributionQueue`
Parameters:
  `entryIds` - The identifiers of the entries to be removed
Returns:
  an iterable over the removed entries

#### remove

    public DistributionQueueEntry remove​(@NotNull
                                         @NotNull String id)

Description copied from interface: `DistributionQueue`
remove an entry from the queue by specifying its id

Specified by:
  `remove` in interface `DistributionQueue`
Parameters:
  `id` - the entry identifier
Returns:
  the removed entry, or `null` if the entry with the given id doesn't exist

#### getStatus

    @NotNull
    public @NotNull DistributionQueueStatus getStatus()

Description copied from interface: `DistributionQueue`
get the status of the queue

Specified by:
  `getStatus` in interface `DistributionQueue`
Returns:
  the queue status

#### getType

    @NotNull
    public @NotNull DistributionQueueType getType()

Description copied from interface: `DistributionQueue`
get the type of this queue

Specified by:
  `getType` in interface `DistributionQueue`
Returns:
  the type

#### clear

    @NotNull
    public @NotNull Iterable<DistributionQueueEntry> clear​(int limit)

Description copied from interface: `DistributionQueue`
Clear a range of entries from the queue. The range starts from the head entry, includes the specified #limit number of entries.

Specified by:
  `clear` in interface `DistributionQueue`
Parameters:
  `limit` - The maximum number of entries to remove. All entries are removed when the limit is `-1`.
Returns:
  an iterable over the removed entries

#### hasCapability

    public boolean hasCapability​(@NotNull
                                 @NotNull String capability)

Specified by:
  `hasCapability` in interface `DistributionQueue`
Returns:
  `true` if the queue supports the capability ; `false` otherwise