From 90288d06bb07c4dd03f976ec03ae6c1cbef537d8 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Mon, 29 Jul 2013 17:04:15 +0200 Subject: [PATCH] javadocs; push RunManager.getStructure() down to RunManagerEx --- .../com/intellij/execution/RunManager.java | 108 ++++++++++++++---- .../RunnerAndConfigurationSettings.java | 1 + .../com/intellij/execution/RunManagerEx.java | 5 + .../execution/impl/RunManagerImpl.java | 4 +- .../src/com/intellij/mock/MockRunManager.java | 2 +- 5 files changed, 93 insertions(+), 27 deletions(-) diff --git a/platform/lang-api/src/com/intellij/execution/RunManager.java b/platform/lang-api/src/com/intellij/execution/RunManager.java index 4f35a05db43f..37983b2584a7 100644 --- a/platform/lang-api/src/com/intellij/execution/RunManager.java +++ b/platform/lang-api/src/com/intellij/execution/RunManager.java @@ -24,51 +24,111 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.ArrayList; -import java.util.List; -import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; /** - * User: anna - * Date: Jan 25, 2005 + * Manages the list of run/debug configurations in a project. + * + * @author anna */ public abstract class RunManager { public static RunManager getInstance(final Project project) { return project.getComponent(RunManager.class); } + /** + * Returns the list of all registered configuration types. + * + * @return all registered configuration types. + */ @NotNull public abstract ConfigurationType[] getConfigurationFactories(); + /** + * Returns the list of all configurations of a specified type. + * + * @param type a run configuration type. + * @return all configurations of the type, or an empty array if no configurations of the type are defined. + */ @NotNull public abstract RunConfiguration[] getConfigurations(@NotNull ConfigurationType type); - @NotNull - public abstract RunConfiguration[] getAllConfigurations(); - - @NotNull - public abstract RunConfiguration[] getTempConfigurations(); - - public abstract boolean isTemporary(@NotNull RunConfiguration configuration); - - public abstract void makeStable(@NotNull RunConfiguration configuration); - - @Nullable - public abstract RunnerAndConfigurationSettings getSelectedConfiguration(); - - @NotNull - public abstract RunnerAndConfigurationSettings createRunConfiguration(@NotNull String name, @NotNull ConfigurationFactory type); - - @NotNull - public abstract RunnerAndConfigurationSettings createConfiguration(RunConfiguration runConfiguration, ConfigurationFactory factory); - + /** + * Returns the list of {@link RunnerAndConfigurationSettings} for all configurations of a specified type. + * + * @param type a run configuration type. + * @return settings for all configurations of the type, or an empty array if no configurations of the type are defined. + */ @NotNull public abstract RunnerAndConfigurationSettings[] getConfigurationSettings(@NotNull ConfigurationType type); + /** + * Returns the list of all run configurations. + * + * @return the list of all run configurations. + */ @NotNull - public abstract Map> getStructure(@NotNull ConfigurationType type); + public abstract RunConfiguration[] getAllConfigurations(); + /** + * Returns the list of all temporary run configurations. + * + * @return the list of all temporary run configurations. + * @see com.intellij.execution.RunnerAndConfigurationSettings#isTemporary() + */ + @NotNull + public abstract RunConfiguration[] getTempConfigurations(); + + /** + * Checks if the specified run configuration is temporary and will be deleted when the temporary configurations limit is exceeded. + * + * @return true if the configuration is temporary, false otherwise. + * @see com.intellij.execution.RunnerAndConfigurationSettings#isTemporary() + */ + public abstract boolean isTemporary(@NotNull RunConfiguration configuration); + + /** + * Saves the specified temporary run configuration and makes it a permanent one. + * + * @param configuration the temporary run configuration to save. + */ + public abstract void makeStable(@NotNull RunConfiguration configuration); + + /** + * Returns the selected item in the run/debug configurations combobox. + * + * @return the selected configuration, or null if no configuration is defined or selected. + */ + @Nullable + public abstract RunnerAndConfigurationSettings getSelectedConfiguration(); + + /** + * Creates a configuration of the specified type with the specified name. + * + * @param name the name of the configuration to create (should be unique and not equal to any other existing configuration) + * @param type the type of the configuration to create. + * @return the configuration settings object. + * @see RunManager#suggestUniqueName(String, java.util.ArrayList) + */ + @NotNull + public abstract RunnerAndConfigurationSettings createRunConfiguration(@NotNull String name, @NotNull ConfigurationFactory type); + + /** + * Creates a configuration settings object based on a specified {@link RunConfiguration}. + * + * @param runConfiguration the run configuration + * @param factory the factory instance. + * @return the configuration settings object. + */ + @NotNull + public abstract RunnerAndConfigurationSettings createConfiguration(@NotNull RunConfiguration runConfiguration, @NotNull ConfigurationFactory factory); + + /** + * Marks the specified run configuration as recently used (the temporary run configurations are deleted in LRU order). + * + * @param profile the run configuration to mark as recently used. + */ public abstract void refreshUsagesList(RunProfile profile); public static String suggestUniqueName(String str, ArrayList currentNames) { diff --git a/platform/lang-api/src/com/intellij/execution/RunnerAndConfigurationSettings.java b/platform/lang-api/src/com/intellij/execution/RunnerAndConfigurationSettings.java index f77d1bf39d71..1950a92749ac 100644 --- a/platform/lang-api/src/com/intellij/execution/RunnerAndConfigurationSettings.java +++ b/platform/lang-api/src/com/intellij/execution/RunnerAndConfigurationSettings.java @@ -66,6 +66,7 @@ public interface RunnerAndConfigurationSettings { * Marks the configuration as temporary or permanent. * * @param temporary true if the configuration is temporary, false if it's permanent. + * @see RunManager#makeStable(com.intellij.execution.configurations.RunConfiguration) */ void setTemporary(boolean temporary); diff --git a/platform/lang-impl/src/com/intellij/execution/RunManagerEx.java b/platform/lang-impl/src/com/intellij/execution/RunManagerEx.java index 4ac1e8eec86e..da0d671b7481 100644 --- a/platform/lang-impl/src/com/intellij/execution/RunManagerEx.java +++ b/platform/lang-impl/src/com/intellij/execution/RunManagerEx.java @@ -16,6 +16,7 @@ package com.intellij.execution; import com.intellij.execution.configurations.ConfigurationFactory; +import com.intellij.execution.configurations.ConfigurationType; import com.intellij.execution.configurations.RunConfiguration; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Key; @@ -25,6 +26,7 @@ import org.jetbrains.annotations.Nullable; import javax.swing.*; import java.util.Collection; import java.util.List; +import java.util.Map; /** * Manages {@link RunConfiguration}s. @@ -86,6 +88,9 @@ public abstract class RunManagerEx extends RunManager { public abstract void addRunManagerListener(RunManagerListener listener); public abstract void removeRunManagerListener(RunManagerListener listener); + @NotNull + public abstract Map> getStructure(@NotNull ConfigurationType type); + public static void disableTasks(Project project, RunConfiguration settings, Key... keys) { for (Key key : keys) { List tasks = getInstanceEx(project).getBeforeRunTasks(settings, key); diff --git a/platform/lang-impl/src/com/intellij/execution/impl/RunManagerImpl.java b/platform/lang-impl/src/com/intellij/execution/impl/RunManagerImpl.java index 14f80f34417d..d541fee96573 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/RunManagerImpl.java +++ b/platform/lang-impl/src/com/intellij/execution/impl/RunManagerImpl.java @@ -142,8 +142,8 @@ public class RunManagerImpl extends RunManagerEx implements JDOMExternalizable, @Override @NotNull - public RunnerAndConfigurationSettings createConfiguration(final RunConfiguration runConfiguration, - final ConfigurationFactory factory) { + public RunnerAndConfigurationSettings createConfiguration(@NotNull final RunConfiguration runConfiguration, + @NotNull final ConfigurationFactory factory) { RunnerAndConfigurationSettings template = getConfigurationTemplate(factory); myConfigurationToBeforeTasksMap.put(runConfiguration, getBeforeRunTasks(template.getConfiguration())); shareConfiguration(runConfiguration, isConfigurationShared(template)); diff --git a/platform/testFramework/src/com/intellij/mock/MockRunManager.java b/platform/testFramework/src/com/intellij/mock/MockRunManager.java index 19c4784e679c..2b8bae9985d3 100644 --- a/platform/testFramework/src/com/intellij/mock/MockRunManager.java +++ b/platform/testFramework/src/com/intellij/mock/MockRunManager.java @@ -64,7 +64,7 @@ public class MockRunManager extends RunManagerEx { @NotNull @Override - public RunnerAndConfigurationSettings createConfiguration(RunConfiguration runConfiguration, ConfigurationFactory factory) { + public RunnerAndConfigurationSettings createConfiguration(@NotNull RunConfiguration runConfiguration, @NotNull ConfigurationFactory factory) { throw new UnsupportedOperationException(); }