Update of /cvsroot/displaytag/table-ben/src/com/tablelib/core/net
In directory sc8-pr-cvs1:/tmp/cvs-serv11546

Added Files:
        NetUtils.java 
Log Message:


--- NEW FILE: NetUtils.java ---
/**
 * Created by IntelliJ IDEA.
 * User: Administrator
 * Date: Nov 11, 2002
 * Time: 10:43:06 PM
 * To change this template use Options | File Templates.
 */
package com.tablelib.core.net;

import com.tablelib.core.lang.StringUtils;

public final class NetUtils {

    private static final int BEGIN_TAG = 0;
    private static final int BEGIN_HREF = 1;
    private static final int END_HREF = 2;
    private static final int END_ANCHOR = 3;
    private static final int END_TAG = 4;

    private static final String [] HREF_PARTS = { "<a "," href=\"","\"",">","</a>" };

    public static final String wrapLink(final String destination,
                                        String otherParms,
                                        final String link) {
        if(otherParms == null) otherParms = "";
        return StringUtils.append(new String [] {HREF_PARTS[BEGIN_TAG],
                                                 HREF_PARTS[BEGIN_HREF],
                                                 destination,
                                                 HREF_PARTS[END_HREF],
                                                 otherParms,
                                                 HREF_PARTS[END_ANCHOR],
                                                 link==null?destination:link,
                                                 HREF_PARTS[END_TAG]});
    }

    public static final String wrapLink(final String destination,
                                        String otherParms,
                                        final int link) {
        return wrapLink(destination,otherParms,String.valueOf(link));
    }

    public static String autolink(String field) {
        if (field == null || field.length() == 0) return field;
        if(field.indexOf('@') > -1) return linkEmail(field, false);
        return (field.indexOf("://") > -1) ? wrapLink(field.trim(),"",field) : field;
    }

    public static String linkEmail(final String field, boolean validate) {
        if(!validate) return NetUtils.wrapLink("mailto:"+field,"",field);
        String tmp = validateEmail(field);
        return tmp != null ? wrapLink("mailto:"+tmp,"",tmp) : field;
    }

    private static String validateEmail(String email) {
        if(email.indexOf('@') < 1) return null;
        email = email.trim();
        if(email.indexOf(' ') > -1) return null;
        return email;
    }
}




-------------------------------------------------------
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the
same time. Free trial click here: http://www.vmware.com/wl/offer/345/0
_______________________________________________
displaytag-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/displaytag-devel

Reply via email to