Package com.vaadin.hilla.parser.core
Class Parser
java.lang.Object
com.vaadin.hilla.parser.core.Parser
The entrypoint class. It searches for the endpoint classes in the classpath
and produces an OpenAPI definition.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classAn immutable parser configuration object. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription@NonNull ParserAdds a parserPlugin.@NonNull ParseradjustOpenAPI(@NonNull Consumer<io.swagger.v3.oas.models.OpenAPI> action) Allows to programmatically change the default OpenAPI definition.@NonNull ParserSpecifies the classpath where the parser will scan for endpoints.@NonNull ParserSpecifies the classpath where the parser will scan for endpoints.@NonNull ParserclassPath(@NonNull Collection<String> classPathElements) Specifies the classpath where the parser will scan for endpoints.@NonNull ParserclassPath(@NonNull Collection<String> classPathElements, boolean override) Specifies the classpath where the parser will scan for endpoints.@NonNull ParserendpointAnnotations(@NonNull List<Class<? extends Annotation>> annotations) Specifies the name of the endpoint annotation by which the parser will search for the endpoints.@NonNull ParserendpointAnnotations(@NonNull List<Class<? extends Annotation>> annotations, boolean override) Specifies the name of the endpoint annotation by which the parser will search for the endpoints.@NonNull ParserendpointExposedAnnotations(@NonNull List<Class<? extends Annotation>> annotations) Specifies the name of the `EndpointExposed` annotation by which the parser will detect if the endpoint superclass should be considered as the part of the endpoint.@NonNull ParserendpointExposedAnnotations(@NonNull List<Class<? extends Annotation>> annotations, boolean override) Specifies the name of the `EndpointExposed` annotation by which the parser will detect if the endpoint superclass should be considered as the part of the endpoint.@NonNull io.swagger.v3.oas.models.OpenAPIScans the classpath, blocking until the scan is complete.@NonNull Parser.ConfigGets the internal configuration object.@NonNull ParseropenAPISource(@NonNull String source, @NonNull OpenAPIFileType type) Parses the OpenAPI source string with the provided parser and merges the result into the current OpenAPI object.@NonNull ParserAdds a collection of parserPlugins.@NonNull Parserplugins(@NonNull Collection<? extends Plugin> plugins) Adds a collection of parserPlugins.
-
Constructor Details
-
Parser
public Parser()
-
-
Method Details
-
addPlugin
Adds a parserPlugin.Note that the order of the method calls will be maintained during processing.
- Parameters:
plugin- An instance of the parser plugin.- Returns:
- this (for method chaining).
-
adjustOpenAPI
Allows to programmatically change the default OpenAPI definition.- Parameters:
action- a consumer lambda that accepts an OpenAPI instance.- Returns:
- this (for method chaining).
-
classPath
Specifies the classpath where the parser will scan for endpoints. Specifying the classpath is required.If the classpath is already set, it will be overridden.
- Parameters:
classPathElements- a list of paths forming the classpath.- Returns:
- this (for method chaining).
-
classPath
Specifies the classpath where the parser will scan for endpoints. Specifying the classpath is required.- Parameters:
classPathElements- a list of paths forming the classpath.override- specifies if the parser should override the classpath if it is already specified.- Returns:
- this (for method chaining).
-
classPath
Specifies the classpath where the parser will scan for endpoints. Specifying the classpath is required.If the classpath is already set, it will be overridden.
- Parameters:
classPathElements- a list of paths forming the classpath.- Returns:
- this (for method chaining).
-
classPath
Specifies the classpath where the parser will scan for endpoints. Specifying the classpath is required.- Parameters:
classPathElements- a list of paths forming the classpath.override- specifies if the parser should override the classpath if it is already specified.- Returns:
- this (for method chaining).
-
endpointAnnotations
Specifies the name of the endpoint annotation by which the parser will search for the endpoints. Only classes with this annotation will be chosen.If the annotation name is already set, it will be overridden.
- Parameters:
annotations- The fully qualified names of the annotations- Returns:
- this (for method chaining).
-
endpointAnnotations
public @NonNull Parser endpointAnnotations(@NonNull List<Class<? extends Annotation>> annotations, boolean override) Specifies the name of the endpoint annotation by which the parser will search for the endpoints. Only classes with this annotation will be chosen.- Parameters:
annotations- The fully qualified names of the annotationsoverride- specifies if the parser should override the annotation name if it is already specified.- Returns:
- this (for method chaining).
-
endpointExposedAnnotations
public @NonNull Parser endpointExposedAnnotations(@NonNull List<Class<? extends Annotation>> annotations) Specifies the name of the `EndpointExposed` annotation by which the parser will detect if the endpoint superclass should be considered as the part of the endpoint. Any superclass in the endpoint's inheritance chain will be skipped if it doesn't have this annotation.If the annotation name is already set, it will be overridden.
- Parameters:
annotations- The fully qualified names of the annotations- Returns:
- this (for method chaining).
-
endpointExposedAnnotations
public @NonNull Parser endpointExposedAnnotations(@NonNull List<Class<? extends Annotation>> annotations, boolean override) Specifies the name of the `EndpointExposed` annotation by which the parser will detect if the endpoint superclass should be considered as the part of the endpoint. Any superclass in the endpoint's inheritance chain will be skipped if it doesn't have this annotation.- Parameters:
annotations- The fully qualified names of the annotationsoverride- specifies if the parser should override the annotation name if it is already specified.- Returns:
- this (for method chaining).
-
execute
Scans the classpath, blocking until the scan is complete.- Returns:
- A result OpenAPI object.
-
getConfig
Gets the internal configuration object.- Returns:
- configuration object.
-
openAPISource
Parses the OpenAPI source string with the provided parser and merges the result into the current OpenAPI object. This method is useful if you want to adjust some basic parts of the OpenAPI object like the application title, version, server description or URL.If the method is used once, all the changes will be applied to the default OpenAPI object. Called multiple time, this function applies changes one by one in the order of method calls.
- Parameters:
source- The OpenAPI definition in the JSON or YAML format. You don't have to specify all the fields required by the schema; the result definition will use default fields.type- The parser for the OpenAPI definition- Returns:
- this (for method chaining).
-
plugins
Adds a collection of parserPlugins. If there are plugins already specified, they will be removed before addition.Note that the order of the arguments will be maintained during processing.
- Parameters:
plugins- a collection of parser plugins.- Returns:
- this (for method chaining).
-
plugins
Adds a collection of parserPlugins. If there are already specified plugins, they will be removed before addition.Note that the order of collection will be maintained during processing.
- Parameters:
plugins- a collection of parser plugins.- Returns:
- this (for method chaining).
-