Package com.vaadin.quarkus.annotation
Annotation Interface UIScoped
@Scope
@Inherited
@Target({ANNOTATION_TYPE,TYPE,FIELD,METHOD,CONSTRUCTOR})
@Retention(RUNTIME)
public @interface UIScoped
The lifecycle of a UIScoped component is bound to a browser tab.
Injection with this annotation will create a direct reference to the object rather than a proxy.
There are some limitations when not using proxies. Circular referencing (that
is, injecting A to B and B to A) will not work. Injecting into a larger scope
will bind the instance from the currently active smaller scope, and will
ignore smaller scope change. For example after being injected into session
scope it will point to the same UIScoped bean instance ( even its
UI is closed ) regardless of UI change.
The sister annotation to this is the NormalUIScoped. Both annotations
reference the same underlying scope, so it is possible to get both a proxy
and a direct reference to the same object by using different annotations.