Package org.apache.myfaces.view.facelets
Class FaceletViewDeclarationLanguage
java.lang.Object
jakarta.faces.view.ViewDeclarationLanguage
org.apache.myfaces.view.ViewDeclarationLanguageBase
org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguageBase
org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage
This class represents the abstraction of Facelets as a ViewDeclarationLanguage.
- Since:
- 2.0
- Version:
- $Revision$ $Date$
- Author:
- Simon Lessard (latest modification by $Author$)
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final Stringstatic final StringKey used to cache component ids for the counterstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringMarker to indicate tag handlers the view currently being built is using partial state saving and it is necessary to call UIComponent.markInitialState after component instances are populated.static final StringConstant used by EncodingHandler to indicate the current encoding of the page being built, and indicate which one is the response encoding on getResponseEncoding(FacesContext, String) method.static final Stringstatic final Stringstatic final Stringstatic final StringFields inherited from class jakarta.faces.view.ViewDeclarationLanguageFACELETS_VIEW_DECLARATION_LANGUAGE_ID
- 
Constructor SummaryConstructorsConstructorDescriptionFaceletViewDeclarationLanguage(FacesContext context, ViewDeclarationLanguageStrategy strategy) 
- 
Method SummaryModifier and TypeMethodDescriptionvoidbuildView(FacesContext context, UIViewRoot view) calculateResourceLibraryContracts(FacesContext context, String viewId) protected StringcalculateViewId(FacesContext context, String viewId) Calculates the effective view identifier for the specified raw view identifier.static voidcleanTransientBuildOnRestore(FacesContext context) protected CompilercreateCompiler(FacesContext context) Creates the Facelet page compiler.createComponent(FacesContext context, String taglibURI, String tagName, Map<String, Object> attributes) protected FaceletFactorycreateFaceletFactory(FacesContext context, Compiler compiler) Creates a FaceletFactory instance using the specified compiler.protected ResponseWritercreateResponseWriter(FacesContext context) createView(FacesContext context, String viewId) Process the specification required algorithm that is generic to all PDL.getComponentMetadata(FacesContext context, Resource componentResource) retargetMethodExpressions(FacesContext, UIComponent) has some clues about the behavior of this methodgetId()protected StringgetResponseContentType(FacesContext context, String orig) Generate the content typeprotected StringgetResponseEncoding(FacesContext context, String orig) Generate the encodinggetScriptComponentResource(FacesContext context, Resource componentResource) getStateManagementStrategy(FacesContext context, String viewId) getViewMetadata(FacesContext context, String viewId) getViews(FacesContext facesContext, String path, int maxDepth, ViewVisitOption... options) protected voidhandleFaceletNotFound(FacesContext context, String viewId) protected voidhandleRenderException(FacesContext context, Exception e) static booleanisBuildingViewMetadata(FacesContext context) Check if the current facelet applied is used to build view metadata.static booleanstatic booleanisMarkInitialState(FacesContext context) static booleanisRefreshingTransientBuild(FacesContext context) static booleanisRefreshTransientBuildOnPSS(FacesContext context) static booleanstatic booleanisRemovingComponentBuild(FacesContext context) static booleanisUsingPSSOnThisView(FacesContext context) protected voidloadDecorators(FacesContext context, Compiler compiler) Load the various decorators for Facelets.protected voidloadLibraries(FacesContext context, Compiler compiler) Load the various tag libraries for Facelets.protected voidloadOptions(FacesContext context, Compiler compiler) Load the various options for Facelets compiler.voidrenderView(FacesContext context, UIViewRoot view) restoreView(FacesContext context, String viewId) voidretargetAttachedObjects(FacesContext context, UIComponent topLevelComponent, List<AttachedObjectHandler> handlerList) In short words, this method take care of "target" an "attached object".voidretargetMethodExpressions(FacesContext context, UIComponent topLevelComponent) protected voidsendSourceNotFound(FacesContext context, String message) Send a source not found to the client.booleanviewExists(FacesContext context, String viewId) Methods inherited from class org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguageBaseactivateDynamicComponentRefreshTransientBuild, dynamicComponentNeedsRefresh, getRenderKitFactory, getVisitContextFactory, isDynamicComponentNeedsRefresh, isDynamicComponentRefreshTransientBuildActive, isDynamicComponentRefreshTransientBuildActive, resetDynamicComponentNeedsRefreshFlagMethods inherited from class jakarta.faces.view.ViewDeclarationLanguagegetViews
- 
Field Details- 
DEFAULT_CHARACTER_ENCODING- See Also:
 
- 
PARAM_ENCODINGConstant used by EncodingHandler to indicate the current encoding of the page being built, and indicate which one is the response encoding on getResponseEncoding(FacesContext, String) method.- See Also:
 
- 
BUILDING_VIEW_METADATA- See Also:
 
- 
REFRESHING_TRANSIENT_BUILD- See Also:
 
- 
REFRESH_TRANSIENT_BUILD_ON_PSS- See Also:
 
- 
USING_PSS_ON_THIS_VIEW- See Also:
 
- 
REMOVING_COMPONENTS_BUILD- See Also:
 
- 
DYN_WRAPPER- See Also:
 
- 
GEN_MARK_ID- See Also:
 
- 
MARK_INITIAL_STATE_KEYMarker to indicate tag handlers the view currently being built is using partial state saving and it is necessary to call UIComponent.markInitialState after component instances are populated.- See Also:
 
- 
IS_BUILDING_INITIAL_STATE_KEY_ALIAS- See Also:
 
