X-Git-Url: http://git.nikiroo.be/?p=fanfix.git;a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Fdata%2FMetaData.java;h=55c18de7d0596d0ba43b925ae00c0773100806a8;hp=76a9c7ba97f43c687e932692ecd5eff44a4bcda0;hb=301791d3fc0f152942b542e3d98ebddc0af528f2;hpb=fe999aa400c2627291325558f1ae8c734da7900c diff --git a/src/be/nikiroo/fanfix/data/MetaData.java b/src/be/nikiroo/fanfix/data/MetaData.java index 76a9c7b..55c18de 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 { private String title; private String author; private String date; @@ -17,6 +18,7 @@ public class MetaData { private BufferedImage cover; private String subject; private String source; + private String url; private String uuid; private String luid; private String lang; @@ -162,7 +164,7 @@ public class MetaData { } /** - * The source of this story (where it was downloaded from). + * The source of this story (which online library it was downloaded from). * * @return the source */ @@ -171,7 +173,7 @@ public class MetaData { } /** - * The source of this story (where it was downloaded from). + * The source of this story (which online library it was downloaded from). * * @param source * the source to set @@ -181,7 +183,26 @@ public class MetaData { } /** - * A unique value representing the story (it is often an URL). + * The original URL from which this {@link Story} was imported. + * + * @return the url + */ + public String getUrl() { + return url; + } + + /** + * The original URL from which this {@link Story} was imported. + * + * @param url + * the new url to set + */ + public void setUrl(String url) { + this.url = url; + } + + /** + * A unique value representing the story (it is often a URL). * * @return the uuid */ @@ -190,7 +211,7 @@ public class MetaData { } /** - * A unique value representing the story (it is often an URL). + * A unique value representing the story (it is often a URL). * * @param uuid * the uuid to set @@ -293,4 +314,28 @@ public class MetaData { public void setImageDocument(boolean imageDocument) { this.imageDocument = imageDocument; } + + @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; + } }