com.path.android.jobqueue
Class JobHolder

java.lang.Object
  extended by 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)
           
 
Method Summary
 boolean equals(java.lang.Object o)
           
 BaseJob getBaseJob()
           
 long getCreatedNs()
           
 long getDelayUntilNs()
           
 java.lang.String getGroupId()
           
 java.lang.Long getId()
           
 int getPriority()
           
 int getRunCount()
           
 long getRunningSessionId()
           
 int hashCode()
           
 boolean requiresNetwork()
           
 boolean safeRun(int currentRunCount)
          runs the job w/o throwing any exceptions
 void setBaseJob(BaseJob baseJob)
           
 void setCreatedNs(long createdNs)
           
 void setId(java.lang.Long id)
           
 void setPriority(int priority)
           
 void setRunCount(int runCount)
           
 void setRunningSessionId(long runningSessionId)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

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
Constructor Detail

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 queue
priority - Higher is better
groupId - which group does this job belong to? default null
runCount - Incremented each time job is fetched to run, initial value should be 0
baseJob - Actual job to run
createdNs - System.nanotime
delayUntilNs - System.nanotime value where job can be run the very first time
runningSessionId -

JobHolder

public JobHolder(int priority,
                 BaseJob baseJob,
                 long runningSessionId)

JobHolder

public JobHolder(int priority,
                 BaseJob baseJob,
                 long delayUntilNs,
                 long runningSessionId)
Method Detail

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