All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.automatiko.engine.codegen.context.ApplicationBuildContext Maven / Gradle / Ivy

The newest version!

package io.automatiko.engine.codegen.context;

import java.util.List;

import io.automatiko.engine.api.config.AutomatikoBuildConfig;
import io.automatiko.engine.codegen.CodeGenConstants;

public interface ApplicationBuildContext {

    AutomatikoBuildConfig config();

    boolean hasClassAvailable(String fqcn);

    List classThatImplement(String fqcn);

    boolean hasCapability(String capability);

    default boolean isValidationSupported() {
        return hasClassAvailable(CodeGenConstants.VALIDATION_CLASS);
    }

    default boolean isEntitiesSupported() {
        return hasClassAvailable(CodeGenConstants.ENTITY_CLASS);
    }

    default boolean isOpenApiSupported() {
        return hasClassAvailable(CodeGenConstants.OPENA_API_SCHEMA_CLASS);
    }

    default boolean isUserTaskMgmtSupported() {
        return hasClassAvailable(CodeGenConstants.USERTASK_MGMT_DATA_CLASS);
    }

    default boolean isGraphQLSupported() {
        return hasClassAvailable(CodeGenConstants.GRAPHQL_CLASS);
    }

    default boolean isDmnSupported() {
        return hasClassAvailable(CodeGenConstants.DMN_CLASS);
    }

    default boolean isTracingSupported() {
        return hasCapability("io.quarkus.opentelemetry.tracer");
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy