Java tutorial
/* * The contents of this file are subject to the Mozilla Public License Version 1.1 * (the "License"); you may not use this file except in compliance with the License. * You may obtain a copy of the License at <http://www.mozilla.org/MPL/>. * * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT * WARRANTY OF ANY KIND, either express or implied. See the License for the specific * language governing rights and limitations under the License. * * The Original Code is the Venice Web Communities System. * * The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>, * for Silverwrist Design Studios. Portions created by Eric J. Bowersox are * Copyright (C) 2002 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. * * Contributor(s): */ package com.silverwrist.dynamo.util; import javax.mail.internet.InternetAddress; import javax.mail.internet.AddressException; import org.apache.commons.lang.CharSet; import org.apache.commons.lang.CharSetUtils; public class IDUtils { /*-------------------------------------------------------------------------------- * Static data members *-------------------------------------------------------------------------------- */ private static final String[] ID_CHARS = { "A-Z", "a-z", "0-9", "-", "_~*'$" }; private static final CharSet s_id_chars; /*-------------------------------------------------------------------------------- * Constructor *-------------------------------------------------------------------------------- */ public IDUtils() { // do nothing } // end constructor /*-------------------------------------------------------------------------------- * External static operations *-------------------------------------------------------------------------------- */ public static final boolean isValidDynamoID(String s) { if ((s == null) || (s.length() == 0)) return false; // null values and null strings are NEVER valid for (int i = 0; i < s.length(); i++) { // test each character in turn if (!(s_id_chars.contains(s.charAt(i)))) return false; // found a bogus character } // end for return true; // all tests passed - ship it! } // end isValidDynamoID public static final boolean isValidDynamoID(String s, int max_len) { if ((s == null) || (s.length() == 0) || (s.length() > max_len)) return false; // null values and null strings are NEVER valid for (int i = 0; i < s.length(); i++) { // test each character in turn if (!(s_id_chars.contains(s.charAt(i)))) return false; // found a bogus character } // end for return true; // all tests passed - ship it! } // end isValidDynamoID public static final boolean isValidDynamoIDChar(char c) { return s_id_chars.contains(c); } // end isValidDynamoIDChar public static boolean isValidEmailAddress(String addr) { try { // take advantage of the JavaMail address parser InternetAddress tmp = new InternetAddress(addr); } // end try catch (AddressException e) { // if we get an AddressException, it's not valid, is it? return false; } // end catch return true; // if get here, it's valid } // end isValidEmailAddress /*-------------------------------------------------------------------------------- * Static initializer *-------------------------------------------------------------------------------- */ static { // evaluate the character sets s_id_chars = CharSetUtils.evaluateSet(ID_CHARS); } // end static initializer } // end class IDUtils