]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - cms/org.argeo.slc.api/src/org/argeo/slc/deploy/ModulesManager.java
Clarify SLC project structure.
[gpl/argeo-slc.git] / cms / org.argeo.slc.api / src / org / argeo / slc / deploy / ModulesManager.java
diff --git a/cms/org.argeo.slc.api/src/org/argeo/slc/deploy/ModulesManager.java b/cms/org.argeo.slc.api/src/org/argeo/slc/deploy/ModulesManager.java
new file mode 100644 (file)
index 0000000..1288592
--- /dev/null
@@ -0,0 +1,26 @@
+package org.argeo.slc.deploy;
+
+import java.util.List;
+
+import org.argeo.slc.NameVersion;
+
+/** Provides access to deployed modules */
+public interface ModulesManager {
+       /** @return a full fledged module descriptor. */
+       public ModuleDescriptor getModuleDescriptor(String moduleName,
+                       String version);
+
+       /**
+        * @return a list of minimal module descriptors of the deployed modules
+        */
+       public List<ModuleDescriptor> listModules();
+
+       /** Synchronously upgrades the module referenced by this name version */
+       public void upgrade(NameVersion nameVersion);
+
+       /** Starts the module */
+       public void start(NameVersion nameVersion);
+
+       /** Stops the module */
+       public void stop(NameVersion nameVersion);
+}