Add method to get the plain text of a part.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Wed, 5 Sep 2012 12:13:56 +0000 (14:13 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Wed, 5 Sep 2012 12:13:56 +0000 (14:13 +0200)
src/main/java/net/pterodactylus/sone/text/LinkPart.java
src/main/java/net/pterodactylus/sone/text/Part.java
src/main/java/net/pterodactylus/sone/text/PartContainer.java
src/main/java/net/pterodactylus/sone/text/PlainTextPart.java
src/main/java/net/pterodactylus/sone/text/PostPart.java
src/main/java/net/pterodactylus/sone/text/SonePart.java

index 1b47080..202b9db 100644 (file)
@@ -77,21 +77,26 @@ public class LinkPart implements Part {
        }
 
        /**
-        * Returns the text of this part.
+        * Returns the title of this part.
         *
-        * @return The text of this part
+        * @return The title of this part
         */
-       public String getText() {
-               return text;
+       public String getTitle() {
+               return title;
        }
 
+       //
+       // PART METHODS
+       //
+
        /**
-        * Returns the title of this part.
+        * Returns the text of this part.
         *
-        * @return The title of this part
+        * @return The text of this part
         */
-       public String getTitle() {
-               return title;
+       @Override
+       public String getText() {
+               return text;
        }
 
 }
index 76e80ef..79c59dc 100644 (file)
@@ -26,6 +26,12 @@ package net.pterodactylus.sone.text;
  */
 public interface Part {
 
-       /* no methods. */
+       /**
+        * Returns the text contained in this part. This should return plain text
+        * without any format information.
+        *
+        * @return The plain text of this part
+        */
+       public String getText();
 
 }
index e456cd9..a8a7e85 100644 (file)
@@ -81,6 +81,22 @@ public class PartContainer implements Part, Iterable<Part> {
        }
 
        //
+       // PART METHODS
+       //
+
+       /**
+        * {@inheritDoc}
+        */
+       @Override
+       public String getText() {
+               StringBuilder partText = new StringBuilder();
+               for (Part part : parts) {
+                       partText.append(part.getText());
+               }
+               return partText.toString();
+       }
+
+       //
        // ITERABLE METHODS
        //
 
index 09c1fba..2c29ee2 100644 (file)
@@ -38,7 +38,7 @@ public class PlainTextPart implements Part {
        }
 
        //
-       // ACCESSORS
+       // PART METHODS
        //
 
        /**
@@ -46,6 +46,7 @@ public class PlainTextPart implements Part {
         *
         * @return The text of this part
         */
+       @Override
        public String getText() {
                return text;
        }
index c416c57..6241b7a 100644 (file)
@@ -52,4 +52,16 @@ public class PostPart implements Part {
                return post;
        }
 
+       //
+       // PART METHODS
+       //
+
+       /**
+        * {@inheritDoc}
+        */
+       @Override
+       public String getText() {
+               return post.getText();
+       }
+
 }
index 475c091..37f098b 100644 (file)
@@ -18,6 +18,7 @@
 package net.pterodactylus.sone.text;
 
 import net.pterodactylus.sone.data.Sone;
+import net.pterodactylus.sone.template.SoneAccessor;
 
 /**
  * {@link Part} implementation that stores a reference to a {@link Sone}.
@@ -52,4 +53,16 @@ public class SonePart implements Part {
                return sone;
        }
 
+       //
+       // PART METHODS
+       //
+
+       /**
+        * {@inheritDoc}
+        */
+       @Override
+       public String getText() {
+               return SoneAccessor.getNiceName(sone);
+       }
+
 }