Extending Liferay Faces Bridge via Factory Wrappers
Liferay Faces Bridge has several abstract classes that serve as a contract for defining factories:
These factories are defined using the standard JSF <factory-extension> element in faces-config.xml. The default implementations of these factories are defined in the bridge's META-INF/faces-config.xml file.
The bridge features an extension mechanism that enables developers to decorate any of these factories in META-INF/faces-config.xml (inside a jar), or WEB-INF/faces-config.xml (inside a portlet war). The benefit of this feature is that developers can plugin their own factory implementations that decorate (wrap) the default implementations with a FactoryWrapper.