io.quarkus.devtools.codestarts.CodestartProjectInput Maven / Gradle / Ivy
package io.quarkus.devtools.codestarts;
import static java.util.Objects.requireNonNull;
import java.util.Collection;
import java.util.Map;
import io.quarkus.devtools.codestarts.utils.NestedMaps;
import io.quarkus.devtools.messagewriter.MessageWriter;
public class CodestartProjectInput {
private final Collection dependencies;
private final Collection boms;
private final Map data;
private final CodestartsSelection selection;
private final MessageWriter messageWriter;
protected CodestartProjectInput(final CodestartProjectInputBuilder builder) {
this.dependencies = requireNonNull(builder.dependencies, "dependencies is required");
this.boms = requireNonNull(builder.boms, "boms is required");
this.selection = requireNonNull(builder.selection, "selection is required");
this.data = NestedMaps.unflatten(requireNonNull(builder.data, "data is required"));
this.messageWriter = requireNonNull(builder.messageWriter, "messageWriter is required");
}
public static CodestartProjectInputBuilder builder() {
return new CodestartProjectInputBuilder();
}
public MessageWriter log() {
return messageWriter;
}
public CodestartsSelection getSelection() {
return selection;
}
public Collection getDependencies() {
return dependencies;
}
public Collection getBoms() {
return boms;
}
public Map getData() {
return data;
}
}