- 
CLEAN_TRANSIENT_BUILD_ON_RESTORE- See Also:
 
- 
CACHED_COMPONENT_IDSKey used to cache component ids for the counter- See Also:
 
 
- 
- 
Constructor Details- 
FaceletViewDeclarationLanguage
- 
FaceletViewDeclarationLanguagepublic FaceletViewDeclarationLanguage(FacesContext context, ViewDeclarationLanguageStrategy strategy) 
 
- 
- 
Method Details- 
getId- Overrides:
- getIdin class- ViewDeclarationLanguage
 
- 
viewExists- Overrides:
- viewExistsin class- ViewDeclarationLanguage
 
- 
buildView- Specified by:
- buildViewin class- ViewDeclarationLanguage
- Throws:
- IOException
 
- 
getComponentMetadataretargetMethodExpressions(FacesContext, UIComponent) has some clues about the behavior of this method- Specified by:
- getComponentMetadatain class- ViewDeclarationLanguage
 
- 
isBuildingViewMetadataCheck if the current facelet applied is used to build view metadata.- Parameters:
- context-
- Returns:
 
- 
isRefreshingTransientBuild
- 
isRemovingComponentBuild
- 
isMarkInitialState
- 
isRefreshTransientBuildOnPSS
- 
isRefreshTransientBuildOnPSSAuto
- 
isCleanTransientBuildOnRestore
- 
cleanTransientBuildOnRestore
- 
isUsingPSSOnThisView
- 
retargetAttachedObjectspublic void retargetAttachedObjects(FacesContext context, UIComponent topLevelComponent, List<AttachedObjectHandler> handlerList) In short words, this method take care of "target" an "attached object".- The "attached object" is instantiated by a tag handler.
- The "target" is an object used as "marker", that exposes a List<UIComponent>
 - Overrides:
- retargetAttachedObjectsin class- ViewDeclarationLanguage
 
- 
retargetMethodExpressions- Overrides:
- retargetMethodExpressionsin class- ViewDeclarationLanguage
 
- 
getScriptComponentResource- Specified by:
- getScriptComponentResourcein class- ViewDeclarationLanguage
 
- 
getStateManagementStrategy- Specified by:
- getStateManagementStrategyin class- ViewDeclarationLanguage
 
- 
getViewMetadata- Specified by:
- getViewMetadatain class- ViewDeclarationLanguage
 
- 
renderView- Specified by:
- renderViewin class- ViewDeclarationLanguage
- Throws:
- IOException
 
- 
createViewProcess the specification required algorithm that is generic to all PDL.- Overrides:
- createViewin class- ViewDeclarationLanguageBase
 
- 
restoreView- Overrides:
- restoreViewin class- ViewDeclarationLanguageBase
 
- 
calculateViewIdCalculates the effective view identifier for the specified raw view identifier.- Specified by:
- calculateViewIdin class- ViewDeclarationLanguageBase
- Parameters:
- context- le current FacesContext
- viewId- the raw view identifier
- Returns:
- the effective view identifier
 
- 
createCompilerCreates the Facelet page compiler.- Parameters:
- context- the current FacesContext
- Returns:
- the application's Facelet page compiler
 
- 
createFaceletFactoryCreates a FaceletFactory instance using the specified compiler.- Parameters:
- context- the current FacesContext
- compiler- the compiler to be used by the factory
- Returns:
- the factory used by this VDL to load pages
 
- 
createResponseWriterprotected ResponseWriter createResponseWriter(FacesContext context) throws IOException, FacesException - Throws:
- IOException
- FacesException
 
- 
getResponseContentTypeGenerate the content type- Parameters:
- context-
- orig-
- Returns:
 
- 
getResponseEncodingGenerate the encoding- Parameters:
- context-
- orig-
- Returns:
 
- 
handleFaceletNotFoundprotected void handleFaceletNotFound(FacesContext context, String viewId) throws FacesException, IOException - Throws:
- FacesException
- IOException
 
- 
handleRenderExceptionprotected void handleRenderException(FacesContext context, Exception e) throws IOException, jakarta.el.ELException, FacesException - Throws:
- IOException
- jakarta.el.ELException
- FacesException
 
- 
loadDecoratorsLoad the various decorators for Facelets.- Parameters:
- context- the current FacesContext
- compiler- the page compiler
 
- 
loadLibrariesLoad the various tag libraries for Facelets.- Parameters:
- context- the current FacesContext
- compiler- the page compiler
 
- 
loadOptionsLoad the various options for Facelets compiler. Currently only comment skipping is supported.- Parameters:
- context- the current FacesContext
- compiler- the page compiler
 
- 
sendSourceNotFoundSend a source not found to the client. Although it can be considered ok in JSP mode, I think it's pretty lame to have this kind of requirement at VDL level considering VDL represents the page --> Faces tree link, not the transport layer required to send a SC_NOT_FOUND.- Specified by:
- sendSourceNotFoundin class- ViewDeclarationLanguageBase
- Parameters:
- context- le current FacesContext
- message- the message associated with the error
 
- 
calculateResourceLibraryContracts- Overrides:
- calculateResourceLibraryContractsin class- ViewDeclarationLanguage
 
- 
getFaceletFactory
- 
createComponentpublic UIComponent createComponent(FacesContext context, String taglibURI, String tagName, Map<String, Object> attributes) - Overrides:
- createComponentin class- ViewDeclarationLanguage
 
- 
getViewspublic Stream<String> getViews(FacesContext facesContext, String path, int maxDepth, ViewVisitOption... options) - Overrides:
- getViewsin class- ViewDeclarationLanguage
 
 
-