|
|||||||||
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 returnedMethod 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 JobSet
public JobHolder poll(java.util.Collection<java.lang.String> excludeGroupIds)
poll
in interface JobSet
public JobHolder peek(java.util.Collection<java.lang.String> excludeGroupIds)
peek
in interface JobSet
public void clear()
clear
in interface JobSet
public boolean remove(JobHolder holder)
remove
in interface JobSet
public int size()
size
in interface JobSet
protected 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 JobSet
id
- id job the job
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |