51Degrees Pipeline Java  4.1Newer Version 4.2

51Degrees Pipeline for Java

fiftyone.pipeline.engines.flowelements.SingleFileAspectEngineBuilderBase< TBuilder extends OnPremiseAspectEngineBuilderBase< TBuilder, TEngine, TEngine extends OnPremiseAspectEngine > Class Template Reference abstract

Detailed Description

Abstract base class that exposes the common options that all on-premise engine builders using a single data file should make use of.

Parameters
<TBuilder> - the specific builder type to use as the return type from the fluent builder methods
<TEngine> - the type of the engine that this builder will build

Inheritance diagram for fiftyone.pipeline.engines.flowelements.SingleFileAspectEngineBuilderBase< TBuilder extends OnPremiseAspectEngineBuilderBase< TBuilder, TEngine, TEngine extends OnPremiseAspectEngine >:

[legend]

Collaboration diagram for fiftyone.pipeline.engines.flowelements.SingleFileAspectEngineBuilderBase< TBuilder extends OnPremiseAspectEngineBuilderBase< TBuilder, TEngine, TEngine extends OnPremiseAspectEngine >:

[legend]

Public Member Functions

 SingleFileAspectEngineBuilderBase ()
Default constructor which uses the ILoggerFactory implementation returned by LoggerFactory#getILoggerFactory().
 SingleFileAspectEngineBuilderBase (ILoggerFactory loggerFactory)
Construct a new instance using the ILoggerFactory supplied. More...
 SingleFileAspectEngineBuilderBase (ILoggerFactory loggerFactory, DataUpdateService dataUpdateService)
Construct a new instance using the ILoggerFactory and DataUpdateService supplied. More...
TEngine  build ( @BuildArg("dataFile") String dataFile, @BuildArg("createTempDataCopy") boolean createTempDataCopy) throws Exception
Build an engine using the current options and the specified data file. More...
TEngine  build (byte[] data) throws Exception
Build an engine using the current options and the specified byte array. More...
TBuilder  setDataUpdateUrl (String url)
Configure the engine to use the specified URL when looking for an updated data file. More...
TBuilder  setDataUpdateUrlFormatter (DataUpdateUrlFormatter formatter)
Specify a DataUpdateUrlFormatter to be used by the DataUpdateService when building the complete URL to query for updated data. More...
TBuilder  setDataUpdateVerifyMd5 (boolean verify)
Set a value indicating if the DataUpdateService should expect the response from the data update URL to contain a 'content-md5' HTTP header that can be used to verify the integrity of the content. More...
TBuilder  setDataUpdateDecompress (boolean decompress)
Set a value indicating if the DataUpdateService should expect content from the configured data update URL to be compressed or not. More...
TBuilder  setAutoUpdate (boolean enabled)
Enable or disable automatic updates for this engine. More...
TBuilder  setDataFileSystemWatcher (boolean enabled)
The DataUpdateService has the ability to watch a data file on disk and automatically refresh the engine as soon as the file is updated. More...
TBuilder  setUpdatePollingInterval (int pollingIntervalSeconds)
Set the time between checks for a new data file made by the DataUpdateService. More...
TBuilder  setUpdatePollingInterval (long pollingIntervalMillis)
Set the time between checks for a new data file made by the DataUpdateService. More...
TBuilder  setUpdateRandomisationMax (long maximumDeviationMillis)
A random element can be added to the DataUpdateService polling interval. More...
TBuilder  setVerifyIfModifiedSince (boolean enabled)
Set if DataUpdateService sends the If-Modified-Since header in the request for a new data file. More...
TBuilder  setDataUpdateLicenseKey (String key)
Set the license key to use when updating the Engine's data file. More...
TBuilder  setDataUpdateLicenseKeys (String[] keys)
Set the license keys to use when updating the Engine's data file. More...
TBuilder  setDataUpdateOnStartup (boolean enabled)
Configure the data file to update on startup or not. More...

Public Member Functions inherited from fiftyone.pipeline.engines.flowelements.OnPremiseAspectEngineBuilderBase< TBuilder, TEngine >

 OnPremiseAspectEngineBuilderBase ()
