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

io.opentelemetry.javaagent.tooling.bootstrap.BootstrapPackagesBuilderImpl Maven / Gradle / Ivy

There is a newer version: 2.12.0-alpha
Show newest version
/*
 * Copyright The OpenTelemetry Authors
 * SPDX-License-Identifier: Apache-2.0
 */

package io.opentelemetry.javaagent.tooling.bootstrap;

import com.google.errorprone.annotations.CanIgnoreReturnValue;
import io.opentelemetry.javaagent.tooling.Constants;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

public class BootstrapPackagesBuilderImpl implements BootstrapPackagesBuilder {

  // TODO: consider using a Trie
  private final List packages = new ArrayList<>(Constants.BOOTSTRAP_PACKAGE_PREFIXES);

  @Override
  @CanIgnoreReturnValue
  public BootstrapPackagesBuilder add(String classNameOrPrefix) {
    packages.add(classNameOrPrefix);
    return this;
  }

  @Override
  @CanIgnoreReturnValue
  public BootstrapPackagesBuilder addAll(Collection classNamesOrPrefixes) {
    packages.addAll(classNamesOrPrefixes);
    return this;
  }

  public List build() {
    return packages;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy