X-Git-Url: http://git.nikiroo.be/?p=nikiroo-utils.git;a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Fdata%2FStory.java;h=7e585712c8db7d5001047c648045b0fb3f229635;hp=7ebfbc598d945e1502352872daa8b0e55dbbbaa0;hb=39cd9738bfcdafaf8806d5007e443e572f8994c0;hpb=48587cad70aa1fee408d5336d1fdd15065a402d2 diff --git a/src/be/nikiroo/fanfix/data/Story.java b/src/be/nikiroo/fanfix/data/Story.java index 7ebfbc5..7e58571 100644 --- a/src/be/nikiroo/fanfix/data/Story.java +++ b/src/be/nikiroo/fanfix/data/Story.java @@ -9,7 +9,7 @@ import java.util.List; * * @author niki */ -public class Story implements Iterable { +public class Story implements Iterable, Cloneable { private MetaData meta; private List chapters = new ArrayList(); private List empty = new ArrayList(); @@ -101,4 +101,28 @@ public class Story implements Iterable { : meta.getAuthor(), meta == null ? "" : meta.getDate(), tags, resume, cover); } + + @Override + public Story clone() { + Story story = null; + try { + story = (Story) super.clone(); + } catch (CloneNotSupportedException e) { + // Did the clones rebel? + System.err.println(e); + } + + if (meta != null) { + story.meta = meta.clone(); + } + + if (chapters != null) { + story.chapters = new ArrayList(); + for (Chapter chap : chapters) { + story.chapters.add(chap.clone()); + } + } + + return story; + } }