Package io.quarkus.qute
Class LoopSectionHelper.Factory
java.lang.Object
io.quarkus.qute.LoopSectionHelper.Factory
- All Implemented Interfaces:
SectionHelperFactory<LoopSectionHelper>
- Enclosing class:
- LoopSectionHelper
public static class LoopSectionHelper.Factory
extends Object
implements SectionHelperFactory<LoopSectionHelper>
-
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
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final StringConstant value for iteration metadata prefix indicating that the alias suffixed with a question mark should be used.static final StringConstant value for iteration metadata prefix indicating that the alias suffixed with an underscore should be used.static final StringConstant value for iteration metadata prefix indicating that no prefix should be used.Fields inherited from interface io.quarkus.qute.SectionHelperFactory
HINT_METADATA, MAIN_BLOCK_NAME -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionA nested section tag that matches a name of a block will be added as a block to the current section.A factory may definefactory parametersfor the start tag of any section block.Initialize a new helper instance for a specific section node in a template.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, waitMethods inherited from interface io.quarkus.qute.SectionHelperFactory
cacheFactoryConfig, missingEndTagStrategy, treatUnknownSectionsAsBlocks
-
Field Details
-
ITERATION_METADATA_PREFIX_ALIAS_QM
Constant value for iteration metadata prefix indicating that the alias suffixed with a question mark should be used.- See Also:
-
ITERATION_METADATA_PREFIX_ALIAS_UNDERSCORE
Constant value for iteration metadata prefix indicating that the alias suffixed with an underscore should be used.- See Also:
-
ITERATION_METADATA_PREFIX_NONE
Constant value for iteration metadata prefix indicating that no prefix should be used.- See Also:
-
HINT_ELEMENT
- See Also:
-
HINT_PREFIX
- See Also:
-
-
Constructor Details
-
Factory
public Factory() -
Factory
-
-
Method Details
-
getDefaultAliases
- Specified by:
getDefaultAliasesin interfaceSectionHelperFactory<LoopSectionHelper>- Returns:
- the list of default aliases used to match the helper
- See Also:
-
getParameters
Description copied from interface:SectionHelperFactoryA factory may definefactory parametersfor the start tag of any section block. A factoryParameterhas 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
agehas 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:
getParametersin interfaceSectionHelperFactory<LoopSectionHelper>- Returns:
- the factory parameters
- See Also:
- Named actual params are processed first and the relevant values are assigned, e.g. the param with name
-
getBlockLabels
Description copied from interface:SectionHelperFactoryA nested section tag that matches a name of a block will be added as a block to the current section.- Specified by:
getBlockLabelsin interfaceSectionHelperFactory<LoopSectionHelper>- Returns:
- the list of block labels
- See Also:
-
initialize
Description copied from interface:SectionHelperFactoryInitialize a new helper instance for a specific section node in a template.- Specified by:
initializein interfaceSectionHelperFactory<LoopSectionHelper>- Returns:
- a new helper instance
-
initializeBlock
Description copied from interface:SectionHelperFactoryInitialize 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:
initializeBlockin interfaceSectionHelperFactory<LoopSectionHelper>- Returns:
- a new scope if this section introduces a new scope, or the outer scope
- See Also:
-