|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.path.android.jobqueue.nonPersistentQueue.MergedQueue
public abstract class MergedQueue
A queue implementation that utilize two queues depending on one or multiple properties of the JobHolder
While retrieving items, it uses a different comparison method to handle dynamic comparisons (e.g. time)
between two queues
| Nested Class Summary | |
|---|---|
protected static class |
MergedQueue.SetId
simple enum to identify queues |
| Constructor Summary | |
|---|---|
MergedQueue(int initialCapacity,
java.util.Comparator<JobHolder> comparator,
java.util.Comparator<JobHolder> retrieveComparator)
|
|
| Method Summary | |
|---|---|
void |
clear()
|
CountWithGroupIdsResult |
countReadyJobs(MergedQueue.SetId setId,
java.util.Collection<java.lang.String> excludeGroups)
|
CountWithGroupIdsResult |
countReadyJobs(MergedQueue.SetId setId,
long now,
java.util.Collection<java.lang.String> excludeGroups)
|
protected abstract JobSet |
createQueue(MergedQueue.SetId setId,
int initialCapacity,
java.util.Comparator<JobHolder> comparator)
called when we want to create the subsequent queues |
protected abstract MergedQueue.SetId |
decideQueue(JobHolder jobHolder)
decides which queue should the job holder go if first queue, should return 0 if second queue, should return 1 is only called when an item is inserted. |
JobHolder |
findById(long id)
Returns the JobHolder that has the given id |
boolean |
offer(JobHolder jobHolder)
|
JobHolder |
peek(java.util.Collection<java.lang.String> excludeGroupIds)
|
protected JobHolder |
peekFromQueue(MergedQueue.SetId queueId,
java.util.Collection<java.lang.String> excludeGroupIds)
used to peek from one of the queues |
JobHolder |
poll(java.util.Collection<java.lang.String> excludeGroupIds)
|
protected JobHolder |
pollFromQueue(MergedQueue.SetId queueId,
java.util.Collection<java.lang.String> excludeGroupIds)
used to poll from one of the queues |
boolean |
remove(JobHolder holder)
|
int |
size()
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface com.path.android.jobqueue.nonPersistentQueue.JobSet |
|---|
countReadyJobs, countReadyJobs |
| Constructor Detail |
|---|
public MergedQueue(int initialCapacity,
java.util.Comparator<JobHolder> comparator,
java.util.Comparator<JobHolder> retrieveComparator)
initialCapacity - passed to createQueue(com.path.android.jobqueue.nonPersistentQueue.MergedQueue.SetId, int, java.util.Comparator)comparator - passed to createQueue(com.path.android.jobqueue.nonPersistentQueue.MergedQueue.SetId, int, java.util.Comparator)retrieveComparator - upon retrieval, if both queues return items, this comparator is used to decide which
one should be returned| Method Detail |
|---|
protected JobHolder pollFromQueue(MergedQueue.SetId queueId,
java.util.Collection<java.lang.String> excludeGroupIds)
queueId -
protected JobHolder peekFromQueue(MergedQueue.SetId queueId,
java.util.Collection<java.lang.String> excludeGroupIds)
queueId -
public boolean offer(JobHolder jobHolder)
offer in interface JobSetpublic JobHolder poll(java.util.Collection<java.lang.String> excludeGroupIds)
poll in interface JobSetpublic JobHolder peek(java.util.Collection<java.lang.String> excludeGroupIds)
peek in interface JobSetpublic void clear()
clear in interface JobSetpublic boolean remove(JobHolder holder)
remove in interface JobSetpublic int size()
size in interface JobSetprotected abstract MergedQueue.SetId decideQueue(JobHolder jobHolder)
jobHolder -
protected abstract JobSet createQueue(MergedQueue.SetId setId,
int initialCapacity,
java.util.Comparator<JobHolder> comparator)
initialCapacity - comparator -
public CountWithGroupIdsResult countReadyJobs(MergedQueue.SetId setId,
long now,
java.util.Collection<java.lang.String> excludeGroups)
public CountWithGroupIdsResult countReadyJobs(MergedQueue.SetId setId,
java.util.Collection<java.lang.String> excludeGroups)
public JobHolder findById(long id)
findById in interface JobSetid - id job the job
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||