extracted from the jalview.io.VamsasDatastore bindjv2obj and associated methods.
authorjprocter <jprocter@compbio.dundee.ac.uk>
Fri, 15 Dec 2006 11:07:07 +0000 (11:07 +0000)
committerjprocter <jprocter@compbio.dundee.ac.uk>
Fri, 15 Dec 2006 11:07:07 +0000 (11:07 +0000)
git-svn-id: https://svn.lifesci.dundee.ac.uk/svn/repository/trunk@310 be28352e-c001-0410-b1a7-c7978e42abec

src/uk/ac/vamsas/objects/IVorbaBinding.java [new file with mode: 0644]

diff --git a/src/uk/ac/vamsas/objects/IVorbaBinding.java b/src/uk/ac/vamsas/objects/IVorbaBinding.java
new file mode 100644 (file)
index 0000000..9b62052
--- /dev/null
@@ -0,0 +1,40 @@
+/**\r
+ * \r
+ */\r
+package uk.ac.vamsas.objects;\r
+\r
+import uk.ac.vamsas.client.Vobject;\r
+import uk.ac.vamsas.client.VorbaId;\r
+\r
+/**\r
+ * Provides methods to map between VorbaIds and arbitrary object references\r
+ * for use by a vamsas Application when moving between its own datamodel and the\r
+ * Vamsas session objects.\r
+ * The implementing class needs a valid client-document instance if it is expected\r
+ * to be able to register newly created vObjects. Normally this will be the case if\r
+ * the implementing class has been generated by an IClient implementation which will\r
+ * also have passed it a reference to the current valid IClientDocument instance for\r
+ * that application's document access thread. \r
+ * @author JimP\r
+ */\r
+public interface IVorbaBinding {\r
+/**\r
+ * get the Vamsas session object bound to an internal object.\r
+ * @param appObject\r
+ * @return valid session object or Null.\r
+ */\r
+  Vobject getVamsasObjectFor(Object appObject);\r
+  /**\r
+   * Get the Application's own object bound to an existing Vamsas session object\r
+   * @param vObject - object in vamsas document\r
+   * @return apps object bound to the vamsas document object\r
+   */\r
+  Object getAppsObjectFor(uk.ac.vamsas.client.Vobject vObject);\r
+\r
+  /**\r
+   * Record a mapping between a vamsas document object and an application's internal object.\r
+   * @param appObject\r
+   * @param vObject - this must have been \r
+   */\r
+  void bindAppsObjectToVamsasObject(Object appObject, uk.ac.vamsas.client.Vobject vObject);\r
+}\r