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

io.opentelemetry.javaagent.tooling.field.VirtualFieldImplementationInstaller 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.field;

import io.opentelemetry.instrumentation.api.util.VirtualField;
import net.bytebuddy.agent.builder.AgentBuilder;

public interface VirtualFieldImplementationInstaller {

  /**
   * Rewrites {@link VirtualField#find(Class, Class)} so that they return the real implementation,
   * generated by this class.
   */
  AgentBuilder.Identified.Extendable rewriteVirtualFieldsCalls(
      AgentBuilder.Identified.Extendable builder);

  /**
   * Injects helper classes required to make the actual {@link VirtualField} implementations work.
   */
  AgentBuilder.Identified.Extendable injectHelperClasses(
      AgentBuilder.Identified.Extendable builder);

  /** Injects actual fields in classes referenced by {@link VirtualField} usages. */
  AgentBuilder.Identified.Extendable injectFields(AgentBuilder.Identified.Extendable builder);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy