com.liferay.faces.bridge.application
Class ApplicationImpl

java.lang.Object
  extended by javax.faces.application.Application
      extended by javax.faces.application.ApplicationWrapper
          extended by com.liferay.faces.bridge.application.ApplicationCompatImpl
              extended by com.liferay.faces.bridge.application.ApplicationImpl
All Implemented Interfaces:
javax.faces.FacesWrapper<javax.faces.application.Application>

public class ApplicationImpl
extends ApplicationCompatImpl

This class is a portlet-specific implementation of the Faces Application. Its purpose is to override the createComponent(String) and ApplicationCompatImpl.getResourceHandler() methods so that additional portlet-specific instances can be introduced into the Faces lifecycle. Note that instances of this class are generated by the custom ApplicationFactoryImpl.

Author:
Neil Griffin

Constructor Summary
ApplicationImpl(javax.faces.application.Application application)
           
 
Method Summary
 javax.faces.component.UIComponent createComponent(String componentType)
          This method provides the ability to supply an instance of the bridge API's PortletNamingContainerUIViewRoot class which properly handles namespacing of "id" attributes for portlets.
 javax.faces.application.NavigationHandler getNavigationHandler()
          The normal way of adding a NavigationHandler to a JSF application is to have a navigation-handler element in the faces-config.xml descriptor.
 
Methods inherited from class com.liferay.faces.bridge.application.ApplicationCompatImpl
createComponent, getResourceHandler, getWrapped, subscribeToJSF2SystemEvent
 
Methods inherited from class javax.faces.application.ApplicationWrapper
addBehavior, addComponent, addConverter, addConverter, addDefaultValidatorId, addELContextListener, addELResolver, addValidator, createBehavior, createComponent, createComponent, createComponent, createComponent, createConverter, createConverter, createMethodBinding, createValidator, createValueBinding, evaluateExpressionGet, getActionListener, getBehaviorIds, getComponentTypes, getConverterIds, getConverterTypes, getDefaultLocale, getDefaultRenderKitId, getDefaultValidatorInfo, getELContextListeners, getELResolver, getExpressionFactory, getMessageBundle, getProjectStage, getPropertyResolver, getResourceBundle, getStateManager, getSupportedLocales, getValidatorIds, getVariableResolver, getViewHandler, publishEvent, publishEvent, removeELContextListener, setActionListener, setDefaultLocale, setDefaultRenderKitId, setMessageBundle, setNavigationHandler, setPropertyResolver, setResourceHandler, setStateManager, setSupportedLocales, setVariableResolver, setViewHandler, subscribeToEvent, subscribeToEvent, unsubscribeFromEvent, unsubscribeFromEvent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ApplicationImpl

public ApplicationImpl(javax.faces.application.Application application)
Method Detail

createComponent

public javax.faces.component.UIComponent createComponent(String componentType)
                                                  throws javax.faces.FacesException
This method provides the ability to supply an instance of the bridge API's PortletNamingContainerUIViewRoot class which properly handles namespacing of "id" attributes for portlets.

Overrides:
createComponent in class javax.faces.application.ApplicationWrapper
Throws:
javax.faces.FacesException
See Also:
Application.createComponent(String)

getNavigationHandler

public javax.faces.application.NavigationHandler getNavigationHandler()
The normal way of adding a NavigationHandler to a JSF application is to have a navigation-handler element in the faces-config.xml descriptor. Unfortunately the bridge can't use this mechanism, because it must ensure that the BridgeNavigationHandler is the outermost instance in the chain-of-responsibility. While this could be done with <ordering><after><others/></after></others> in the bridge's META-INF/faces-config.xml file, the bridge must use <ordering><before><others/></before></others> in order to maintain compatibility with ICEfaces and other component libraries. So because of this, it is necessary to provide this override of the getNavigationHandler() method in order to ensure that the BridgeNavigationHandler is the outermost instance.

Overrides:
getNavigationHandler in class javax.faces.application.ApplicationWrapper


Copyright © 2014 Liferay, Inc.. All Rights Reserved.