Class UserProfileStringURNFactory

  • All Implemented Interfaces:
    IURNProvider

    public class UserProfileStringURNFactory
    extends java.lang.Object
    implements IURNProvider
    User Profile String provider for iizi URN's.

    User Profile String URN's are encoded in iizi as:

        urn:iz-pstr:type:id=userID[?+reload] or

        urn:iz-pstr:type:name=userName[?+reload]

    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 name is a UTF-8 encoded string, and the type is the queried string type, one of the names available in {@link UserProfileStringURNQuery} plus an additional one-based index entry when the {@link UserProfileStringURNQuery#multiple} flag allows it.

    Examples of type by direct String:

    • "FullName"
    • "LastName"
    • "FirstName"
    • "CompanyName"
    • "ZipCode"
    • "City"
    • "StateProvince"
    • "Country"

    Examples of type 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>"
    Author:
    Christopher Mindus
    See Also:
    UserProfileStringURN, UserProfileStringURNType
    • Method Detail

      • initialize

        public static void initialize​(URNFactory factory,
                                      IUserProfileStringURNProvider provider)
        Initializes the User Profile String URN factory.

        This method is not intended to be called by user code, the system will handle it.

        Parameters:
        factory - The URN factory instance.
        provider - The User Profile String URN provider.
        Throws:
        java.lang.RuntimeException - If this method is called twice for the same URN provider.
      • getInstance

        public static UserProfileStringURNFactory getInstance()
        Gets the singleton instance of the URL URN factory.
        Returns:
        The URL URN factory instance.
      • getResourceTypes

        public java.util.List<URNResourceType> getResourceTypes()
        Gets the location or locations supported by the provider.
        Specified by:
        getResourceTypes in interface IURNProvider
        Returns:
        The supported locations: none, i.e. an empty list.
      • parse

        public URN parse​(java.lang.String urnString,
                         java.lang.String nss,
                         java.lang.String req,
                         java.lang.String query,
                         java.lang.String fragment)
                  throws URNException
        Parses the URN after the NID specification, i.e. after "urn:NID:".
        Specified by:
        parse in interface IURNProvider
        Parameters:
        urnString - The full unparsed original URN string.
        nss - The NSS part of the string (before request/query/fragment).
        req - The decoded request String (without "?+"), null for none.
        query - The decoded query String (without "?="), null for none.
        fragment - The decoded fragment, null for none.
        Returns:
        The URN instance.
        Throws:
        URNException - For URN exceptions.