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 Summary
FieldsModifier 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.ViewDeclarationLanguage
FACELETS_VIEW_DECLARATION_LANGUAGE_ID -
Constructor Summary
ConstructorsConstructorDescriptionFaceletViewDeclarationLanguage(FacesContext context, ViewDeclarationLanguageStrategy strategy) -
Method Summary
Modifier 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.FaceletViewDeclarationLanguageBase
activateDynamicComponentRefreshTransientBuild, dynamicComponentNeedsRefresh, getRenderKitFactory, getVisitContextFactory, isDynamicComponentNeedsRefresh, isDynamicComponentRefreshTransientBuildActive, isDynamicComponentRefreshTransientBuildActive, resetDynamicComponentNeedsRefreshFlagMethods inherited from class jakarta.faces.view.ViewDeclarationLanguage
getViews
-
Field Details
-
DEFAULT_CHARACTER_ENCODING
- See Also:
-
PARAM_ENCODING
Constant 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_KEY
Marker 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_IDS
Key used to cache component ids for the counter- See Also:
-
-
Constructor Details
-
FaceletViewDeclarationLanguage
-
FaceletViewDeclarationLanguage
public FaceletViewDeclarationLanguage(FacesContext context, ViewDeclarationLanguageStrategy strategy)
-
-
Method Details
-
getId
- Overrides:
getIdin classViewDeclarationLanguage
-
viewExists
- Overrides:
viewExistsin classViewDeclarationLanguage
-
buildView
- Specified by:
buildViewin classViewDeclarationLanguage- Throws:
IOException
-
getComponentMetadata
retargetMethodExpressions(FacesContext, UIComponent) has some clues about the behavior of this method- Specified by:
getComponentMetadatain classViewDeclarationLanguage
-
isBuildingViewMetadata
Check if the current facelet applied is used to build view metadata.- Parameters:
context-- Returns:
-
isRefreshingTransientBuild
-
isRemovingComponentBuild
-
isMarkInitialState
-
isRefreshTransientBuildOnPSS
-
isRefreshTransientBuildOnPSSAuto
-
isCleanTransientBuildOnRestore
-
cleanTransientBuildOnRestore
-
isUsingPSSOnThisView
-
retargetAttachedObjects
public 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 classViewDeclarationLanguage
-
retargetMethodExpressions
- Overrides:
retargetMethodExpressionsin classViewDeclarationLanguage
-
getScriptComponentResource
- Specified by:
getScriptComponentResourcein classViewDeclarationLanguage
-
getStateManagementStrategy
- Specified by:
getStateManagementStrategyin classViewDeclarationLanguage
-
getViewMetadata
- Specified by:
getViewMetadatain classViewDeclarationLanguage
-
renderView
- Specified by:
renderViewin classViewDeclarationLanguage- Throws:
IOException
-
createView
Process the specification required algorithm that is generic to all PDL.- Overrides:
createViewin classViewDeclarationLanguageBase
-
restoreView
- Overrides:
restoreViewin classViewDeclarationLanguageBase
-
calculateViewId
Calculates the effective view identifier for the specified raw view identifier.- Specified by:
calculateViewIdin classViewDeclarationLanguageBase- Parameters:
context- le current FacesContextviewId- the raw view identifier- Returns:
- the effective view identifier
-
createCompiler
Creates the Facelet page compiler.- Parameters:
context- the current FacesContext- Returns:
- the application's Facelet page compiler
-
createFaceletFactory
Creates a FaceletFactory instance using the specified compiler.- Parameters:
context- the current FacesContextcompiler- the compiler to be used by the factory- Returns:
- the factory used by this VDL to load pages
-
createResponseWriter
protected ResponseWriter createResponseWriter(FacesContext context) throws IOException, FacesException - Throws:
IOExceptionFacesException
-
getResponseContentType
Generate the content type- Parameters:
context-orig-- Returns:
-
getResponseEncoding
Generate the encoding- Parameters:
context-orig-- Returns:
-
handleFaceletNotFound
protected void handleFaceletNotFound(FacesContext context, String viewId) throws FacesException, IOException - Throws:
FacesExceptionIOException
-
handleRenderException
protected void handleRenderException(FacesContext context, Exception e) throws IOException, jakarta.el.ELException, FacesException - Throws:
IOExceptionjakarta.el.ELExceptionFacesException
-
loadDecorators
Load the various decorators for Facelets.- Parameters:
context- the current FacesContextcompiler- the page compiler
-
loadLibraries
Load the various tag libraries for Facelets.- Parameters:
context- the current FacesContextcompiler- the page compiler
-
loadOptions
Load the various options for Facelets compiler. Currently only comment skipping is supported.- Parameters:
context- the current FacesContextcompiler- the page compiler
-
sendSourceNotFound
Send 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 classViewDeclarationLanguageBase- Parameters:
context- le current FacesContextmessage- the message associated with the error
-
calculateResourceLibraryContracts
- Overrides:
calculateResourceLibraryContractsin classViewDeclarationLanguage
-
getFaceletFactory
-
createComponent
public UIComponent createComponent(FacesContext context, String taglibURI, String tagName, Map<String, Object> attributes) - Overrides:
createComponentin classViewDeclarationLanguage
-
getViews
public Stream<String> getViews(FacesContext facesContext, String path, int maxDepth, ViewVisitOption... options) - Overrides:
getViewsin classViewDeclarationLanguage
-