Class UserProfileStringURNFactory

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

public final 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:
  • Method Details

    • getInstance

      public static UserProfileStringURNFactory getInstance()
      Returns the singleton instance of the User Profile String URN factory.
      Returns:
      The User Profile String 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.