Interface ContextLocal<T>


  • public interface ContextLocal<T>
    A local storage for arbitrary data attached to a duplicated Context.

    Local storage should be registered before creating a Vertx instance, once registered a local storage cannot be unregistered.

    It is recommended to initialize local storage as static fields of a VertxServiceProvider, since providers are discovered before the capture of known local storages.

    Author:
    Julien Viet
    • Method Detail

      • registerLocal

        static <T> ContextLocal<T> registerLocal​(Class<T> type)
        Registers a context local storage.
        Returns:
        the context local storage
      • get

        default T get​(Context context)
        Get the local data from the context.
        Returns:
        the local data
      • get

        default T get​(Context context,
                      java.util.function.Supplier<? extends T> initialValueSupplier)
        Get the local data from the context, when it does not exist then call initialValueSupplier to obtain the initial value. The supplier can be called multiple times when several threads call this method concurrently.
        Parameters:
        initialValueSupplier - the supplier of the initial value
        Returns:
        the local data
      • put

        default void put​(Context context,
                         T data)
        Put local data in the context.
        Parameters:
        data - the data
      • remove

        default void remove​(Context context)
        Remove the local data from the context.
      • put

        default void put​(Context context,
                         AccessMode accessMode,
                         T value)
        Like #put(Context, T) but with an accessMode.