Package com.iizix.user
Class UserInfoBase
- java.lang.Object
-
- com.iizix.user.UserInfoBase
-
- Direct Known Subclasses:
BasicUserInfo
public abstract class UserInfoBase extends java.lang.Object
The base of user information in the database. The implementing subclass in the server extends from this class.- Author:
- Christopher Mindus
-
-
Field Summary
Fields Modifier and Type Field Description long
created
The 'created' time in milliseconds since the epoch.java.lang.String
email
The 'email', nevernull
(max 254 chars).long
id
The unique ID.java.util.List<java.lang.String>
langCodes
The unpacked 'lang_codes' as language codes the user wishes to use.java.lang.String
userName
The 'user_name', nevernull
(max 254 chars).java.lang.String
userNameLower
The 'user_name_lower', lower case using Locale.ENGLISH of 'user_name', nevernull
(max 254 chars).
-
Constructor Summary
Constructors Modifier Constructor Description protected
UserInfoBase(long id, java.lang.String userName, java.lang.String userNameLower, java.lang.String email, java.lang.String langCode, long created)
Constructor for the user info base.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object o)
Checks for equality.abstract java.util.Map<java.lang.String,java.lang.String>
getDetails()
Gets the cached and current user details.abstract java.util.Map<java.lang.String,java.lang.String>
getDetails(boolean reload)
Gets the (cached and current) user details.abstract java.util.Map<java.lang.String,java.lang.String>
getDetails(java.sql.Connection conn, boolean reload)
Gets the user details.
-
-
-
Field Detail
-
id
public final long id
The unique ID.
-
userName
public final java.lang.String userName
The 'user_name', nevernull
(max 254 chars).
-
userNameLower
public final java.lang.String userNameLower
The 'user_name_lower', lower case using Locale.ENGLISH of 'user_name', nevernull
(max 254 chars).
-
email
public final java.lang.String email
The 'email', nevernull
(max 254 chars).
-
langCodes
public final java.util.List<java.lang.String> langCodes
The unpacked 'lang_codes' as language codes the user wishes to use. The value isnull
if there are no language codes. The list is unmodifiable.
-
created
public final long created
The 'created' time in milliseconds since the epoch.
-
-
Constructor Detail
-
UserInfoBase
protected UserInfoBase(long id, java.lang.String userName, java.lang.String userNameLower, java.lang.String email, java.lang.String langCode, long created)
Constructor for the user info base.- Parameters:
id
- The unique user ID.userName
- The user name, nevernull
.userNameLower
- The user name in lower case, nevernull
.email
- The email, nevernull
.langCode
- The language codes, comma separated,null
for none.created
- The creation date (milliseconds since the epoch).
-
-
Method Detail
-
equals
public final boolean equals(java.lang.Object o)
Checks for equality. Checks only if two user ID's are equal.- Overrides:
equals
in classjava.lang.Object
- Parameters:
o
- The object to compare with.- Returns:
- When user ID equals, false otherwise.
-
getDetails
public abstract java.util.Map<java.lang.String,java.lang.String> getDetails()
Gets the cached and current user details. Details are e.g. fax number, profile picture.- Returns:
- A new read-only copy of the details with name as key and the value for it.
-
getDetails
public abstract java.util.Map<java.lang.String,java.lang.String> getDetails(boolean reload) throws java.sql.SQLException
Gets the (cached and current) user details. Details are e.g. fax number, profile picture.Note: If you have a JDBC connection, use
getDetails(Connection, boolean)
instead for efficiency.- Parameters:
reload
- Reload flag from database.- Returns:
- If reload is false, a cached read-only map with the details name as key and the value for it, otherwise a fresh copy of the details from the database.
- Throws:
java.sql.SQLException
- For SQL errors.
-
getDetails
public abstract java.util.Map<java.lang.String,java.lang.String> getDetails(java.sql.Connection conn, boolean reload) throws java.sql.SQLException
Gets the user details. Details are e.g. fax number, profile picture. If not previously loaded, the "reload" flag is ignored and the details are loaded.- Parameters:
conn
- The connection, null for cached values only.reload
- Reload flag, i.e. instructs a full reload of all details from the database.- Returns:
- A cached read-only map with the details name as key and the value for it.
- Throws:
java.sql.SQLException
- For SQL errors.
-
-