io.vertx.core.spi.tracing

## Interface TagExtractor<T>

-     public interface TagExtractor<T>

  This provides an utility for extracting request/response tags, potentially allocation-free.

  Tag should follow the OpenTracing tag names. This might change in the future if a new spec with a superset (semantically wise) of this list.

  Author:
    Julien Viet

- - ### Method Summary

    All Methods Static Methods Instance Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `static <T> TagExtractor<T>` | `empty()`
    `default Map<String,String>` | `extract(T obj)` Extract all the tags from `obj` into a `Map<String, String>`.
    `default void` | `extractTo(T obj, java.util.function.BiConsumer<String,String> consumer)` Extract all the tags from `obj` into a tag `consumer`.
    `default void` | `extractTo(T obj, Map<String,String> tags)` Extract all the tags from `obj` into the `tags` map.
    `default int` | `len(T obj)` Returns the number of tags `obj` exposes.
    `default String` | `name(T obj, int index)` Returns the name of the tag extracted from `obj`at the specified `index`.
    `default String` | `value(T obj, int index)` Returns the value of the tag extracted from `obj` at the specified `index`.

- - ### Method Detail

    - #### empty

          static <T> TagExtractor<T> empty()

    - #### len

          default int len(T obj)

      Returns the number of tags `obj` exposes.
      Parameters:
        `obj` - the object to evaluate
      Returns:
        the number of tags

    - #### name

          default String name(T obj,
                              int index)

      Returns the name of the tag extracted from `obj`at the specified `index`.
      Parameters:
        `obj` - the object to extract the tag name from
        `index` - the index of the tag
      Returns:
        the tag name

    - #### value

          default String value(T obj,
                               int index)

      Returns the value of the tag extracted from `obj` at the specified `index`.
      Parameters:
        `obj` - the object to extract the tag name from
        `index` - the index of the tag
      Returns:
        the tag value

    - #### extract

          default Map<String,String> extract(T obj)

      Extract all the tags from `obj` into a `Map<String, String>`.
      Parameters:
        `obj` - the object to extract the tags from
      Returns:
        the map of all tags extracted from the object

    - #### extractTo

          default void extractTo(T obj,
                                 Map<String,String> tags)

      Extract all the tags from `obj` into the `tags` map.
      Parameters:
        `obj` - the object to extract the tags from
        `tags` - the map populated with the tags extracted from the object

    - #### extractTo

          default void extractTo(T obj,
                                 java.util.function.BiConsumer<String,String> consumer)

      Extract all the tags from `obj` into a tag `consumer`.
      Parameters:
        `obj` - the object to extract the tags from
        `consumer` - the consumer populated with the tags extracted from the object

Copyright © 2023 Eclipse. All rights reserved.