--- /dev/null
+/*
+ * © 2009 David ‘Bombe’ Roden
+ */
+package net.pterodactylus.arachne.core;
+
+import de.ina.util.validation.Validation;
+
+/**
+ * Container for an edition. An edition is (contrary to the usual “freenet
+ * jargon”) a specific edition of a site.
+ *
+ * @author David ‘Bombe’ Roden <bombe@pterodactylus.net>
+ */
+public class Edition {
+
+ /** The site of the edition. */
+ private final Site site;
+
+ /** The edition number of the edition. */
+ private final int edition;
+
+ /**
+ * Creates a new edition.
+ *
+ * @param site
+ * The site of the edition
+ * @param edition
+ * The edition number of the edition
+ */
+ public Edition(Site site, int edition) {
+ Validation.begin().isNotNull("site", site).isPositive("edition", edition).check();
+ this.site = site;
+ this.edition = edition;
+ }
+
+ /**
+ * Returns the site of this edition.
+ *
+ * @return This edition’s site
+ */
+ public Site getSite() {
+ return site;
+ }
+
+ /**
+ * Returns the edition number of this edition.
+ *
+ * @return This edition’s edition number
+ */
+ public int getEdition() {
+ return edition;
+ }
+
+}