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

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

The newest version!

package io.automatiko.engine.codegen.context;

import java.util.List;
import java.util.function.Function;
import java.util.function.Predicate;

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

public class QuarkusApplicationBuildContext implements ApplicationBuildContext {

    private AutomatikoBuildConfig config;
    private Predicate classAvailabilityResolver;
    private Function> implementationFinder;
    private Predicate capabilityResolver;

    public QuarkusApplicationBuildContext(AutomatikoBuildConfig config, Predicate classAvailabilityResolver,
            Function> implementationFinder,
            Predicate capabilityResolver) {
        this.config = config;
        this.classAvailabilityResolver = classAvailabilityResolver;
        this.implementationFinder = implementationFinder;
        this.capabilityResolver = capabilityResolver;
    }

    @Override
    public boolean hasClassAvailable(String fqcn) {
        return classAvailabilityResolver.test(fqcn);
    }

    @Override
    public AutomatikoBuildConfig config() {
        return config;
    }

    @Override
    public List classThatImplement(String fqcn) {
        return implementationFinder.apply(fqcn);
    }

    @Override
    public boolean hasCapability(String capability) {
        return capabilityResolver.test(capability);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy