com.vaadin.flow.internal.

Class 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:

    Serialized Form

    • Method Detail

      • 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:

        ThreadLocal

      • 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.