Package io.quarkus.qute
Class FragmentSectionHelper.Factory
- java.lang.Object
-
- io.quarkus.qute.FragmentSectionHelper.Factory
-
- All Implemented Interfaces:
SectionHelperFactory<FragmentSectionHelper>
- Enclosing class:
- FragmentSectionHelper
public static class FragmentSectionHelper.Factory extends Object implements SectionHelperFactory<FragmentSectionHelper>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface io.quarkus.qute.SectionHelperFactory
SectionHelperFactory.BlockInfo, SectionHelperFactory.MissingEndTagStrategy, SectionHelperFactory.ParametersInfo, SectionHelperFactory.ParserDelegate, SectionHelperFactory.SectionInitContext
-
-
Field Summary
-
Fields inherited from interface io.quarkus.qute.SectionHelperFactory
MAIN_BLOCK_NAME
-
-
Constructor Summary
Constructors Constructor Description Factory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<String>
getDefaultAliases()
SectionHelperFactory.ParametersInfo
getParameters()
A factory may definefactory parameters
for the start tag of any section block.FragmentSectionHelper
initialize(SectionHelperFactory.SectionInitContext context)
Initialize a new helper instance for a specific section node in a template.Scope
initializeBlock(Scope previousScope, SectionHelperFactory.BlockInfo block)
Initialize a section block.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.quarkus.qute.SectionHelperFactory
cacheFactoryConfig, getBlockLabels, missingEndTagStrategy, treatUnknownSectionsAsBlocks
-
-
-
-
Method Detail
-
getDefaultAliases
public List<String> getDefaultAliases()
- Specified by:
getDefaultAliases
in interfaceSectionHelperFactory<FragmentSectionHelper>
- Returns:
- the list of default aliases used to match the helper
- See Also:
SectionHelperFactory.cacheFactoryConfig()
-
getParameters
public SectionHelperFactory.ParametersInfo getParameters()
Description copied from interface:SectionHelperFactory
A factory may definefactory parameters
for the start tag of any section block. A factoryParameter
has a name and optional default value. The default value is automatically assigned if no other value is set by a parser. A parameter may be optional. A non-optional parameter that has no value assigned results in a parser error.A section block in a template defines the
actual parameters
:{! The value is "item.isActive". The name is not defined. !} {#if item.isActive}{/} {! The name is "age" and the value is "10". !} {#let age=10}{/}
The actual parameters are parsed taking the factory parameters into account:- Named actual params are processed first and the relevant values are assigned, e.g. the param with name
age
has the value10
, - Then, if the number of actual params is greater or equals to the number of factory params the values are set according to position of factory params,
- Otherwise, the values are set according to position but params with no default value take precedence.
- Finally, all unset parameters that define a default value are initialized with the default value.
- Specified by:
getParameters
in interfaceSectionHelperFactory<FragmentSectionHelper>
- Returns:
- the factory parameters
- See Also:
SectionHelperFactory.cacheFactoryConfig()
,SectionHelperFactory.BlockInfo.getParameters()
- Named actual params are processed first and the relevant values are assigned, e.g. the param with name
-
initialize
public FragmentSectionHelper initialize(SectionHelperFactory.SectionInitContext context)
Description copied from interface:SectionHelperFactory
Initialize a new helper instance for a specific section node in a template.- Specified by:
initialize
in interfaceSectionHelperFactory<FragmentSectionHelper>
- Returns:
- a new helper instance
-
initializeBlock
public Scope initializeBlock(Scope previousScope, SectionHelperFactory.BlockInfo block)
Description copied from interface:SectionHelperFactory
Initialize a section block.All section blocks are initialized before
SectionHelperFactory.initialize(SectionInitContext)
is called.The factory is responsible to register all expression via
SectionHelperFactory.BlockInfo.addExpression(String, String)
. The expression can be then used duringSectionHelperFactory.initialize(SectionInitContext)
viaSectionHelperFactory.SectionInitContext.getExpression(String)
andSectionBlock.expressions
.- Specified by:
initializeBlock
in interfaceSectionHelperFactory<FragmentSectionHelper>
- Returns:
- a new scope if this section introduces a new scope, or the outer scope
- See Also:
SectionHelperFactory.BlockInfo.addExpression(String, String)
-
-