class SlackNotifications extends BufferedNotificationMethod {

    static String getObfuscatedWebhookURI (String webhookUri) {
        String obfuscatedWebhookURI = webhookUri;
        Pattern webhookPattern = Pattern.compile("^https?://hooks.slack.com/services/T..(.*?)/B..(.*?)/...(.*?)/?$");
        Matcher matcher = webhookPattern.matcher(webhookUri);
        if (matcher.find()) {
            for (int i = 1; i <= matcher.groupCount(); i++) {
                int start = matcher.start(i);
                int end = matcher.end(i);
                String section = obfuscatedWebhookURI.substring(start, end);
                String obfuscation = new String(new char[section.length()]).replace('\0', '*');
                obfuscatedWebhookURI = obfuscatedWebhookURI.replace(section, obfuscation);
            }
        }
        if (obfuscatedWebhookURI.equals(webhookUri)) {
            return null;
        }
        return obfuscatedWebhookURI;
    }

    @Autowired  SlackNotifications(@Value("${slack_webhookuri}") @NotNull String webhookUri);

}