2020-02-12 21:30:36 +01:00
|
|
|
package net.knarcraft.minecraftserverlauncher.profile;
|
2018-01-31 17:40:28 +01:00
|
|
|
|
2020-02-12 21:30:36 +01:00
|
|
|
import net.knarcraft.minecraftserverlauncher.server.Server;
|
|
|
|
import net.knarcraft.minecraftserverlauncher.userinterface.Console;
|
2020-08-06 19:55:27 +02:00
|
|
|
import net.knarcraft.minecraftserverlauncher.userinterface.ServerConsoles;
|
|
|
|
import net.knarcraft.minecraftserverlauncher.userinterface.ServerTab;
|
|
|
|
|
|
|
|
import javax.naming.ConfigurationException;
|
2018-01-31 17:40:28 +01:00
|
|
|
|
2018-01-31 23:20:33 +01:00
|
|
|
/**
|
|
|
|
* Acts as a wrapper for objects necessary for each server.
|
2018-02-22 14:12:42 +01:00
|
|
|
*
|
2020-08-06 19:55:27 +02:00
|
|
|
* @author Kristian Knarvik <kristian.knarvik@knett.no>
|
|
|
|
* @version 1.0.0
|
|
|
|
* @since 1.0.0
|
2018-01-31 23:20:33 +01:00
|
|
|
*/
|
2020-08-17 21:41:38 +02:00
|
|
|
public class Collection {
|
2018-01-31 21:24:54 +01:00
|
|
|
private final Server server;
|
2020-08-17 21:41:38 +02:00
|
|
|
private final ServerTab serverTab;
|
2018-01-31 21:24:54 +01:00
|
|
|
private final Console serverConsole;
|
2018-01-31 23:20:33 +01:00
|
|
|
private final String name;
|
2018-01-31 17:40:28 +01:00
|
|
|
|
2020-02-13 21:10:18 +01:00
|
|
|
/**
|
|
|
|
* Creates a new collection with the given name
|
2020-08-06 19:55:27 +02:00
|
|
|
*
|
2020-02-13 21:10:18 +01:00
|
|
|
* @param name <p>The name identifying the server, server tab, collection and server console</p>
|
|
|
|
*/
|
2020-08-06 19:55:27 +02:00
|
|
|
Collection(String name) throws ConfigurationException {
|
2018-01-31 17:40:28 +01:00
|
|
|
this.serverTab = new ServerTab(name);
|
2018-02-02 20:09:54 +01:00
|
|
|
this.server = new Server(name);
|
2020-02-13 21:10:18 +01:00
|
|
|
this.serverConsole = ServerConsoles.addConsoleTab(name);
|
2018-01-31 21:24:54 +01:00
|
|
|
this.name = name;
|
2018-01-31 17:40:28 +01:00
|
|
|
}
|
|
|
|
|
2020-08-11 19:29:28 +02:00
|
|
|
/**
|
|
|
|
* Creates a new collection with the given server
|
|
|
|
*
|
|
|
|
* @param server <p>The server used for as part of the collection</p>
|
|
|
|
* @throws ConfigurationException <p>If unable to configure the collection</p>
|
|
|
|
*/
|
|
|
|
Collection(Server server) throws ConfigurationException {
|
|
|
|
String serverName = server.getName();
|
|
|
|
this.serverTab = new ServerTab(serverName);
|
|
|
|
this.server = server;
|
|
|
|
this.serverConsole = ServerConsoles.addConsoleTab(serverName);
|
|
|
|
this.name = serverName;
|
2020-08-17 21:41:38 +02:00
|
|
|
this.serverTab.setData(server.getPath(), server.isEnabled(), server.getTypeName(), server.getServerVersion(),
|
|
|
|
server.getMaxRam());
|
2018-02-03 14:39:22 +01:00
|
|
|
}
|
|
|
|
|
2020-02-13 21:10:18 +01:00
|
|
|
/**
|
|
|
|
* Gets the name of the collection
|
2020-08-06 19:55:27 +02:00
|
|
|
*
|
2020-02-13 21:10:18 +01:00
|
|
|
* @return <p>Collection name</p>
|
|
|
|
*/
|
2018-01-31 17:40:28 +01:00
|
|
|
public String getName() {
|
|
|
|
return this.name;
|
|
|
|
}
|
|
|
|
|
2020-02-13 21:10:18 +01:00
|
|
|
/**
|
|
|
|
* Gets the server of the collection
|
2020-08-06 19:55:27 +02:00
|
|
|
*
|
2020-02-13 21:10:18 +01:00
|
|
|
* @return <p>Collection server</p>
|
|
|
|
*/
|
2018-01-31 17:40:28 +01:00
|
|
|
public Server getServer() {
|
|
|
|
return this.server;
|
|
|
|
}
|
|
|
|
|
2020-02-13 21:10:18 +01:00
|
|
|
/**
|
|
|
|
* Gets the server tab of the collection
|
2020-08-06 19:55:27 +02:00
|
|
|
*
|
2020-02-13 21:10:18 +01:00
|
|
|
* @return <p>Collection server tab</p>
|
|
|
|
*/
|
2018-01-31 17:40:28 +01:00
|
|
|
public ServerTab getServerTab() {
|
2020-08-06 19:55:27 +02:00
|
|
|
return this.serverTab;
|
2018-01-31 17:40:28 +01:00
|
|
|
}
|
|
|
|
|
2020-02-13 21:10:18 +01:00
|
|
|
/**
|
|
|
|
* Gets the server console of the collection
|
2020-08-06 19:55:27 +02:00
|
|
|
*
|
2020-02-13 21:10:18 +01:00
|
|
|
* @return <p>Collection server console</p>
|
|
|
|
*/
|
2018-01-31 17:40:28 +01:00
|
|
|
public Console getServerConsole() {
|
|
|
|
return this.serverConsole;
|
|
|
|
}
|
|
|
|
}
|