Make all classes in be.nikiroo.fanfix.data Serializable
[fanfix.git] / src / be / nikiroo / fanfix / data / Paragraph.java
index 91e95f8bd791f545ce185c5c194c843ff0e4dbe8..9adc51c420e815492858adbcffbd1b606dab7eda 100644 (file)
@@ -1,5 +1,7 @@
 package be.nikiroo.fanfix.data;
 
+import java.io.Serializable;
+
 import be.nikiroo.utils.Image;
 
 /**
@@ -7,7 +9,9 @@ import be.nikiroo.utils.Image;
  * 
  * @author niki
  */
-public class Paragraph implements Cloneable {
+public class Paragraph implements Cloneable, Serializable {
+       private static final long serialVersionUID = 1L;
+
        /**
         * A paragraph type, that will dictate how the paragraph will be handled.
         * 
@@ -23,7 +27,19 @@ public class Paragraph implements Cloneable {
                /** Quotation (dialogue) */
                QUOTE,
                /** An image (no text) */
-               IMAGE,
+               IMAGE, ;
+
+               /**
+                * This paragraph type is of a text kind (quote or not).
+                * 
+                * @param allowEmpty
+                *            allow empty text as text, too (blanks, breaks...)
+                * @return TRUE if it is
+                */
+               public boolean isText(boolean allowEmpty) {
+                       return (this == NORMAL || this == QUOTE)
+                                       || (allowEmpty && (this == BLANK || this == BREAK));
+               }
        }
 
        private ParagraphType type;
@@ -137,7 +153,8 @@ public class Paragraph implements Cloneable {
         */
        @Override
        public String toString() {
-               return String.format("%s: [%s]", "" + type, "" + content);
+               return String.format("%s: [%s]", "" + type, content == null ? "N/A"
+                               : content);
        }
 
        @Override