com.vaadin.flow.internal.

Class CurrentInstance

java.lang.Object
com.vaadin.flow.internal.CurrentInstance

All Implemented Interfaces:

Serializable

public class CurrentInstance extends Object implements Serializable

Keeps track of various current instances for the current thread. All the instances are automatically cleared after handling a request from the client to avoid leaking memory.

Please note that the instances are stored using WeakReference. This means that the a current instance value may suddenly disappear if there a no other references to the object.

Currently the framework uses the following instances:

VaadinRequest, VaadinResponse, UI, VaadinService, VaadinSession.

For internal use only. May be renamed or removed in a future release.

Since:

1.0

Author:

Vaadin Ltd

See Also:

  • Method Details

    • get

      public static <T> T get(Class<T> type)

      Gets the current instance of a specific type if available.

      Type Parameters:

      T - the instance type

      Parameters:

      type - the class to get an instance of

      Returns:

      the current instance or the provided type, or null if there is no current instance.

    • set

      public static <T> void set(Class<T> type, T instance)

      Sets the current instance of the given type.

      Type Parameters:

      T - the instance type

      Parameters:

      type - the class that should be used when getting the current instance back

      instance - the actual instance

      See Also:

    • clearAll

      public static void clearAll()

      Clears all current instances.

    • restoreInstances

      public static void restoreInstances(Map<Class<?>,CurrentInstance> old)

      Restores the given instances to the given values. Note that this should only be used internally to restore Vaadin classes.

      Parameters:

      old - A Class -< CurrentInstance map to set as current instances

    • getInstances

      public static Map<Class<?>,CurrentInstance> getInstances()

      Gets the currently set instances so that they can later be restored using restoreInstances(Map).

      Returns:

      a map containing the current instances

    • setCurrent

      public static Map<Class<?>,CurrentInstance> setCurrent(UI ui)

      Sets current instances for the UI and all related classes. The previously defined values can be restored by passing the returned map to restoreInstances(Map).

      Parameters:

      ui - The UI

      Returns:

      A map containing the old values of the instances that this method updated.

    • setCurrent

      public static Map<Class<?>,CurrentInstance> setCurrent(VaadinSession session)

      Sets current instances for the VaadinSession and all related classes. The previously defined values can be restored by passing the returned map to restoreInstances(Map).

      Parameters:

      session - The VaadinSession

      Returns:

      A map containing the old values of the instances this method updated.