package com.intellij.remoteServer.runtime; import com.intellij.openapi.project.Project; import com.intellij.remoteServer.runtime.deployment.DeploymentLogManager; import com.intellij.remoteServer.runtime.deployment.DeploymentRuntime; import com.intellij.remoteServer.runtime.deployment.DeploymentStatus; import com.intellij.remoteServer.runtime.deployment.DeploymentTask; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; /** * @author nik */ public interface Deployment { @NotNull String getName(); @NotNull String getPresentableName(); @NotNull DeploymentStatus getStatus(); @NotNull String getStatusText(); @Nullable DeploymentRuntime getRuntime(); @Nullable DeploymentRuntime getParentRuntime(); @Nullable DeploymentTask<?> getDeploymentTask(); @NotNull DeploymentLogManager getOrCreateLogManager(@NotNull Project project); void setStatus(@NotNull DeploymentStatus status, @Nullable String statusText); @NotNull ServerConnection<?> getConnection(); }