package com.mitchellbosecke.pebble.extension.filters; import com.juick.Message; import com.juick.util.MessageUtils; import com.mitchellbosecke.pebble.extension.Filter; import com.mitchellbosecke.pebble.extension.escaper.SafeString; import java.util.List; import java.util.Map; /** * Created by vitalyster on 04.05.2017. */ public class FormatMessageFilter implements Filter { @Override public Object apply(Object input, Map args) { if (input instanceof Message) { Message msg = (Message) input; boolean isCode = msg.getTags().stream().anyMatch(t -> t.getName().equals("code")); String formattedMessage = isCode ? MessageUtils.formatMessageCode(msg.getText()) : MessageUtils.formatMessage(msg.getText()); return new SafeString(formattedMessage); } throw new IllegalArgumentException("invalid input"); } @Override public List getArgumentNames() { return null; } }