X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Fdata%2FMetaData.java;h=06cf625d3a66e59056d124e0172ab14c7f482e0a;hb=793f1071fae48daed3b545a03a286c85e527d244;hp=3980e96bc77b8ad359bee903381633daf832e3f4;hpb=08fe2e33007063e30fe22dc1d290f8afaa18eb1d;p=nikiroo-utils.git diff --git a/src/be/nikiroo/fanfix/data/MetaData.java b/src/be/nikiroo/fanfix/data/MetaData.java index 3980e96..06cf625 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; @@ -17,11 +18,15 @@ 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; + private long words; + private String creationDate; /** * The title of the story. @@ -161,7 +166,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 +175,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 +185,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 +213,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 +279,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 +316,71 @@ public class MetaData { public void setImageDocument(boolean imageDocument) { this.imageDocument = imageDocument; } + + /** + * The number of words in the related {@link Story}. + * + * @return the number of words + */ + public long getWords() { + return words; + } + + /** + * The number of words in the related {@link Story}. + * + * @param words + * the number of words to set + */ + public void setWords(long words) { + this.words = words; + } + + /** + * The (Fanfix) {@link Story} creation date. + * + * @return the creationDate + */ + public String getCreationDate() { + return creationDate; + } + + /** + * The (Fanfix) {@link Story} creation date. + * + * @param creationDate + * the creationDate to set + */ + public void setCreationDate(String creationDate) { + this.creationDate = creationDate; + } + + 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; + } }