diff src/main/java/edu/harvard/iq/dataverse/DvObjectContainer.java @ 10:a50cf11e5178

Rewrite LGDataverse completely upgrading to dataverse4.0
author Zoe Hong <zhong@mpiwg-berlin.mpg.de>
date Tue, 08 Sep 2015 17:00:21 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/edu/harvard/iq/dataverse/DvObjectContainer.java	Tue Sep 08 17:00:21 2015 +0200
@@ -0,0 +1,29 @@
+package edu.harvard.iq.dataverse;
+
+import javax.persistence.MappedSuperclass;
+
+/**
+ * A {@link DvObject} that can contain other {@link DvObject}s.
+ * 
+ * @author michael
+ */
+@MappedSuperclass
+public abstract class DvObjectContainer extends DvObject {
+	
+    public void setOwner(Dataverse owner) {
+        super.setOwner(owner);
+    }
+	
+	@Override
+	public Dataverse getOwner() {
+		return super.getOwner()!=null ? (Dataverse)super.getOwner() : null;
+	}
+    
+    protected abstract boolean isPermissionRoot();
+    
+    @Override
+    public boolean isEffectivelyPermissionRoot() {
+        return isPermissionRoot() || (getOwner() == null);
+    }
+
+}