Class ConfigPropertiesBackedDeclarativeConfigProperties

java.lang.Object
io.opentelemetry.instrumentation.config.bridge.ConfigPropertiesBackedDeclarativeConfigProperties
All Implemented Interfaces:
io.opentelemetry.api.incubator.config.DeclarativeConfigProperties

public final class ConfigPropertiesBackedDeclarativeConfigProperties extends Object implements io.opentelemetry.api.incubator.config.DeclarativeConfigProperties
Implementation of DeclarativeConfigProperties backed by ConfigProperties.

It tracks the navigation path and only resolves to system properties at the leaf node when a value is actually requested.

  • Method Details

    • createInstrumentationConfig

      public static io.opentelemetry.api.incubator.config.DeclarativeConfigProperties createInstrumentationConfig(io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties configProperties)
    • getString

      @Nullable public String getString(String name)
      Specified by:
      getString in interface io.opentelemetry.api.incubator.config.DeclarativeConfigProperties
    • getBoolean

      @Nullable public Boolean getBoolean(String name)
      Specified by:
      getBoolean in interface io.opentelemetry.api.incubator.config.DeclarativeConfigProperties
    • getInt

      @Nullable public Integer getInt(String name)
      Specified by:
      getInt in interface io.opentelemetry.api.incubator.config.DeclarativeConfigProperties
    • getLong

      @Nullable public Long getLong(String name)
      Specified by:
      getLong in interface io.opentelemetry.api.incubator.config.DeclarativeConfigProperties
    • getDouble

      @Nullable public Double getDouble(String name)
      Specified by:
      getDouble in interface io.opentelemetry.api.incubator.config.DeclarativeConfigProperties
    • getStructured

      public io.opentelemetry.api.incubator.config.DeclarativeConfigProperties getStructured(String name)
      Important: this method should return null if there is no structured child with the given name, but unfortunately that is not implementable on top of ConfigProperties.

      This will be misleading if anyone is comparing the return value to null.

      Specified by:
      getStructured in interface io.opentelemetry.api.incubator.config.DeclarativeConfigProperties
    • getScalarList

      @Nullable public <T> List<T> getScalarList(String name, Class<T> scalarType)
      Specified by:
      getScalarList in interface io.opentelemetry.api.incubator.config.DeclarativeConfigProperties
    • getStructuredList

      @Nullable public List<io.opentelemetry.api.incubator.config.DeclarativeConfigProperties> getStructuredList(String name)
      Specified by:
      getStructuredList in interface io.opentelemetry.api.incubator.config.DeclarativeConfigProperties
    • getPropertyKeys

      public Set<String> getPropertyKeys()
      Specified by:
      getPropertyKeys in interface io.opentelemetry.api.incubator.config.DeclarativeConfigProperties
    • getComponentLoader

      public io.opentelemetry.common.ComponentLoader getComponentLoader()
      Specified by:
      getComponentLoader in interface io.opentelemetry.api.incubator.config.DeclarativeConfigProperties