This simple PasswordGenerator
is based on RandomStringUtils from jakarta-commons-lang, and generates
a random password of 6 characters composed of letters and numbers only.
getGroups() -
Method in interface net.incongru.berkano.user.User
TODO : how could we possibly prevent people playing with the returned set?
It would probably not hurt anyway, but it should be mandatory to use the
UserDAO object to add groups to a user.
Returns a single value found for this key, following the following rules:
The user's properties are not taken into account
If the property is defined in multiple groups, an exception will be thrown
The property will be return from group level if it is defined in only one of
the user's groups.
Null will be returned if the property can't be found
TODO : This is to be discussed: do we need to expose getPassword here?
I think yes, because some people might be annoyed by a "change-only"
password system (no existing password sent by mail), but implementations
might skip it (make it throw IllegalStateException for exemple)
Returns a single value found for this key, following the following rules:
If the property is defined at user level, it will be returned, regardless
of the groups' properties
If the property is defined in multiple groups, an exception will be thrown
The property will be return from group level if it is defined in only one of
the user's groups.
Null will be returned if the property can't be found
Maintains the creationDate and updateDate fields of UserImpl
TODO : this might be better as an EventListener? Not sure there's a real difference in "betterness",
but the interfaces of listeners are simpler/cleaner.