public final class OptimizelyFactory
extends java.lang.Object
Optimizely client with a minimal
number of configuration options. Basic default parameters can be configured via system properties
or through the use of an optimizely.properties file. System properties takes precedence over
the properties file and are managed via the PropertyUtils class.
OptimizelyFactory also provides setter methods to override the system properties at runtime.
| Constructor and Description |
|---|
OptimizelyFactory() |
| Modifier and Type | Method and Description |
|---|---|
static com.optimizely.ab.Optimizely |
newDefaultInstance()
Returns a new Optimizely instance based on preset configuration.
|
static com.optimizely.ab.Optimizely |
newDefaultInstance(com.optimizely.ab.config.ProjectConfigManager configManager)
Returns a new Optimizely instance based on preset configuration.
|
static com.optimizely.ab.Optimizely |
newDefaultInstance(com.optimizely.ab.config.ProjectConfigManager configManager,
com.optimizely.ab.notification.NotificationCenter notificationCenter)
Returns a new Optimizely instance based on preset configuration.
|
static com.optimizely.ab.Optimizely |
newDefaultInstance(com.optimizely.ab.config.ProjectConfigManager configManager,
com.optimizely.ab.notification.NotificationCenter notificationCenter,
com.optimizely.ab.event.EventHandler eventHandler)
Returns a new Optimizely instance based on preset configuration.
|
static com.optimizely.ab.Optimizely |
newDefaultInstance(java.lang.String sdkKey)
Returns a new Optimizely instance based on preset configuration.
|
static com.optimizely.ab.Optimizely |
newDefaultInstance(java.lang.String sdkKey,
java.lang.String fallback)
Returns a new Optimizely instance based on preset configuration.
|
static com.optimizely.ab.Optimizely |
newDefaultInstance(java.lang.String sdkKey,
java.lang.String fallback,
java.lang.String datafileAccessToken)
Returns a new Optimizely instance with authenticated datafile support.
|
static void |
setBlockingTimeout(long blockingDuration,
java.util.concurrent.TimeUnit blockingTimeout)
Convenience method for setting the blocking timeout.
|
static void |
setDatafileAccessToken(java.lang.String datafileAccessToken)
Convenience method for setting the Datafile Access Token on System properties.
|
static void |
setEventQueueParams(int queueCapacity,
int numberWorkers)
Convenience method for setting the required queueing parameters for event dispatching.
|
static void |
setMaxEventBatchInterval(long batchInterval)
Convenience method for setting the maximum time interval in milliseconds between event dispatches.
|
static void |
setMaxEventBatchSize(int batchSize)
Convenience method for setting the maximum number of events contained within a batch.
|
static void |
setPollingInterval(long pollingDuration,
java.util.concurrent.TimeUnit pollingTimeout)
Convenience method for setting the polling interval on System properties.
|
static void |
setSdkKey(java.lang.String sdkKey)
Convenience method for setting the sdk key on System properties.
|
public static void setMaxEventBatchSize(int batchSize)
AsyncEventHandlerbatchSize - The max number of events for batchingpublic static void setMaxEventBatchInterval(long batchInterval)
AsyncEventHandlerbatchInterval - The max time interval for event batchingpublic static void setEventQueueParams(int queueCapacity,
int numberWorkers)
AsyncEventHandlerqueueCapacity - A depth of the event queuenumberWorkers - The number of workerspublic static void setBlockingTimeout(long blockingDuration,
java.util.concurrent.TimeUnit blockingTimeout)
HttpProjectConfigManager.Builder#withBlockingTimeout(Long, TimeUnit)blockingDuration - The blocking time durationblockingTimeout - The blocking time unitpublic static void setPollingInterval(long pollingDuration,
java.util.concurrent.TimeUnit pollingTimeout)
HttpProjectConfigManager.Builder#withPollingInterval(Long, TimeUnit)pollingDuration - The polling intervalpollingTimeout - The polling time unitpublic static void setSdkKey(java.lang.String sdkKey)
HttpProjectConfigManager.Builder#withSdkKey(String)sdkKey - The sdk keypublic static void setDatafileAccessToken(java.lang.String datafileAccessToken)
HttpProjectConfigManager.Builder#withDatafileAccessToken(String)datafileAccessToken - The datafile access tokenpublic static com.optimizely.ab.Optimizely newDefaultInstance()
public static com.optimizely.ab.Optimizely newDefaultInstance(java.lang.String sdkKey)
AsyncEventHandler
ProjectConfigManager - HttpProjectConfigManagersdkKey - SDK key used to build the ProjectConfigManager.public static com.optimizely.ab.Optimizely newDefaultInstance(java.lang.String sdkKey,
java.lang.String fallback)
AsyncEventHandler
ProjectConfigManager - HttpProjectConfigManagersdkKey - SDK key used to build the ProjectConfigManager.fallback - Fallback datafile string used by the ProjectConfigManager to be immediately available.public static com.optimizely.ab.Optimizely newDefaultInstance(java.lang.String sdkKey,
java.lang.String fallback,
java.lang.String datafileAccessToken)
sdkKey - SDK key used to build the ProjectConfigManager.fallback - Fallback datafile string used by the ProjectConfigManager to be immediately available.datafileAccessToken - Token for authenticated datafile access.public static com.optimizely.ab.Optimizely newDefaultInstance(com.optimizely.ab.config.ProjectConfigManager configManager)
AsyncEventHandlerconfigManager - The ProjectConfigManager supplied to Optimizely instance.public static com.optimizely.ab.Optimizely newDefaultInstance(com.optimizely.ab.config.ProjectConfigManager configManager,
com.optimizely.ab.notification.NotificationCenter notificationCenter)
AsyncEventHandlerconfigManager - The ProjectConfigManager supplied to Optimizely instance.notificationCenter - The NotificationCenter supplied to Optimizely instance.public static com.optimizely.ab.Optimizely newDefaultInstance(com.optimizely.ab.config.ProjectConfigManager configManager,
com.optimizely.ab.notification.NotificationCenter notificationCenter,
com.optimizely.ab.event.EventHandler eventHandler)
configManager - The ProjectConfigManager supplied to Optimizely instance.notificationCenter - The ProjectConfigManager supplied to Optimizely instance.eventHandler - The EventHandler supplied to Optimizely instance.