package edu.harvard.iq.dataverse.authorization.users;
import edu.harvard.iq.dataverse.authorization.RoleAssignee;
import java.io.Serializable;
/**
* A user of the dataverse system. Intuitively a single real person in real
* life, but some corner cases exist (e.g. {@link GuestUser}, who stands for
* many people, or {@link PrivateUrlUser}, another virtual user).
*/
public interface User extends RoleAssignee, Serializable {
public boolean isAuthenticated();
// TODO remove this, should be handled in a more generic fashion,
// e.g. getUserProvider and get the provider's URL from there. This
// would allow Shib-based editing as well.
public boolean isBuiltInUser();
public boolean isSuperuser();
}