Make all classes in be.nikiroo.fanfix.data Serializable
[fanfix.git] / src / be / nikiroo / fanfix / data / Story.java
index fd4f2a8d15258f1f973b12252089d7bc52b24fda..fc3f909880031910c5b1ff698b247c949d6ffe38 100644 (file)
@@ -1,5 +1,6 @@
 package be.nikiroo.fanfix.data;
 
+import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
@@ -9,7 +10,9 @@ import java.util.List;
  * 
  * @author niki
  */
-public class Story implements Iterable<Chapter>, Cloneable {
+public class Story implements Iterable<Chapter>, Cloneable, Serializable {
+       private static final long serialVersionUID = 1L;
+       
        private MetaData meta;
        private List<Chapter> chapters = new ArrayList<Chapter>();
        private List<Chapter> empty = new ArrayList<Chapter>();
@@ -67,52 +70,9 @@ public class Story implements Iterable<Chapter>, Cloneable {
         */
        @Override
        public String toString() {
-               String title = "";
-               if (meta != null && meta.getTitle() != null) {
-                       title = meta.getTitle();
-               }
-
-               String tags = "";
-               if (meta != null && meta.getTags() != null) {
-                       for (String tag : meta.getTags()) {
-                               if (!tags.isEmpty()) {
-                                       tags += ", ";
-                               }
-                               tags += tag;
-                       }
-               }
-
-               String resume = "";
-               if (meta != null && meta.getResume() != null) {
-                       for (Paragraph para : meta.getResume()) {
-                               resume += "\n\t";
-                               resume += para.toString().substring(0,
-                                               Math.min(para.toString().length(), 120));
-                       }
-                       resume += "\n";
-               }
-
-               String cover = "none";
-               if (meta != null && meta.getCover() != null) {
-                       cover = " bytes";
-
-                       int size = meta.getCover().getData().length;
-                       if (size > 1000) {
-                               size /= 1000;
-                               cover = " kb";
-                               if (size > 1000) {
-                                       size /= 1000;
-                                       cover = " mb";
-                               }
-                       }
-
-                       cover = size + cover;
-               }
-               return String.format(
-                               "Title: [%s]\nAuthor: [%s]\nDate: [%s]\nTags: [%s]\n"
-                                               + "Resume: [%s]\nCover: [%s]", title, meta == null ? ""
-                                               : meta.getAuthor(), meta == null ? "" : meta.getDate(),
-                               tags, resume, cover);
+               if (getMeta() != null)
+                       return "Story: [\n" + getMeta().toString() + "\n]";
+               return "Story: [ no metadata found ]";
        }
 
        @Override