package io.pivotal.tooling.plugin.eclipse; import java.io.File; import java.io.Serializable; import java.util.List; import java.util.Set; import org.gradle.plugins.ide.internal.tooling.eclipse.DefaultEclipseLinkedResource; import org.gradle.plugins.ide.internal.tooling.eclipse.DefaultEclipseProject; import org.gradle.plugins.ide.internal.tooling.eclipse.DefaultEclipseSourceDirectory; import org.gradle.tooling.internal.gradle.DefaultGradleModuleVersion; import org.gradle.tooling.internal.gradle.DefaultGradleProject; public class DefaultStsEclipseProject implements Serializable { private static final long serialVersionUID = 1L; private DefaultGradleProject<?> gradleProject; private DefaultEclipseProject hierarchicalEclipseProject; private List<DefaultStsEclipseExternalDependency> classpath; private DefaultStsEclipseProject parent; private List<DefaultStsEclipseProject> children; private List<String> plugins; private Set<DefaultStsEclipseProjectDependency> projectDependencies; private DefaultStsEclipseProject root; private List<DefaultGradleModuleVersion> publications; public String getName() { return gradleProject.getName(); } public List<DefaultStsEclipseExternalDependency> getClasspath() { return classpath; } public DefaultGradleProject<?> getGradleProject() { return gradleProject; } public DefaultStsEclipseProject getParent() { return parent; } public String getPath() { return hierarchicalEclipseProject.getPath(); } public List<DefaultStsEclipseProject> getChildren() { return children; } public Set<DefaultStsEclipseProjectDependency> getProjectDependencies() { return projectDependencies; } public Iterable<? extends DefaultEclipseSourceDirectory> getSourceDirectories() { return hierarchicalEclipseProject.getSourceDirectories(); } public File getProjectDirectory() { return hierarchicalEclipseProject.getProjectDirectory(); } public Iterable<? extends DefaultEclipseLinkedResource> getLinkedResources() { return hierarchicalEclipseProject.getLinkedResources(); } public void setParent(DefaultStsEclipseProject parent) { this.parent = parent; } public boolean hasPlugin(Class<?> pluginClass) { return plugins.contains(pluginClass.getName()); } public DefaultStsEclipseProject getRoot() { return root; } public List<DefaultGradleModuleVersion> getPublications() { return publications; } public DefaultEclipseProject getHierarchicalEclipseProject() { return hierarchicalEclipseProject; } public DefaultStsEclipseProject setGradleProject(DefaultGradleProject<?> gradleProject) { this.gradleProject = gradleProject; return this; } public DefaultStsEclipseProject setHierarchicalEclipseProject(DefaultEclipseProject hierarchicalEclipseProject) { this.hierarchicalEclipseProject = hierarchicalEclipseProject; return this; } public DefaultStsEclipseProject setClasspath(List<DefaultStsEclipseExternalDependency> classpath) { this.classpath = classpath; return this; } public DefaultStsEclipseProject setChildren(List<DefaultStsEclipseProject> children) { this.children = children; return this; } public DefaultStsEclipseProject setPlugins(List<String> plugins) { this.plugins = plugins; return this; } public DefaultStsEclipseProject setProjectDependencies(Set<DefaultStsEclipseProjectDependency> projectDependencies) { this.projectDependencies = projectDependencies; return this; } public DefaultStsEclipseProject setRoot(DefaultStsEclipseProject root) { this.root = root; return this; } public DefaultStsEclipseProject setPublications(List<DefaultGradleModuleVersion> publications) { this.publications = publications; return this; } }