Added and fixed existing Javadoc, configured Javadoc validation
This commit is contained in:
		@@ -7,6 +7,19 @@ import javax.swing.DefaultListModel;
 | 
			
		||||
import envoy.schema.Message;
 | 
			
		||||
import envoy.schema.User;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Represents a chat between two {@link User}s <br>
 | 
			
		||||
 * as a list of {@link Message} objects.
 | 
			
		||||
 * <br>
 | 
			
		||||
 * Project: <strong>envoy-client</strong><br>
 | 
			
		||||
 * File: <strong>Chat.java</strong><br>
 | 
			
		||||
 * Created: <strong>19 Oct 2019</strong><br>
 | 
			
		||||
 *
 | 
			
		||||
 * @author Maximilian Käfer
 | 
			
		||||
 * @author Leon Hofmeister
 | 
			
		||||
 * @author Kai S. K. Engelbart
 | 
			
		||||
 * @since Envoy v0.1-alpha
 | 
			
		||||
 */
 | 
			
		||||
public class Chat implements Serializable {
 | 
			
		||||
 | 
			
		||||
	private static final long serialVersionUID = -7751248474547242056L;
 | 
			
		||||
@@ -17,7 +30,7 @@ public class Chat implements Serializable {
 | 
			
		||||
	/**
 | 
			
		||||
	 * Provides the list of messages that the recipient receives.<br>
 | 
			
		||||
	 * Saves the Messages in the corresponding chat at that Point.
 | 
			
		||||
	 * 
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param recipient the user who receives the messages
 | 
			
		||||
	 * @since Envoy v0.1-alpha
 | 
			
		||||
	 */
 | 
			
		||||
@@ -31,7 +44,7 @@ public class Chat implements Serializable {
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Adds the received message at the current Point in the current chat
 | 
			
		||||
	 * 
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param message the message to add in said chat
 | 
			
		||||
	 * @since Envoy v0.1-alpha
 | 
			
		||||
	 */
 | 
			
		||||
 
 | 
			
		||||
@@ -6,10 +6,15 @@ import java.util.Properties;
 | 
			
		||||
import envoy.exception.EnvoyException;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Manages all application settings that are set during application startup by
 | 
			
		||||
 * either loading them from the {@link Properties} file
 | 
			
		||||
 * {@code client.properties} or parsing them from the command line arguments of
 | 
			
		||||
 * the application.<br>
 | 
			
		||||
 * <br>
 | 
			
		||||
 * Project: <strong>envoy-client</strong><br>
 | 
			
		||||
 * File: <strong>Config.java</strong><br>
 | 
			
		||||
 * Created: <strong>12 Oct 2019</strong><br>
 | 
			
		||||
 * 
 | 
			
		||||
 *
 | 
			
		||||
 * @author Kai S. K. Engelbart
 | 
			
		||||
 * @since Envoy v0.1-alpha
 | 
			
		||||
 */
 | 
			
		||||
@@ -24,6 +29,9 @@ public class Config {
 | 
			
		||||
 | 
			
		||||
	private Config() {}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * @return the singleton instance of the {@link Config}
 | 
			
		||||
	 */
 | 
			
		||||
	public static Config getInstance() {
 | 
			
		||||
		if (config == null) config = new Config();
 | 
			
		||||
		return config;
 | 
			
		||||
@@ -34,7 +42,7 @@ public class Config {
 | 
			
		||||
	 * This file contains information about
 | 
			
		||||
	 * the server and port, as well as the path to the local
 | 
			
		||||
	 * database and the synchronization timeout
 | 
			
		||||
	 * 
 | 
			
		||||
	 *
 | 
			
		||||
	 * @throws EnvoyException if the {@code client.properties} file could not be
 | 
			
		||||
	 *                        loaded
 | 
			
		||||
	 * @since Envoy v0.1-alpha
 | 
			
		||||
@@ -56,7 +64,7 @@ public class Config {
 | 
			
		||||
	/**
 | 
			
		||||
	 * Sets the server, port and localDB path via command line properties --server /
 | 
			
		||||
	 * -s, --port / -p and --localDB / -db.
 | 
			
		||||
	 * 
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param args the command line arguments to parse
 | 
			
		||||
	 * @throws EnvoyException if the command line arguments contain an unknown token
 | 
			
		||||
	 * @since Envoy v0.1-alpha
 | 
			
		||||
@@ -96,7 +104,7 @@ public class Config {
 | 
			
		||||
	/**
 | 
			
		||||
	 * Changes the default server host name.
 | 
			
		||||
	 * Exclusively intended for development purposes.
 | 
			
		||||
	 * 
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param server the host name of the Envoy server
 | 
			
		||||
	 * @since Envoy v0.1-alpha
 | 
			
		||||
	 */
 | 
			
		||||
@@ -111,7 +119,7 @@ public class Config {
 | 
			
		||||
	/**
 | 
			
		||||
	 * Changes the default port.
 | 
			
		||||
	 * Exclusively intended for development purposes.
 | 
			
		||||
	 * 
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param port the port where an Envoy server is located
 | 
			
		||||
	 * @since Envoy v0.1-alpha
 | 
			
		||||
	 */
 | 
			
		||||
@@ -143,5 +151,4 @@ public class Config {
 | 
			
		||||
	 * @since Envoy v0.1-alpha
 | 
			
		||||
	 */
 | 
			
		||||
	public void setSyncTimeout(int syncTimeout) { this.syncTimeout = syncTimeout; }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -56,7 +56,7 @@ public class LocalDB {
 | 
			
		||||
	 * system, call {@link LocalDB#initializeDBFile()}.
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param localDBDir the directory in which to store users and chats
 | 
			
		||||
	 * @throws IOException if the LocalDB could not be initialised
 | 
			
		||||
	 * @throws IOException if the LocalDB could not be initialized
 | 
			
		||||
	 * @since Envoy v0.1-alpha
 | 
			
		||||
	 */
 | 
			
		||||
	public LocalDB(File localDBDir) throws IOException {
 | 
			
		||||
@@ -102,7 +102,7 @@ public class LocalDB {
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Loads all users that are stored in the local database.
 | 
			
		||||
	 * 
 | 
			
		||||
	 *
 | 
			
		||||
	 * @throws EnvoyException if the loading process failed
 | 
			
		||||
	 * @since Envoy v0.2-alpha
 | 
			
		||||
	 */
 | 
			
		||||
@@ -170,7 +170,7 @@ public class LocalDB {
 | 
			
		||||
	/**
 | 
			
		||||
	 * Creates a {@link Sync} object filled with the changes that occurred to the
 | 
			
		||||
	 * local database since the last synchronization.
 | 
			
		||||
	 * 
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param userId the ID of the user that is synchronized by this client
 | 
			
		||||
	 * @return {@link Sync} object filled with the current changes
 | 
			
		||||
	 * @since Envoy v0.1-alpha
 | 
			
		||||
@@ -187,7 +187,7 @@ public class LocalDB {
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Applies the changes carried by a {@link Sync} object to the local database
 | 
			
		||||
	 * 
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param returnSync the {@link Sync} object to apply
 | 
			
		||||
	 * @since Envoy v0.1-alpha
 | 
			
		||||
	 */
 | 
			
		||||
 
 | 
			
		||||
@@ -14,10 +14,14 @@ import java.util.prefs.Preferences;
 | 
			
		||||
import envoy.client.ui.Theme;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Manages all application settings, which are different objects that can be
 | 
			
		||||
 * changed during runtime and serialized them by using either the file system or
 | 
			
		||||
 * the {@link Preferences} API.<br>
 | 
			
		||||
 * <br>
 | 
			
		||||
 * Project: <strong>envoy-client</strong><br>
 | 
			
		||||
 * File: <strong>Settings.java</strong><br>
 | 
			
		||||
 * Created: <strong>11 Nov 2019</strong><br>
 | 
			
		||||
 * 
 | 
			
		||||
 *
 | 
			
		||||
 * @author Leon Hofmeister
 | 
			
		||||
 * @author Maximilian Käfer
 | 
			
		||||
 * @author Kai S. K. Engelbart
 | 
			
		||||
@@ -48,14 +52,14 @@ public class Settings {
 | 
			
		||||
	/**
 | 
			
		||||
	 * The way to instantiate the settings.
 | 
			
		||||
	 * Is set to private to deny other instances of that object.
 | 
			
		||||
	 * 
 | 
			
		||||
	 *
 | 
			
		||||
	 * @since Envoy v0.2-alpha
 | 
			
		||||
	 */
 | 
			
		||||
	private Settings() { load(); }
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * This method is used to ensure that there is only one instance of Settings.
 | 
			
		||||
	 * 
 | 
			
		||||
	 *
 | 
			
		||||
	 * @return the instance of Settings
 | 
			
		||||
	 * @since Envoy v0.2-alpha
 | 
			
		||||
	 */
 | 
			
		||||
@@ -87,8 +91,9 @@ public class Settings {
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Updates the preferences when the save button is clicked.
 | 
			
		||||
	 * 
 | 
			
		||||
	 * @throws IOException if something went wrong while saving
 | 
			
		||||
	 *
 | 
			
		||||
	 * @throws IOException if an error occurs while saving the themes to the theme
 | 
			
		||||
	 *                     file
 | 
			
		||||
	 * @since Envoy v0.2-alpha
 | 
			
		||||
	 */
 | 
			
		||||
	public void save() throws IOException {
 | 
			
		||||
@@ -103,56 +108,55 @@ public class Settings {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * adds new theme to the theme map and sets current theme to the new theme.
 | 
			
		||||
	 * 
 | 
			
		||||
	 * @param theme the theme to add
 | 
			
		||||
	 * Adds new theme to the theme map.
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param theme the {@link Theme} to add
 | 
			
		||||
	 * @since Envoy v0.2-alpha
 | 
			
		||||
	 */
 | 
			
		||||
	public void addNewThemeToMap(Theme theme) {
 | 
			
		||||
		settings.getThemes().put(theme.getThemeName(), theme);
 | 
			
		||||
		// currentTheme = theme.getThemeName();
 | 
			
		||||
	}
 | 
			
		||||
	public void addNewThemeToMap(Theme theme) { settings.getThemes().put(theme.getThemeName(), theme); }
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * @return the name of the current theme
 | 
			
		||||
	 * @return the name of the currently active {@link Theme}
 | 
			
		||||
	 * @since Envoy v0.2-alpha
 | 
			
		||||
	 */
 | 
			
		||||
	public String getCurrentTheme() { return currentTheme; }
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Sets the currentTheme
 | 
			
		||||
	 * 
 | 
			
		||||
	 * @param themeName the name of the new current theme
 | 
			
		||||
	 * Sets the name of the current {@link Theme}.
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param themeName the name to set
 | 
			
		||||
	 * @since Envoy v0.2-alpha
 | 
			
		||||
	 */
 | 
			
		||||
	public void setCurrentTheme(String themeName) { currentTheme = themeName; }
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * @return true, if "enter" suffices to send a message, else it has to be "ctrl"
 | 
			
		||||
	 *         + "enter"
 | 
			
		||||
	 * @return {@code true}, if pressing the {@code Enter} key suffices to send a
 | 
			
		||||
	 *         message. Otherwise it has to be pressed in conjunction with the
 | 
			
		||||
	 *         {@code Control} key.
 | 
			
		||||
	 * @since Envoy v0.2-alpha
 | 
			
		||||
	 */
 | 
			
		||||
	public boolean isEnterToSend() { return enterToSend; }
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Change mode of posting a message via Keystroke.
 | 
			
		||||
	 * 
 | 
			
		||||
	 * @param enterToSend if true, "enter" suffices to send a message, <br>
 | 
			
		||||
	 *                    else it has to be "ctrl" + "enter"
 | 
			
		||||
	 * Changes the keystrokes performed by the user to send a message.
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param enterToSend If set to {@code true} a message can be sent by pressing
 | 
			
		||||
	 *                    the {@code Enter} key. Otherwise it has to be pressed in
 | 
			
		||||
	 *                    conjunction with the {@code Control} key.
 | 
			
		||||
	 * @since Envoy v0.2-alpha
 | 
			
		||||
	 */
 | 
			
		||||
	public void setEnterToSend(boolean enterToSend) { this.enterToSend = enterToSend; }
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * @return the map of all themes 
 | 
			
		||||
	 * @return a {@code Map<String, Theme>} of all themes with their names as keys
 | 
			
		||||
	 * @since Envoy v0.2-alpha
 | 
			
		||||
	 */
 | 
			
		||||
	public Map<String, Theme> getThemes() { return themes; }
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Sets the map of all themes
 | 
			
		||||
	 * 
 | 
			
		||||
	 * @param themes a map(String, Theme) of all themes
 | 
			
		||||
	 * Sets the {@code Map<String, Theme>} of all themes with their names as keys
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param themes the theme map to set
 | 
			
		||||
	 * @since Envoy v0.2-alpha
 | 
			
		||||
	 */
 | 
			
		||||
	public void setThemes(Map<String, Theme> themes) { this.themes = themes; }
 | 
			
		||||
 
 | 
			
		||||
@@ -13,6 +13,12 @@ public class MessageEvent implements Event<Message> {
 | 
			
		||||
 | 
			
		||||
	protected final Message message;
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Initializes a {@link MessageEvent} conveying information about a
 | 
			
		||||
	 * {@link Message} object.
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param message the {@link Message} object to attach to this event
 | 
			
		||||
	 */
 | 
			
		||||
	public MessageEvent(Message message) { this.message = message; }
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
 
 | 
			
		||||
@@ -13,6 +13,12 @@ public class ThemeChangeEvent implements Event<Theme> {
 | 
			
		||||
 | 
			
		||||
	private final Theme theme;
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Initializes a {@link ThemeChangeEvent} conveying information about the change
 | 
			
		||||
	 * of the {@link Theme} currently in use
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param theme the new currently used {@link Theme} object
 | 
			
		||||
	 */
 | 
			
		||||
	public ThemeChangeEvent(Theme theme) { this.theme = theme; }
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
 
 | 
			
		||||
@@ -66,6 +66,13 @@ public class ChatWindow extends JFrame {
 | 
			
		||||
 | 
			
		||||
	private static final Logger logger = EnvoyLog.getLogger(ChatWindow.class.getSimpleName());
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Initializes a {@link JFrame} with UI elements used to send and read messages
 | 
			
		||||
	 * to different users.
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param client  the {@link Client} used to send and receive messages
 | 
			
		||||
	 * @param localDB the {@link LocalDB} used to manage stored messages and users
 | 
			
		||||
	 */
 | 
			
		||||
	public ChatWindow(Client client, LocalDB localDB) {
 | 
			
		||||
		this.client		= client;
 | 
			
		||||
		this.localDB	= localDB;
 | 
			
		||||
@@ -112,9 +119,8 @@ public class ChatWindow extends JFrame {
 | 
			
		||||
			@Override
 | 
			
		||||
			public void keyReleased(KeyEvent e) {
 | 
			
		||||
				if (e.getKeyCode() == KeyEvent.VK_ENTER
 | 
			
		||||
						&& ((Settings.getInstance().isEnterToSend() && e.getModifiersEx() == 0) || (e.getModifiersEx() == KeyEvent.CTRL_DOWN_MASK))) {
 | 
			
		||||
						&& ((Settings.getInstance().isEnterToSend() && e.getModifiersEx() == 0) || (e.getModifiersEx() == KeyEvent.CTRL_DOWN_MASK)))
 | 
			
		||||
					postMessage(messageList);
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		});
 | 
			
		||||
 | 
			
		||||
@@ -219,8 +225,8 @@ public class ChatWindow extends JFrame {
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Used to immediately reload the ChatWindow when settings were changed.
 | 
			
		||||
     *
 | 
			
		||||
     * @param theme the theme to change colors into
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param theme the theme to change colors into
 | 
			
		||||
	 * @since Envoy v0.1-alpha
 | 
			
		||||
	 */
 | 
			
		||||
	private void changeChatWindowColors(Theme theme) {
 | 
			
		||||
 
 | 
			
		||||
@@ -14,11 +14,10 @@ import envoy.schema.Message;
 | 
			
		||||
/**
 | 
			
		||||
 * Defines how a message is displayed.<br>
 | 
			
		||||
 * <br>
 | 
			
		||||
 * 
 | 
			
		||||
 * Project: <strong>envoy-client</strong><br>
 | 
			
		||||
 * File: <strong>UserListRenderer.java</strong><br>
 | 
			
		||||
 * Created: <strong>19 Oct 2019</strong><br>
 | 
			
		||||
 * 
 | 
			
		||||
 *
 | 
			
		||||
 * @author Kai S. K. Engelbart
 | 
			
		||||
 * @author Maximilian Käfer
 | 
			
		||||
 * @since Envoy v0.1-alpha
 | 
			
		||||
@@ -62,7 +61,7 @@ public class MessageListRenderer extends JLabel implements ListCellRenderer<Mess
 | 
			
		||||
		return this;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public String toHex(Color c) {
 | 
			
		||||
	private String toHex(Color c) {
 | 
			
		||||
		int		r	= c.getRed();
 | 
			
		||||
		int		g	= c.getGreen();
 | 
			
		||||
		int		b	= c.getBlue();
 | 
			
		||||
 
 | 
			
		||||
@@ -22,7 +22,7 @@ import envoy.schema.User;
 | 
			
		||||
 * Project: <strong>envoy-client</strong><br>
 | 
			
		||||
 * File: <strong>Startup.java</strong><br>
 | 
			
		||||
 * Created: <strong>12 Oct 2019</strong><br>
 | 
			
		||||
 * 
 | 
			
		||||
 *
 | 
			
		||||
 * @author Leon Hofmeister
 | 
			
		||||
 * @author Maximilian Käfer
 | 
			
		||||
 * @author Kai S. K. Engelbart
 | 
			
		||||
@@ -32,6 +32,16 @@ public class Startup {
 | 
			
		||||
 | 
			
		||||
	private static final Logger logger = EnvoyLog.getLogger(Startup.class.getSimpleName());
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Loads the application by first loading the configuration, then acquiring a
 | 
			
		||||
	 * user name and connecting to the server. If the server cannot be reached,
 | 
			
		||||
	 * offline mode is entered if possible. After that, a {@link ChatWindow}
 | 
			
		||||
	 * instance is initialized and then displayed to the user. Upon application
 | 
			
		||||
	 * exit, settings and the local database are saved.
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param args the command line arguments may contain configuration parameters
 | 
			
		||||
	 *             and are parsed by the {@link Config} class
 | 
			
		||||
	 */
 | 
			
		||||
	public static void main(String[] args) {
 | 
			
		||||
		Config config = Config.getInstance();
 | 
			
		||||
 | 
			
		||||
@@ -127,7 +137,7 @@ public class Startup {
 | 
			
		||||
				e.printStackTrace();
 | 
			
		||||
			}
 | 
			
		||||
		});
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
		// Save Settings and LocalDB on shutdown
 | 
			
		||||
		Runtime.getRuntime().addShutdownHook(new Thread(() -> {
 | 
			
		||||
			try {
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@ import java.io.Serializable;
 | 
			
		||||
 * Project: <strong>envoy-client</strong><br>
 | 
			
		||||
 * File: <strong>Theme.java</strong><br>
 | 
			
		||||
 * Created: <strong>23 Nov 2019</strong><br>
 | 
			
		||||
 * 
 | 
			
		||||
 *
 | 
			
		||||
 * @author Maximilian Käfer
 | 
			
		||||
 * @since Envoy v0.2-alpha
 | 
			
		||||
 */
 | 
			
		||||
@@ -26,6 +26,22 @@ public class Theme implements Serializable {
 | 
			
		||||
	private Color	selectionColor;
 | 
			
		||||
	private Color	typingMessageColor;
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Initializes a {@link Theme} with all colors relevant to the application GUI.
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param themeName                   the name of the {@link Theme}
 | 
			
		||||
	 * @param backgroundColor             the background color
 | 
			
		||||
	 * @param cellColor                   the cell color
 | 
			
		||||
	 * @param interactableForegroundColor the color of interactable foreground UI
 | 
			
		||||
	 *                                    elements
 | 
			
		||||
	 * @param interactableBackgroundColor the color of interactable background UI
 | 
			
		||||
	 *                                    elements
 | 
			
		||||
	 * @param messageColorChat            the color of chat messages
 | 
			
		||||
	 * @param dateColorChat               the color of chat message metadata
 | 
			
		||||
	 * @param selectionColor              the section color
 | 
			
		||||
	 * @param typingMessageColor          the color of currently typed messages
 | 
			
		||||
	 * @param userNameColor               the color of user names
 | 
			
		||||
	 */
 | 
			
		||||
	public Theme(String themeName, Color backgroundColor, Color cellColor, Color interactableForegroundColor, Color interactableBackgroundColor,
 | 
			
		||||
			Color messageColorChat, Color dateColorChat, Color selectionColor, Color typingMessageColor, Color userNameColor) {
 | 
			
		||||
 | 
			
		||||
@@ -42,6 +58,13 @@ public class Theme implements Serializable {
 | 
			
		||||
		this.userNameColor					= userNameColor;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Initializes a {@link Theme} by copying all parameters except for the name
 | 
			
		||||
	 * from another {@link Theme} instance.
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param name  the name of the {@link Theme}
 | 
			
		||||
	 * @param other the {@link Theme} to copy
 | 
			
		||||
	 */
 | 
			
		||||
	public Theme(String name, Theme other) {
 | 
			
		||||
		this(name, other.backgroundColor, other.cellColor, other.interactableForegroundColor,
 | 
			
		||||
				other.interactableBackgroundColor, other.messageColorChat, other.dateColorChat, other.selectionColor,
 | 
			
		||||
@@ -110,7 +133,7 @@ public class Theme implements Serializable {
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Sets the a specific {@link Color} in this theme to a new {@link Color}
 | 
			
		||||
	 * 
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param index    - index of the color </br>
 | 
			
		||||
	 *                 0 = backgroundColor </br>
 | 
			
		||||
	 *                 1 = cellColor </br>
 | 
			
		||||
@@ -122,38 +145,38 @@ public class Theme implements Serializable {
 | 
			
		||||
	 *                 7 = typingMessageColor </br>
 | 
			
		||||
	 *                 8 = userNameColor </br>
 | 
			
		||||
	 *                 </br>
 | 
			
		||||
	 * 
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param newColor - new {@link Color} to be set
 | 
			
		||||
	 * @since Envoy 0.2-alpha
 | 
			
		||||
	 */
 | 
			
		||||
	public void setColor(int index, Color newColor) {
 | 
			
		||||
		switch (index) {
 | 
			
		||||
			case 0:
 | 
			
		||||
				this.backgroundColor = newColor;
 | 
			
		||||
				backgroundColor = newColor;
 | 
			
		||||
				break;
 | 
			
		||||
			case 1:
 | 
			
		||||
				this.cellColor = newColor;
 | 
			
		||||
				cellColor = newColor;
 | 
			
		||||
				break;
 | 
			
		||||
			case 2:
 | 
			
		||||
				this.interactableForegroundColor = newColor;
 | 
			
		||||
				interactableForegroundColor = newColor;
 | 
			
		||||
				break;
 | 
			
		||||
			case 3:
 | 
			
		||||
				this.interactableBackgroundColor = newColor;
 | 
			
		||||
				interactableBackgroundColor = newColor;
 | 
			
		||||
				break;
 | 
			
		||||
			case 4:
 | 
			
		||||
				this.messageColorChat = newColor;
 | 
			
		||||
				messageColorChat = newColor;
 | 
			
		||||
				break;
 | 
			
		||||
			case 5:
 | 
			
		||||
				this.dateColorChat = newColor;
 | 
			
		||||
				dateColorChat = newColor;
 | 
			
		||||
				break;
 | 
			
		||||
			case 6:
 | 
			
		||||
				this.selectionColor = newColor;
 | 
			
		||||
				selectionColor = newColor;
 | 
			
		||||
				break;
 | 
			
		||||
			case 7:
 | 
			
		||||
				this.typingMessageColor = newColor;
 | 
			
		||||
				typingMessageColor = newColor;
 | 
			
		||||
				break;
 | 
			
		||||
			case 8:
 | 
			
		||||
				this.userNameColor = newColor;
 | 
			
		||||
				userNameColor = newColor;
 | 
			
		||||
				break;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -17,7 +17,7 @@ import envoy.schema.User.UserStatus;
 | 
			
		||||
 * Project: <strong>envoy-client</strong><br>
 | 
			
		||||
 * File: <strong>UserListRenderer.java</strong><br>
 | 
			
		||||
 * Created: <strong>12 Oct 2019</strong><br>
 | 
			
		||||
 * 
 | 
			
		||||
 *
 | 
			
		||||
 * @author Kai S. K. Engelbart
 | 
			
		||||
 * @author Maximilian Käfer
 | 
			
		||||
 * @since Envoy v0.1-alpha
 | 
			
		||||
@@ -58,7 +58,7 @@ public class UserListRenderer extends JLabel implements ListCellRenderer<User> {
 | 
			
		||||
		return this;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public String toHex(Color c) {
 | 
			
		||||
	private String toHex(Color c) {
 | 
			
		||||
		int		r	= c.getRed();
 | 
			
		||||
		int		g	= c.getGreen();
 | 
			
		||||
		int		b	= c.getBlue();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user