Package io.quarkus.qute
Class UserTagSectionHelper.Factory
java.lang.Object
io.quarkus.qute.UserTagSectionHelper.Factory
- All Implemented Interfaces:
SectionHelperFactory<UserTagSectionHelper>
- Enclosing class:
- UserTagSectionHelper
-
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
FieldsFields inherited from interface io.quarkus.qute.SectionHelperFactory
HINT_METADATA, MAIN_BLOCK_NAME -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected StringgetFragmentId(String templateId, SectionHelperFactory.SectionInitContext context) A factory may definefactory parametersfor the start tag of any section block.protected Stringprotected voidhandleParam(String key, String value, Supplier<String> firstParamSupplier, BiConsumer<String, String> paramConsumer) protected booleanignoreParameterInit(Supplier<String> firstParamSupplier, String key, String value) Initialize a new helper instance for a specific section node in a template.initializeBlock(Scope outerScope, SectionHelperFactory.BlockInfo block) Initialize a section block.protected booleanisSinglePart(String value) protected UserTagSectionHelpernewHelper(Supplier<Template> template, Map<String, Expression> params, Map<String, SectionBlock> extendingBlocks, Boolean isolatedValue, SectionHelperFactory.SectionInitContext context) booleanBy default, all unknown nested sections are ignored, ie.protected booleanuseDefaultedKey(String key, String value) 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, getBlockLabels, missingEndTagStrategy
-
Field Details
-
ARGS
- See Also:
-
-
Constructor Details
-
Factory
- Parameters:
name- Identifies the tagtemplateId- Used to locate the template
-
-
Method Details
-
getDefaultAliases
- 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.
- Returns:
- the factory parameters
- See Also:
- Named actual params are processed first and the relevant values are assigned, e.g. the param with name
-
ignoreParameterInit
-
getTemplateId
-
newHelper
protected UserTagSectionHelper newHelper(Supplier<Template> template, Map<String, Expression> params, Map<String, SectionBlock> extendingBlocks, Boolean isolatedValue, SectionHelperFactory.SectionInitContext context) -
handleParam
-
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<T extends SectionHelper>- Returns:
- true if unknown sections should not be ignored
-
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<T extends SectionHelper>- Returns:
- a new scope if this section introduces a new scope, or the outer scope
- See Also:
-
initialize
Description copied from interface:SectionHelperFactoryInitialize a new helper instance for a specific section node in a template.- Specified by:
initializein interfaceSectionHelperFactory<T extends SectionHelper>- Returns:
- a new helper instance
-
getFragmentId
-
useDefaultedKey
-
isSinglePart
-