Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Invalid
-
2.2.14, 2.3.10, 2.3-next-M7, 4.0.0-RC2
-
None
-
None
Description
Per BalusC:
Since JSF 2.3 the default constructor of FacesWrapper subclasses has been deprecated in order to force implementors to instead use the constructor taking the wrapped instance (and to raise their awareness), so that logically the inherited getWrapped() method will be used throughout the implementation instead of the local wrapped variable. This will ensure that the correct implementation is returned and correct behavior is performed might the FacesWrapper implementation itself being wrapped by yet another FacesWrapper implementation further down the chain. Because, when the FacesWrapper implementation incorrectly/accidentally uses the local wrapped variable instead of the getWrapped() method, then that other FacesWrapper implementation will basically be completely ignored, hereby breaking the decorator pattern.
PrimeFaces ticket: https://github.com/primefaces/primefaces/issues/9518
Attachments
Attachments
Issue Links
- links to