package be.nikiroo.fanfix.data;
-import java.awt.image.BufferedImage;
+import java.io.Serializable;
+
+import be.nikiroo.utils.Image;
/**
* A paragraph in a chapter of the story.
*
* @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.
*
/** 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;
private String content;
- private BufferedImage contentImage;
+ private Image contentImage;
private long words;
/**
* @param contentImage
* the image
*/
- public Paragraph(BufferedImage contentImage) {
+ public Paragraph(Image contentImage) {
this(ParagraphType.IMAGE, null, 1);
this.contentImage = contentImage;
}
*
* @return the content
*/
- public BufferedImage getContentImage() {
+ public Image getContentImage() {
return contentImage;
}
*/
@Override
public String toString() {
- return String.format("%s: [%s]", "" + type, "" + content);
+ return String.format("%s: [%s]", "" + type, content == null ? "N/A"
+ : content);
}
@Override