| package com.intellij.remoteServer.impl.runtime.ui; |
| |
| import com.intellij.ide.util.treeView.AbstractTreeNode; |
| import com.intellij.openapi.extensions.ExtensionPointName; |
| import com.intellij.openapi.project.Project; |
| import com.intellij.remoteServer.impl.runtime.ui.tree.TreeBuilderBase; |
| import com.intellij.ui.treeStructure.Tree; |
| import org.jetbrains.annotations.NotNull; |
| import org.jetbrains.annotations.Nullable; |
| |
| import java.util.List; |
| |
| /** |
| * This is a temporary solution to integrate JavaEE based application servers into common Remote Servers/Clouds view. It should be removed |
| * when remote app servers will be migrated to use remote-servers-api |
| * |
| * @author nik |
| */ |
| public abstract class RemoteServersViewContributor { |
| public static final ExtensionPointName<RemoteServersViewContributor> EP_NAME = ExtensionPointName.create("com.intellij.remoteServer.viewContributor"); |
| |
| public abstract boolean canContribute(@NotNull Project project); |
| |
| public abstract void setupAvailabilityListener(@NotNull Project project, @NotNull Runnable checkAvailability); |
| |
| public abstract void setupTree(Project project, Tree tree, TreeBuilderBase builder); |
| |
| @NotNull |
| public abstract List<AbstractTreeNode<?>> createServerNodes(Project project); |
| |
| @Nullable |
| public abstract Object getData(@NotNull String dataId, @NotNull ServersToolWindowContent content); |
| } |