Class UserProfileStringURN
- All Implemented Interfaces:
Serializable,Cloneable
User Profile String URN's are encoded in IIZI as:
urn:iz-pstr:id=userID[?+reload]?=query or
urn:iz-pstr:userName=userName[?+reload]?=query
The reload parameter is optional as will force a database request rather than using a potential cached value. The brackets around ?+reload indicates that the value is options and the brackets should not be specified. Be careful when using it too much as performance is impacted.
The userID is a {code long} value unique to the user ID in question, the userName is a UTF-8 encoded string, and the query is the queried String, one of the names available in {@link UserProfileStringURNType} plus an additional one-based index entry when the {@link UserProfileStringURNType#multiple} flag allows it.
Examples of query by direct String:
- "
FullName" - "
LastName" - "
FirstName" - "
CompanyName" - "
ZipCode" - "
City" - "
StateProvince" - "
Country"
Examples of the same request, but using a {@link UserProfileStringURNType}:
{@link UserProfileStringURNType#FullName}{@link UserProfileStringURNType#LastName}{@link UserProfileStringURNType#FirstName}{@link UserProfileStringURNType#CompanyName}{@link UserProfileStringURNType#ZipCode}{@link UserProfileStringURNType#City}{@link UserProfileStringURNType#StateProvince}{@link UserProfileStringURNType#Country}
Examples of query in String format when multiple values can be assigned to the query by appending "_2" to the second value, "_3" to the third value, and so on:
- "
WorkMobile<strong>_2</strong>" - "
WorkMobile<strong>_3</strong>" - "
AdditionalEmail<strong>_2</strong>" - "
AdditionalEmail<strong>_3</strong>" - "
AdditionalEmail<strong>_4</strong>"
Instead of a String type of query, you can also use three parameters <i>userID</i> as a long or <i>userName</i> as a String, followed by {@link UserProfileStringURNType} and an Integer using the method {@link #fromUserID(long, UserProfileStringURNType, int)} when the userID is known, otherwise by a name String using {@link #fromUserID(String, UserProfileStringURNType, int)}:
<i>long_UserID</i>,{@link UserProfileStringURNType#WorkMobile},2<i>long_UserID</i>,{@link UserProfileStringURNType#WorkMobile},3<i>long_UserID</i>,{@link UserProfileStringURNType#AdditionalEmail},2<i>long_UserID</i>,{@link UserProfileStringURNType#AdditionalEmail},3<i>long_UserID</i>,{@link UserProfileStringURNType#AdditionalEmail},4<i>"BillyJean"</i>,{@link UserProfileStringURNType#WorkMobile},2<i>"BillyJean"</i>,{@link UserProfileStringURNType#WorkMobile},3<i>"billy.jean@something.dom"</i>,{@link UserProfileStringURNType#AdditionalEmail},2<i>"billy.jean@something.dom"</i>,{@link UserProfileStringURNType#AdditionalEmail},3<i>"billy.jean@something.dom"</i>,{@link UserProfileStringURNType#AdditionalEmail},4
Field Summary
Method Summary
Modifier and TypeMethodDescriptionbooleanChecks if two instances are equal.static UserProfileStringURNfromUserID(long id, UserProfileStringURNType query) Creates a User Profile String URN using a possible cached instance of the user information.static UserProfileStringURNfromUserID(long id, UserProfileStringURNType query, boolean reload) Creates a User Profile String URN.static UserProfileStringURNfromUserID(long id, UserProfileStringURNType query, int oneBasedIndex) Creates a User Profile String URN using a possible cached instance of the user information.static UserProfileStringURNfromUserID(long id, UserProfileStringURNType query, int oneBasedIndex, boolean reload) Creates a User Profile String URN.static UserProfileStringURNfromUserID(long id, String query) Creates a User Profile String URN using a possible cached instance of the user information.static UserProfileStringURNfromUserID(long id, String query, boolean reload) Creates a User Profile String URN.static UserProfileStringURNfromUserID(long id, String query, int oneBasedIndex) Creates a User Profile String URN using a possible cached instance of the user information.static UserProfileStringURNfromUserID(long id, String query, int oneBasedIndex, boolean reload) Creates a User Profile String URN.static UserProfileStringURNfromUserName(String userName, UserProfileStringURNType query) Creates a User Profile String URN using a possible cached instance of the user information.static UserProfileStringURNfromUserName(String userName, UserProfileStringURNType query, boolean reload) Creates a User Profile String URN.static UserProfileStringURNfromUserName(String userName, UserProfileStringURNType query, int oneBasedIndex) Creates a User Profile String URN using a possible cached instance of the user information.static UserProfileStringURNfromUserName(String userName, UserProfileStringURNType query, int oneBasedIndex, boolean reload) Creates a User Profile String URN.static UserProfileStringURNfromUserName(String userName, String query) Creates a User Profile String URN using a possible cached instance of the user information.static UserProfileStringURNfromUserName(String userName, String query, boolean reload) Creates a User Profile String URN.static UserProfileStringURNfromUserName(String userName, String query, int oneBasedIndex) Creates a User Profile String URN using a possible cached instance of the user information.static UserProfileStringURNfromUserName(String userName, String query, int oneBasedIndex, boolean reload) Creates a User Profile String URN.Gets the parameter string for theURN.toString()method.getURL()Gets the URL of this as a data URL in UTF-8 encoded data.getValue(boolean nullIfNotFound) Gets the String result of this URN.inthashCode()Hash code of this instance.static voidAssigns the User Profile String URN provider.Methods inherited from class com.iizix.urn.URN
asURNResource, from, getImageTarget, getURNString, isImageTargetSupported, isURNResource, toString
Method Details
setUserProfileStringURNProvider
Assigns the User Profile String URN provider. This is an IIZI internal method. This method cannot only be called from the server and should not be called elsewhere.- Throws:
NullPointerException- Ifproviderisnull.IllegalStateException- If called twice or outside the server.
fromUserID
Creates a User Profile String URN using a possible cached instance of the user information.We recommend using the
fromUserID(...)method using a{@link UserProfileStringURNType}instead of aStringbecause it is faster.- Parameters:
id- TheLonguser ID.query- The query String.- Throws:
IllegalArgumentException- If theidis zero.NullPointerException- Ifqueryisnull.NotFoundException- If thequeryString is not a valid query.
fromUserID
Creates a User Profile String URN.We recommend using the
fromUserID(...)method using a{@link UserProfileStringURNType}instead of aStringbecause it is faster.- Parameters:
id- TheLonguser ID.query- The query String.reload- The reload flag, false if OK to use a cached value. Be careful when setting this flag totrueas it impacts performance.- Throws:
IllegalArgumentException- If theidis zero.NullPointerException- Ifqueryisnull.NotFoundException- If thequeryString is not a valid query.
fromUserID
Creates a User Profile String URN using a possible cached instance of the user information.We recommend using the
fromUserID(...)method using a{@link UserProfileStringURNType}instead of aStringbecause it is faster.- Parameters:
id- TheLonguser ID.query- The query String.oneBasedIndex- The one-based index for the query if it supports it, zero otherwise.- Throws:
IllegalArgumentException- If theidis zero, or ifoneBasedIndexis non-zero, less than 1 or larger than 99 when thequerysupports multiple values.NullPointerException- Ifqueryisnull.NotFoundException- If thequeryString is not a valid query.
fromUserID
public static UserProfileStringURN fromUserID(long id, String query, int oneBasedIndex, boolean reload) throws NotFoundException Creates a User Profile String URN.We recommend using the
fromUserID(...)method using a{@link UserProfileStringURNType}instead of aStringbecause it is faster.- Parameters:
id- TheLonguser ID.query- The query String.oneBasedIndex- The one-based index for the query if it supports it, zero otherwise.reload- The reload flag,falseif OK to use a cached value. Be careful when setting this flag totrueas it impacts performance.- Throws:
IllegalArgumentException- If theidis zero, or ifoneBasedIndexis non-zero, less than 1 or larger than 99 when thequerysupports multiple values.NullPointerException- Ifqueryisnull.NotFoundException- If thequeryString is not a valid query.
fromUserName
Creates a User Profile String URN using a possible cached instance of the user information.We recommend using the
fromUserName(...)method using a{@link UserProfileStringURNType}instead of aStringbecause it is faster.- Parameters:
userName- The User Name.query- The query String.- Throws:
NullPointerException- Ifqueryisnull.NotFoundException- If thequeryString is not a valid query.
fromUserName
Creates a User Profile String URN.We recommend using the
fromUserName(...)method using a{@link UserProfileStringURNType}instead of aStringbecause it is faster.- Parameters:
userName- The User Name.query- The query String.reload- The reload flag,falseif OK to use a cached value. Be careful when setting this flag totrueas it impacts performance.- Throws:
NullPointerException- Ifqueryisnull.NotFoundException- If thequeryString is not a valid query.
fromUserName
Creates a User Profile String URN using a possible cached instance of the user information.We recommend using the
fromUserName(...)method using a{@link UserProfileStringURNType}instead of aStringbecause it is faster.- Parameters:
userName- The User Name.query- The query String.oneBasedIndex- The one-based index for the query if it supports it, zero otherwise.- Throws:
NullPointerException- Ifqueryisnull.NotFoundException- If thequeryString is not a valid query.IllegalArgumentException- If theoneBasedIndexis non-zero, less than 1 or larger than 99 when thequerysupports multiple values.
fromUserName
public static UserProfileStringURN fromUserName(String userName, String query, int oneBasedIndex, boolean reload) Creates a User Profile String URN.We recommend using the
fromUserName(...)method using a{@link UserProfileStringURNType}instead of aStringbecause it is faster.- Parameters:
userName- The User Name.query- The query String.oneBasedIndex- The one-based index for the query if it supports it, zero otherwise.reload- The reload flag,falseif OK to use a cached value. Be careful when setting this flag totrueas it impacts performance.- Throws:
NullPointerException- Ifqueryisnull.NotFoundException- If thequeryString is not a valid query.IllegalArgumentException- If theoneBasedIndexis non-zero, less than 1 or larger than 99 when thequerysupports multiple values.
fromUserID
Creates a User Profile String URN using a possible cached instance of the user information.- Parameters:
id- TheLonguser ID.query- The query.- Throws:
IllegalArgumentException- If theidis zero.NullPointerException- Ifqueryisnull.
fromUserID
public static UserProfileStringURN fromUserID(long id, UserProfileStringURNType query, boolean reload) Creates a User Profile String URN.- Parameters:
id- TheLonguser ID.query- The query.reload- The reload flag, false if OK to use a cached value. Be careful when setting this flag totrueas it impacts performance.- Throws:
IllegalArgumentException- If theidis zero.NullPointerException- Ifqueryisnull.
fromUserID
public static UserProfileStringURN fromUserID(long id, UserProfileStringURNType query, int oneBasedIndex) Creates a User Profile String URN using a possible cached instance of the user information.- Parameters:
id- TheLonguser ID.query- The query.oneBasedIndex- The one-based index for the query if it supports it, zero otherwise.- Throws:
IllegalArgumentException- If theidis zero, or ifoneBasedIndexis non-zero, less than 1 or larger than 99 when thequerysupports multiple values.NullPointerException- Ifqueryisnull.
fromUserID
public static UserProfileStringURN fromUserID(long id, UserProfileStringURNType query, int oneBasedIndex, boolean reload) throws NotFoundException Creates a User Profile String URN.- Parameters:
id- TheLonguser ID.query- The query.oneBasedIndex- The one-based index for the query if it supports it, zero otherwise.reload- The reload flag,falseif OK to use a cached value. Be careful when setting this flag totrueas it impacts performance.- Throws:
IllegalArgumentException- If theidis zero, or ifoneBasedIndexis non-zero, less than 1 or larger than 99 when thequerysupports multiple values.NullPointerException- Ifqueryisnull.NotFoundException
fromUserName
Creates a User Profile String URN using a possible cached instance of the user information.- Parameters:
userName- The User Name.query- The query.- Throws:
NullPointerException- Ifqueryisnull.
fromUserName
public static UserProfileStringURN fromUserName(String userName, UserProfileStringURNType query, boolean reload) Creates a User Profile String URN.- Parameters:
userName- The User Name.query- The query.reload- The reload flag,falseif OK to use a cached value. Be careful when setting this flag totrueas it impacts performance.- Throws:
NullPointerException- Ifqueryisnull.
fromUserName
public static UserProfileStringURN fromUserName(String userName, UserProfileStringURNType query, int oneBasedIndex) Creates a User Profile String URN using a possible cached instance of the user information.- Parameters:
userName- The User Name.query- The query.oneBasedIndex- The one-based index for the query if it supports it, zero otherwise.- Throws:
NullPointerException- Ifqueryisnull.IllegalArgumentException- If theoneBasedIndexis non-zero, less than 1 or larger than 99 when thequerysupports multiple values.
fromUserName
public static UserProfileStringURN fromUserName(String userName, UserProfileStringURNType query, int oneBasedIndex, boolean reload) Creates a User Profile String URN.- Parameters:
userName- The User Name.query- The query.oneBasedIndex- The one-based index for the query if it supports it, zero otherwise.reload- The reload flag,falseif OK to use a cached value. Be careful when setting this flag totrueas it impacts performance.- Throws:
NullPointerException- Ifqueryisnull.IllegalArgumentException- If theoneBasedIndexis non-zero, less than 1 or larger than 99 when thequerysupports multiple values.
getURL
Gets the URL of this as a data URL in UTF-8 encoded data.- Specified by:
getURLin classURN- Returns:
- The data URL as
data:text/plain;charset=UTF-8;<i>value</i>wherevalueis set to UTF-8 encoded "???" when "User ID" or "User Name" is not found or a database SQL exception is encountered. - Throws:
IllegalStateException- If the user authentication instance is not initialized.
getValue
Gets the String result of this URN.- Parameters:
nullIfNotFound- Flag indicatingnullshould be returned iftrueif the user value is not found, otherwise whenfalsean empty string is returned.- Returns:
- A String, empty or
nullif not found, depending on thenullIfNotFoundflag. - Throws:
NotFoundException- If the user ID or the User Name is not found in the database, or a database error occurred.IllegalStateException- If the user authentication instance is not initialized.
getParamString
Gets the parameter string for theURN.toString()method.- Specified by:
getParamStringin classURN- Returns:
- The parameter string, always
non-null, formatted as"userName=UserName,query=Query"or"userID=ID,query=Query"whereQueryis the queried enum string. If the enum string is indexed with a value between 2 and 99,",oneBasedIndex=Index"is appended. If the request requires a reload of the user information from the database and a cached value is not acceptable, the string",reload=true"is appended.
hashCode
public int hashCode()Hash code of this instance.equals
Checks if two instances are equal.