blob: bd6ea6a904ceb3bf743d133f0956329d3e0dee18 [file] [log] [blame]
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);
}