Annotation Interface NormalUIScoped


@NormalScope @Inherited @Target({ANNOTATION_TYPE,TYPE,FIELD,METHOD,CONSTRUCTOR}) @Retention(RUNTIME) public @interface NormalUIScoped
The lifecycle of a UIScoped component is bound to a browser tab.

Injecting with this annotation will create a proxy for the contextual instance rather than provide the contextual instance itself.

When using proxies, be aware that it's not guaranteed that the hashcode or equals will match when comparing a proxy to it's underlying instance. It's imperative to be aware of this when (for example) adding proxies to a Collection.

You cannot use this scope with Vaadin Components. Proxy Components do not work correctly within the Vaadin framework, so as a precaution the Vaadin CDI plugin will not deploy if any such beans are discovered.

The sister annotation to this is the UIScoped. 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.