|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.salespointframework.core.users.User
public class User
A user, having a name, a password for log-in purposes, and a set of capabilities.
User
objects are used to store all information associated with a user. As a
default users have a name, a password for log-in purposes, and a set of capabilities
that can be used to restrict the users usage of the application. Additional information
stored in subclasses of User
could include statistics on application usage, bonus data
etc.
UserManager
,
Capability
Field Summary | |
---|---|
private java.awt.image.BufferedImage |
chUserImage
Cacher user image |
static PassWDGarbler |
DEFAULT_PASSWORD_GARBLER
The default password garbler. |
static java.lang.String |
defaultUserImage
The default user image |
protected ListenerHelper |
m_lhListeners
The list of all listeners that showed an interest in this user. |
private java.util.Map<java.lang.String,Capability> |
m_mpCapabilities
The user's capabilities. |
protected java.beans.PropertyChangeSupport |
m_pcsPropertyListeners
Used to fire PropertyChangeEvents . |
private java.lang.String |
m_sName
The user's name. |
private java.lang.String |
m_sPassWd
The user's log-in password. |
private static PassWDGarbler |
s_pwdgGlobal
The global password garbler. |
static java.lang.String |
SOME_PROPERTY
Indicates that one or more properties changed |
private byte[] |
userImage
Filename of users image |
Constructor Summary | |
---|---|
User(java.lang.String sName)
Create a new User with a given name. |
Method Summary | |
---|---|
void |
addCapabilityDataListener(CapabilityDataListener cdl)
Add a CapabilityDataListener. |
int |
compareTo(java.lang.Object o)
Compares two Users. |
void |
DatasourceOnChange()
free internal resources |
boolean |
equals(java.lang.Object o)
Check whether the given object equals this user. |
protected void |
fireCapabilitiesAdded(java.util.Set<java.lang.String> stCapNames)
Fire a capabilitiesAdded event. |
protected void |
fireCapabilitiesReplaced(java.util.Set<java.lang.String> stCapNames)
Fire a capabilitiesReplaced event. |
void |
firePropertyChanged()
Signals persistence layer to update objects values |
void |
fireUserDataChanged()
fire a userDataChangedEvent |
static java.lang.String |
garblePassWD(java.lang.String passWd)
Garble a password using the global password garbler, if any. |
Capability |
getCapability(java.lang.String sCapName)
Retrieve one of this user's capabilities. |
javax.swing.JCheckBox |
getCapabilityCheckBox(java.lang.String sCapName)
Return a checkbox that can be used to visualize and change the value of a certain capability of this user. |
static PassWDGarbler |
getGlobalPassWDGarbler()
Get the global password garbler. |
java.lang.String |
getName()
Retrieve the name of this user. |
java.awt.image.BufferedImage |
getUserImage()
get user's image |
boolean |
isPassWd(java.lang.String sPassWd)
Check whether a given string is identical to the password of this user. |
void |
loggedOff(java.lang.Object oFrom)
Method called by the UserManager when the user was disassociated from some object. |
void |
loggedOn(java.lang.Object oTo)
Method called by the UserManager when the user was associated with some object. |
void |
recover(java.util.Map<java.lang.String,java.lang.Object> data,
java.lang.Object recoveryContext,
boolean reInit)
do recovery |
boolean |
removeCapability(Capability cap)
Entirely removes a capability from the user. |
void |
removeCapabilityDataListener(CapabilityDataListener cdl)
Remove a CapabilityDataListener. |
void |
renderAdditionalInfoArea(javax.swing.JPanel panel,
boolean isSelected)
Hook for displaying additional information in the userlist |
void |
setCapabilities(java.util.Map<java.lang.String,Capability> mpCapabilities)
Set a range of the user's capabilities to new values. |
Capability |
setCapability(Capability cap)
Set one capability. |
static PassWDGarbler |
setGlobalPassWDGarbler(PassWDGarbler pwdgNew)
Set the global password garbler. |
void |
setPassWd(java.lang.String sPassWd)
Set the password of this user. |
void |
setUserImage(java.awt.image.BufferedImage image)
Set users image for performance reason, you have to call firePropertyChanged() separately |
void |
setUserImage(java.net.URI filename)
Set users image for performance reason, you have to call firePropertyChanged() separately |
java.lang.String |
toString()
Return a String representation. |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String SOME_PROPERTY
protected java.beans.PropertyChangeSupport m_pcsPropertyListeners
PropertyChangeEvents
.
private final java.lang.String m_sName
private java.lang.String m_sPassWd
public static java.lang.String defaultUserImage
private byte[] userImage
private java.awt.image.BufferedImage chUserImage
private java.util.Map<java.lang.String,Capability> m_mpCapabilities
Capability
protected ListenerHelper m_lhListeners
public static final PassWDGarbler DEFAULT_PASSWORD_GARBLER
The default password garbling algorithm is very simple and should only be used if no real security concerns are present. It will convert the input char array into its MD5 representation.
private static PassWDGarbler s_pwdgGlobal
DEFAULT_PASSWORD_GARBLER
.
Constructor Detail |
---|
public User(java.lang.String sName)
sName
- the new user's name.Method Detail |
---|
public void setUserImage(java.net.URI filename)
firePropertyChanged()
separately
filename
- public void setUserImage(java.awt.image.BufferedImage image)
firePropertyChanged()
separately
filename
- public java.awt.image.BufferedImage getUserImage()
public void renderAdditionalInfoArea(javax.swing.JPanel panel, boolean isSelected)
public final java.lang.String getName()
getName
in interface SpItem
public final boolean isPassWd(java.lang.String sPassWd)
For security reasons there is no getPassWd()
method. The only way to
check a user's password is this method. The string you pass as a parameter will be
compared to the user's password as it is stored, i.e. if the password is stored in
a garbled form (recommended) the string you pass as a parameter must also be in
garbled form.
sPassWd
- the string to be compared to the user's password. Must be in the
same form as the actual password, i.e. esp. it must be garbled if the actual password
is.
garblePassWD(java.lang.String)
public final void setPassWd(java.lang.String sPassWd)
The password is stored exactly as given, i.e. no garbling of any kind is performed. It is strongly recommended, though, that you pass a garbled password, so that passwords are not stored as plain text.
for performance reason, you have to callfirePropertyChanged()
separately
sPassWd
- the new passwordgarblePassWD(java.lang.String)
,
PassWDGarbler
public boolean equals(java.lang.Object o)
Two users are considered equal if their names are equal.
equals
in class java.lang.Object
o
- the object to be compared to.
public int compareTo(java.lang.Object o)
compareTo
in interface java.lang.Comparable<java.lang.Object>
o
- the User to be compared with this
.
public java.lang.String toString()
toString
in class java.lang.Object
name
of the user.public void setCapabilities(java.util.Map<java.lang.String,Capability> mpCapabilities)
Sets all capabilities from mpCapabilities
to the new values.
This will fire capabilitiesAdded
events, and capabilitiesReplaced
events if capabilities were changed.
Attention: A capability that has been set cannot be removed again. Capabilities have two states (Granted and Not Granted). If you want to remove a certain capability, set its state to Not Granted.
mpCapabilities
- the capabilities to be set. The keys of this map must be the
names of the capabilities to be set, whereas the corresponding values must be the
actual Capability objects.Capability
,
setCapability(org.salespointframework.core.users.Capability)
,
CapabilityDataListener
public Capability setCapability(Capability cap)
Attention: A capability that has been set should not be removed again. Capabilities have two states (Granted and Not Granted). If you want to remove a certain capability, set its state to Not Granted.
This will fire a capabilitiesAdded
or a capabilitiesReplaced
event.
cap
- the capability to be set.
null
if none.public boolean removeCapability(Capability cap)
cap
- Capability to remove
public Capability getCapability(java.lang.String sCapName)
Retrieves the capability of this user that is identified by sCapName
.
sCapName
- the name of the capability to be returned.
null
if none.Capability
public javax.swing.JCheckBox getCapabilityCheckBox(java.lang.String sCapName)
The checkbox will be backed by the capability, i.e. changes of the capability
will be directly reflected in the checkbox and vice-versa. There will be a
NullPointerException
if the specified capability does not exist.
sCapName
- the name of the capability to be visualized by the checkbox.
java.lang.NullPointerException
- if Capability does not exist.JCheckBox
,
Capability
,
Capability.getDisplayName()
public void addCapabilityDataListener(CapabilityDataListener cdl)
cdl
- the CapabilityDataListener to add.public void removeCapabilityDataListener(CapabilityDataListener cdl)
cdl
- the CapabilityDataListener to remove.protected void fireCapabilitiesAdded(java.util.Set<java.lang.String> stCapNames)
capabilitiesAdded
event.
stCapNames
- the set of capability names that where added.CapabilityDataListener.capabilitiesAdded(org.salespointframework.core.users.events.CapabilityDataEvent)
protected void fireCapabilitiesReplaced(java.util.Set<java.lang.String> stCapNames)
capabilitiesReplaced
event.
stCapNames
- the set of capability names that where replaced.CapabilityDataListener.capabilitiesReplaced(org.salespointframework.core.users.events.CapabilityDataEvent)
public void fireUserDataChanged()
public void loggedOn(java.lang.Object oTo)
oTo
- the object this user was associated with.UserManager
public void loggedOff(java.lang.Object oFrom)
oFrom
- the object this user was disassociated from.UserManager
public static PassWDGarbler setGlobalPassWDGarbler(PassWDGarbler pwdgNew)
The global password garbler can be used as a central instance for garbling
your users' passwords. It defaults to DEFAULT_PASSWORD_GARBLER
.
pwdgNew
- the new global password garbler.
public static PassWDGarbler getGlobalPassWDGarbler()
public static java.lang.String garblePassWD(java.lang.String passWd)
If no global password garbler is installed, the password is returned unchanged. Otherwise the garbled password is returned.
passWd
- the password to garble
public void recover(java.util.Map<java.lang.String,java.lang.Object> data, java.lang.Object recoveryContext, boolean reInit)
recover
in interface Recoverable
data
- recoveryContext
- reInit
- true, id recover was called more than one time on this objectpublic void DatasourceOnChange()
DatasourceOnChange
in interface DatasourceOnChangeListener
public void firePropertyChanged()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |