Class AbstractParametersProvider
java.lang.Object
io.helidon.declarative.codegen.http.webserver.AbstractParametersProvider
A provider of parameters when code generating call of methods with annotated parameter, such
as HTTP headers, path parameters etc.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static final recordInformation about the parameter source the generated code should read from. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedConstructor with no side effects. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcodegenFromParameters(ContentBuilder<?> contentBuilder, TypeName parameterType, String paramName, boolean optional) Deprecated, for removal: This API element is subject to removal in a future version.protected voidcodegenFromParameters(ParameterCodegenContext ctx, TypeName parameterType, String paramName, boolean optional, AbstractParametersProvider.ParametersSource source) Code generate getting a value from parameters.protected voidcodegenFromParameters(FieldHandler fieldHandler, ContentBuilder<?> contentBuilder, TypeName parameterType, String paramName, boolean optional, AbstractParametersProvider.ParametersSource source) Code generate getting a value from parameters without endpoint metadata.protected voidensureMapperField(FieldHandler fieldHandler) Ensure the generated feature exposes the sharedmappersdependency field.parametersSource(String accessor, boolean filterEmptyStringValues, String mapperQualifier) Create parameter-source metadata for shared parameter extraction helpers.protected abstract StringType of this provider, such as "header", used when code generating error messages.
-
Constructor Details
-
AbstractParametersProvider
protected AbstractParametersProvider()Constructor with no side effects.
-
-
Method Details
-
codegenFromParameters
@Deprecated(forRemoval=true, since="4.5.0") protected void codegenFromParameters(ContentBuilder<?> contentBuilder, TypeName parameterType, String paramName, boolean optional) Deprecated, for removal: This API element is subject to removal in a future version.usecodegenFromParameters(ParameterCodegenContext, TypeName, String, boolean, ParametersSource)orcodegenFromParameters(FieldHandler, ContentBuilder, TypeName, String, boolean, ParametersSource)for mapper-aware and generic-type-aware generation; this legacy overload is retained only to preserve the pre-4.5.0 code shape for existing subclassesCode generate getting a value from parameters.- Parameters:
contentBuilder- content builder to updateparameterType- type of the parameter we need to getparamName- name of the parameter we need to getoptional- whether the parameter is optional
-
codegenFromParameters
protected void codegenFromParameters(ParameterCodegenContext ctx, TypeName parameterType, String paramName, boolean optional, AbstractParametersProvider.ParametersSource source) Code generate getting a value from parameters.- Parameters:
ctx- source generation contextparameterType- type of the parameter we need to getparamName- name of the parameter we need to getoptional- whether the parameter is optionalsource- parameter source configuration
-
codegenFromParameters
protected void codegenFromParameters(FieldHandler fieldHandler, ContentBuilder<?> contentBuilder, TypeName parameterType, String paramName, boolean optional, AbstractParametersProvider.ParametersSource source) Code generate getting a value from parameters without endpoint metadata.- Parameters:
fieldHandler- handler used to emit helper fieldscontentBuilder- content builder to updateparameterType- type of the parameter we need to getparamName- name of the parameter we need to getoptional- whether the parameter is optionalsource- parameter source configuration
-
providerType
Type of this provider, such as "header", used when code generating error messages.- Returns:
- provider type
-
ensureMapperField
Ensure the generated feature exposes the sharedmappersdependency field.- Parameters:
fieldHandler- field handler used to declare the field and constructor parameter
-
parametersSource
protected AbstractParametersProvider.ParametersSource parametersSource(String accessor, boolean filterEmptyStringValues, String mapperQualifier) Create parameter-source metadata for shared parameter extraction helpers.- Parameters:
accessor- accessor expression used to obtain the parameter sourcefilterEmptyStringValues- whether empty string values should be filtered outmapperQualifier- mapper qualifier used for mapped parameter conversion- Returns:
- parameter-source metadata
-
codegenFromParameters(ParameterCodegenContext, TypeName, String, boolean, ParametersSource)orcodegenFromParameters(FieldHandler, ContentBuilder, TypeName, String, boolean, ParametersSource)for mapper-aware and generic-type-aware generation; this legacy overload is retained only to preserve the pre-4.5.0 code shape for existing subclasses