io.automatiko.engine.codegen.context.QuarkusApplicationBuildContext Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of automatiko-engine-codegen Show documentation
Show all versions of automatiko-engine-codegen Show documentation
The Code generation for Automatiko Engine
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);
}
}