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); } }