com.path.android.jobqueue.config
Class Configuration.Builder

java.lang.Object
  extended by com.path.android.jobqueue.config.Configuration.Builder
Enclosing class:
Configuration

public static final class Configuration.Builder
extends java.lang.Object


Constructor Summary
Configuration.Builder(Context context)
           
 
Method Summary
 Configuration build()
           
 Configuration.Builder consumerKeepAlive(int keepAlive)
          When JobManager runs out of `ready` jobs, it will keep consumers alive for this duration.
 Configuration.Builder customLogger(CustomLogger logger)
          you can provide a custom logger to get logs from JobManager.
 Configuration.Builder id(java.lang.String id)
          provide and ID for this job manager to be used while creating persistent queue.
 Configuration.Builder injector(DependencyInjector injector)
          JobManager is suitable for DependencyInjection.
 Configuration.Builder jobSerializer(SqliteJobQueue.JobSerializer jobSerializer)
          convenient configuration to replace job serializer while using SqliteJobQueue queue for persistence.
 Configuration.Builder loadFactor(int loadFactor)
          calculated by # of jobs (running+waiting) per thread for instance, at a given time, if you have two consumers and 10 jobs in waiting queue (or running right now), load is (10/2) =5 defaults to
 Configuration.Builder maxConsumerCount(int count)
          # of max consumers to run concurrently.
 Configuration.Builder minConsumerCount(int count)
          you can specify to keep minConsumers alive even if there are no ready jobs.
 Configuration.Builder networkUtil(NetworkUtil networkUtil)
          By default, Job Manager comes with a simple NetworkUtilImpl that queries ConnectivityManager to check if network connection exists.
 Configuration.Builder queueFactory(QueueFactory queueFactory)
          JobManager needs one persistent and one non-persistent JobQueue to function.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Configuration.Builder

public Configuration.Builder(Context context)
Method Detail

id

public Configuration.Builder id(java.lang.String id)
provide and ID for this job manager to be used while creating persistent queue. it is useful if you are going to create multiple instances of it. default id is

Parameters:
id - if you have multiple instances of job manager, you should provide an id to distinguish their persistent files.

consumerKeepAlive

public Configuration.Builder consumerKeepAlive(int keepAlive)
When JobManager runs out of `ready` jobs, it will keep consumers alive for this duration. it defaults to

Parameters:
keepAlive - in seconds

queueFactory

public Configuration.Builder queueFactory(QueueFactory queueFactory)
JobManager needs one persistent and one non-persistent JobQueue to function. By default, it will use SqliteJobQueue and NonPersistentPriorityQueue You can provide your own implementation if they don't fit your needs. Make sure it passes all tests in JobQueueTestBase to ensure it will work fine.

Parameters:
queueFactory - your custom queue factory.

jobSerializer

public Configuration.Builder jobSerializer(SqliteJobQueue.JobSerializer jobSerializer)
convenient configuration to replace job serializer while using SqliteJobQueue queue for persistence. by default, it uses a SqliteJobQueue.JavaSerializer which will use default Java serialization.

Parameters:
JobSerializer -
Returns:

networkUtil

public Configuration.Builder networkUtil(NetworkUtil networkUtil)
By default, Job Manager comes with a simple NetworkUtilImpl that queries ConnectivityManager to check if network connection exists. You can provide your own if you need a custom logic (e.g. check your server health etc).


injector

public Configuration.Builder injector(DependencyInjector injector)
JobManager is suitable for DependencyInjection. Just provide your DependencyInjector and it will call it before {BaseJob#onAdded} method is called. if job is persistent, it will also be called before run method.

Parameters:
injector - your dependency injector interface, if using one
Returns:

maxConsumerCount

public Configuration.Builder maxConsumerCount(int count)
# of max consumers to run concurrently. defaults to

Parameters:
count -

minConsumerCount

public Configuration.Builder minConsumerCount(int count)
you can specify to keep minConsumers alive even if there are no ready jobs. defaults to

Parameters:
count -

customLogger

public Configuration.Builder customLogger(CustomLogger logger)
you can provide a custom logger to get logs from JobManager. by default, logs will go no-where.

Parameters:
logger -

loadFactor

public Configuration.Builder loadFactor(int loadFactor)
calculated by # of jobs (running+waiting) per thread for instance, at a given time, if you have two consumers and 10 jobs in waiting queue (or running right now), load is (10/2) =5 defaults to

Parameters:
loadFactor -

build

public Configuration build()