@Override
	public List<String> retrieveLinks() {
        //String text = "Please go to http://google.com and then mailto:brendan@rice.com to download a file from www.google.com ftp://brendanrice:pass@github/assignemnt.txt";
		if( text == null) {
            throw new IllegalArgumentException("Input text must not be null");
        }
        List<String> resultList = new ArrayList<String>();
        String regexp = "(((https?|ftp):(//)*|www[.])[\\w\\d:#@%/;$()~_?\\+-=\\\\\\.&]*)";
        Pattern p = Pattern.compile(regexp,Pattern.CASE_INSENSITIVE);
        
        
        BufferedReader br = new BufferedReader(new StringReader(text));
        String line;
        StringBuffer inputStr = new StringBuffer();
        
        try {
			while ((line = br.readLine()) != null) {
				 inputStr.append(line);
			}
			br.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
		
        Matcher m;
    	m = p.matcher(inputStr);
    	while (m.find()) {
    		resultList.add(m.group());
    	}
        return resultList;
    }