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.