Package io.helidon.codegen.classmodel
Class Executable.Builder<B extends Executable.Builder<B,T>,T extends Executable>
java.lang.Object
io.helidon.codegen.classmodel.Executable.Builder<B,T>
- Type Parameters:
B
- type of the builderT
- type of the built instance
- All Implemented Interfaces:
ContentBuilder<B>
,Builder<B,
,T> Supplier<T>
- Direct Known Subclasses:
Constructor.Builder
,Method.Builder
- Enclosing class:
Executable
public abstract static class Executable.Builder<B extends Executable.Builder<B,T>,T extends Executable>
extends Object
implements ContentBuilder<B>
Base builder from executable components (method an constructor).
-
Method Summary
Modifier and TypeMethodDescriptionaccessModifier
(AccessModifier accessModifier) addAnnotation
(Annotation annotation) Add new annotation to the component.addAnnotation
(Annotation.Builder builder) Add new annotation to the component.addAnnotation
(Annotation annotation) Add new annotation to the component.addAnnotation
(Consumer<Annotation.Builder> consumer) Add new annotation to the component.addContent
(TypeName typeName) Add type name to content, correctly handling imports.addContent
(String line) Add text line to the content.addDescriptionLine
(String line) addJavadocTag
(String tag, String description) addParameter
(Parameter parameter) Add new method parameter.addParameter
(Consumer<Parameter.Builder> consumer) Add new method parameter.addParameter
(Supplier<Parameter> supplier) Add new method parameter.Add a declared throws definition.Add a declared throws definition.addThrows
(Consumer<Throws.Builder> consumer) Add a declared throws definition.Add a declared throws definition.addTypeToContent
(String typeName) Obtained fully qualified type name is enclosed betweenClassModel.TYPE_TOKEN
tokens.Clears created content.Set new content.Method for manual padding decrement.description
(String description) description
(List<String> description) generateJavadoc
(boolean generateJavadoc) includeImport
(boolean includeImport) Whether to include import type information among the imports.Method for manual padding increment.Adds single padding.padContent
(int repetition) Adds padding with number of repetitions.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.helidon.codegen.classmodel.ContentBuilder
addContent, addContentCreate, addContentCreate, addContentCreate, addContentLine, content
-
Method Details
-
javadoc
-
addJavadocTag
-
accessModifier
-
content
Description copied from interface:ContentBuilder
Set new content. This method replaces previously created content in this builder.- Specified by:
content
in interfaceContentBuilder<B extends Executable.Builder<B,
T>> - Parameters:
content
- content to be set- Returns:
- updated builder instance
-
addContent
Description copied from interface:ContentBuilder
Add text line to the content. New line character is not added after this line, so all newly added text will be appended to the same line.- Specified by:
addContent
in interfaceContentBuilder<B extends Executable.Builder<B,
T>> - Parameters:
line
- line to add- Returns:
- updated builder instance
-
addContent
Description copied from interface:ContentBuilder
Add type name to content, correctly handling imports. In case the type should not contain any type parameters, useTypeName.genericTypeName()
.- Specified by:
addContent
in interfaceContentBuilder<B extends Executable.Builder<B,
T>> - Parameters:
typeName
- type name to add- Returns:
- updated component builder
-
addTypeToContent
Description copied from interface:ContentBuilder
Obtained fully qualified type name is enclosed betweenClassModel.TYPE_TOKEN
tokens. Class names in such a format are later recognized as class names for import handling.- Specified by:
addTypeToContent
in interfaceContentBuilder<B extends Executable.Builder<B,
T>> - Parameters:
typeName
- fully qualified class name to import- Returns:
- updated builder instance
-
padContent
Description copied from interface:ContentBuilder
Adds single padding. This extra padding is added only once. If more permanent padding increment is needed use {ContentBuilder.increaseContentPadding()
}.- Specified by:
padContent
in interfaceContentBuilder<B extends Executable.Builder<B,
T>> - Returns:
- updated builder instance
-
padContent
Description copied from interface:ContentBuilder
Adds padding with number of repetitions. This extra padding is added only once. If more permanent padding increment is needed use {ContentBuilder.increaseContentPadding()
}.- Specified by:
padContent
in interfaceContentBuilder<B extends Executable.Builder<B,
T>> - Parameters:
repetition
- number of padding repetitions- Returns:
- updated builder instance
-
increaseContentPadding
Description copied from interface:ContentBuilder
Method for manual padding increment. This method will affect padding of the later added content.- Specified by:
increaseContentPadding
in interfaceContentBuilder<B extends Executable.Builder<B,
T>> - Returns:
- updated builder instance
-
decreaseContentPadding
Description copied from interface:ContentBuilder
Method for manual padding decrement. This method will affect padding of the later added content.- Specified by:
decreaseContentPadding
in interfaceContentBuilder<B extends Executable.Builder<B,
T>> - Returns:
- updated builder instance
-
clearContent
Description copied from interface:ContentBuilder
Clears created content.- Specified by:
clearContent
in interfaceContentBuilder<B extends Executable.Builder<B,
T>> - Returns:
- updated builder instance
-
addParameter
Add new method parameter.- Parameters:
consumer
- method builder consumer- Returns:
- updated builder instance
-
addParameter
Add new method parameter.- Parameters:
parameter
- method parameter- Returns:
- updated builder instance
-
addParameter
Add new method parameter.- Parameters:
supplier
- method parameter supplier- Returns:
- updated builder instance
-
addThrows
Add a declared throws definition.- Parameters:
exception
- exception declarationdescription
- description to add to javadoc- Returns:
- updated builder instance
-
addThrows
Add a declared throws definition.- Parameters:
consumer
- exception declaration builder consumer- Returns:
- updated builder instance
-
addThrows
Add a declared throws definition.- Parameters:
supplier
- exception declaration supplier- Returns:
- updated builder instance
-
addThrows
Add a declared throws definition.- Parameters:
exception
- exception declaration- Returns:
- updated builder instance
-
generateJavadoc
-
description
-
description
-
addDescriptionLine
-
addAnnotation
Add new annotation to the component.- Parameters:
annotation
- annotation instance- Returns:
- updated builder instance
-
addAnnotation
Add new annotation to the component.- Parameters:
consumer
- annotation builder consumer- Returns:
- updated builder instance
-
addAnnotation
Add new annotation to the component.- Parameters:
builder
- annotation builder- Returns:
- updated builder instance
-
addAnnotation
Add new annotation to the component.- Parameters:
annotation
- annotation instance- Returns:
- updated builder instance
-
name
-
includeImport
Whether to include import type information among the imports.- Parameters:
includeImport
- whether imports should be included- Returns:
- updated builder instance
-