X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Fdata%2FMetaData.java;h=153638c98d4eafaff1126fbcc6d2188d1f941b04;hb=b2612f9dcd0a37f4ec22fcabe55390280e06daf2;hp=5ec980163f5ed014018febc6a3fcd020870ddeff;hpb=2206ef66ee00ad42d806f04a7b7ad6f8cb2d8828;p=nikiroo-utils.git diff --git a/src/be/nikiroo/fanfix/data/MetaData.java b/src/be/nikiroo/fanfix/data/MetaData.java index 5ec9801..153638c 100644 --- a/src/be/nikiroo/fanfix/data/MetaData.java +++ b/src/be/nikiroo/fanfix/data/MetaData.java @@ -1,6 +1,7 @@ package be.nikiroo.fanfix.data; import java.awt.image.BufferedImage; +import java.util.ArrayList; import java.util.List; /** @@ -8,7 +9,7 @@ import java.util.List; * * @author niki */ -public class MetaData { +public class MetaData implements Cloneable, Comparable { private String title; private String author; private String date; @@ -313,4 +314,33 @@ public class MetaData { public void setImageDocument(boolean imageDocument) { this.imageDocument = imageDocument; } + + public int compareTo(MetaData o) { + String oUuid = o == null ? null : o.getUuid(); + return getUuid().compareTo(oUuid); + } + + @Override + public MetaData clone() { + MetaData meta = null; + try { + meta = (MetaData) super.clone(); + } catch (CloneNotSupportedException e) { + // Did the clones rebel? + System.err.println(e); + } + + if (tags != null) { + meta.tags = new ArrayList(); + meta.tags.addAll(tags); + } + if (resume != null) { + meta.resume = new Chapter(resume.getNumber(), resume.getName()); + for (Paragraph para : resume) { + meta.resume.getParagraphs().add(para); + } + } + + return meta; + } }