Class DefaultFaceletFactory
- java.lang.Object
-
- org.apache.myfaces.view.facelets.FaceletFactory
-
- org.apache.myfaces.view.facelets.impl.DefaultFaceletFactory
-
public final class DefaultFaceletFactory extends FaceletFactory
Default FaceletFactory implementation.- Version:
- $Id$
- Author:
- Jacob Hookom
-
-
Field Summary
Fields Modifier and Type Field Description protected static Logger
log
-
Fields inherited from class org.apache.myfaces.view.facelets.FaceletFactory
LAST_RESOURCE_RESOLVED
-
-
Constructor Summary
Constructors Constructor Description DefaultFaceletFactory(Compiler compiler)
DefaultFaceletFactory(Compiler compiler, long refreshPeriod)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Facelet
compileComponentFacelet(String taglibURI, String tagName, Map<String,Object> attributes)
Compile a component tag on the fly.Compiler
getCompiler()
Compiler this factory usesFacelet
getCompositeComponentMetadataFacelet(FacesContext facesContext, String uri)
Works in the same way as getFacelet(String uri), but redirect to getViewMetadataFacelet(URL url)Facelet
getCompositeComponentMetadataFacelet(URL url)
Create a Facelet used to create composite component metadata from the passed URL.Facelet
getFacelet(FacesContext facesContext, String uri)
Return a Facelet instance as specified by the file at the passed URI.Facelet
getFacelet(FaceletContext ctx, URL url)
Create a Facelet from the passed URL, but take into account the context.Facelet
getFacelet(URL url)
Create a Facelet from the passed URL.long
getRefreshPeriod()
Facelet
getViewMetadataFacelet(FacesContext facesContext, String uri)
Works in the same way as getFacelet(String uri), but redirect to getViewMetadataFacelet(URL url)Facelet
getViewMetadataFacelet(URL url)
Create a Facelet used to create view metadata from the passed URL.protected boolean
needsToBeRefreshed(org.apache.myfaces.view.facelets.impl.DefaultFacelet facelet)
Template method for determining if the Facelet needs to be refreshed.URL
resolveURL(FacesContext context, URL source, String path)
Resolves a path based on the passed URL.-
Methods inherited from class org.apache.myfaces.view.facelets.FaceletFactory
getInstance, setInstance
-
-
-
-
Field Detail
-
log
protected static final Logger log
-
-
Constructor Detail
-
DefaultFaceletFactory
public DefaultFaceletFactory(Compiler compiler) throws IOException
- Throws:
IOException
-
DefaultFaceletFactory
public DefaultFaceletFactory(Compiler compiler, long refreshPeriod)
-
-
Method Detail
-
getCompiler
public Compiler getCompiler()
Compiler this factory uses- Returns:
- final Compiler instance
-
getFacelet
public Facelet getFacelet(FacesContext facesContext, String uri) throws IOException, FaceletException, FacesException, jakarta.el.ELException
Description copied from class:FaceletFactory
Return a Facelet instance as specified by the file at the passed URI.- Specified by:
getFacelet
in classFaceletFactory
- Returns:
- Throws:
IOException
FaceletException
FacesException
jakarta.el.ELException
-
getFacelet
public Facelet getFacelet(URL url) throws IOException, FaceletException, FacesException, jakarta.el.ELException
Create a Facelet from the passed URL. This method checks if the cached Facelet needs to be refreshed before returning. If so, uses the passed URL to build a new instance;- Specified by:
getFacelet
in classFaceletFactory
- Parameters:
url
- source url- Returns:
- Facelet instance
- Throws:
IOException
FaceletException
FacesException
jakarta.el.ELException
-
getFacelet
public Facelet getFacelet(FaceletContext ctx, URL url) throws IOException, FaceletException, FacesException, jakarta.el.ELException
Description copied from class:FaceletFactory
Create a Facelet from the passed URL, but take into account the context. This method is useful in cases where the facelet instance must replace the one in the cache based on the context, instead take the one from the cache, like for example when the EL expression cache is used.- Specified by:
getFacelet
in classFaceletFactory
url
- source url- Returns:
- Facelet instance
- Throws:
IOException
FaceletException
FacesException
jakarta.el.ELException
-
getRefreshPeriod
public long getRefreshPeriod()
-
resolveURL
public URL resolveURL(FacesContext context, URL source, String path) throws IOException
Resolves a path based on the passed URL. If the path starts with '/', then resolve the path againstjakarta.faces.context.ExternalContext#getResource(java.lang.String)
. Otherwise create a new URL viaURL(URL, String)
.- Parameters:
source
- base to resolve frompath
- relative path to the source- Returns:
- resolved URL
- Throws:
IOException
-
needsToBeRefreshed
protected boolean needsToBeRefreshed(org.apache.myfaces.view.facelets.impl.DefaultFacelet facelet)
Template method for determining if the Facelet needs to be refreshed.- Parameters:
facelet
- Facelet that could have expired- Returns:
- true if it needs to be refreshed
-
getViewMetadataFacelet
public Facelet getViewMetadataFacelet(FacesContext facesContext, String uri) throws IOException
Works in the same way as getFacelet(String uri), but redirect to getViewMetadataFacelet(URL url)- Specified by:
getViewMetadataFacelet
in classFaceletFactory
- Returns:
- Throws:
IOException
- Since:
- 2.0
-
getViewMetadataFacelet
public Facelet getViewMetadataFacelet(URL url) throws IOException, FaceletException, FacesException, jakarta.el.ELException
Description copied from class:FaceletFactory
Create a Facelet used to create view metadata from the passed URL. This method checks if the cached Facelet needs to be refreshed before returning. If so, uses the passed URL to build a new instance;- Specified by:
getViewMetadataFacelet
in classFaceletFactory
- Parameters:
url
- source url- Returns:
- Facelet instance
- Throws:
IOException
FaceletException
FacesException
jakarta.el.ELException
- Since:
- 2.0
-
getCompositeComponentMetadataFacelet
public Facelet getCompositeComponentMetadataFacelet(FacesContext facesContext, String uri) throws IOException
Works in the same way as getFacelet(String uri), but redirect to getViewMetadataFacelet(URL url)- Specified by:
getCompositeComponentMetadataFacelet
in classFaceletFactory
- Returns:
- Throws:
IOException
- Since:
- 2.0.1
-
getCompositeComponentMetadataFacelet
public Facelet getCompositeComponentMetadataFacelet(URL url) throws IOException, FaceletException, FacesException, jakarta.el.ELException
Description copied from class:FaceletFactory
Create a Facelet used to create composite component metadata from the passed URL. This method checks if the cached Facelet needs to be refreshed before returning. If so, uses the passed URL to build a new instance.- Specified by:
getCompositeComponentMetadataFacelet
in classFaceletFactory
- Parameters:
url
- source url- Returns:
- Facelet instance
- Throws:
IOException
FaceletException
FacesException
jakarta.el.ELException
- Since:
- 2.0.1
-
compileComponentFacelet
public Facelet compileComponentFacelet(String taglibURI, String tagName, Map<String,Object> attributes)
Description copied from class:FaceletFactory
Compile a component tag on the fly.- Specified by:
compileComponentFacelet
in classFaceletFactory
- Returns:
-
-