Annotation Interface NormalViewScoped


@NormalScope @Inherited @Target({ANNOTATION_TYPE,TYPE,FIELD,METHOD,CONSTRUCTOR}) @Retention(RUNTIME) public @interface NormalViewScoped
The lifecycle of a ViewScoped component starts when the view is navigated to and ends when navigating to a different view or when the UI is closed.

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