Salome HOME
Siman codebase is refactored. Spring beans are introduced in the context.
[tools/siman.git] / Workspace / Siman-Common / src / org / splat / dal / bo / som / ActorRelation.java
diff --git a/Workspace/Siman-Common/src/org/splat/dal/bo/som/ActorRelation.java b/Workspace/Siman-Common/src/org/splat/dal/bo/som/ActorRelation.java
new file mode 100644 (file)
index 0000000..98fdf8a
--- /dev/null
@@ -0,0 +1,53 @@
+package org.splat.dal.bo.som;
+/**
+ * Base implementation of actor relations such as Contributor, Reviewer and Approver.
+ * ActorRelation objects are attached to Documents for defining those who HAVE CONTRIBUTED to these documents,
+ * while instances of subclasses of ActorRelation are attached to Studies for setting those who CAN CONTRIBUTE to given document types.</br>
+ * </br>
+ * Depending on the actual relation object, the value of the actor relation has different meaning:
+ * <ul>
+ * <li>The description of ActorRelation objects defines the type of contributions (Contributor, Reviewer, Approver...)</li>
+ * <li>The description of instances of subclasses of ActorRelation defines the type of acting documents</li>
+ * </ul>
+ * 
+ * @author    Daniel Brunier-Coulin
+ * @copyright OPEN CASCADE 2012
+ */
+
+import org.splat.dal.bo.kernel.Persistent;
+import org.splat.dal.bo.kernel.Relation;
+import org.splat.dal.bo.kernel.User;
+
+
+public abstract class ActorRelation extends Relation {
+
+    private User  refer;
+
+//  ==============================================================================================================================
+//  Constructors
+//  ==============================================================================================================================
+
+//  Database fetch constructor
+    protected ActorRelation () {
+    }
+//  ActorRelation subclasses constructor
+    protected ActorRelation (Study from, User to) {
+//  ---------------------------------------------
+      super(from);
+      this.refer = to;
+    }
+
+//  ==============================================================================================================================
+//  Public member functions
+//  ==============================================================================================================================
+
+    @Override
+    public User getTo () {
+//  --------------------
+      return refer;
+    }
+    protected void setTo (Persistent to) {
+//  ------------------------------------
+      refer = (User)to;
+    }
+}
\ No newline at end of file