summaryrefslogtreecommitdiff
path: root/platform/external-system-api/src/com/intellij/openapi/externalSystem/model/DefaultExternalProject.java
diff options
context:
space:
mode:
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.java243
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;
+ }
+}