package net.pterodactylus.sone.data;
import static net.pterodactylus.sone.data.Sone.ShowCustomAvatars.NEVER;
import net.pterodactylus.sone.data.Sone.ShowCustomAvatars;
/**
* All Sone-specific options.
*
* @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
*/
public interface SoneOptions {
boolean isAutoFollow();
void setAutoFollow(boolean autoFollow);
boolean isSoneInsertNotificationEnabled();
void setSoneInsertNotificationEnabled(boolean soneInsertNotificationEnabled);
boolean isShowNewSoneNotifications();
void setShowNewSoneNotifications(boolean showNewSoneNotifications);
boolean isShowNewPostNotifications();
void setShowNewPostNotifications(boolean showNewPostNotifications);
boolean isShowNewReplyNotifications();
void setShowNewReplyNotifications(boolean showNewReplyNotifications);
ShowCustomAvatars getShowCustomAvatars();
void setShowCustomAvatars(ShowCustomAvatars showCustomAvatars);
/**
* {@link SoneOptions} implementation.
*
* @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
*/
public class DefaultSoneOptions implements SoneOptions {
private boolean autoFollow = false;
private boolean soneInsertNotificationsEnabled = false;
private boolean showNewSoneNotifications = true;
private boolean showNewPostNotifications = true;
private boolean showNewReplyNotifications = true;
private ShowCustomAvatars showCustomAvatars = NEVER;
@Override
public boolean isAutoFollow() {
return autoFollow;
}
@Override
public void setAutoFollow(boolean autoFollow) {
this.autoFollow = autoFollow;
}
@Override
public boolean isSoneInsertNotificationEnabled() {
return soneInsertNotificationsEnabled;
}
@Override
public void setSoneInsertNotificationEnabled(boolean soneInsertNotificationEnabled) {
this.soneInsertNotificationsEnabled = soneInsertNotificationEnabled;
}
@Override
public boolean isShowNewSoneNotifications() {
return showNewSoneNotifications;
}
@Override
public void setShowNewSoneNotifications(boolean showNewSoneNotifications) {
this.showNewSoneNotifications = showNewSoneNotifications;
}
@Override
public boolean isShowNewPostNotifications() {
return showNewPostNotifications;
}
@Override
public void setShowNewPostNotifications(boolean showNewPostNotifications) {
this.showNewPostNotifications = showNewPostNotifications;
}
@Override
public boolean isShowNewReplyNotifications() {
return showNewReplyNotifications;
}
@Override
public void setShowNewReplyNotifications(boolean showNewReplyNotifications) {
this.showNewReplyNotifications = showNewReplyNotifications;
}
@Override
public ShowCustomAvatars getShowCustomAvatars() {
return showCustomAvatars;
}
@Override
public void setShowCustomAvatars(ShowCustomAvatars showCustomAvatars) {
this.showCustomAvatars = showCustomAvatars;
}
}
}