New getComentById() method
[gofetch.git] / src / be / nikiroo / gofetch / data / Comment.java
index 44c0de105eef25831286f57447261b82ee98b6ef..bbd648a36a81be826af4b574b87f4a8db9137f53 100644 (file)
@@ -9,16 +9,16 @@ public class Comment implements Iterable<Comment> {
        private String author;
        private String title;
        private String date;
-       private String content;
+       private List<String> lines;
        private List<Comment> children;
 
        public Comment(String id, String author, String title, String date,
-                       String content) {
+                       List<String> lines) {
                this.id = id;
                this.author = author;
                this.title = title;
                this.date = date;
-               this.content = content;
+               this.lines = lines;
                this.children = new ArrayList<Comment>();
        }
 
@@ -61,13 +61,37 @@ public class Comment implements Iterable<Comment> {
        /**
         * @return the content
         */
-       public String getContent() {
-               return content;
+       public List<String> getContentLines() {
+               return lines;
+       }
+
+       /**
+        * Find a comment or sub-comment by its id.
+        * 
+        * @param id
+        *            the id to look for F
+        * @return this if it has the given id, or a child of this if the child have
+        *         the given id, or NULL if not
+        */
+       public Comment getById(String id) {
+               if (id != null) {
+                       if (id.equals(this.id)) {
+                               return this;
+                       }
+
+                       for (Comment subComment : this) {
+                               if (id.equals(subComment.getId())) {
+                                       return subComment;
+                               }
+                       }
+               }
+
+               return null;
        }
 
        public boolean isEmpty() {
-               return children.isEmpty()
-                               && ("" + author + title + content).trim().isEmpty();
+               return children.isEmpty() && lines.isEmpty()
+                               && ("" + author + title).trim().isEmpty();
        }
 
        @Override