/* This file is part of Libresonic. Libresonic is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Libresonic is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Libresonic. If not, see <http://www.gnu.org/licenses/>. Copyright 2016 (C) Libresonic Authors Based upon Subsonic, Copyright 2009 (C) Sindre Mehus */ package org.libresonic.player.domain; /** * Represent a user. * * @author Sindre Mehus */ public class User { public static final String USERNAME_ADMIN = "admin"; public static final String USERNAME_GUEST = "guest"; private final String username; private String password; private String email; private boolean ldapAuthenticated; private long bytesStreamed; private long bytesDownloaded; private long bytesUploaded; private boolean isAdminRole; private boolean isSettingsRole; private boolean isDownloadRole; private boolean isUploadRole; private boolean isPlaylistRole; private boolean isCoverArtRole; private boolean isCommentRole; private boolean isPodcastRole; private boolean isStreamRole; private boolean isJukeboxRole; private boolean isShareRole; public User(String username, String password, String email, boolean ldapAuthenticated, long bytesStreamed, long bytesDownloaded, long bytesUploaded) { this.username = username; this.password = password; this.email = email; this.ldapAuthenticated = ldapAuthenticated; this.bytesStreamed = bytesStreamed; this.bytesDownloaded = bytesDownloaded; this.bytesUploaded = bytesUploaded; } public User(String username, String password, String email) { this(username, password, email, false, 0, 0, 0); } public String getUsername() { return username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public boolean isLdapAuthenticated() { return ldapAuthenticated; } public void setLdapAuthenticated(boolean ldapAuthenticated) { this.ldapAuthenticated = ldapAuthenticated; } public long getBytesStreamed() { return bytesStreamed; } public void setBytesStreamed(long bytesStreamed) { this.bytesStreamed = bytesStreamed; } public long getBytesDownloaded() { return bytesDownloaded; } public void setBytesDownloaded(long bytesDownloaded) { this.bytesDownloaded = bytesDownloaded; } public long getBytesUploaded() { return bytesUploaded; } public void setBytesUploaded(long bytesUploaded) { this.bytesUploaded = bytesUploaded; } public boolean isAdminRole() { return isAdminRole; } public void setAdminRole(boolean isAdminRole) { this.isAdminRole = isAdminRole; } public boolean isSettingsRole() { return isSettingsRole; } public void setSettingsRole(boolean isSettingsRole) { this.isSettingsRole = isSettingsRole; } public boolean isCommentRole() { return isCommentRole; } public void setCommentRole(boolean isCommentRole) { this.isCommentRole = isCommentRole; } public boolean isDownloadRole() { return isDownloadRole; } public void setDownloadRole(boolean isDownloadRole) { this.isDownloadRole = isDownloadRole; } public boolean isUploadRole() { return isUploadRole; } public void setUploadRole(boolean isUploadRole) { this.isUploadRole = isUploadRole; } public boolean isPlaylistRole() { return isPlaylistRole; } public void setPlaylistRole(boolean isPlaylistRole) { this.isPlaylistRole = isPlaylistRole; } public boolean isCoverArtRole() { return isCoverArtRole; } public void setCoverArtRole(boolean isCoverArtRole) { this.isCoverArtRole = isCoverArtRole; } public boolean isPodcastRole() { return isPodcastRole; } public void setPodcastRole(boolean isPodcastRole) { this.isPodcastRole = isPodcastRole; } public boolean isStreamRole() { return isStreamRole; } public void setStreamRole(boolean streamRole) { isStreamRole = streamRole; } public boolean isJukeboxRole() { return isJukeboxRole; } public void setJukeboxRole(boolean jukeboxRole) { isJukeboxRole = jukeboxRole; } public boolean isShareRole() { return isShareRole; } public void setShareRole(boolean shareRole) { isShareRole = shareRole; } @Override public String toString() { StringBuffer result = new StringBuffer(username); if (isAdminRole) { result.append(" [admin]"); } if (isSettingsRole) { result.append(" [settings]"); } if (isDownloadRole) { result.append(" [download]"); } if (isUploadRole) { result.append(" [upload]"); } if (isPlaylistRole) { result.append(" [playlist]"); } if (isCoverArtRole) { result.append(" [coverart]"); } if (isCommentRole) { result.append(" [comment]"); } if (isPodcastRole) { result.append(" [podcast]"); } if (isStreamRole) { result.append(" [stream]"); } if (isJukeboxRole) { result.append(" [jukebox]"); } if (isShareRole) { result.append(" [share]"); } return result.toString(); } }