Add accessor for torrent files.
[rhynodge.git] / src / main / java / net / pterodactylus / rhynodge / states / TorrentState.java
index ce5b06f..22da77f 100644 (file)
@@ -18,6 +18,8 @@
 package net.pterodactylus.rhynodge.states;
 
 import java.nio.charset.Charset;
+import java.util.Collection;
+import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
 
@@ -47,6 +49,15 @@ public class TorrentState extends AbstractState implements Iterable<TorrentFile>
        //
 
        /**
+        * Returns all torrent files of this state.
+        *
+        * @return All torrent files of this state
+        */
+       public Collection<TorrentFile> torrentFiles() {
+               return Collections.unmodifiableList(files);
+       }
+
+       /**
         * Adds a torrent file to this state.
         *
         * @param torrentFile
@@ -179,7 +190,8 @@ public class TorrentState extends AbstractState implements Iterable<TorrentFile>
                /**
                 * Returns the magnet URI of the file.
                 *
-                * @return The magnet URI of the file
+                * @return The magnet URI of the file, or {@code null} if there is no
+                *         magnet URI for this torrent file
                 */
                public String magnetUri() {
                        return magnetUri;
@@ -188,7 +200,8 @@ public class TorrentState extends AbstractState implements Iterable<TorrentFile>
                /**
                 * Returns the download URI of the file.
                 *
-                * @return The download URI of the file
+                * @return The download URI of the file, or {@code null} if there is no
+                *         download URI for this torrent file
                 */
                public String downloadUri() {
                        return downloadUri;
@@ -260,7 +273,7 @@ public class TorrentState extends AbstractState implements Iterable<TorrentFile>
                        List<NameValuePair> parameters = URLEncodedUtils.parse(magnetUri.substring("magnet:?".length()), Charset.forName("UTF-8"));
                        for (NameValuePair parameter : parameters) {
                                if (parameter.getName().equals("xt")) {
-                                       return parameter.getValue();
+                                       return parameter.getValue().toLowerCase();
                                }
                        }
                        return null;