package com.intellij.openapi.module;
import com.intellij.openapi.project.Project;
+import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.SystemIndependent;
*
* @see ModuleManager#getModifiableModel()
*/
+@ApiStatus.NonExtendable
public interface ModifiableModuleModel {
/**
* Returns the list of all modules in the project. Same as {@link ModuleManager#getModules()}.
/**
* Provides services for working with the modules of a project.
*/
+@ApiStatus.NonExtendable
public abstract class ModuleManager extends SimpleModificationTracker {
/**
* Returns the module manager instance for the current project.
*/
package com.intellij.openapi.module;
+import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
* This allows you to get a Module instance via {@link #getModule()} which is more efficient than {@link ModuleManager#findModuleByName}, and
* {@link #getModuleName() module name} encapsulated inside the instance will be properly updated if the module it refers to is renamed.
*/
+@ApiStatus.NonExtendable
public interface ModulePointer {
@Nullable
Module getModule();
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.project.Project;
+import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
+@ApiStatus.NonExtendable
public abstract class ModulePointerManager {
public static ModulePointerManager getInstance(@NotNull Project project) {
return ServiceManager.getService(project, ModulePointerManager.class);
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.CachedSingletonsRegistry;
import com.intellij.openapi.vfs.VirtualFile;
+import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.HashMap;
import java.util.Map;
+@ApiStatus.NonExtendable
public abstract class ProjectLocator {
// called very often by StubUpdatingIndex
private static ProjectLocator ourInstance = CachedSingletonsRegistry.markCachedField(ProjectLocator.class);
/**
* Provides project management.
*/
+@ApiStatus.NonExtendable
public abstract class ProjectManager {
public static final Topic<ProjectManagerListener> TOPIC = new Topic<>("Project open and close events", ProjectManagerListener.class);
import java.util.EventListener;
import java.util.List;
+@ApiStatus.NonExtendable
public abstract class ProjectJdkTable {
public static ProjectJdkTable getInstance() {
return ServiceManager.getService(ProjectJdkTable.class);
import com.intellij.openapi.roots.RootProvider;
import com.intellij.openapi.util.UserDataHolder;
import com.intellij.openapi.vfs.VirtualFile;
+import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
* @see ProjectRootManager#getProjectSdk()
* @see SdkTracker
*/
+@ApiStatus.NonExtendable
public interface Sdk extends UserDataHolder {
@NotNull
SdkTypeId getSdkType();