diff options
author | Vitaly Takmazov | 2016-10-12 15:15:24 +0300 |
---|---|---|
committer | Vitaly Takmazov | 2016-10-12 15:15:24 +0300 |
commit | 688eefb6db3ddeb9da583d5e1109e4639cf4e642 (patch) | |
tree | f3d4604f48ab173d8cb7a7ab101cce525ef2eb26 /juick-core/src/main/java/com/juick/formatters | |
parent | 708f22dafcb361c34fd28e468f6d69509c2802ef (diff) |
refactor message formatting
Diffstat (limited to 'juick-core/src/main/java/com/juick/formatters')
-rw-r--r-- | juick-core/src/main/java/com/juick/formatters/PlainTextFormatter.java | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/juick-core/src/main/java/com/juick/formatters/PlainTextFormatter.java b/juick-core/src/main/java/com/juick/formatters/PlainTextFormatter.java new file mode 100644 index 00000000..37b0c6d3 --- /dev/null +++ b/juick-core/src/main/java/com/juick/formatters/PlainTextFormatter.java @@ -0,0 +1,38 @@ +package com.juick.formatters; + +import com.juick.Message; + +/** + * Created by vitalyster on 12.10.2016. + */ +public class PlainTextFormatter { + public static String formatPost(com.juick.Message jmsg) { + StringBuilder sb = new StringBuilder(); + boolean isReply = jmsg.getRID() > 0; + String title = isReply ? "Reply by @" : "@"; + String subtitle = isReply ? getReplyQuote(jmsg) : jmsg.getTagsString(); + sb.append(title).append(jmsg.getUser().getUName()).append(":\n") + .append(subtitle).append("\n").append(jmsg.getText()).append("\n"); + if (jmsg.Photo != null) { + sb.append(jmsg.Photo); + } + return sb.toString(); + } + + public static String formatUrl(com.juick.Message jmsg) { + if (jmsg.getRID() > 0) { + return String.format("https://juick.com/%d#%d", jmsg.getMID(), jmsg.getRID()); + } + return "https://juick.com/" + jmsg.getMID(); + } + + private static String getReplyQuote(Message msg) { + String quote = msg.getText(); + if (quote.length() > 50) { + quote = ">" + quote.substring(0, 47).replace('\n', ' ') + "...\n"; + } else if (quote.length() > 0) { + quote = ">" + quote.replace('\n', ' ') + "\n"; + } + return quote; + } +} |