\r\n

51Degrees Pipeline Java  4.2Newer Version 4.3

51Degrees Pipeline for Java

fiftyone.pipeline.engines.fiftyone.flowelements.ShareUsageBuilderBase< T extends ShareUsageBase > Class Template Reference abstract

Detailed Description

Abstract base class for ShareUsageElement builders.

Parameters
<T> - element type

Inheritance diagram for fiftyone.pipeline.engines.fiftyone.flowelements.ShareUsageBuilderBase< T extends ShareUsageBase >:

[legend]

Collaboration diagram for fiftyone.pipeline.engines.fiftyone.flowelements.ShareUsageBuilderBase< T extends ShareUsageBase >:

[legend]

Public Member Functions

 ShareUsageBuilderBase (ILoggerFactory loggerFactory)
Constructor. More...
 ShareUsageBuilderBase (ILoggerFactory loggerFactory, Logger logger)
Constructor. More...
ShareUsageBuilderBase< T >  setIncludedQueryStringParameters (List< String > queryStringParameterNames)
By default query string and HTTP form parameters are not shared unless prefixed with '51D_'. More...
ShareUsageBuilderBase< T >  setIncludedQueryStringParameters (String queryStringParameterNames)
By default query string and HTTP form parameters are not shared unless prefixed with '51D_'. More...
ShareUsageBuilderBase< T >  setIncludedQueryStringParameter (String queryStringParameterName)
By default query string and HTTP form parameters are not shared unless prefixed with '51D_'. More...
ShareUsageBuilderBase< T >  setBlockedHttpHeaders (List< String > blockedHeaders)
By default, all HTTP headers (excluding a few such as 'cookies') are shared. More...
ShareUsageBuilderBase< T >  setBlockedHttpHeader (String blockedHeader)
By default, all HTTP headers (excluding a few such as 'cookies') are shared. More...
ShareUsageBuilderBase< T >  setIgnoreFlowDataEvidenceFilter (String evidenceFilter)
This setting can be used to stop the usage sharing element from sharing anything about specific requests. More...
ShareUsageBuilderBase< T >  setSharePercentage (double sharePercentage)
Set the percentage of data that the ShareUsageElement should be sharing. More...
ShareUsageBuilderBase< T >  setMinimumEntriesPerMessage (int minimumEntriesPerMessage)
The usage element will group data into single requests before sending it. More...
ShareUsageBuilderBase< T >  setMaximumQueueSize (int size)
Set the maximum number of entries to be stored in the queue to be sent. More...
int  getMaximumQueueSize ()
Get the maximum number of entries to be stored in the queue to be sent. More...
ShareUsageBuilderBase< T >  setAddTimeout (int milliseconds)
Set the timeout in milliseconds to allow when attempting to add an item to the queue. More...
ShareUsageBuilderBase< T >  setTakeTimeout (int milliseconds)
Set the timeout in milliseconds to allow when attempting to take an item from the queue in order to send to the remote service. More...
ShareUsageBuilderBase< T >  setShareUsageUrl (String shareUsageUrl)
Set the URL to use when sharing usage data. More...
ShareUsageBuilderBase< T >  setSessionCookieName (String cookieName)
Set the name of the cookie that contains the session id. More...
ShareUsageBuilderBase< T >  setRepeatEvidenceIntervalMinutes (int interval)
If exactly the same evidence values are seen multiple times within this time limit then they will only be shared once. More...
ShareUsageBuilderBase< T >  setTrackSession (boolean track)
If set to true, the configured session cookie will be used to identify user sessions. More...
abstract T  build () throws IOException

Protected Attributes

final ILoggerFactory  loggerFactory
int  repeatEvidenceInterval
double  sharePercentage = 1
int  minimumEntriesPerMessage = 50
int  addTimeout = Constants.SHARE_USAGE_DEFAULT_ADD_TIMEOUT
int  takeTimeout = Constants.SHARE_USAGE_DEFAULT_TAKE_TIMEOUT
String  shareUsageUrl = Constants.SHARE_USAGE_DEFAULT_URL
String  sessionCookieName = fiftyone.pipeline.engines.Constants.DEFAULT_SESSION_COOKIE_NAME
List< String >  blockedHttpHeaders = new ArrayList<>()
final List< String >  includedQueryStringParameters = new ArrayList<>()
final List< Map.Entry< String, String > >  ignoreDataEvidenceFilter = new ArrayList<>()
boolean  trackSession

Constructor & Destructor Documentation

Member Function Documentation

◆ setIgnoreFlowDataEvidenceFilter()

ShareUsageBuilderBase<T> fiftyone.pipeline.engines.fiftyone.flowelements.ShareUsageBuilderBase< T extends ShareUsageBase >.setIgnoreFlowDataEvidenceFilter ( String   evidenceFilter )

This setting can be used to stop the usage sharing element from sharing anything about specific requests.

For example, if you wanted to stop sharing any details from requests where the user-agent header was 'ABC', you would set this to "header.user-agent:ABC"

Parameters
evidenceFilter - Comma separated string containing entries in the format [evidenceKey]:[evidenceValue]. Any requests with evidence matching these entries will not be shared.
Returns
this builder

◆ setIncludedQueryStringParameter()

ShareUsageBuilderBase<T> fiftyone.pipeline.engines.fiftyone.flowelements.ShareUsageBuilderBase< T extends ShareUsageBase >.setIncludedQueryStringParameter ( String   queryStringParameterName )

By default query string and HTTP form parameters are not shared unless prefixed with '51D_'.

This setting allows you to share these parameters with 51Degrees if needed.

Parameters
queryStringParameterName - the (case insensitive) name of the query string parameter to include
Returns
this builder

◆ setIncludedQueryStringParameters() [1/2]

ShareUsageBuilderBase<T> fiftyone.pipeline.engines.fiftyone.flowelements.ShareUsageBuilderBase< T extends ShareUsageBase >.setIncludedQueryStringParameters ( List< String >   queryStringParameterNames )

By default query string and HTTP form parameters are not shared unless prefixed with '51D_'.

This setting allows you to share these parameters with 51Degrees if needed.

Parameters
queryStringParameterNames - the (case insensitive) names of the query string parameters to include
Returns
this builder

◆ setIncludedQueryStringParameters() [2/2]

ShareUsageBuilderBase<T> fiftyone.pipeline.engines.fiftyone.flowelements.ShareUsageBuilderBase< T extends ShareUsageBase >.setIncludedQueryStringParameters ( String   queryStringParameterNames )

By default query string and HTTP form parameters are not shared unless prefixed with '51D_'.

This setting allows you to share these parameters with 51Degrees if needed.

Parameters
queryStringParameterNames - a comma separated list of (case insensitive) names of the query string parameters to include
Returns
this builder

◆ setMinimumEntriesPerMessage()

ShareUsageBuilderBase<T> fiftyone.pipeline.engines.fiftyone.flowelements.ShareUsageBuilderBase< T extends ShareUsageBase >.setMinimumEntriesPerMessage ( int   minimumEntriesPerMessage )

The usage element will group data into single requests before sending it.

This setting controls the minimum number of entries before data is sent. If you are sharing large amounts of data, increasing this value is recommended in order to reduce the overhead of sending HTTP messages. For example, the 51Degrees cloud service uses a value of 2500.

Parameters
minimumEntriesPerMessage - the minimum number of entries to be aggregated by the ShareUsageElement before they are sent to the remote service
Returns
this builder