Class UserProfileStringURNFactory

java.lang.Object
com.iizix.urn.user.UserProfileStringURNFactory
All Implemented Interfaces:
IURNProvider

public class UserProfileStringURNFactory extends 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:
  • Field Details

  • Method Details

    • 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:
      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.
    • getNID

      public NID getNID()
      Gets the Naming IDentifier of the provider.
      Specified by:
      getNID in interface IURNProvider
      Returns:
      The NID.PROFILE_STRING.
    • getResourceTypes

      public 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(String urnString, String nss, String req, String query, 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.