content: /*
   * Copyright The OpenTelemetry Authors
   * SPDX-License-Identifier: Apache-2.0
   */
  
  package io.opentelemetry.test.annotation;
  
  import io.opentelemetry.instrumentation.annotations.AddingSpanAttributes;
  import io.opentelemetry.instrumentation.annotations.SpanAttribute;
  import io.opentelemetry.instrumentation.annotations.WithSpan;
  
  public class ExtractAttributesUsingAddingSpanAttributes {
  
    @AddingSpanAttributes
    public String withSpanAttributes(
        @SpanAttribute String implicitName,
        @SpanAttribute("explicitName") String parameter,
        @SpanAttribute("nullAttribute") String nullAttribute,
        String notTraced) {
  
      return "hello!";
    }
  
    @AddingSpanAttributes
    public String withSpanAttributesParent(
        @SpanAttribute String implicitName,
        @SpanAttribute("explicitName") String parameter,
        @SpanAttribute("nullAttribute") String nullAttribute,
        String notTraced) {
  
      return withSpanAttributes("foo", "bar", null, "baz");
    }
  
    @WithSpan
    @AddingSpanAttributes
    public String withSpanTakesPrecedence(
        @SpanAttribute String implicitName,
        @SpanAttribute("explicitName") String parameter,
        @SpanAttribute("nullAttribute") String nullAttribute,
        String notTraced) {
  
      return "hello!";
    }
  }
  