Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package in.ashwanthkumar.slack.webhook;
 
 
Wrapper to build rich text content in Slack Ref - https://api.slack.com/docs/formatting
 
public class SlackMessage {
    private StringBuilder textBuffer = new StringBuilder();
    public SlackMessage() {
    }
    public SlackMessage(String text) {
        text(text);
    }
    public SlackMessage text(String text) {
        .append(text);
        return this;
    }
    public SlackMessage link(String url) {
        link(url"");
        return this;
    }
    public SlackMessage link(String urlString text) {
        if (StringUtils.isNotEmpty(text)) {
            .append("<").append(url).append("|").append(text).append(">");
        } else {
            .append("<").append(url).append(">");
        }
        return this;
    }
    public SlackMessage bold(String text) {
        .append("*").append(text).append("*");
        return this;
    }
    public SlackMessage italic(String text) {
        .append("_").append(text).append("_");
        return this;
    }
    public SlackMessage code(String code) {
        .append("`").append(code).append("`");
        return this;
    }
    public SlackMessage preformatted(String text) {
        .append("```").append(text).append("```");
        return this;
    }
    public SlackMessage quote(String text) {
        .append("\n> ").append(text).append("\n");
        return this;
    }
    public String toString() {
        return .toString();
    }
    public String rawText() {
        // We're not removing link because it's readable the way it is.
        return .toString()
            .replaceAll("(.*)\\*(.*)\\*(.*)""$1$2$3"// Remove bold formatting
            .replaceAll("(.*)_(.*)_(.*)""$1$2$3")     // Remove italic formatting
            .replaceAll("(.*)```(.*)```(.*)""$1$2$3"// Remove pretext formatting
            .replaceAll("(.*)`(.*)`(.*)""$1$2$3")     // Remove code formatting
            .replaceAll("\n>\\s+(.*)\n""$1");         // Remove Quote formatting
    }
New to GrepCode? Check out our FAQ X