package edu.harvard.iq.dataverse.authorization.users; import edu.harvard.iq.dataverse.authorization.RoleAssigneeDisplayInfo; /** * Guest user in the system. There's only one, so you get it with the static getter {@link #get()} (singleton pattern). * * @author michael */ public class GuestUser implements User { private static final GuestUser INSTANCE = new GuestUser(); public static GuestUser get() { return INSTANCE; } private GuestUser(){} @Override public String getIdentifier() { return ":guest"; } @Override public RoleAssigneeDisplayInfo getDisplayInfo() { return new RoleAssigneeDisplayInfo("Guest", null); } @Override public boolean isAuthenticated() { return false; } @Override public boolean isBuiltInUser(){ return false; } @Override public boolean isSuperuser() { return false; } @Override public boolean equals( Object o ) { return (o instanceof GuestUser); } @Override public String toString() { return "[GuestUser :guest]"; } @Override public int hashCode() { return 7; } }