weblib: use more templats
[nikiroo-utils.git] / src / be / nikiroo / fanfix / data / Paragraph.java
index 91e95f8bd791f545ce185c5c194c843ff0e4dbe8..d5a0f1c618ca6327c5602c1a7a1212c22dbfd6f8 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;
@@ -113,6 +129,16 @@ public class Paragraph implements Cloneable {
                return contentImage;
        }
 
+       /**
+        * The content of this {@link Paragraph} if it is an image.
+        * 
+        * @param contentImage
+        *            the content
+        */
+       public void setContentImage(Image contentImage) {
+               this.contentImage = contentImage;
+       }
+       
        /**
         * The number of words (or images) in this {@link Paragraph}.
         * 
@@ -137,7 +163,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