Default constructor which uses the ILoggerFactory implementation returned by LoggerFactory#getILoggerFactory().
 OnPremiseAspectEngineBuilderBase (ILoggerFactory loggerFactory)
Construct a new instance using the ILoggerFactory supplied. More...
 OnPremiseAspectEngineBuilderBase (ILoggerFactory loggerFactory, DataUpdateService dataUpdateService)
Construct a new instance using the ILoggerFactory and DataUpdateService supplied. More...
TBuilder  addDataFile (DataFileConfiguration configuration)
Add a data file for this engine to use. More...
TBuilder  setTempDirPath (String dirPath)
Set the temporary path to use when the engine needs to create temporary files. More...
abstract TBuilder  setPerformanceProfile (Constants.PerformanceProfiles profile)
Set the performance profile that the engine should use. More...

Protected Member Functions

TEngine  build () throws Exception
Build an engine using the configured options. More...

Protected Member Functions inherited from fiftyone.pipeline.engines.flowelements.OnPremiseAspectEngineBuilderBase< TBuilder, TEngine >

void  preCreateEngine ()
void  configureEngine (TEngine engine) throws Exception
AspectEngineDataFile  newAspectEngineDataFile ()
Create a new empty data file instance to be populated with the details of the data file to be used. More...

Constructor & Destructor Documentation

◆ SingleFileAspectEngineBuilderBase() [2/2]

fiftyone.pipeline.engines.flowelements.SingleFileAspectEngineBuilderBase< TBuilder extends OnPremiseAspectEngineBuilderBase< TBuilder, TEngine, TEngine extends OnPremiseAspectEngine >.SingleFileAspectEngineBuilderBase ( ILoggerFactory   loggerFactory,
DataUpdateService   dataUpdateService  
)

Construct a new instance using the ILoggerFactory and DataUpdateService supplied.

Parameters
loggerFactory - the logger factory to use
dataUpdateService - the DataUpdateService to use when automatic updates happen on the data file

Member Function Documentation

◆ build() [1/3]

TEngine fiftyone.pipeline.engines.flowelements.SingleFileAspectEngineBuilderBase< TBuilder extends OnPremiseAspectEngineBuilderBase< TBuilder, TEngine, TEngine extends OnPremiseAspectEngine >.build ( @BuildArg("dataFile") String   dataFile,
@BuildArg("createTempDataCopy") boolean   createTempDataCopy  
) throws Exception

Build an engine using the current options and the specified data file.

Also registers the data file with the data update service.

Parameters
dataFile - complete path to the data file to use when creating the engine
createTempDataCopy - if true, the engine will create a copy of the data file in a temporary location rather than using the file provided directly. If not loading all data into memory, this is required for automatic data updates to occur
Returns
new AspectEngine instance

◆ setAutoUpdate()

TBuilder fiftyone.pipeline.engines.flowelements.SingleFileAspectEngineBuilderBase< TBuilder extends OnPremiseAspectEngineBuilderBase< TBuilder, TEngine, TEngine extends OnPremiseAspectEngine >.setAutoUpdate ( boolean   enabled )

Enable or disable automatic updates for this engine.

Parameters
enabled - if true, the engine will update it's data file with no manual intervention. If false, the engine will never update it's data file unless the manual update method is called on DataUpdateService
Returns
this builder

◆ setDataFileSystemWatcher()

TBuilder fiftyone.pipeline.engines.flowelements.SingleFileAspectEngineBuilderBase< TBuilder extends OnPremiseAspectEngineBuilderBase< TBuilder, TEngine, TEngine extends OnPremiseAspectEngine >.setDataFileSystemWatcher ( boolean   enabled )

The DataUpdateService has the ability to watch a data file on disk and automatically refresh the engine as soon as the file is updated.

This setting enables/disables that feature.

The setAutoUpdate(boolean) feature must also be enabled in order for the file system watcher to work. If the engine is built from a byte[] then this setting does nothing.

Parameters
enabled - the cache configuration to use
Returns
this builder