Merge commit 'alpha/update_2_12_for_2_11_2_series_merge^2' into HEAD
[jalview.git] / src / jalview / ext / rbvi / chimera / ChimeraXManager.java
diff --git a/src/jalview/ext/rbvi/chimera/ChimeraXManager.java b/src/jalview/ext/rbvi/chimera/ChimeraXManager.java
new file mode 100644 (file)
index 0000000..9d89ac7
--- /dev/null
@@ -0,0 +1,50 @@
+package jalview.ext.rbvi.chimera;
+
+import java.util.List;
+
+import ext.edu.ucsf.rbvi.strucviz2.ChimeraManager;
+import ext.edu.ucsf.rbvi.strucviz2.StructureManager;
+
+/**
+ * A class to help Jalview start, stop and send commands to ChimeraX.
+ * <p>
+ * Much of the functionality is common with Chimera, so for convenience we
+ * extend ChimeraManager, however note this class is <em>not</em> based on the
+ * Cytoscape class at
+ * {@code https://github.com/RBVI/structureVizX/blob/master/src/main/java/edu/ucsf/rbvi/structureVizX/internal/model/ChimeraManager.java}.
+ * 
+ * @author gmcarstairs
+ *
+ */
+public class ChimeraXManager extends ChimeraManager
+{
+
+  public ChimeraXManager(StructureManager structureManager)
+  {
+    super(structureManager);
+  }
+
+  public boolean isChimeraX()
+  {
+    return true;
+  }
+
+  /**
+   * Returns "POST" as the HTTP request method to use for REST service calls to ChimeraX
+   * @return
+   */
+  protected String getHttpRequestMethod()
+  {
+    return "GET";
+  }
+
+  /**
+   * Adds command-line arguments to start the REST server
+   */
+  protected void addLaunchArguments(List<String> args)
+  {
+    args.add("--cmd");
+    args.add("remote rest start");
+  }
+
+}