All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.launchdarkly.client.EventsConfiguration Maven / Gradle / Ivy

package com.launchdarkly.client;

import com.google.common.collect.ImmutableSet;

import java.net.URI;
import java.util.Set;

// Used internally to encapsulate the various config/builder properties for events.
final class EventsConfiguration {
  final boolean allAttributesPrivate;
  final int capacity;
  final URI eventsUri;
  final int flushIntervalSeconds;
  final boolean inlineUsersInEvents;
  final ImmutableSet privateAttrNames;
  final int samplingInterval;
  final int userKeysCapacity;
  final int userKeysFlushIntervalSeconds;
  final int diagnosticRecordingIntervalSeconds;
  
  EventsConfiguration(boolean allAttributesPrivate, int capacity, URI eventsUri, int flushIntervalSeconds,
      boolean inlineUsersInEvents, Set privateAttrNames, int samplingInterval,
      int userKeysCapacity, int userKeysFlushIntervalSeconds, int diagnosticRecordingIntervalSeconds) {
    super();
    this.allAttributesPrivate = allAttributesPrivate;
    this.capacity = capacity;
    this.eventsUri = eventsUri == null ? LDConfig.DEFAULT_EVENTS_URI : eventsUri;
    this.flushIntervalSeconds = flushIntervalSeconds;
    this.inlineUsersInEvents = inlineUsersInEvents;
    this.privateAttrNames = privateAttrNames == null ? ImmutableSet.of() : ImmutableSet.copyOf(privateAttrNames);
    this.samplingInterval = samplingInterval;
    this.userKeysCapacity = userKeysCapacity;
    this.userKeysFlushIntervalSeconds = userKeysFlushIntervalSeconds;
    this.diagnosticRecordingIntervalSeconds = diagnosticRecordingIntervalSeconds;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy