/*
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.command;
import org.libresonic.player.controller.UserSettingsController;
import org.libresonic.player.domain.MusicFolder;
import org.libresonic.player.domain.TranscodeScheme;
import org.libresonic.player.domain.User;
import java.util.List;
/**
* Command used in {@link UserSettingsController}.
*
* @author Sindre Mehus
*/
public class UserSettingsCommand {
private String username;
private boolean isAdminRole;
private boolean isDownloadRole;
private boolean isUploadRole;
private boolean isCoverArtRole;
private boolean isCommentRole;
private boolean isPodcastRole;
private boolean isStreamRole;
private boolean isJukeboxRole;
private boolean isSettingsRole;
private boolean isShareRole;
private List<User> users;
private boolean isAdmin;
private boolean isPasswordChange;
private boolean isNewUser;
private boolean isDeleteUser;
private String password;
private String confirmPassword;
private String email;
private boolean isLdapAuthenticated;
private boolean isLdapEnabled;
private List<MusicFolder> allMusicFolders;
private int[] allowedMusicFolderIds;
private String transcodeSchemeName;
private EnumHolder[] transcodeSchemeHolders;
private boolean transcodingSupported;
private String transcodeDirectory;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public boolean isAdminRole() {
return isAdminRole;
}
public void setAdminRole(boolean adminRole) {
isAdminRole = adminRole;
}
public boolean isDownloadRole() {
return isDownloadRole;
}
public void setDownloadRole(boolean downloadRole) {
isDownloadRole = downloadRole;
}
public boolean isUploadRole() {
return isUploadRole;
}
public void setUploadRole(boolean uploadRole) {
isUploadRole = uploadRole;
}
public boolean isCoverArtRole() {
return isCoverArtRole;
}
public void setCoverArtRole(boolean coverArtRole) {
isCoverArtRole = coverArtRole;
}
public boolean isCommentRole() {
return isCommentRole;
}
public void setCommentRole(boolean commentRole) {
isCommentRole = commentRole;
}
public boolean isPodcastRole() {
return isPodcastRole;
}
public void setPodcastRole(boolean podcastRole) {
isPodcastRole = podcastRole;
}
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 isSettingsRole() {
return isSettingsRole;
}
public void setSettingsRole(boolean settingsRole) {
isSettingsRole = settingsRole;
}
public boolean isShareRole() {
return isShareRole;
}
public void setShareRole(boolean shareRole) {
isShareRole = shareRole;
}
public List<User> getUsers() {
return users;
}
public void setUsers(List<User> users) {
this.users = users;
}
public boolean isAdmin() {
return isAdmin;
}
public void setAdmin(boolean admin) {
isAdmin = admin;
}
public boolean isPasswordChange() {
return isPasswordChange;
}
public void setPasswordChange(boolean passwordChange) {
isPasswordChange = passwordChange;
}
public boolean isNewUser() {
return isNewUser;
}
public void setNewUser(boolean isNewUser) {
this.isNewUser = isNewUser;
}
public boolean isDeleteUser() {
return isDeleteUser;
}
public void setDeleteUser(boolean deleteUser) {
this.isDeleteUser = deleteUser;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getConfirmPassword() {
return confirmPassword;
}
public void setConfirmPassword(String confirmPassword) {
this.confirmPassword = confirmPassword;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public boolean isLdapAuthenticated() {
return isLdapAuthenticated;
}
public void setLdapAuthenticated(boolean ldapAuthenticated) {
isLdapAuthenticated = ldapAuthenticated;
}
public boolean isLdapEnabled() {
return isLdapEnabled;
}
public void setLdapEnabled(boolean ldapEnabled) {
isLdapEnabled = ldapEnabled;
}
public List<MusicFolder> getAllMusicFolders() {
return allMusicFolders;
}
public void setAllMusicFolders(List<MusicFolder> allMusicFolders) {
this.allMusicFolders = allMusicFolders;
}
public int[] getAllowedMusicFolderIds() {
return allowedMusicFolderIds;
}
public void setAllowedMusicFolderIds(int[] allowedMusicFolderIds) {
this.allowedMusicFolderIds = allowedMusicFolderIds;
}
public String getTranscodeSchemeName() {
return transcodeSchemeName;
}
public void setTranscodeSchemeName(String transcodeSchemeName) {
this.transcodeSchemeName = transcodeSchemeName;
}
public EnumHolder[] getTranscodeSchemeHolders() {
return transcodeSchemeHolders;
}
public void setTranscodeSchemes(TranscodeScheme[] transcodeSchemes) {
transcodeSchemeHolders = new EnumHolder[transcodeSchemes.length];
for (int i = 0; i < transcodeSchemes.length; i++) {
TranscodeScheme scheme = transcodeSchemes[i];
transcodeSchemeHolders[i] = new EnumHolder(scheme.name(), scheme.toString());
}
}
public boolean isTranscodingSupported() {
return transcodingSupported;
}
public void setTranscodingSupported(boolean transcodingSupported) {
this.transcodingSupported = transcodingSupported;
}
public String getTranscodeDirectory() {
return transcodeDirectory;
}
public void setTranscodeDirectory(String transcodeDirectory) {
this.transcodeDirectory = transcodeDirectory;
}
public void setUser(User user) {
username = user == null ? null : user.getUsername();
isAdminRole = user != null && user.isAdminRole();
isDownloadRole = user != null && user.isDownloadRole();
isUploadRole = user != null && user.isUploadRole();
isCoverArtRole = user != null && user.isCoverArtRole();
isCommentRole = user != null && user.isCommentRole();
isPodcastRole = user != null && user.isPodcastRole();
isStreamRole = user != null && user.isStreamRole();
isJukeboxRole = user != null && user.isJukeboxRole();
isSettingsRole = user != null && user.isSettingsRole();
isShareRole = user != null && user.isShareRole();
isLdapAuthenticated = user != null && user.isLdapAuthenticated();
setNewUser(false);
}
}