com.path.android.jobqueue
Class JobHolder
java.lang.Object
com.path.android.jobqueue.JobHolder
public class JobHolder
- extends java.lang.Object
Container class to address Jobs inside job manager.
Field Summary |
protected long |
createdNs
When job is created, System.nanoTime() is assigned to createdNs value so that we know when job is created
in relation to others |
protected long |
delayUntilNs
job will be delayed until this nanotime |
protected java.lang.String |
groupId
|
protected java.lang.Long |
id
|
protected int |
priority
|
protected boolean |
requiresNetwork
|
protected int |
runCount
|
protected long |
runningSessionId
|
Constructor Summary |
JobHolder(int priority,
BaseJob baseJob,
long runningSessionId)
|
JobHolder(int priority,
BaseJob baseJob,
long delayUntilNs,
long runningSessionId)
|
JobHolder(java.lang.Long id,
int priority,
java.lang.String groupId,
int runCount,
BaseJob baseJob,
long createdNs,
long delayUntilNs,
long runningSessionId)
|
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
id
protected java.lang.Long id
priority
protected int priority
groupId
protected java.lang.String groupId
runCount
protected int runCount
delayUntilNs
protected long delayUntilNs
- job will be delayed until this nanotime
createdNs
protected long createdNs
- When job is created, System.nanoTime() is assigned to
createdNs
value so that we know when job is created
in relation to others
runningSessionId
protected long runningSessionId
requiresNetwork
protected boolean requiresNetwork
JobHolder
public JobHolder(java.lang.Long id,
int priority,
java.lang.String groupId,
int runCount,
BaseJob baseJob,
long createdNs,
long delayUntilNs,
long runningSessionId)
- Parameters:
id
- Unique ID for the job. Should be unique per queuepriority
- Higher is bettergroupId
- which group does this job belong to? default nullrunCount
- Incremented each time job is fetched to run, initial value should be 0baseJob
- Actual job to runcreatedNs
- System.nanotimedelayUntilNs
- System.nanotime value where job can be run the very first timerunningSessionId
-
JobHolder
public JobHolder(int priority,
BaseJob baseJob,
long runningSessionId)
JobHolder
public JobHolder(int priority,
BaseJob baseJob,
long delayUntilNs,
long runningSessionId)
safeRun
public final boolean safeRun(int currentRunCount)
- runs the job w/o throwing any exceptions
- Parameters:
currentRunCount
-
- Returns:
getId
public java.lang.Long getId()
setId
public void setId(java.lang.Long id)
requiresNetwork
public boolean requiresNetwork()
getPriority
public int getPriority()
setPriority
public void setPriority(int priority)
getRunCount
public int getRunCount()
setRunCount
public void setRunCount(int runCount)
getCreatedNs
public long getCreatedNs()
setCreatedNs
public void setCreatedNs(long createdNs)
getRunningSessionId
public long getRunningSessionId()
setRunningSessionId
public void setRunningSessionId(long runningSessionId)
getDelayUntilNs
public long getDelayUntilNs()
getBaseJob
public BaseJob getBaseJob()
setBaseJob
public void setBaseJob(BaseJob baseJob)
getGroupId
public java.lang.String getGroupId()
hashCode
public int hashCode()
- Overrides:
hashCode
in class java.lang.Object
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in class java.lang.Object