com.coreoz.openapi.config.OpenApiMergerConfigurationActions Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of openapi-merger Show documentation
Show all versions of openapi-merger Show documentation
Merge multiple OpenAPI into a single spec
The newest version!
package com.coreoz.openapi.config;
import com.coreoz.http.routes.parsing.HttpRouteDefinition;
import com.google.common.base.Strings;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public record OpenApiMergerConfigurationActions(
@NotNull OpenApiOnRouteMatch onRouteMatch,
@NotNull OpenApiOnMissingOperation onMissingOperation,
@NotNull OpenApiOnMissingRoute onMissingRoute,
@NotNull OpenApiOnNewComponent onNewComponent
) {
private static final OpenApiMergerConfigurationActions DEFAULT_ACTIONS = new OpenApiMergerConfigurationActions<>(
OpenApiOnRouteMatch.addOperation(),
OpenApiOnMissingOperation.noneAction(),
OpenApiOnMissingRoute.addOperation(),
OpenApiOnNewComponent.identity()
);
public static @NotNull OpenApiMergerConfigurationActions defaultActions() {
//noinspection unchecked
return (OpenApiMergerConfigurationActions) DEFAULT_ACTIONS;
}
// TODO à déplacer dans l'adapter de merge sûrement
public static @NotNull String makeOperationIdPrefix(@Nullable String prefix, @NotNull String operationId) {
return Strings.nullToEmpty(prefix) + operationId;
}
}