e621: supports searches
[nikiroo-utils.git] / src / be / nikiroo / fanfix / data / MetaData.java
index b2217ae3f4b721d235d7ee830c611514b68c9b90..4b8e65d7e8f674f8b6a99529d91fcce20ba25c9e 100644 (file)
@@ -431,4 +431,59 @@ public class MetaData implements Cloneable, Comparable<MetaData> {
 
                return meta;
        }
+
+       /**
+        * Display a DEBUG {@link String} representation of this object.
+        * <p>
+        * This is not efficient, nor intended to be.
+        */
+       @Override
+       public String toString() {
+               String title = "";
+               if (getTitle() != null) {
+                       title = getTitle();
+               }
+
+               StringBuilder tags = new StringBuilder();
+               if (getTags() != null) {
+                       for (String tag : getTags()) {
+                               if (tags.length() > 0) {
+                                       tags.append(", ");
+                               }
+                               tags.append(tag);
+                       }
+               }
+
+               String resume = "";
+               if (getResume() != null) {
+                       for (Paragraph para : getResume()) {
+                               resume += "\n\t";
+                               resume += para.toString().substring(0,
+                                               Math.min(para.toString().length(), 120));
+                       }
+                       resume += "\n";
+               }
+
+               String cover = "none";
+               if (getCover() != null) {
+                       cover = " bytes";
+
+                       int size = 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, getAuthor(),
+                               getDate(), tags.toString(), resume, cover);
+       }
 }