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 com.launchdarkly.client.interfaces.EventSender;

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 EventSender eventSender;
  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,
      EventSender eventSender,
      URI eventsUri,
      int flushIntervalSeconds,
      boolean inlineUsersInEvents,
      Set privateAttrNames,
      int samplingInterval,
      int userKeysCapacity,
      int userKeysFlushIntervalSeconds,
      int diagnosticRecordingIntervalSeconds
      ) {
    this.allAttributesPrivate = allAttributesPrivate;
    this.capacity = capacity;
    this.eventSender = eventSender;
    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