From fcfe6c239ce72c5194a52305c100315ae10e622f Mon Sep 17 00:00:00 2001 From: mdb Date: Wed, 28 Feb 2007 05:16:22 +0000 Subject: [PATCH] Allow extendo customizo. git-svn-id: https://samskivert.googlecode.com/svn/trunk@2064 6335cc39-0255-0410-8fd6-9bcaacd3b74c --- .../com/samskivert/servlet/user/Username.java | 40 +++++++++++-------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/src/java/com/samskivert/servlet/user/Username.java b/src/java/com/samskivert/servlet/user/Username.java index 4097d470..99ec20a0 100644 --- a/src/java/com/samskivert/servlet/user/Username.java +++ b/src/java/com/samskivert/servlet/user/Username.java @@ -19,26 +19,12 @@ public class Username public static final String NAME_REGEX = "^[_A-Za-z0-9]*$"; /** - * Creates a username instance. Usernames must consist only of - * characters that match the following regular expression: - * [_A-Za-z0-9]+ and be longer than two characters. + * Creates a username instance. */ public Username (String username) throws InvalidUsernameException { - // check length - if (username.length() < MINIMUM_USERNAME_LENGTH) { - throw new InvalidUsernameException("error.username_too_short"); - } - if (username.length() > MAXIMUM_USERNAME_LENGTH) { - throw new InvalidUsernameException("error.username_too_long"); - } - - // check that it's only valid characters - if (!username.matches(NAME_REGEX)) { - throw new InvalidUsernameException("error.invalid_username"); - } - + validateName(username); _username = username; } @@ -54,5 +40,27 @@ public class Username return _username; } + /** + * Validates our username. The default implementation requires that usernames consist only of + * characters that match the {@link #NAME_REGEX} regular expression and be between {@link + * #MINIMUM_USERNAME_LENGTH} and {@link #MAXIMUM_USERNAME_LENGTH} characters. + */ + protected void validateName (String username) + throws InvalidUsernameException + { + // check length + if (username.length() < MINIMUM_USERNAME_LENGTH) { + throw new InvalidUsernameException("error.username_too_short"); + } + if (username.length() > MAXIMUM_USERNAME_LENGTH) { + throw new InvalidUsernameException("error.username_too_long"); + } + + // check that it's only valid characters + if (!username.matches(NAME_REGEX)) { + throw new InvalidUsernameException("error.invalid_username"); + } + } + protected String _username; }