Add configuration data container.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Fri, 18 Oct 2013 04:59:01 +0000 (06:59 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Fri, 18 Oct 2013 04:59:01 +0000 (06:59 +0200)
src/main/java/net/pterodactylus/xdcc/main/Configuration.java [new file with mode: 0644]

diff --git a/src/main/java/net/pterodactylus/xdcc/main/Configuration.java b/src/main/java/net/pterodactylus/xdcc/main/Configuration.java
new file mode 100644 (file)
index 0000000..4c5f3d9
--- /dev/null
@@ -0,0 +1,109 @@
+/*
+ * XdccDownloader - Configuration.java - Copyright © 2013 David Roden
+ *
+ * This program 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.
+ *
+ * This program 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 this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package net.pterodactylus.xdcc.main;
+
+import java.util.Set;
+
+import org.codehaus.jackson.annotate.JsonProperty;
+
+/**
+ * Container for configuration data.
+ *
+ * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
+ */
+public class Configuration {
+
+       public static class Network {
+
+               public static class Server {
+
+                       @JsonProperty
+                       private String hostname;
+
+                       @JsonProperty
+                       private Set<Integer> unencryptedPorts;
+
+                       @JsonProperty
+                       private Set<Integer> encryptedPorts;
+
+                       public String getHostname() {
+                               return hostname;
+                       }
+
+                       public Set<Integer> getUnencryptedPorts() {
+                               return unencryptedPorts;
+                       }
+
+                       public Set<Integer> getEncryptedPorts() {
+                               return encryptedPorts;
+                       }
+
+               }
+
+               @JsonProperty
+               private String name;
+
+               @JsonProperty
+               private Set<Server> servers;
+
+               @JsonProperty
+               private Set<String> channels;
+
+               public String getName() {
+                       return name;
+               }
+
+               public Set<Server> getServers() {
+                       return servers;
+               }
+
+               public Set<String> getChannels() {
+                       return channels;
+               }
+
+       }
+
+       @JsonProperty
+       private Set<Network> networks;
+
+       @JsonProperty
+       private String temporaryDirectory;
+
+       @JsonProperty
+       private String finalDirectory;
+
+       @JsonProperty
+       private int telnetPort;
+
+       public Set<Network> getNetworks() {
+               return networks;
+       }
+
+       public String getTemporaryDirectory() {
+               return temporaryDirectory;
+       }
+
+       public String getFinalDirectory() {
+               return finalDirectory;
+       }
+
+       public int getTelnetPort() {
+               return telnetPort;
+       }
+
+}