package org.netbeans.gradle.project.java.model; import java.util.List; import org.jtrim.collections.CollectionsEx; import org.jtrim.utils.ExceptionHelper; import org.netbeans.api.project.Project; import org.netbeans.gradle.model.java.JavaSourceSet; import org.netbeans.gradle.project.java.JavaExtension; public final class JavaProjectDependencyDef { private final JavaExtension javaExt; private final List<JavaSourceSet> sourceSets; public JavaProjectDependencyDef(JavaExtension javaExt, List<JavaSourceSet> sourceSets) { ExceptionHelper.checkNotNullArgument(javaExt, "javaExt"); this.javaExt = javaExt; this.sourceSets = CollectionsEx.readOnlyCopy(sourceSets); ExceptionHelper.checkNotNullElements(this.sourceSets, "sourceSets"); } public Project getProject() { return javaExt.getProject(); } public JavaExtension getJavaExt() { return javaExt; } public NbJavaModule getJavaModule() { return javaExt.getCurrentModel().getMainModule(); } public List<JavaSourceSet> getSourceSets() { return sourceSets; } public String getDisplaySourceSetNames() { StringBuilder result = new StringBuilder(); for (JavaSourceSet sourceSet: sourceSets) { if (result.length() > 0) { result.append(", "); } result.append(sourceSet.getName()); } return result.toString(); } @Override public String toString() { return "Project dependency of " + javaExt.getProjectDirectoryAsFile() + " for source sets: " + getDisplaySourceSetNames() + '}'; } }