X-Git-Url: http://git.nikiroo.be/?p=fanfix.git;a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Fdata%2FMetaData.java;h=55c18de7d0596d0ba43b925ae00c0773100806a8;hp=3980e96bc77b8ad359bee903381633daf832e3f4;hb=301791d3fc0f152942b542e3d98ebddc0af528f2;hpb=08fe2e33007063e30fe22dc1d290f8afaa18eb1d diff --git a/src/be/nikiroo/fanfix/data/MetaData.java b/src/be/nikiroo/fanfix/data/MetaData.java index 3980e96..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,10 +18,12 @@ public class MetaData { private BufferedImage cover; private String subject; private String source; + private String url; private String uuid; private String luid; private String lang; private String publisher; + private String type; private boolean imageDocument; /** @@ -161,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 */ @@ -170,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 @@ -180,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 */ @@ -189,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 @@ -255,6 +277,25 @@ public class MetaData { this.publisher = publisher; } + /** + * The output type this {@link Story} is in. + * + * @return the type the type + */ + public String getType() { + return type; + } + + /** + * The output type this {@link Story} is in. + * + * @param type + * the new type to set + */ + public void setType(String type) { + this.type = type; + } + /** * Document catering mostly to image files. * @@ -273,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; + } }