Package io.quarkus.qute
Class IncludeSectionHelper.Factory
- java.lang.Object
-
- io.quarkus.qute.IncludeSectionHelper.Factory
-
- All Implemented Interfaces:
SectionHelperFactory<IncludeSectionHelper>
- Enclosing class:
- IncludeSectionHelper
public static class IncludeSectionHelper.Factory extends Object implements SectionHelperFactory<IncludeSectionHelper>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface io.quarkus.qute.SectionHelperFactory
SectionHelperFactory.BlockInfo, 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.ParametersInfogetParameters()A factory may definefactory parametersfor the start tag of any section block.IncludeSectionHelperinitialize(SectionHelperFactory.SectionInitContext context)ScopeinitializeBlock(Scope outerScope, SectionHelperFactory.BlockInfo block)Initialize a section block.booleantreatUnknownSectionsAsBlocks()By default, all unknown nested sections are ignored, ie.-
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
-
-
-
-
Method Detail
-
getDefaultAliases
public List<String> getDefaultAliases()
- Specified by:
getDefaultAliasesin interfaceSectionHelperFactory<IncludeSectionHelper>- Returns:
- the list of default aliases used to match the helper
- See Also:
SectionHelperFactory.cacheFactoryConfig()
-
getParameters
public SectionHelperFactory.ParametersInfo 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<IncludeSectionHelper>- 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
-
treatUnknownSectionsAsBlocks
public boolean treatUnknownSectionsAsBlocks()
Description copied from interface:SectionHelperFactoryBy default, all unknown nested sections are ignored, ie. sections with labels not present in theSectionHelperFactory.getBlockLabels(). However, sometimes it might be useful to treat such sections as blocks. SeeIncludeSectionHelperfor an example.- Specified by:
treatUnknownSectionsAsBlocksin interfaceSectionHelperFactory<IncludeSectionHelper>- Returns:
- true if unknown sections should not be ignored
-
initializeBlock
public Scope initializeBlock(Scope outerScope, SectionHelperFactory.BlockInfo block)
Description copied from interface:SectionHelperFactoryInitialize a section block.- Specified by:
initializeBlockin interfaceSectionHelperFactory<IncludeSectionHelper>- Returns:
- a new scope if this section introduces a new scope, or the outer scope
- See Also:
SectionHelperFactory.BlockInfo.addExpression(String, String)
-
initialize
public IncludeSectionHelper initialize(SectionHelperFactory.SectionInitContext context)
- Specified by:
initializein interfaceSectionHelperFactory<IncludeSectionHelper>- Returns:
- a new helper instance
-
-