package org.netbeans.gradle.model;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
import org.netbeans.gradle.model.util.CollectionUtils;
import org.netbeans.gradle.model.util.TransferableExceptionWrapper;
public final class FetchedProjectModels implements Serializable {
private static final long serialVersionUID = 1L;
private final GradleMultiProjectDef projectDef;
private final Map<Object, List<BuilderResult>> projectInfoResults;
private final Map<Class<?>, Object> toolingModels;
private final Throwable issue;
public FetchedProjectModels(
GradleMultiProjectDef projectDef,
Map<Object, List<?>> projectInfoResults,
Map<Class<?>, Object> toolingModels,
Throwable issue) {
if (projectDef == null) throw new NullPointerException("projectDef");
this.projectDef = projectDef;
this.projectInfoResults = CollectionUtils.copyNullSafeMultiHashMapReified(
BuilderResult.class, projectInfoResults);
this.toolingModels = CollectionUtils.copyNullSafeHashMap(toolingModels);
this.issue = TransferableExceptionWrapper.wrap(issue);
}
public Throwable getIssue() {
return issue;
}
public GradleMultiProjectDef getProjectDef() {
return projectDef;
}
public Map<Object, List<BuilderResult>> getProjectInfoResults() {
return projectInfoResults;
}
public Map<Class<?>, Object> getToolingModels() {
return toolingModels;
}
}