diff options
Diffstat (limited to 'platform/external-system-api/src/com/intellij/openapi/externalSystem/model/DefaultExternalProject.java')
-rw-r--r-- | platform/external-system-api/src/com/intellij/openapi/externalSystem/model/DefaultExternalProject.java | 243 |
1 files changed, 243 insertions, 0 deletions
diff --git a/platform/external-system-api/src/com/intellij/openapi/externalSystem/model/DefaultExternalProject.java b/platform/external-system-api/src/com/intellij/openapi/externalSystem/model/DefaultExternalProject.java new file mode 100644 index 000000000000..cecb9ad33c12 --- /dev/null +++ b/platform/external-system-api/src/com/intellij/openapi/externalSystem/model/DefaultExternalProject.java @@ -0,0 +1,243 @@ +/* + * Copyright 2000-2014 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.openapi.externalSystem.model; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.io.File; +import java.util.HashMap; +import java.util.Map; + +/** + * @author Vladislav.Soroka + * @since 7/14/2014 + */ +public class DefaultExternalProject implements ExternalProject { + + private static final long serialVersionUID = 1L; + + @NotNull + private String myName; + @NotNull + private String myQName; + @Nullable + private String myDescription; + @NotNull + private String myGroup; + @NotNull + private String myVersion; + @NotNull + private Map<String, ExternalProject> myChildProjects; + @NotNull + private File myProjectDir; + @NotNull + private File myBuildDir; + @Nullable + private File myBuildFile; + @NotNull + private Map<String, ExternalTask> myTasks; + @NotNull + private Map<String, ?> myProperties; + @NotNull + private Map<String, ExternalSourceSet> mySourceSets; + @NotNull + private String myExternalSystemId; + @NotNull + private Map<String, ExternalPlugin> myPlugins; + + public DefaultExternalProject() { + myChildProjects = new HashMap<String, ExternalProject>(); + myTasks = new HashMap<String, ExternalTask>(); + myProperties = new HashMap<String, Object>(); + mySourceSets = new HashMap<String, ExternalSourceSet>(); + myPlugins = new HashMap<String, ExternalPlugin>(); + } + + public DefaultExternalProject(@NotNull ExternalProject externalProject) { + this(); + myName = externalProject.getName(); + myQName = externalProject.getQName(); + myVersion = externalProject.getVersion(); + myGroup = externalProject.getGroup(); + myDescription = externalProject.getDescription(); + myProjectDir = externalProject.getProjectDir(); + myBuildDir = externalProject.getBuildDir(); + myBuildFile = externalProject.getBuildFile(); + myExternalSystemId = externalProject.getExternalSystemId(); + + for (Map.Entry<String, ExternalProject> entry : externalProject.getChildProjects().entrySet()) { + myChildProjects.put(entry.getKey(), new DefaultExternalProject(entry.getValue())); + } + + for (Map.Entry<String, ExternalTask> entry : externalProject.getTasks().entrySet()) { + myTasks.put(entry.getKey(), new DefaultExternalTask(entry.getValue())); + } + for (Map.Entry<String, ExternalSourceSet> entry : externalProject.getSourceSets().entrySet()) { + mySourceSets.put(entry.getKey(), new DefaultExternalSourceSet(entry.getValue())); + } + for (Map.Entry<String, ExternalPlugin> entry : externalProject.getPlugins().entrySet()) { + myPlugins.put(entry.getKey(), new DefaultExternalPlugin(entry.getValue())); + } + } + + + @NotNull + @Override + public String getExternalSystemId() { + return myExternalSystemId; + } + + public void setExternalSystemId(@NotNull String externalSystemId) { + myExternalSystemId = externalSystemId; + } + + @NotNull + @Override + public String getName() { + return myName; + } + + public void setName(@NotNull String name) { + myName = name; + } + + @NotNull + @Override + public String getQName() { + return myQName; + } + + public void setQName(@NotNull String QName) { + myQName = QName; + } + + @Nullable + @Override + public String getDescription() { + return myDescription; + } + + public void setDescription(@Nullable String description) { + myDescription = description; + } + + @NotNull + @Override + public String getGroup() { + return myGroup; + } + + public void setGroup(@NotNull String group) { + myGroup = group; + } + + @NotNull + @Override + public String getVersion() { + return myVersion; + } + + public void setVersion(@NotNull String version) { + myVersion = version; + } + + @NotNull + @Override + public Map<String, ExternalProject> getChildProjects() { + return myChildProjects; + } + + public void setChildProjects(@NotNull Map<String, ExternalProject> childProjects) { + myChildProjects = childProjects; + } + + @NotNull + @Override + public File getProjectDir() { + return myProjectDir; + } + + public void setProjectDir(@NotNull File projectDir) { + myProjectDir = projectDir; + } + + @NotNull + @Override + public File getBuildDir() { + return myBuildDir; + } + + public void setBuildDir(@NotNull File buildDir) { + myBuildDir = buildDir; + } + + @Nullable + @Override + public File getBuildFile() { + return myBuildFile; + } + + public void setBuildFile(@Nullable File buildFile) { + myBuildFile = buildFile; + } + + @NotNull + @Override + public Map<String, ExternalTask> getTasks() { + return myTasks; + } + + public void setTasks(@NotNull Map<String, ExternalTask> tasks) { + myTasks = tasks; + } + + @NotNull + @Override + public Map<String, ExternalPlugin> getPlugins() { + return myPlugins; + } + + public void setPlugins(@NotNull Map<String, ExternalPlugin> plugins) { + myPlugins = plugins; + } + + @NotNull + @Override + public Map<String, ?> getProperties() { + return myProperties; + } + + public void setProperties(@NotNull Map<String, ?> properties) { + myProperties = properties; + } + + @Nullable + @Override + public Object getProperty(String name) { + return myProperties.get(name); + } + + @NotNull + @Override + public Map<String, ExternalSourceSet> getSourceSets() { + return mySourceSets; + } + + public void setSourceSets(@NotNull Map<String, ExternalSourceSet> sourceSets) { + mySourceSets = sourceSets; + } +} |