| /* |
| * 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; |
| } |
| } |