Allow extendo customizo.

git-svn-id: https://samskivert.googlecode.com/svn/trunk@2064 6335cc39-0255-0410-8fd6-9bcaacd3b74c
This commit is contained in:
mdb
2007-02-28 05:16:22 +00:00
parent 7f34967737
commit fcfe6c239c
@@ -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:
* <code>[_A-Za-z0-9]+</code> 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;
}