/** * */ package com.captaindebug.statemachine.tweettohtml.strategy; import java.io.IOException; import java.io.OutputStream; import com.captaindebug.statemachine.tweettohtml.OutputStrategy; /** * @author Roger * * @UserName -> https://twitter.com/#!/BentleyMotors * * #HashTag -> https://twitter.com/#!/search/%23hashtag eg * https://twitter.com/#!/search/%23youhadtobethere * * * Created 5:24:10 PM Apr 9, 2012 * */ public class UrlStrategy implements OutputStrategy { /** * @see state_machine.tweettohtml.OutputStrategy#build(java.lang.String, * java.io.OutputStream) */ @Override public void build(String url, OutputStream os) throws IOException { String lastChar = url.substring(url.length() - 1); if (isPunctuation(lastChar)) { url = url.substring(0, url.length() - 1); } else { lastChar = null; } String anchorTag = makeAnchor(url, lastChar); os.write(anchorTag.getBytes()); } private boolean isPunctuation(String lastChar) { final String test = ".,;"; return test.contains(lastChar); } private String makeAnchor(String url, String lastChar) { return lastChar == null ? "<a href=\"http://" + url + "\">" + url + "</a>" : "<a href=\"http://" + url + "\">" + url + "</a>" + lastChar; } }