Add constructors.
[rhynodge.git] / src / main / java / net / pterodactylus / rhynodge / states / TorrentState.java
index ddcd518..c0ba68a 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;
 
@@ -42,11 +44,37 @@ public class TorrentState extends AbstractState implements Iterable<TorrentFile>
        @JsonProperty
        private List<TorrentFile> files = Lists.newArrayList();
 
+       /**
+        * Creates a new torrent state without torrent files.
+        */
+       public TorrentState() {
+               this(Collections.<TorrentFile> emptySet());
+       }
+
+       /**
+        * Creates a new torrent state containing the given torrent files.
+        *
+        * @param torrentFiles
+        *            The torrent files
+        */
+       public TorrentState(Collection<TorrentFile> torrentFiles) {
+               files.addAll(torrentFiles);
+       }
+
        //
        // ACCESSORS
        //
 
        /**
+        * 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